:root{
  --bg:#080808;
  --paper:#f4f1eb;
  --muted:rgba(244,241,235,.68);
  --faint:rgba(244,241,235,.42);
  --line:rgba(244,241,235,.15);
  --accent:#d8ff65;
  --font-display:"Instrument Serif",Georgia,serif;
  --font-ui:"Manrope",system-ui,sans-serif;
  --ease:cubic-bezier(.22,1,.36,1);
  --max:1680px;
  --header-h:76px;
  --page-tint:#11100f;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;background:var(--bg)}
body{min-width:320px;background:var(--bg);color:var(--paper);font-family:var(--font-ui);line-height:1.55;overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
html.overlay-open,body.overlay-open{overflow:hidden!important;overscroll-behavior:none}
a{color:inherit;text-decoration:none}
button{border:0;background:none;color:inherit;font:inherit;cursor:pointer}
img{display:block;max-width:100%}
.responsive-picture{display:block;width:100%}
.responsive-picture>img{width:100%;height:auto}
:focus-visible{outline:1px solid var(--accent);outline-offset:5px}
.sr-only,.skip-link:not(:focus){position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.skip-link:focus{position:fixed;z-index:1500;left:12px;top:12px;padding:10px 14px;background:var(--paper);color:var(--bg)}

.boot-screen{position:fixed;z-index:1400;inset:0;display:grid;place-items:center;background:#050505;pointer-events:none;opacity:1;visibility:visible;transition:opacity .72s var(--ease),visibility .72s}
.boot-name{font:400 clamp(2.8rem,7vw,7rem)/1 var(--font-display);letter-spacing:-.045em}
.boot-progress{position:absolute;right:clamp(18px,4vw,58px);bottom:clamp(18px,4vw,48px);font-size:.65rem;letter-spacing:.12em;color:var(--faint)}
body.is-ready .boot-screen{opacity:0;visibility:hidden}

.site-header,.project-header{position:fixed;z-index:100;inset:0 0 auto;min-height:var(--header-h);display:flex;align-items:center;justify-content:space-between;gap:28px;padding:max(14px,env(safe-area-inset-top)) clamp(18px,3vw,48px) 14px;border-bottom:1px solid transparent;transition:background .28s ease,border-color .28s ease,backdrop-filter .28s ease}
.site-header.scrolled,.project-header.scrolled{background:rgba(8,8,8,.84);border-color:var(--line);backdrop-filter:blur(18px)}
.brand{display:inline-flex;align-items:center;line-height:1}
.brand b{display:block;font:400 1.55rem/.9 var(--font-display);letter-spacing:-.025em}
.brand small{display:block;margin-top:6px;color:var(--faint);font-size:.52rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase}
.header-panel{display:flex;align-items:center;gap:34px}
.main-nav{display:flex;align-items:center;gap:28px}
.main-nav a,.language-switcher button,.project-back{position:relative;color:var(--muted);font-size:.6rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;transition:color .2s ease}
.main-nav a:hover,.language-switcher button:hover,.language-switcher button.active,.project-back:hover{color:var(--paper)}
.language-switcher{display:flex;gap:11px;padding-left:24px;border-left:1px solid var(--line)}
.menu-toggle{display:none;width:44px;height:44px;place-items:center}
.menu-toggle span{display:block;width:22px;height:1px;background:var(--paper);transition:transform .24s var(--ease)}
.menu-toggle span+span{margin-top:7px}
.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}
.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}
.project-header{display:grid;grid-template-columns:1fr auto 1fr}
.project-back{justify-self:start;display:inline-flex;align-items:center;gap:12px}
.project-header .brand{justify-self:center}
.project-header .language-switcher{justify-self:end}

.editorial-hero{min-height:100svh;min-height:100dvh;display:grid;grid-template-columns:minmax(0,1.9fr) minmax(320px,.85fr);gap:clamp(28px,5vw,90px);align-items:center;padding:calc(var(--header-h) + 28px) clamp(18px,4vw,70px) 38px;background:linear-gradient(120deg,#080808 0%,var(--page-tint) 100%);transition:background 1s var(--ease)}
.hero-visual{height:calc(100dvh - var(--header-h) - 66px);min-height:520px;display:grid;place-items:center;overflow:hidden;background:#0d0d0d}
.hero-visual .responsive-picture{height:100%;display:grid;place-items:center}
.hero-visual img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;object-position:center}
.hero-copy{display:grid;align-content:center;gap:24px;min-width:0}
.hero-kicker,.section-kicker{color:var(--faint);font-size:.58rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase}
.hero-copy h1{font:400 clamp(5rem,10vw,11rem)/.72 var(--font-display);letter-spacing:-.065em}
.hero-copy h1 span{display:block}
.hero-intro{max-width:430px;color:var(--muted);font-size:clamp(.95rem,1.2vw,1.08rem)}
.text-link{width:max-content;display:inline-flex;align-items:center;gap:18px;padding-bottom:7px;border-bottom:1px solid currentColor;color:var(--paper);font-size:.61rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;transition:gap .28s var(--ease),color .2s ease}
.text-link:hover{gap:26px;color:var(--accent)}
.text-link i{font-style:normal}
.hero-project-index{display:grid;gap:9px;margin-top:18px;padding-top:22px;border-top:1px solid var(--line)}
.hero-project-index a{display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--faint);font:400 1.12rem/1.2 var(--font-display);transition:color .2s ease,padding .25s var(--ease)}
.hero-project-index a:hover,.hero-project-index a.active{color:var(--paper);padding-left:8px}
.hero-project-index i{font:400 .72rem/1 var(--font-ui);font-style:normal;color:var(--faint)}

.projects-section{padding:clamp(110px,12vw,190px) 0 0}
.projects-heading{width:min(1180px,calc(100% - clamp(36px,8vw,140px)));margin:0 auto clamp(90px,11vw,170px);display:grid;grid-template-columns:.45fr 1.1fr .75fr;gap:clamp(28px,6vw,90px);align-items:start}
.projects-heading h2{font:400 clamp(3.2rem,6vw,6.6rem)/.88 var(--font-display);letter-spacing:-.05em;text-wrap:balance}
.projects-heading>p:last-child{color:var(--muted);max-width:430px;padding-top:8px}
.project-rail{display:grid}
.project-chapter{--chapter-tint:#121110;min-height:100svh;min-height:100dvh;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:clamp(34px,7vw,120px);align-items:center;padding:clamp(70px,8vw,120px) clamp(20px,5vw,86px);border-top:1px solid var(--line);background:linear-gradient(115deg,var(--chapter-tint),#080808 60%);overflow:hidden;transition:background .8s var(--ease)}
.project-chapter:nth-child(even){grid-template-columns:minmax(320px,.65fr) minmax(0,1.35fr)}
.project-chapter:nth-child(even) .chapter-media{order:2}
.project-chapter:nth-child(even) .chapter-copy{order:1}
.chapter-media{display:grid;place-items:center;min-width:0;min-height:58vh;overflow:hidden}
.chapter-media a{display:grid;place-items:center;width:100%;height:100%}
.chapter-media .responsive-picture{display:grid;place-items:center;width:100%;height:100%}
.chapter-image{width:auto!important;height:auto!important;max-width:100%;max-height:80vh;object-fit:contain;object-position:center;transition:filter .4s ease,opacity .4s ease}
.project-chapter:hover .chapter-image{filter:brightness(1.04)}
.chapter-copy{display:grid;align-content:center;gap:22px}
.chapter-copy h3{font:400 clamp(4rem,7vw,8rem)/.82 var(--font-display);letter-spacing:-.06em;text-wrap:balance}
.chapter-meta{display:flex;flex-wrap:wrap;gap:12px 24px;color:var(--faint);font-size:.58rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.chapter-copy>p{max-width:430px;color:var(--muted)}
.chapter-copy .text-link{margin-top:8px}

.manifest-section{position:relative;width:min(var(--max),calc(100% - clamp(28px,5vw,90px)));margin:clamp(100px,12vw,190px) auto;overflow:hidden;background:#0c0c0c}
.manifest-visual .responsive-picture{display:block}
.manifest-visual img{width:100%;height:auto;object-fit:contain}
.manifest-copy{position:absolute;inset:auto 0 0;display:grid;gap:18px;padding:clamp(28px,6vw,92px);background:linear-gradient(0deg,rgba(0,0,0,.88),transparent)}
.manifest-copy blockquote{max-width:13ch;font:400 clamp(3.2rem,7vw,8rem)/.88 var(--font-display);letter-spacing:-.055em}

.about-section{width:min(1380px,calc(100% - clamp(36px,8vw,140px)));margin:0 auto;padding:clamp(110px,12vw,190px) 0;display:grid;grid-template-columns:minmax(320px,.82fr) minmax(420px,1.18fr);gap:clamp(48px,9vw,150px);align-items:center}
.about-signature{position:relative;min-height:610px;display:grid;grid-template-rows:1fr auto;align-items:end;padding:clamp(28px,4vw,58px);border:1px solid var(--line);background:linear-gradient(145deg,#111,#090909);overflow:hidden}
.about-signature::before{content:"";position:absolute;inset:18px;border:1px solid rgba(244,241,235,.08);pointer-events:none}
.about-monogram{align-self:center;justify-self:center;font:400 clamp(8rem,20vw,18rem)/.72 var(--font-display);letter-spacing:-.08em;color:rgba(244,241,235,.92)}
.about-signature-meta{position:relative;z-index:1;display:grid;gap:7px;padding-top:24px;border-top:1px solid var(--line);color:var(--faint);font-size:.58rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.about-copy{display:grid;gap:22px}
.about-copy h2,.contact-section h2{font:400 clamp(3.2rem,6vw,6.6rem)/.9 var(--font-display);letter-spacing:-.05em;text-wrap:balance}
.about-copy h2{max-width:10ch}
.about-lead{font:400 clamp(1.45rem,2.5vw,2.4rem)/1.14 var(--font-display);color:rgba(255,255,255,.92)}
.about-copy>p:not(.section-kicker):not(.about-lead){max-width:620px;color:var(--muted)}
.about-facts{display:grid;gap:10px;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--faint);font-size:.58rem;font-weight:600;letter-spacing:.11em;text-transform:uppercase}

.contact-section{width:min(1380px,calc(100% - clamp(36px,8vw,140px)));margin:0 auto;padding:clamp(100px,12vw,180px) 0}
.contact-section h2{max-width:12ch;margin-top:20px}
.contact-section>p:not(.section-kicker){max-width:620px;margin-top:24px;color:var(--muted)}
.contact-grid{margin-top:clamp(54px,7vw,90px);border-top:1px solid var(--line)}
.contact-grid a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;min-height:110px;border-bottom:1px solid var(--line);transition:padding .35s var(--ease),color .25s ease}
.contact-grid a:hover{padding-left:16px;color:var(--accent)}
.contact-grid b{font:400 clamp(2rem,3.5vw,4rem)/1 var(--font-display)}
.contact-grid i{font-style:normal;font-size:1.2rem}
.site-footer{width:min(1380px,calc(100% - clamp(36px,8vw,140px)));margin:0 auto;padding:28px 0 max(42px,env(safe-area-inset-bottom));display:flex;justify-content:space-between;gap:30px;border-top:1px solid var(--line);color:var(--faint);font-size:.56rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.project-page .site-footer{margin-top:40px}

.cursor{position:fixed;z-index:1300;left:0;top:0;width:70px;height:70px;border:1px solid rgba(255,255,255,.45);border-radius:50%;display:grid;place-items:center;pointer-events:none;opacity:0;transition:opacity .2s ease,background .2s ease,border-color .2s ease;mix-blend-mode:difference}
.cursor span{font-size:.52rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.cursor.active{background:#fff;color:#000;border-color:#fff}
.scroll-progress{position:fixed;z-index:120;right:6px;top:0;bottom:0;width:1px;background:rgba(255,255,255,.08);pointer-events:none}
.scroll-progress span{display:block;width:100%;height:0;background:var(--paper)}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .85s var(--ease),transform .85s var(--ease)}
.reveal.visible{opacity:1;transform:none}

@media(hover:hover) and (pointer:fine){.cursor{opacity:1}[data-cursor]{cursor:none}}
@media(max-width:1050px){
  .editorial-hero{grid-template-columns:1.3fr .7fr;gap:34px}
  .projects-heading{grid-template-columns:1fr 1.4fr}.projects-heading>p:last-child{grid-column:2}
  .project-chapter,.project-chapter:nth-child(even){grid-template-columns:1.1fr .9fr;gap:46px}
  .about-section{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  :root{--header-h:66px}
  .site-header,.project-header{padding:12px 16px}
  .menu-toggle{display:grid}
  .header-panel{position:fixed;z-index:99;inset:var(--header-h) 0 auto;display:none;padding:28px 18px 34px;background:rgba(8,8,8,.97);border-bottom:1px solid var(--line)}
  .header-panel.open{display:grid;gap:28px}.main-nav{display:grid;gap:18px}.main-nav a{font:400 2rem/1 var(--font-display);letter-spacing:-.02em;text-transform:none}
  .language-switcher{padding:20px 0 0;border-left:0;border-top:1px solid var(--line)}
  .project-header{grid-template-columns:1fr auto}.project-header .language-switcher{display:none}.project-header .brand{justify-self:end}.project-back span:last-child{display:none}
  .editorial-hero{min-height:auto;grid-template-columns:1fr;padding:calc(var(--header-h) + 16px) 12px 72px;gap:38px}
  .hero-visual{height:auto;min-height:0}.hero-visual img{width:100%;height:auto;max-height:none}
  .hero-copy{padding:0 6px}.hero-copy h1{font-size:clamp(5.2rem,25vw,8rem)}
  .projects-heading{width:calc(100% - 28px);grid-template-columns:1fr;margin-bottom:74px}.projects-heading>p:last-child{grid-column:auto}
  .project-chapter,.project-chapter:nth-child(even){min-height:auto;grid-template-columns:1fr;padding:72px 14px;gap:42px}
  .project-chapter:nth-child(even) .chapter-media,.project-chapter:nth-child(even) .chapter-copy{order:initial}
  .chapter-media{min-height:0}.chapter-image{width:100%!important;height:auto!important;max-height:none}
  .chapter-copy h3{font-size:clamp(4rem,18vw,6rem)}
  .manifest-section{width:calc(100% - 24px);margin:88px auto}.manifest-copy{position:relative;background:#0c0c0c}.manifest-copy blockquote{font-size:clamp(3rem,15vw,5.2rem)}
  .about-section{width:calc(100% - 28px);grid-template-columns:1fr;padding:90px 0;gap:58px}
  .about-signature{min-height:430px}.about-monogram{font-size:42vw}
  .contact-section,.site-footer{width:calc(100% - 28px)}
  .site-footer{flex-direction:column;gap:10px}
  .scroll-progress{display:none}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.boot-screen,.text-link,.project-chapter,.chapter-image{transition:none!important}}
