:root{
  --ink:#191a18;
  --paper:#f1f0ec;
  --muted:#a5a69f;
  --accent:#c8a27a;
  --approach:#596253;
  --line:rgba(25,26,24,.22);
  --line-dark:rgba(255,255,255,.19);
  --content-max:1760px;
  --edge:max(clamp(24px,4.15vw,80px),calc((100vw - var(--content-max))/2));
  --grid-gap:clamp(16px,1.45vw,28px);
  --section-y:clamp(88px,7vw,134px);
  --section-y-sm:clamp(62px,5vw,96px);
  --space-1:8px;
  --space-2:12px;
  --space-3:18px;
  --space-4:24px;
  --space-5:32px;
  --space-6:48px;
  --space-7:64px;
  --space-8:88px;
  --fs-micro:11px;
  --fs-small:13px;
  --fs-body:16px;
  --fs-lead:clamp(22px,2vw,34px);
  --fs-h3:clamp(24px,2.1vw,36px);
  --fs-h2:clamp(40px,4.35vw,76px);
  --fs-h2-xl:clamp(50px,6vw,106px);
  --fs-display:clamp(62px,8.6vw,158px);
  --fs-home:clamp(48px,6.25vw,114px);
  --ease:cubic-bezier(.22,.8,.22,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
  --motion-fast:240ms;
  --motion:420ms;
  --motion-slow:760ms;
}

*{box-sizing:border-box}
html{scroll-padding-top:96px;background:var(--ink)}
body{margin:0;background:var(--ink);color:var(--paper);font-family:Manrope,-apple-system,BlinkMacSystemFont,"Helvetica Neue","Segoe UI",Arial,sans-serif;font-size:var(--fs-body);font-weight:400;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
::selection{background:var(--accent);color:var(--ink)}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}
button{cursor:pointer;color:inherit;border:0}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:6px}
input:focus-visible,textarea:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-weight:500;text-wrap:balance}
p{text-wrap:pretty}
em{font:inherit;color:var(--accent)}
img{display:block;width:100%;height:auto}
section[id]{scroll-margin-top:42px}

.section-pad{padding:var(--section-y) var(--edge)}
.section-dark{background:var(--ink);color:var(--paper)}
.section-light{background:var(--paper);color:var(--ink)}
.eyebrow,.section-label{font-size:var(--fs-small);font-weight:500;letter-spacing:.025em}
.skip-link{position:fixed;top:10px;left:10px;z-index:1000;background:var(--paper);color:var(--ink);padding:10px 14px;transform:translateY(-160%);transition:transform var(--motion-fast) var(--ease)}
.skip-link:focus{transform:none}

/* 12-column global header */
.header{min-height:92px;padding:20px var(--edge);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--grid-gap);align-items:center;border-bottom:1px solid rgba(255,255,255,.14);position:relative;z-index:20;background:var(--ink)}
.brand{grid-column:1/4;justify-self:start;display:inline-flex;align-items:center;gap:18px;font-size:38px;line-height:1;letter-spacing:-2.5px;font-weight:800;position:relative}
.brand-tag{font-size:12px;line-height:1.02;letter-spacing:.01em;font-weight:500;border-left:1px solid rgba(255,255,255,.25);padding-left:18px;transition:color var(--motion) var(--ease),border-color var(--motion) var(--ease),transform var(--motion) var(--ease),opacity var(--motion) var(--ease)}
.desktop-nav{grid-column:5/9;display:flex;justify-content:center;gap:clamp(24px,2vw,40px);font-size:var(--fs-small);font-weight:500}
.desktop-nav a,.header-contact{position:relative;transition:color var(--motion-fast) var(--ease),transform var(--motion-fast) var(--ease)}
.desktop-nav a::after{content:'';position:absolute;left:0;right:0;bottom:-8px;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:right;transition:transform var(--motion) var(--ease)}
.desktop-nav span{font-size:9px;vertical-align:super;color:var(--muted);margin-left:4px}
.nav-active{color:var(--accent)}
.header-contact{grid-column:10/13;justify-self:end;font-size:var(--fs-small);display:flex;gap:26px;align-items:center}
.header-contact span{color:var(--accent);font-size:22px;transition:transform var(--motion) var(--ease)}
.menu-toggle{display:none}
.mobile-menu[hidden]{display:none}

/* Home hero */
.hero{padding:32px var(--edge) 48px;min-height:calc(100svh - 92px);display:flex;flex-direction:column;justify-content:space-between}
.hero-kicker{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--grid-gap);font-size:12px;font-weight:500;letter-spacing:.035em;color:#b7b7af}
.hero-kicker span:first-child{grid-column:1/5}.hero-kicker span:last-child{grid-column:9/13;text-align:right}
.hero h1{font-size:var(--fs-home);line-height:1.04;letter-spacing:-.061em;margin:clamp(58px,7vh,100px) 0 clamp(52px,7vh,92px);max-width:1480px}
.line{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.line>span{display:block}
.hero em{letter-spacing:-.055em}
.hero-bottom{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--grid-gap);align-items:end}
.scroll-link{grid-column:1/4;display:flex;align-items:center;gap:16px;font-size:var(--fs-small);font-weight:500;width:max-content}
.circle-arrow{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.32);border-radius:50%;font-size:22px;transition:background var(--motion) var(--ease),color var(--motion) var(--ease),border-color var(--motion) var(--ease),transform var(--motion) var(--ease)}
.hero-bottom p{grid-column:5/9;font-size:var(--fs-body);line-height:1.65;max-width:480px}
.hero-index{grid-column:12/13;justify-self:end;align-self:start;font-size:12px;color:var(--muted)}

/* Featured project is intentionally full-bleed inside a 16px frame */
.hero-project{padding:0 16px 16px;background:var(--ink)}
.hero-project-link{display:block;position:relative;height:clamp(520px,57vw,900px);overflow:hidden;background:#4b524c}
.hero-image-wrap{position:absolute;inset:-6% 0;overflow:hidden}
.hero-image{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease-out)}
.image-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.3),transparent 36%,rgba(0,0,0,.56))}
.hero-project-top,.hero-project-caption{position:absolute;left:calc(var(--edge) - 16px);right:calc(var(--edge) - 16px);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--grid-gap)}
.hero-project-top{top:30px;font-size:12px;letter-spacing:.035em}.hero-project-top span:first-child{grid-column:1/4;color:#d3d1ca}.hero-project-top span:last-child{grid-column:10/13;text-align:right}
.hero-project-caption{bottom:38px;align-items:end}.hero-project-caption>div{grid-column:1/9}.hero-project-caption h2{font-size:clamp(46px,6vw,104px);line-height:.96;letter-spacing:-.055em;margin-top:12px}.hero-project-caption .project-circle{grid-column:12/13;justify-self:end}
.project-circle{display:grid;place-items:center;flex-shrink:0;width:76px;height:76px;border:1px solid rgba(255,255,255,.56);border-radius:50%;font-size:34px;transition:background var(--motion) var(--ease),color var(--motion) var(--ease),transform var(--motion) var(--ease)}

/* Home narrowed content: deliberate 9-column editorial measure */
.intro{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--grid-gap);padding-top:var(--section-y);padding-bottom:var(--section-y)}
.intro-main{grid-column:4/13}
.statement{font-size:var(--fs-h2);line-height:1.08;letter-spacing:-.052em;max-width:1080px}
.intro-copy{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));column-gap:var(--grid-gap);margin:42px 0 34px}
.intro-copy p:first-child{grid-column:1/5}.intro-copy p:last-child{grid-column:5/9}
.intro-copy p{font-size:var(--fs-body);line-height:1.8;max-width:440px}
.text-link{display:inline-flex;align-items:center;gap:34px;border:0;border-bottom:1px solid currentColor;background:none;padding:0 0 8px;font-size:var(--fs-small);font-weight:500;text-align:left;transition:color var(--motion) var(--ease),transform var(--motion) var(--ease),border-color var(--motion) var(--ease)}
.text-link span{font-size:20px;transition:transform var(--motion) var(--ease)}

.work{padding-top:0}
.section-heading{border-top:1px solid var(--line);padding-top:28px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--grid-gap);align-items:end;margin-bottom:52px}
.section-heading>div{grid-column:1/8}.section-heading>p{grid-column:10/13;justify-self:end;width:100%;max-width:300px}
.section-heading h2{font-size:var(--fs-h2-xl);letter-spacing:-.065em;line-height:.98}.section-heading>p{font-size:14px;line-height:1.65;color:#62635e}
.projects-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--grid-gap);row-gap:clamp(64px,7vw,118px);padding-bottom:100px}
.project-card:nth-child(odd){grid-column:1/7}.project-card:nth-child(even){grid-column:7/13;transform:translateY(92px)}
.project-card{display:block;min-width:0}
.project-visual{position:relative;overflow:hidden;aspect-ratio:1.18;background:#d6d5d0}
.project-visual img{height:100%;object-fit:cover;transition:transform var(--motion-slow) var(--ease-out),filter var(--motion-slow) var(--ease)}
.project-number{position:absolute;top:18px;left:18px;background:var(--paper);padding:7px 11px;font-size:var(--fs-micro);font-weight:500;border-radius:20px}
.card-open{position:absolute;right:18px;bottom:18px;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--paper);color:var(--ink);font-size:26px;transition:background var(--motion) var(--ease),transform var(--motion) var(--ease),color var(--motion) var(--ease)}
.project-meta{display:grid;grid-template-columns:1fr auto;column-gap:24px;align-items:baseline;padding-top:16px}
.project-meta h3{font-size:clamp(19px,1.55vw,25px);letter-spacing:-.035em;line-height:1.2}.project-meta>span{font-size:var(--fs-small);color:#64645f;text-align:right}

/* Method */
.approach{background:var(--approach);color:var(--paper)}
.method-layout{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--grid-gap);align-items:start}
.method-intro{grid-column:1/6;position:sticky;top:42px}.method-steps{grid-column:7/13}
.method-intro h2{font-size:var(--fs-h2);line-height:1.06;letter-spacing:-.058em;max-width:620px}.method-intro>p{margin-top:32px;max-width:420px;font-size:var(--fs-body);line-height:1.75}
.method-counter{display:flex;align-items:baseline;gap:22px;line-height:1;margin-top:45px}.method-counter>span:first-child{font-size:clamp(96px,13vw,220px);letter-spacing:-.085em;font-weight:500}.counter-total{font-size:14px}
.method-step{border-top:1px solid rgba(255,255,255,.22);padding:25px 0 clamp(64px,6vw,104px);min-height:310px}
.step-no{font-size:var(--fs-micro);font-weight:500;letter-spacing:.02em}.method-step h3{font-size:var(--fs-h3);line-height:1.14;letter-spacing:-.04em;margin:28px 0 20px}.method-step p{font-size:var(--fs-body);line-height:1.78;max-width:480px}.step-output{display:block;font-size:var(--fs-small);margin-top:24px;border-left:1px solid rgba(255,255,255,.55);padding-left:13px}.method-step:last-child{padding-bottom:0;min-height:240px}

.principle{padding-top:var(--section-y);padding-bottom:var(--section-y)}
.principle h2{font-size:var(--fs-h2-xl);line-height:1;letter-spacing:-.065em;margin:0 0 64px;max-width:1400px}
.principle-bottom{border-top:1px solid var(--line-dark);padding-top:34px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--grid-gap)}
.principle-bottom p:nth-of-type(1){grid-column:4/8}.principle-bottom p:nth-of-type(2){grid-column:9/13}.principle-bottom p{max-width:430px;font-size:var(--fs-body);line-height:1.78;color:#c1c1b9}

.expertise{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--grid-gap)}
.expertise-main{grid-column:4/13}.expertise h2{font-size:var(--fs-h2);letter-spacing:-.052em;line-height:1.08;margin-bottom:54px;max-width:980px}
.services details{border-top:1px solid var(--line)}.services details:last-child{border-bottom:1px solid var(--line)}
.services summary{display:grid;grid-template-columns:48px 1fr 24px;align-items:center;gap:18px;cursor:pointer;padding:24px 0;list-style:none;transition:padding-left var(--motion) var(--ease),color var(--motion) var(--ease)}
.services summary::-webkit-details-marker{display:none}.service-no{font-size:var(--fs-micro);color:#64645f}.services h3{font-size:var(--fs-h3);letter-spacing:-.04em;line-height:1.2}
.details-icon{width:20px;height:20px;position:relative;justify-self:end}.details-icon:before,.details-icon:after{content:'';position:absolute;background:var(--ink);width:16px;height:1px;top:9px;left:2px;transition:transform var(--motion) var(--ease),background var(--motion) var(--ease)}.details-icon:after{transform:rotate(90deg)}details[open] .details-icon:after{transform:rotate(0)}
.service-body{padding:0 42px 30px 66px;overflow:hidden;will-change:height,opacity}.service-body p{max-width:650px;line-height:1.8;color:#4d4e49}.service-body>span{display:block;font-size:var(--fs-small);margin-top:20px;color:#64645f}

/* Contact/footer: common on every page */
.contact{padding-top:var(--section-y-sm);padding-bottom:26px}
.contact-top{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--grid-gap);font-size:12px;color:#b7b7af}.contact-top span:first-child{grid-column:1/4}.contact-top span:last-child{grid-column:10/13;text-align:right}
.contact h2{font-size:var(--fs-h2-xl);line-height:1;letter-spacing:-.062em;margin:64px 0 48px;max-width:1280px}
.contact-actions{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--grid-gap);align-items:end}.contact-button{grid-column:1/5}.brief-trigger{grid-column:5/8;justify-self:start}
.contact-button{font-size:clamp(26px,3vw,48px);letter-spacing:-.045em;border-bottom:1px solid rgba(255,255,255,.36);padding-bottom:10px;display:flex;justify-content:space-between;gap:36px;align-items:center;transition:color var(--motion) var(--ease),border-color var(--motion) var(--ease),transform var(--motion) var(--ease)}.contact-button span{color:var(--accent);transition:transform var(--motion) var(--ease)}
.contact-links{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--grid-gap);margin-top:38px;font-size:var(--fs-small)}.contact-links a:nth-child(1){grid-column:1/2}.contact-links a:nth-child(2){grid-column:2/4}.contact-links a:nth-child(3){grid-column:10/13;text-align:right}.contact-links a{transition:color var(--motion-fast) var(--ease),transform var(--motion-fast) var(--ease)}
footer{margin-top:clamp(82px,8vw,138px)}
.footer-brand{display:block;font-size:clamp(80px,23.6vw,460px);line-height:.9;letter-spacing:-.075em;font-weight:800;position:relative;width:fit-content;max-width:100%}.footer-brand-text{display:inline-block;transition:color var(--motion) var(--ease),transform var(--motion-slow) var(--ease-out)}
.footer-bottom{border-top:1px solid var(--line-dark);padding-top:22px;margin-top:42px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--grid-gap);font-size:var(--fs-micro);color:#a7a89e;align-items:center}.footer-bottom>span:nth-child(1){grid-column:1/4}.footer-bottom>span:nth-child(2){grid-column:4/7}.footer-bottom>a:nth-of-type(1){grid-column:7/9}.footer-bottom button{grid-column:9/11;justify-self:start;font-size:var(--fs-micro);background:none;padding:0;color:inherit}.footer-bottom>a:last-child{grid-column:12/13;justify-self:end}.footer-bottom a,.footer-bottom button{transition:color var(--motion-fast) var(--ease),transform var(--motion-fast) var(--ease)}

/* Dialog */
dialog{border:none;background:var(--paper);color:var(--ink);padding:0;width:min(640px,calc(100% - 30px));max-height:calc(100dvh - 30px);overflow-y:auto}dialog::backdrop{background:#000b;backdrop-filter:blur(8px)}.dialog-inner{padding:48px}.dialog-close{position:absolute;right:16px;top:10px;background:none;font-size:35px;font-weight:300;transition:transform var(--motion) var(--ease),color var(--motion) var(--ease)}.dialog-inner h2{font-size:42px;line-height:1.08;letter-spacing:-.05em;margin:22px 0 32px}form label{display:block;font-size:var(--fs-small);margin-top:20px}input,textarea{display:block;width:100%;border:0;border-bottom:1px solid rgba(25,26,24,.34);background:transparent;padding:12px 0;color:var(--ink);border-radius:0;resize:vertical;font-size:var(--fs-body);transition:border-color var(--motion-fast) var(--ease)}.form-note{font-size:var(--fs-small);line-height:1.7;color:#60605b;margin-top:20px}.form-submit{display:flex;justify-content:space-between;background:var(--ink);color:var(--paper);width:100%;padding:17px 20px;margin-top:24px;transition:background var(--motion) var(--ease),transform var(--motion) var(--ease)}#form-status{font-size:var(--fs-small);margin-top:14px}body.modal-open{overflow:hidden}

/* Projects page */
.page-hero{background:var(--ink);color:var(--paper);padding:var(--section-y-sm) var(--edge) var(--section-y);border-bottom:1px solid rgba(255,255,255,.14)}
.page-hero-top{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--grid-gap);font-size:12px;font-weight:500;letter-spacing:.035em;color:#b7b7af;margin-bottom:clamp(70px,7vw,112px)}.page-hero-top span:first-child{grid-column:1/6}.page-hero-top span:last-child{grid-column:12/13;text-align:right}
.page-hero h1{font-size:var(--fs-display);line-height:.91;letter-spacing:-.075em;max-width:1480px;font-weight:500}
.page-hero-bottom{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--grid-gap);margin-top:62px;padding-top:25px;border-top:1px solid rgba(255,255,255,.2)}
.page-hero-bottom p:first-child{grid-column:1/6}.page-hero-bottom p:last-child{grid-column:9/13;justify-self:end}.page-hero-bottom p{max-width:560px;font-size:var(--fs-body);line-height:1.75;color:#d1d0ca}
.projects-page{background:var(--paper);color:var(--ink);padding:var(--section-y) var(--edge)}
.projects-page-intro{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--grid-gap);margin-bottom:clamp(70px,7vw,112px);align-items:end}.projects-page-intro h2{grid-column:1/8;font-size:var(--fs-h2-xl);line-height:.98;letter-spacing:-.065em}.projects-page-intro p{grid-column:9/13;max-width:500px;line-height:1.8;color:#4d4e49;justify-self:end}
.archive-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--grid-gap);row-gap:clamp(72px,8vw,132px)}
.archive-card{grid-column:span 6;min-width:0}.archive-card:nth-child(even){transform:translateY(72px)}
.archive-visual{position:relative;overflow:hidden;background:#d6d5d0;aspect-ratio:1.12}.archive-card:nth-child(4n+2) .archive-visual,.archive-card:nth-child(4n+3) .archive-visual{aspect-ratio:1.02}
.archive-visual img{width:100%;height:100%;object-fit:cover;transition:transform var(--motion-slow) var(--ease-out),filter var(--motion-slow) var(--ease)}
.archive-index{position:absolute;top:18px;left:18px;background:var(--paper);padding:7px 11px;border-radius:20px;font-size:var(--fs-micro);font-weight:500}.archive-arrow{position:absolute;right:18px;bottom:18px;width:50px;height:50px;display:grid;place-items:center;border-radius:50%;background:var(--paper);font-size:27px;transition:background var(--motion) var(--ease),transform var(--motion) var(--ease),color var(--motion) var(--ease)}
.archive-meta{display:grid;grid-template-columns:1fr auto;gap:20px;padding-top:17px}.archive-meta h3{font-size:clamp(21px,1.8vw,30px);line-height:1.18;letter-spacing:-.04em}.archive-meta span{font-size:var(--fs-small);color:#64645f;text-align:right}.archive-note{font-size:14px;line-height:1.7;color:#62635e;margin-top:10px;max-width:500px}

/* Case page */
.case-hero{background:var(--paper);color:var(--ink);padding:var(--section-y-sm) var(--edge) clamp(62px,5vw,92px)}
.case-back{font-size:var(--fs-small);font-weight:500;display:inline-flex;gap:12px;align-items:center;margin-bottom:clamp(64px,6vw,96px);transition:color var(--motion) var(--ease),transform var(--motion) var(--ease)}
.case-heading{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--grid-gap);align-items:end}.case-heading h1{grid-column:1/9;font-size:var(--fs-display);line-height:.86;letter-spacing:-.078em;font-weight:500}.case-meta{grid-column:10/13;border-top:1px solid var(--line);padding-top:20px;display:grid;gap:20px}.case-meta-row{display:grid;grid-template-columns:90px 1fr;gap:18px;font-size:var(--fs-small);line-height:1.5}.case-meta-row span:first-child{color:#777871}
.case-lead{margin-top:70px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--grid-gap);border-top:1px solid var(--line);padding-top:24px}.case-lead p:first-child{grid-column:1/7;font-size:var(--fs-lead);line-height:1.4;letter-spacing:-.025em;max-width:700px}.case-lead p:last-child{grid-column:9/13;font-size:var(--fs-body);line-height:1.8;max-width:500px;justify-self:end;color:#4d4e49}
.case-cover{background:var(--ink);padding:0 16px 16px}.case-cover-frame{position:relative;overflow:hidden;background:#2b2e2c}.case-cover-frame img{width:100%;height:min(76vw,940px);object-fit:cover;transition:transform 1.2s var(--ease-out),filter .9s var(--ease)}.case-cover-ui{position:absolute;left:calc(var(--edge) - 16px);right:calc(var(--edge) - 16px);top:28px;display:flex;justify-content:space-between;font-size:11px;letter-spacing:.04em;color:rgba(255,255,255,.78);z-index:2}.case-cover-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.16),transparent 34%,rgba(0,0,0,.18));pointer-events:none}
.case-story{background:var(--paper);color:var(--ink);padding:var(--section-y) var(--edge)}
.case-story-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--grid-gap)}.case-story-label{grid-column:1/3;font-size:var(--fs-micro);font-weight:500;color:#6d6e68;text-transform:uppercase;letter-spacing:.05em}.case-story-body{grid-column:4/13}.case-story-body h2{font-size:var(--fs-h2-xl);line-height:1;letter-spacing:-.065em;max-width:1050px}.case-story-copy{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));column-gap:var(--grid-gap);margin-top:48px}.case-story-copy p:first-child{grid-column:1/5}.case-story-copy p:last-child{grid-column:5/9}.case-story-copy p{line-height:1.8;max-width:520px;color:#4d4e49}
.case-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin-top:76px;border:1px solid var(--line)}.case-fact{background:var(--paper);padding:30px;min-height:240px;transition:background var(--motion) var(--ease),transform var(--motion) var(--ease)}.case-fact span{font-size:var(--fs-micro);font-weight:500;color:#777871;text-transform:uppercase;letter-spacing:.05em}.case-fact strong{display:block;font-size:clamp(20px,1.65vw,27px);font-weight:500;line-height:1.3;margin-top:28px;letter-spacing:-.035em;max-width:420px}
.case-media-split{background:var(--ink);padding:16px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}.case-media-split figure{margin:0;overflow:hidden;background:#252624}.case-media-split figure:first-child{grid-column:1/8}.case-media-split figure:last-child{grid-column:8/13}.case-media-split img{height:100%;min-height:620px;object-fit:cover;transition:transform 1s var(--ease-out)}.case-media-split figure:last-child img{object-position:58% center;transform:scale(1.1)}
.case-outro{background:var(--paper);color:var(--ink);padding:var(--section-y) var(--edge)}.case-outro-top{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--grid-gap);border-top:1px solid var(--line);padding-top:22px;font-size:var(--fs-small);color:#666760}.case-outro-top span:first-child{grid-column:1/6}.case-outro-top span:last-child{grid-column:9/13;text-align:right}.case-outro h2{font-size:var(--fs-h2-xl);line-height:.98;letter-spacing:-.07em;margin:68px 0 48px;max-width:1320px}.case-next{display:grid;grid-template-columns:1fr auto;align-items:center;padding:26px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:clamp(24px,2.7vw,42px);letter-spacing:-.04em;transition:color var(--motion) var(--ease),padding-left var(--motion) var(--ease)}.case-next span:last-child{font-size:34px;color:var(--accent);transition:transform var(--motion) var(--ease)}

/* Bureau page */
.bureau-hero{background:var(--paper);color:var(--ink);padding:var(--section-y-sm) var(--edge) var(--section-y)}
.bureau-hero-top{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--grid-gap);font-size:12px;font-weight:500;color:#64645f;margin-bottom:clamp(72px,7vw,112px)}.bureau-hero-top span:first-child{grid-column:1/5}.bureau-hero-top span:last-child{grid-column:9/13;text-align:right}
.bureau-hero h1{font-size:var(--fs-display);line-height:.91;letter-spacing:-.077em;font-weight:500;max-width:1500px}
.bureau-intro{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--grid-gap);margin-top:78px;padding-top:25px;border-top:1px solid var(--line)}.bureau-intro .lead{grid-column:1/6;font-size:var(--fs-lead);line-height:1.38;letter-spacing:-.033em;max-width:680px}.bureau-intro .copy{grid-column:7/13;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));column-gap:var(--grid-gap)}.bureau-intro .copy p:first-child{grid-column:1/4}.bureau-intro .copy p:last-child{grid-column:4/7}.bureau-intro .copy p{line-height:1.8;color:#4d4e49;max-width:430px}
.manifesto{background:var(--ink);color:var(--paper);padding:var(--section-y) var(--edge)}.manifesto-top{font-size:12px;font-weight:500;color:#aaa9a2;border-bottom:1px solid var(--line-dark);padding-bottom:22px;margin-bottom:46px}.manifesto-list{display:grid}.manifesto-item{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--grid-gap);border-bottom:1px solid rgba(255,255,255,.17);padding:28px 0 32px;align-items:start;transition:padding-left var(--motion) var(--ease)}.manifesto-item>span{grid-column:1/2;font-size:var(--fs-micro);color:#999a93}.manifesto-item h2{grid-column:2/8;font-size:clamp(30px,3.2vw,54px);line-height:1.06;letter-spacing:-.052em;transition:color var(--motion) var(--ease),transform var(--motion) var(--ease)}.manifesto-item p{grid-column:9/13;max-width:510px;line-height:1.8;color:#c8c7c0;transition:color var(--motion) var(--ease),transform var(--motion) var(--ease)}
.bureau-services{background:var(--paper);color:var(--ink);padding:var(--section-y) var(--edge)}.bureau-services-head,.bureau-approach-head{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--grid-gap);align-items:end;margin-bottom:58px}.bureau-services-head h2,.bureau-approach h2{grid-column:1/8;font-size:var(--fs-h2-xl);line-height:.98;letter-spacing:-.068em}.bureau-services-head p,.bureau-approach-head p{grid-column:9/13;max-width:500px;line-height:1.8;justify-self:end;color:#4d4e49}
.bureau-services-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.bureau-service{grid-column:span 6;padding:32px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:286px;display:flex;flex-direction:column;transition:background var(--motion) var(--ease),transform var(--motion) var(--ease)}.bureau-service span{font-size:var(--fs-micro);color:#777871}.bureau-service h3{font-size:clamp(27px,2.8vw,44px);letter-spacing:-.05em;line-height:1.1;margin-top:42px;max-width:620px;transition:color var(--motion) var(--ease),transform var(--motion) var(--ease)}.bureau-service p{margin-top:auto;padding-top:34px;max-width:540px;line-height:1.75;color:#4d4e49}
.bureau-approach{background:var(--approach);color:var(--paper);padding:var(--section-y) var(--edge)}.bureau-approach-head p{color:var(--paper)}.bureau-steps{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));border-top:1px solid rgba(255,255,255,.28)}.bureau-step{grid-column:span 3;padding:25px 22px 12px 0;border-right:1px solid rgba(255,255,255,.22);min-height:270px;transition:padding-left var(--motion) var(--ease),background var(--motion) var(--ease)}.bureau-step+.bureau-step{padding-left:22px}.bureau-step:last-child{border-right:0}.bureau-step span{font-size:var(--fs-micro);color:#d0d2cb}.bureau-step h3{font-size:clamp(23px,1.8vw,30px);letter-spacing:-.04em;margin:34px 0 18px}.bureau-step p{line-height:1.72;color:#e0e1dc;font-size:14px;max-width:300px}

/* Interaction system — stable composition, no hover-driven layout shifts */
@media(hover:hover) and (pointer:fine){
  .brand:hover .brand-tag,.brand:focus-visible .brand-tag{color:var(--accent);border-color:var(--accent)}
  .desktop-nav a:hover{color:var(--accent)}.desktop-nav a:hover::after{transform:scaleX(1);transform-origin:left}
  .header-contact:hover{color:var(--accent)}
  .scroll-link:hover .circle-arrow{background:var(--accent);color:var(--ink);border-color:var(--accent)}
  .hero-project-link:hover .project-circle{background:var(--paper);color:var(--ink)}
  .text-link:hover{color:var(--accent);border-color:var(--accent)}
  .project-card:hover .card-open,.archive-card:hover .archive-arrow{background:var(--accent);color:var(--ink)}
  .services summary:hover{color:var(--accent)}.services summary:hover .details-icon:before,.services summary:hover .details-icon:after{background:var(--accent)}
  .contact-button:hover{color:var(--accent);border-color:var(--accent)}
  .contact-links a:hover,.footer-bottom a:hover,.footer-bottom button:hover{color:var(--paper)}
  .footer-brand:hover .footer-brand-text{color:var(--accent)}
  input:hover,textarea:hover{border-color:var(--ink)}.form-submit:hover{background:#343630}
  .case-back:hover,.case-next:hover{color:var(--accent)}
  .case-media-split figure:hover img{filter:saturate(.92)}
  .manifesto-item:hover h2,.bureau-service:hover h3{color:var(--accent)}
  .manifesto-item:hover p{color:var(--paper)}
  .bureau-service:hover{background:#ebe8e1}.bureau-step:hover{background:rgba(255,255,255,.035)}
}

/* Tablet */
@media(max-width:1050px){
  :root{--edge:clamp(24px,4.5vw,52px);--section-y:clamp(78px,8vw,105px);--grid-gap:20px}
  .header{grid-template-columns:repeat(12,minmax(0,1fr));min-height:84px}.brand{grid-column:1/4;font-size:32px}.brand-tag{display:none}.desktop-nav{grid-column:4/9}.header-contact{grid-column:9/13}
  .hero{min-height:auto}.hero h1{font-size:clamp(46px,7.2vw,78px)}.hero-bottom p{grid-column:5/10}
  .intro-main,.expertise-main{grid-column:3/13}
  .method-intro{grid-column:1/6}.method-steps{grid-column:7/13}
  .principle-bottom p:nth-of-type(1){grid-column:4/8}.principle-bottom p:nth-of-type(2){grid-column:9/13}
  .contact-button{grid-column:1/6}.brief-trigger{grid-column:6/10}.contact-links a:nth-child(3){grid-column:9/13}
  .footer-bottom>span:nth-child(2){display:none}.footer-bottom>span:nth-child(1){grid-column:1/5}.footer-bottom>a:nth-of-type(1){grid-column:6/9}.footer-bottom button{grid-column:9/12}.footer-bottom>a:last-child{grid-column:12/13}
  .page-hero-bottom p:first-child{grid-column:1/7}.page-hero-bottom p:last-child{grid-column:8/13}
  .projects-page-intro h2{grid-column:1/8}.projects-page-intro p{grid-column:8/13}
  .case-heading h1{grid-column:1/9}.case-meta{grid-column:9/13}.case-lead p:first-child{grid-column:1/7}.case-lead p:last-child{grid-column:8/13}
  .case-story-label{grid-column:1/3}.case-story-body{grid-column:3/13}
  .bureau-intro .lead{grid-column:1/6}.bureau-intro .copy{grid-column:6/13}.manifesto-item h2{grid-column:2/8}.manifesto-item p{grid-column:8/13}
  .bureau-services-head h2,.bureau-approach h2{grid-column:1/8}.bureau-services-head p,.bureau-approach-head p{grid-column:8/13}
}

/* Mobile */
@media(max-width:700px){
  :root{--edge:22px;--grid-gap:14px;--section-y:72px;--section-y-sm:54px;--fs-body:15px;--fs-h2:clamp(36px,10vw,48px);--fs-h2-xl:clamp(42px,12vw,62px);--fs-display:clamp(52px,15vw,76px);--fs-home:clamp(36px,10.2vw,50px)}
  .section-pad{padding:var(--section-y) var(--edge)}
  .header{min-height:76px;padding:17px var(--edge);display:flex;justify-content:space-between}.brand{font-size:31px}.desktop-nav,.header-contact{display:none}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;background:none;width:42px;height:36px;padding:8px}.menu-toggle span{height:1px;width:26px;background:var(--paper);transition:transform var(--motion-fast) var(--ease)}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
  .mobile-menu{position:absolute;left:0;right:0;top:76px;z-index:19;background:var(--ink);padding:28px var(--edge) 38px;display:flex;flex-direction:column;gap:24px;font-size:24px;line-height:1.15;border-bottom:1px solid rgba(255,255,255,.18)}
  .hero{min-height:calc(100svh - 76px);padding:26px var(--edge) 34px}.hero-kicker{display:flex}.hero-kicker span:last-child{display:none}.hero h1{line-height:1.08;letter-spacing:-.057em;margin:52px 0 44px}.hero-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:28px}.hero-bottom p{order:-1;font-size:15px;max-width:100%}.hero-index{display:none}.scroll-link{font-size:12px}.circle-arrow{width:36px;height:36px;font-size:19px}
  .hero-project{padding:0 10px 10px}.hero-project-link{height:500px}.hero-project-top,.hero-project-caption{left:18px;right:18px;display:flex;justify-content:space-between}.hero-project-top{font-size:10px;top:20px}.hero-project-top span:last-child{max-width:105px}.hero-project-caption{bottom:24px}.hero-project-caption>div{max-width:78%}.hero-project-caption h2{font-size:40px}.project-circle{width:50px;height:50px;font-size:24px}
  .intro,.expertise{display:block}.intro-main,.expertise-main{grid-column:auto}.statement{line-height:1.09}.intro-copy{display:block;margin:30px 0}.intro-copy p+p{margin-top:20px}.work{padding-top:0}.section-heading{display:block;margin-bottom:34px}.section-heading>p{margin-top:18px}.projects-grid{display:block;padding-bottom:0}.project-card{margin-bottom:52px}.project-card:nth-child(even){transform:none}.project-visual{aspect-ratio:1.08}.project-meta{grid-template-columns:1fr}.project-meta>span{text-align:left;margin-top:5px}.project-meta h3{font-size:20px}
  .method-layout{display:block}.method-intro{position:static}.method-intro>p{margin-top:24px}.method-counter{display:none}.method-steps{margin-top:48px}.method-step{min-height:0;padding-bottom:42px}.method-step h3{margin:22px 0 17px}.method-step p{font-size:15px}.method-step:last-child{min-height:0}
  .principle h2{margin-bottom:44px}.principle-bottom{display:block}.principle-bottom p+p{margin-top:20px}
  .expertise h2{margin-bottom:34px}.services summary{grid-template-columns:36px 1fr 22px;gap:12px;padding:22px 0}.services h3{font-size:21px}.service-body{padding:0 0 28px 48px}
  .contact h2{margin:46px 0 34px}.contact-top{display:block}.contact-top span:last-child{display:none}.contact-actions{display:flex;flex-direction:column;align-items:flex-start;gap:28px}.contact-button{font-size:28px;gap:34px;max-width:100%}.contact-links{display:flex;gap:22px;flex-wrap:wrap;margin-top:34px}.contact-links a:nth-child(3){flex-basis:100%;text-align:left}.footer-brand{font-size:23vw}.footer-bottom{display:flex;flex-wrap:wrap;gap:18px 24px;margin-top:28px}.footer-bottom>span:nth-child(2){display:none}.footer-bottom button{font-size:11px}.footer-bottom>a:last-child{margin-left:auto}
  .dialog-inner{padding:38px 25px}.dialog-inner h2{font-size:36px}.form-note{font-size:13px}.desktop-only{display:none}

  .page-hero{padding:48px var(--edge) 68px}.page-hero-top{display:flex;justify-content:space-between;margin-bottom:58px}.page-hero h1{line-height:.94}.page-hero-bottom{display:block;margin-top:42px}.page-hero-bottom p+p{margin-top:20px}.projects-page{padding:72px var(--edge)}.projects-page-intro{display:block;margin-bottom:54px}.projects-page-intro p{margin-top:24px}.archive-grid{display:block}.archive-card{display:block;margin-bottom:54px;transform:none!important}.archive-visual,.archive-card:nth-child(4n+2) .archive-visual,.archive-card:nth-child(4n+3) .archive-visual{aspect-ratio:1.04}.archive-meta{grid-template-columns:1fr}.archive-meta span{text-align:left;margin-top:4px}.archive-note{margin-top:8px}
  .case-hero{padding:48px var(--edge)}.case-back{margin-bottom:52px}.case-heading{display:block}.case-heading h1{font-size:16vw}.case-meta{margin-top:46px}.case-lead{display:block;margin-top:46px}.case-lead p:last-child{margin-top:22px;font-size:15px}.case-cover{padding:0 10px 10px}.case-cover-frame img{height:68vh;min-height:470px}.case-cover-ui{left:18px;right:18px;top:18px;font-size:10px}.case-story{padding:72px var(--edge)}.case-story-grid{display:block}.case-story-label{display:block;margin-bottom:22px}.case-story-copy{display:block;margin-top:32px}.case-story-copy p+p{margin-top:20px}.case-facts{grid-template-columns:1fr;margin-top:52px}.case-fact{min-height:0;padding:25px}.case-media-split{grid-template-columns:1fr;padding:10px;gap:10px}.case-media-split figure:first-child,.case-media-split figure:last-child{grid-column:1}.case-media-split img{min-height:470px}.case-outro{padding:72px var(--edge)}.case-outro-top{display:flex;justify-content:space-between;gap:24px}.case-outro-top span:last-child{text-align:right}.case-outro h2{margin:48px 0 38px}.case-next{font-size:24px}
  .bureau-hero{padding:50px var(--edge) 74px}.bureau-hero-top{display:flex;justify-content:space-between;margin-bottom:58px}.bureau-hero-top span:last-child{text-align:right;max-width:150px}.bureau-intro{display:block;margin-top:54px}.bureau-intro .copy{display:block;margin-top:30px}.bureau-intro .copy p+p{margin-top:20px}.manifesto{padding:72px var(--edge)}.manifesto-top{margin-bottom:30px}.manifesto-item{grid-template-columns:34px 1fr;gap:14px;padding:24px 0 28px}.manifesto-item>span{grid-column:1}.manifesto-item h2{grid-column:2;font-size:30px}.manifesto-item p{grid-column:2;margin-top:10px}.bureau-services{padding:72px var(--edge)}.bureau-services-head,.bureau-approach-head{display:block;margin-bottom:38px}.bureau-services-head p,.bureau-approach-head p{margin-top:22px}.bureau-services-grid{grid-template-columns:1fr}.bureau-service{grid-column:1;min-height:240px;padding:26px}.bureau-service h3{margin-top:36px}.bureau-approach{padding:72px var(--edge)}.bureau-steps{display:block}.bureau-step,.bureau-step+.bureau-step{padding:24px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.22);min-height:0}.bureau-step:last-child{border-bottom:0}.bureau-step h3{margin:26px 0 14px}
}

@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
body.reduced-motion *,body.reduced-motion *:before,body.reduced-motion *:after{animation:none!important;transition:none!important}



/* =========================================================
   Final art direction / production polish
   ========================================================= */

/* Case cover system: one visual language, four compositions. */
.cover-art{
  --cover-bg:#252522;
  --cover-fg:#f1f0ec;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:var(--cover-bg);
  aspect-ratio:1.16;
}
.cover-art::before{
  content:"";
  position:absolute;
  inset:14px;
  border:1px solid color-mix(in srgb,var(--cover-fg) 24%,transparent);
  z-index:2;
  pointer-events:none;
}
.cover-art__media{
  position:absolute;
  overflow:hidden;
  z-index:1;
  background:#111;
  transition:inset .7s var(--ease-out),filter .7s var(--ease);
}
.cover-art__media img{
  width:100%;height:100%;object-fit:cover;
  transition:transform 1s var(--ease-out),filter .8s var(--ease);
}
.cover-art__meta{
  position:absolute;
  z-index:3;
  left:30px;right:30px;top:27px;
  display:flex;justify-content:space-between;gap:20px;
  color:var(--cover-fg);
  font-size:10px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;
  pointer-events:none;
}
.cover-art .card-open,.cover-art .archive-arrow{z-index:4;right:28px;bottom:28px;background:var(--paper)}
.cover-art[data-case="ahni"]{--cover-bg:#2b2822;--cover-fg:#f0e9df}
.cover-art[data-case="ahni"] .cover-art__media{inset:12% 8% 13% 16%}
.cover-art[data-case="ahni"] .cover-art__media img{object-position:50% 52%}
.cover-art[data-case="wol"]{--cover-bg:#aebbc0;--cover-fg:#182026}
.cover-art[data-case="wol"] .cover-art__media{inset:9% 18% 15% 7%}
.cover-art[data-case="wol"] .cover-art__media img{object-position:50% 50%}
.cover-art[data-case="arha"]{--cover-bg:#132a3a;--cover-fg:#e7ebec}
.cover-art[data-case="arha"] .cover-art__media{inset:12% 8% 18% 8%}
.cover-art[data-case="arha"] .cover-art__media img{object-position:50% 47%}
.cover-art[data-case="ama"]{--cover-bg:#b89189;--cover-fg:#211b19}
.cover-art[data-case="ama"] .cover-art__media{inset:9% 7% 13% 17%}
.cover-art[data-case="ama"] .cover-art__media img{object-position:50% 50%}
.archive-visual.cover-art{aspect-ratio:1.1}

@media(hover:hover) and (pointer:fine){
  .project-card:hover .cover-art__media img,.archive-card:hover .cover-art__media img{transform:scale(1.025);filter:saturate(.92)}
  .project-card:hover .cover-art::before,.archive-card:hover .cover-art::before{border-color:color-mix(in srgb,var(--cover-fg) 42%,transparent)}
  .project-card:hover .project-meta h3,.archive-card:hover .archive-meta h3{color:var(--accent)}
  .project-card:hover .project-meta>span,.archive-card:hover .archive-meta>span,.archive-card:hover .archive-note{opacity:.76}
}

/* Accordion: open/hover states never introduce a second rule or move the row. */
.services summary{padding-left:0!important;transition:color var(--motion) var(--ease),background var(--motion) var(--ease)}
.services summary::after{content:none!important;display:none!important}
.services details[open] summary h3{color:var(--accent)}
.services details[open] summary{color:var(--ink)}
.services details[open] .details-icon:before,.services details[open] .details-icon:after{background:var(--accent)}
.service-body{contain:layout paint}

/* Bureau / manifesto: reactions without movement. */
.manifesto-item,.manifesto-item h2,.manifesto-item p,.bureau-service,.bureau-service h3,.bureau-step,.case-fact,.case-next,
.brand-tag,.footer-brand-text,.project-meta h3,.project-meta>span,.archive-meta h3,.archive-meta>span,.archive-note{
  transform:none!important;
}
.case-next:hover{padding-left:0!important}

/* Case system editorial chapter. */
.case-system{background:var(--paper);color:var(--ink);padding:var(--section-y) var(--edge)}
.case-system__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--grid-gap);border-top:1px solid var(--line);padding-top:24px}
.case-system__label{grid-column:1/3;font-size:var(--fs-micro);font-weight:500;color:#6d6e68;text-transform:uppercase;letter-spacing:.05em}
.case-system__body{grid-column:4/13}.case-system__body h2{font-size:var(--fs-h2-xl);line-height:.98;letter-spacing:-.066em;max-width:1050px}
.case-system__lead{margin-top:42px;max-width:720px;font-size:var(--fs-lead);line-height:1.42;letter-spacing:-.025em;color:#4d4e49}
.case-system__points{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:72px}
.case-system__point{background:var(--paper);padding:28px;min-height:210px;display:flex;flex-direction:column}
.case-system__point span{font-size:var(--fs-micro);font-weight:500;color:#777871;text-transform:uppercase;letter-spacing:.05em}
.case-system__point p{margin-top:auto;padding-top:42px;max-width:390px;line-height:1.72;color:#4d4e49}

/* Page transition: short, quiet, brand-led. */
.page-transition{position:fixed;inset:0;z-index:9998;background:var(--ink);color:var(--paper);display:flex;align-items:flex-end;justify-content:space-between;padding:22px var(--edge);transform:translateY(0);pointer-events:none;transition:transform .58s var(--ease-out);will-change:transform}
.page-transition.is-open{transform:translateY(-100%)}
.page-transition.is-covering{transform:translateY(0);pointer-events:all}
.page-transition__brand{font-size:20px;font-weight:800;letter-spacing:-.05em}.page-transition__meta{font-size:10px;color:#aaa9a2;letter-spacing:.03em}

/* Custom cursor: contextual but intentionally restrained. */
.site-cursor{position:fixed;left:0;top:0;z-index:10000;width:18px;height:18px;border:1px solid #fff;border-radius:50%;pointer-events:none;transform:translate3d(-50%,-50%,0);mix-blend-mode:difference;opacity:0;display:grid;place-items:center;transition:width .24s var(--ease),height .24s var(--ease),opacity .18s ease,background .24s var(--ease),transform .1s ease;will-change:left,top,width,height}
.site-cursor.is-visible{opacity:1}.site-cursor.is-active{width:70px;height:70px;background:#fff}.site-cursor.is-down{transform:translate3d(-50%,-50%,0) scale(.9)}
.site-cursor__label{font-size:8px;line-height:1;letter-spacing:.07em;text-transform:uppercase;color:#000;opacity:0;transition:opacity .16s ease;white-space:nowrap}.site-cursor.is-active .site-cursor__label{opacity:1}
@media(hover:hover) and (pointer:fine){html.cursor-enabled,html.cursor-enabled a,html.cursor-enabled button,html.cursor-enabled summary{cursor:none}}

/* Full-screen brief — same grid as the rest of the site. */
.brief-panel[hidden]{display:none}
.brief-panel{position:fixed;inset:0;z-index:9997;background:var(--paper);color:var(--ink);overflow:auto;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}
.brief-panel.is-open{opacity:1;visibility:visible}
.brief-panel__top{min-height:92px;padding:0 var(--edge);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--grid-gap);align-items:center;border-bottom:1px solid var(--line)}
.brief-panel__brand{grid-column:1/4;font-size:34px;line-height:1;letter-spacing:-.055em;font-weight:800;width:max-content}
.brief-panel__meta{grid-column:5/9;font-size:var(--fs-small);color:#6a6a64}
.brief-panel__close{grid-column:10/13;justify-self:end;display:inline-flex;align-items:center;gap:16px;background:none;padding:10px 0;font-size:var(--fs-small);color:var(--ink);position:static!important;transform:none!important;transition:color var(--motion) var(--ease)}
.brief-panel__close span{font-size:28px;line-height:.8;font-weight:300}
.brief-panel__main{min-height:calc(100svh - 92px);padding:clamp(48px,6.5vw,104px) var(--edge) 64px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--grid-gap);align-content:start}
.brief-panel__intro{grid-column:1/6;max-width:610px;position:sticky;top:calc(92px + 48px);align-self:start}
.brief-panel__intro h2{font-size:var(--fs-h2-xl);line-height:1.02;letter-spacing:-.058em;margin:28px 0 34px;font-weight:500}
.brief-panel__intro>p{max-width:500px;font-size:var(--fs-body);line-height:1.75;color:#555650}
.brief-panel__direct{margin-top:64px;padding-top:18px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;max-width:500px;font-size:var(--fs-small)}
.brief-panel__direct span{color:#76766f}.brief-panel__direct a{transition:color var(--motion) var(--ease)}
.brief-panel__form{grid-column:7/13;margin:0;align-self:start;border-top:1px solid var(--line)}
.brief-field{display:block!important;margin:0!important;padding:24px 0 30px;border-bottom:1px solid var(--line)}
.brief-field__label{display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:baseline;font-size:var(--fs-small);color:#4e4f49}
.brief-field__label>span{font-size:11px;color:#8a8a83}
.brief-panel input,.brief-panel textarea{font-size:clamp(23px,2.2vw,36px);line-height:1.25;letter-spacing:-.035em;padding:18px 0 4px;border:0!important;background:transparent;color:var(--ink);min-height:auto}
.brief-panel textarea{min-height:126px;resize:none}.brief-panel input::placeholder,.brief-panel textarea::placeholder{color:#9a9a94;opacity:1}
.brief-panel input:focus,.brief-panel textarea:focus,.brief-panel input:focus-visible,.brief-panel textarea:focus-visible{outline:none}
.brief-form__footer{display:grid;grid-template-columns:1fr auto;gap:32px;align-items:end;padding-top:28px}
.brief-form__footer .form-note{margin:0;max-width:390px;color:#74746e}
.brief-panel .form-submit{width:auto;min-width:250px;margin:0;padding:17px 20px;gap:48px;transition:background var(--motion) var(--ease),color var(--motion) var(--ease)}
.brief-panel #form-status{margin-top:16px;min-height:20px}.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
body.modal-open{overflow:hidden}
@media(hover:hover) and (pointer:fine){.brief-panel__close:hover,.brief-panel__direct a:hover{color:var(--accent)}}

/* Motion should reveal, not shove layout around. */
[data-reveal]{will-change:opacity}

@media(max-width:900px){
  .brief-panel__meta{display:none}.brief-panel__brand{grid-column:1/7}.brief-panel__close{grid-column:8/13}
  .brief-panel__main{display:block;padding-top:52px}.brief-panel__intro{position:static;max-width:none}.brief-panel__direct{margin-top:34px;max-width:none}
  .brief-panel__form{margin-top:58px}.brief-form__footer{grid-template-columns:1fr;gap:22px}.brief-panel .form-submit{width:100%}
}
@media(max-width:700px){
  .cover-art,.archive-visual.cover-art{aspect-ratio:1.06}.cover-art::before{inset:10px}.cover-art__meta{left:20px;right:20px;top:18px;font-size:9px}.cover-art .card-open,.cover-art .archive-arrow{right:20px;bottom:20px}
  .cover-art[data-case="ahni"] .cover-art__media{inset:13% 6% 13% 13%}.cover-art[data-case="wol"] .cover-art__media{inset:10% 14% 14% 6%}.cover-art[data-case="arha"] .cover-art__media{inset:12% 6% 17% 6%}.cover-art[data-case="ama"] .cover-art__media{inset:10% 6% 13% 14%}
  .case-system{padding:72px var(--edge)}.case-system__grid{display:block}.case-system__label{display:block;margin-bottom:22px}.case-system__body h2{font-size:var(--fs-h2-xl)}.case-system__lead{margin-top:28px;font-size:20px}.case-system__points{grid-template-columns:1fr;margin-top:48px}.case-system__point{min-height:0}.case-system__point p{margin-top:28px;padding-top:0}
  .page-transition{padding:18px 22px}.page-transition__brand{font-size:18px}.page-transition__meta{display:none}
  .brief-panel__top{min-height:76px}.brief-panel__brand{font-size:28px}.brief-panel__close{font-size:12px;gap:10px}.brief-panel__main{min-height:calc(100svh - 76px);padding:38px var(--edge) 44px}.brief-panel__intro h2{margin:22px 0 26px}.brief-panel__intro>p{font-size:15px}.brief-panel__direct{display:block}.brief-panel__direct a{display:block;margin-top:8px;font-size:16px}.brief-field{padding:20px 0 25px}.brief-panel input,.brief-panel textarea{font-size:24px}.brief-panel textarea{min-height:112px}
}
@media(prefers-reduced-motion:reduce){.page-transition,.site-cursor{display:none!important}}
body.reduced-motion .page-transition,body.reduced-motion .site-cursor{display:none!important}
.form-submit:disabled{opacity:.55;cursor:wait}
