@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500&family=Manrope:wght@500;700&display=swap');
:root{--bg:#f5f4f0;--ink:#111;--muted:#6f6f6b;--line:#d8d7d2;--pad:clamp(20px,4vw,64px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:"DM Sans",sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}
header{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:20px var(--pad);background:rgba(245,244,240,.92);backdrop-filter:blur(12px);border-bottom:1px solid #ddd}
.brand{font:700 .85rem "Manrope";letter-spacing:.08em}nav{display:flex;gap:24px;font-size:.8rem}nav a:hover,.back:hover{opacity:.5}
main{padding:0 var(--pad)}.hero{max-width:1200px;margin:0 auto;padding:7vw 0 9vw}.hero img{width:auto;max-width:100%;height:auto;max-height:min(78vh,780px);object-fit:contain;display:block;margin:0 auto}.hero-copy{display:grid;grid-template-columns:1fr 1fr;gap:7vw;margin-top:28px;align-items:start}
.eyebrow{font-size:.67rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin:0 0 16px}h1,h2,h3{font-family:"Manrope";letter-spacing:-.045em;line-height:.98;margin:0}h1{font-size:clamp(3.5rem,8vw,8rem)}h2{font-size:clamp(2.5rem,5vw,5.5rem)}h3{font-size:clamp(2rem,3vw,3.5rem)}
.tagline{font-size:1.15rem;max-width:480px}.project-note{color:var(--muted);font-size:.82rem;margin-top:35px}
.index{border-top:1px solid var(--line);padding:8vw 0}.project-index{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:55px}.project-card{display:block}.project-card img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;transition:opacity .25s}.project-card:hover img{opacity:.75}.project-card h3{margin-top:18px}.project-card p{color:var(--muted);margin:8px 0 0}
.project-page{max-width:1200px;margin:auto;padding:8vw 0}.back{display:inline-block;margin-bottom:60px;font-size:.75rem;text-transform:uppercase;letter-spacing:.14em}.project-header{max-width:900px;margin-bottom:90px}.project-header h1{font-size:clamp(3.5rem,7vw,7rem)}.statement{font-size:clamp(1.3rem,2.4vw,2.2rem);max-width:800px;margin-top:35px;line-height:1.25}.description{max-width:700px;color:#555;margin-top:25px}
.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;max-width:1100px;margin:0 auto}.gallery figure{margin:0}.gallery img{width:100%;display:block}.gallery .wide{grid-column:span 2}.gallery figcaption{font-size:.65rem;color:var(--muted);margin-top:7px}
footer{padding:28px var(--pad);border-top:1px solid var(--line);display:flex;justify-content:space-between;color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.12em}
@media(max-width:800px){nav{display:none}.hero-copy{grid-template-columns:1fr;gap:25px}.project-index{grid-template-columns:1fr}.gallery{grid-template-columns:1fr}.gallery .wide{grid-column:span 1}.hero img{width:100%;height:auto;max-height:none;object-fit:contain}}

.recognition-feature{margin-top:50px;padding:34px 0 55px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);max-width:900px}
.recognition-feature h3{font-size:clamp(1.8rem,3vw,3.2rem);margin:8px 0}
.recognition-kicker{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.recognition-feature a,.recognition-grid a{border-bottom:1px solid #999;padding-bottom:3px;font-size:.75rem}
.muted{color:var(--muted)}
.recognition-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:40px;border-top:1px solid var(--line)}
.recognition-grid div{padding:22px 0;border-bottom:1px solid var(--line);display:grid;gap:5px}
.recognition-grid strong a{font-size:inherit;border-bottom:1px solid transparent;padding-bottom:2px}.recognition-grid strong a:hover{border-bottom-color:#999}.recognition-grid span{color:var(--muted);font-size:.85rem}.recognition-grid span a{font-size:inherit;border-bottom:1px solid #bbb;padding-bottom:2px}
.recognition-more{max-width:950px;color:var(--muted);line-height:1.8;margin-top:45px}
@media(max-width:800px){.recognition-grid{grid-template-columns:1fr}}

.about-layout{display:grid;grid-template-columns:.65fr 1.35fr;gap:8vw;margin-top:55px}
.about-lead{font-family:"Manrope",sans-serif;font-size:clamp(1.5rem,2.7vw,2.8rem);line-height:1.12;letter-spacing:-.035em;max-width:420px}
.about-copy{max-width:760px}
.about-copy p{font-size:1.02rem;line-height:1.8;color:#333}
.about-copy .about-signature{font-size:1.25rem;color:var(--ink);margin-top:55px}
.about-links{display:flex;flex-wrap:wrap;gap:25px;margin-top:35px}
.about-links a{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid;padding-bottom:4px}
@media(max-width:800px){.about-layout{display:block}.about-lead{margin-bottom:45px}.about-copy p{font-size:1rem}.about-links{gap:18px}}

.project-description{max-width:720px;margin-top:35px}
.project-description p{font-size:1rem;line-height:1.8;color:#3f3f3b;margin:0 0 24px}
.project-description .text-link{margin-top:8px}


.description p{margin:0 0 1.15em}.description p:last-child{margin-bottom:0}



/* Subtle copyright mark over the image itself */
.gallery .image-wrap{position:relative;line-height:0}
.gallery .image-wrap::after{
  content:"© Sven Delaye";
  position:absolute;
  right:10px;
  bottom:10px;
  font-size:10px;
  line-height:1;
  letter-spacing:.03em;
  color:rgba(255,255,255,.72);
  text-shadow:0 1px 3px rgba(0,0,0,.65);
  pointer-events:none;
  z-index:2;
}
@media (max-width:600px){
  .gallery .image-wrap::after{
    right:7px;
    bottom:7px;
    font-size:9px;
  }
}


/* Mobile navigation */
.menu-toggle{display:none;background:none;border:0;padding:8px 2px;cursor:pointer;width:38px;height:38px;position:relative;z-index:31}
.menu-toggle span{display:block;width:22px;height:1px;background:var(--ink);position:absolute;left:8px;transition:transform .2s,top .2s}
.menu-toggle span:first-child{top:14px}.menu-toggle span:last-child{top:22px}
.menu-toggle[aria-expanded="true"] span:first-child{top:18px;transform:rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:last-child{top:18px;transform:rotate(-45deg)}
.mobile-menu{display:none}
@media(max-width:800px){
  header{position:sticky}
  .menu-toggle{display:block}
  .mobile-menu{position:absolute;top:100%;left:0;right:0;display:flex;flex-direction:column;background:rgba(245,244,240,.98);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);padding:8px var(--pad) 18px;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .18s,transform .18s,visibility .18s}
  .mobile-menu.open{opacity:1;visibility:visible;transform:translateY(0)}
  .mobile-menu a{font-family:"Manrope";font-size:1rem;padding:16px 0;border-bottom:1px solid var(--line)}
  .mobile-menu a:last-child{border-bottom:0}
}

/* V18 — clearer section structure and navigation cues */
.section-cta{margin-top:55px}
.section-cta a,.contact-instagram{display:inline-block;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid;padding-bottom:5px}
.index.about,.index.contact{scroll-margin-top:90px}
.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;margin-top:55px;max-width:1100px}
.contact-intro{font-size:1.15rem;line-height:1.7;max-width:460px}
.contact-intro .muted{font-size:.95rem;margin-top:30px}
.contact-form{display:grid;gap:10px;max-width:650px}
.contact-form label{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:10px}
.contact-form input,.contact-form textarea{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:10px 0;font:inherit;color:var(--ink);outline:none;border-radius:0}
.contact-form textarea{resize:vertical;min-height:150px}
.contact-form input:focus,.contact-form textarea:focus{border-color:var(--ink)}
.contact-form button{justify-self:start;margin-top:15px;padding:12px 18px;border:1px solid var(--ink);background:transparent;font:inherit;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;cursor:not-allowed;opacity:.45}
.form-note{font-size:.72rem;color:var(--muted);line-height:1.5;margin-top:5px}
@media(max-width:800px){
  .section-cta{margin-top:42px}
  .contact-layout{display:block;margin-top:45px}
  .contact-intro{margin-bottom:50px;font-size:1.05rem}
}
