@font-face{font-family:Inter;src:url('assets/inter.woff2') format('woff2');font-display:swap;font-weight:100 900}
:root{--bg:#101210;--fg:#f5f2e9;--muted:#bbc0b5;--line:#353b33;--accent:#ff825f;--mint:#bfd8bc;--surface:#1c211c;--ink:#151b16}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:108px}body{margin:0;background:var(--bg);color:var(--fg);font-family:Inter,Arial,sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:5px}button:disabled{cursor:wait;opacity:.6}::selection{background:var(--accent);color:#101210}img{max-width:100%;display:block}p{margin:0 0 1.2em}h1,h2,h3{line-height:1.08;letter-spacing:-.055em;margin:0;font-weight:650}h1{font-size:clamp(44px,6.4vw,94px)}h2{font-size:clamp(34px,4.1vw,61px)}h3{font-size:25px;letter-spacing:-.035em}small{font-size:13px}.wrap{max-width:1320px;margin:auto;padding:0 5vw}.eyebrow{font-size:12px;letter-spacing:.13em;text-transform:uppercase;font-weight:650;color:var(--muted);margin-bottom:22px}.accent{color:var(--accent)}.muted{color:var(--muted)}.lead{font-size:19px;line-height:1.65;max-width:560px;color:var(--muted);margin:26px 0 30px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:25px;min-height:54px;padding:15px 23px;background:var(--accent);color:#161713;border:1px solid transparent;border-radius:4px;font-size:14px;font-weight:650;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-3px);background:#ff9b7e}.btn.secondary{background:transparent;color:var(--fg);border-color:var(--line)}.btn.secondary:hover{background:var(--surface)}.text-link{font-size:14px;border-bottom:1px solid currentColor;padding-bottom:4px;display:inline-block}.actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.site-header{height:86px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font-size:23px;font-weight:800;letter-spacing:.11em;display:inline-flex;align-items:center;gap:12px}.brand svg{width:32px;height:30px;color:var(--accent)}.nav{display:flex;align-items:center;gap:25px;font-size:13px}.nav a:not(.btn):hover{color:var(--accent)}.nav .btn{min-height:42px;padding:10px 17px;font-size:12px}.menu-toggle{display:none;color:var(--fg);background:none;border:1px solid var(--line);padding:10px 14px}.section{padding:85px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:45px}.section-head h2{max-width:650px}.section-head p{max-width:335px;color:var(--muted);margin:0}.rule{border-top:1px solid var(--line)}.facts{display:flex;gap:40px;padding:22px 0;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}.facts b{color:var(--fg);font-weight:550}.approach{display:grid;grid-template-columns:.9fr 1.1fr;gap:9vw}.steps{counter-reset:step}.step{padding:24px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:38px 1fr;gap:16px}.step:before{counter-increment:step;content:'0' counter(step);color:var(--accent);font-size:13px;padding-top:5px}.step h3{font-size:23px;margin-bottom:12px}.step p{color:var(--muted);font-size:15px;margin:0}.audience{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}.audience article{border-top:1px solid var(--line);padding:22px 0}.audience .num{color:var(--accent);font-size:12px;margin-bottom:26px;display:block}.audience h3{margin-bottom:16px}.audience p{color:var(--muted);font-size:15px}.audience .result{font-size:13px;color:var(--fg);border-left:2px solid var(--mint);padding-left:14px}.quote-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:50px}.quote{margin:0;padding:0}.quote p{font-size:clamp(23px,2.6vw,37px);line-height:1.4;letter-spacing:-.025em}.quote cite{font-style:normal;font-size:14px;color:var(--muted);display:block;margin-top:24px}.quote cite b{display:block;color:var(--fg);font-weight:550}.quote.small{border-left:1px solid var(--line);padding-left:40px}.quote.small p{font-size:22px}.source-link{display:block;font-size:12px;color:var(--muted);margin-top:30px;text-decoration:underline}.faq{max-width:850px;margin-left:auto}.faq details{border-top:1px solid var(--line);padding:23px 0}.faq summary{font-size:19px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px}.faq summary:after{content:'+';color:var(--accent)}.faq details[open] summary:after{content:'−'}.faq p{max-width:660px;color:var(--muted);margin:18px 0 0;font-size:15px}.contact{background:var(--mint);color:var(--ink);padding:65px 0}.contact .eyebrow,.contact .muted{color:#394b3b}.contact-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:80px;align-items:center}.contact h2{max-width:660px}.contact p{margin-top:23px;max-width:530px}.contact .btn{background:var(--ink);color:white}.contact .btn:hover{background:#314434}.contact-links{display:flex;gap:22px;flex-wrap:wrap;margin-top:25px;font-size:14px}.contact-links a{text-decoration:underline;text-underline-offset:5px}.brief{display:grid;gap:8px;margin-bottom:20px}.brief label{font-size:13px;font-weight:600}.brief select{width:100%;min-height:48px;border:1px solid #6e876e;background:transparent;color:var(--ink);font:inherit;padding:10px}.brief-preview{font-size:14px!important;border-left:2px solid #607d61;padding-left:15px}.footer{display:flex;gap:25px;justify-content:space-between;padding:28px 0;font-size:12px;color:var(--muted)}.footer nav{display:flex;gap:20px;flex-wrap:wrap}.variant-bar{display:flex;justify-content:center;align-items:center;gap:8px;padding:13px 20px;background:#e9ece5;color:#1b241e;font-size:12px;flex-wrap:wrap;border-bottom:1px solid #bbc4b7}.variant-bar a{padding:5px 9px;border-radius:3px}.variant-bar a[aria-current=page]{background:#1b241e;color:white}.skip{position:absolute;top:-100px;left:20px;padding:12px;background:white;color:black;z-index:99}.skip:focus{top:20px}
/* 01 — Architecture */
.architecture .hero{position:relative;min-height:660px;display:flex;align-items:center;padding:75px 0 60px;isolation:isolate}.architecture .hero-copy{position:relative;z-index:2;width:64%;pointer-events:none}.architecture .hero-copy a{pointer-events:auto}.architecture .hero h1{max-width:860px}.architecture .hero .lead{max-width:470px}.arch-scene{position:absolute;right:-5vw;top:15px;width:72%;height:660px;z-index:-1;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 24%)}.arch-scene img{width:100%;height:100%;object-fit:cover;object-position:65% center;transform:translate3d(var(--mx,0px),var(--my,0px),0) scale(1.06);transition:transform .8s ease-out;animation:arch-entry 1.6s ease-out both}.arch-scene:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,var(--bg),transparent 22%),linear-gradient(90deg,var(--bg),transparent 50%)}@keyframes arch-entry{from{opacity:.1;translate:35px 25px}to{opacity:1;translate:0 0}}.architecture .hero-note{position:absolute;right:15px;bottom:37px;font-size:11px;letter-spacing:.09em;color:#b7b4a9;writing-mode:vertical-rl}.architecture .focus-strip{background:#242b23;padding:30px 0}.focus-strip .wrap{display:flex;align-items:center;justify-content:space-between;gap:28px}.focus-strip p{margin:0;font-size:20px;max-width:700px}.focus-strip .eyebrow{margin:0;white-space:nowrap;color:var(--mint)}.architecture .programme{background:#eae5d8;color:#242b23;--muted:#535e51;--line:#bac1b2;--accent:#a53e25;--fg:#242b23}.programme .programme-top{display:grid;grid-template-columns:1fr 1fr;gap:60px}.programme-list{margin-top:42px;display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.programme-list span{font-size:12px;display:block;margin-bottom:20px}.programme-list h3{font-size:25px;margin-bottom:15px}.programme-list p{font-size:15px;color:var(--muted)}
/* 02 — Practice */
.practice{--bg:#f0f2ea;--fg:#1c2925;--muted:#52635a;--line:#c5cfc1;--surface:#e4e9dd;--accent:#bd4029;--mint:#d4e1a3;--ink:#1c2925}.practice .btn{background:#213e32;color:white}.practice .btn:hover{background:#365a47}.practice .btn.secondary{background:transparent;color:var(--fg)}.practice .brand svg{color:#bd4029}.practice .hero{padding:55px 0 30px}.practice .hero-top{display:grid;grid-template-columns:1.3fr 1fr;gap:60px;align-items:end;margin-bottom:38px}.practice h1{font-size:clamp(43px,5.6vw,80px);max-width:780px}.practice .hero-top .lead{font-size:16px;margin:0 0 24px}.practice .hero-top .btn{font-size:13px}.lab{border:1px solid var(--line);background:#fbfcf7}.lab-top{padding:17px 24px;display:flex;justify-content:space-between;gap:20px;font-size:11px;letter-spacing:.05em;color:var(--muted);border-bottom:1px solid var(--line)}.live-dot{display:inline-block;width:7px;height:7px;background:#527e45;border-radius:50%;margin-right:8px}.lab-body{display:grid;grid-template-columns:200px 1fr}.departments{border-right:1px solid var(--line);padding:22px 14px;display:flex;flex-direction:column;gap:8px}.departments button{border:0;background:transparent;text-align:left;padding:13px 14px;font-size:14px;color:var(--muted);border-radius:3px;min-height:46px}.departments button[aria-pressed=true]{background:#213e32;color:#fff}.departments button:hover{background:#d7e3cd;color:#17261d}.workbench{padding:25px 30px}.workbench-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.workbench-head h2{font-size:25px;letter-spacing:-.025em}.demo-papers{display:grid;grid-template-columns:1fr 1fr;gap:30px}.paper{padding:22px;background:#f0f2e9;min-height:190px}.paper.output{background:#e7eed8;border-left:3px solid #668846}.paper .eyebrow{font-size:10px;margin-bottom:16px}.paper p{font-size:15px;line-height:1.7;margin:0}.paper.output p{font-size:14px}.paper strong{color:#315236}.demo-controls{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:20px}.demo-controls button{font-size:12px;min-height:40px;padding:9px 14px}.demo-controls p{margin:0;font-size:12px;color:var(--muted);max-width:430px}.demo-result{animation:paper-in .45s ease-out}@keyframes paper-in{from{opacity:.2;transform:translateY(9px)}to{opacity:1;transform:none}}.demo-status{color:#345136;font-size:12px;margin-top:14px;min-height:19px}.practice .facts{border:0}.practice .programme{background:#243d33;color:#f4f4e9;--muted:#bccbc0;--line:#566f60;--accent:#d4e1a3}.practice .programme-list{grid-template-columns:repeat(4,1fr)}.practice .contact{background:#d4e1a3}.practice .quote p{font-size:30px}.practice .section{padding:65px 0}
/* 03 — People / editorial */
.people{--bg:#f4eee4;--fg:#252823;--muted:#64665c;--line:#c9c6b9;--accent:#b6402a;--mint:#d9e3be;--surface:#e7e6d9;--ink:#252823}.people .brand{font-weight:750}.people .btn{background:#ad3a26;color:white}.people .btn:hover{background:#8e301f}.people .hero{padding:55px 0 0}.people .hero-grid{display:grid;grid-template-columns:1.25fr .9fr;gap:8%;align-items:start}.people h1{font-size:clamp(44px,6.4vw,89px);font-weight:550}.people h1 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.065em}.people .hero .lead{font-size:17px;max-width:490px}.session-board{margin-top:18px;position:relative;background:#2b4034;color:#f0f2e9;padding:35px 30px 25px;transform:rotate(2deg);box-shadow:12px 16px 0 #d9d5c5}.session-board .board-top{font-size:10px;letter-spacing:.09em;display:flex;justify-content:space-between;padding-bottom:22px;border-bottom:1px solid #6a7868;color:#d8e0cf}.session-board h2{font-size:36px;font-weight:500;margin:27px 0;color:#eff1db}.session-board .board-line{display:flex;gap:17px;align-items:center;border-top:1px solid #61715f;padding:17px 0;font-size:14px}.board-line span{font-size:12px;color:#d4dfbb}.board-note{background:#ede4b7;color:#3b3d2c;padding:15px 20px;font-family:Georgia,serif;font-style:italic;font-size:20px;transform:rotate(-4deg);margin:22px -7px 0}.people .hero-bottom{display:flex;justify-content:space-between;gap:30px;margin-top:60px;border-top:1px solid var(--line);padding:22px 0;font-size:13px}.people .hero-bottom p{margin:0;color:var(--muted)}.editorial-intro{display:grid;grid-template-columns:1fr 1.2fr;gap:10%;align-items:start}.editorial-intro h2{font-size:clamp(35px,4.7vw,64px)}.editorial-intro .intro-copy{font-size:21px;line-height:1.6}.editorial-intro .intro-copy p+p{font-size:16px;color:var(--muted)}.people .programme{background:#252e26;color:#f4eee4;--muted:#c2c9bb;--line:#566052;--accent:#ef9b74}.people .programme .steps{display:grid;grid-template-columns:1fr 1fr;gap:25px 70px;margin-top:42px}.people .quote-grid{grid-template-columns:1.4fr 1fr}.people .quote p{font-family:Georgia,serif;font-size:36px}.people .quote.small p{font-size:26px}.people .quote cite{font-family:Inter,Arial,sans-serif}.people .contact{background:#d9e3be}.people .contact .btn{background:#252e26}.people .signature{display:flex;align-items:center;gap:20px;margin-top:25px;font-size:13px}.signature-mark{width:50px;height:50px;border-radius:50%;background:#dce3ce;display:grid;place-items:center;font-weight:650}.people .section{padding:72px 0}
/* Local comparison */
.comparison{--bg:#121713;--fg:#f3f2e8;--muted:#b6c0b3}.comparison main{padding:70px 0}.comparison h1{max-width:1000px;font-size:clamp(42px,6vw,78px)}.comparison .intro{max-width:680px;color:var(--muted);font-size:18px;margin:25px 0 45px}.concepts{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.concept{display:block;border:1px solid #3a473a;transition:transform .25s}.concept:hover{transform:translateY(-6px)}.concept-art{height:220px;overflow:hidden;background:#0c100d;display:flex;align-items:center;justify-content:center}.concept-art img{width:100%;height:100%;object-fit:cover}.concept-copy{padding:25px}.concept-copy h2{font-size:28px;margin:10px 0 20px}.concept-copy p{font-size:14px;color:var(--muted);min-height:65px}.concept-art.lab-art{background:#e9eedf;gap:12px;padding:35px}.lab-art i{display:block;width:45%;height:140px;background:#fff;border:1px solid #c5cfc1;font-style:normal;color:#294333;padding:20px;font-size:14px}.lab-art i+i{background:#c7d4af}.concept-art.people-art{background:#f2e9db;padding:30px;align-items:start;flex-direction:column;color:#303a2d;font-family:Georgia,serif;font-size:35px;line-height:1.1}.people-art em{color:#a8432d}.comparison-note{margin-top:38px;color:var(--muted);font-size:14px;max-width:820px}
@media(min-width:1600px){.arch-scene{right:-70px}}
@media(max-width:1000px){.nav{gap:16px}.nav .optional{display:none}.architecture .hero-copy{width:76%}.architecture h1{font-size:68px}.arch-scene{width:78%;opacity:.75}.hero-note{display:none}.practice .hero-top{gap:30px}.lab-body{grid-template-columns:160px 1fr}.workbench{padding:24px 20px}.demo-papers{gap:15px}.people .hero-grid{gap:5%}.session-board{padding:25px 20px}.session-board h2{font-size:30px}.contact-layout{gap:40px}.concepts{gap:14px}.concept-copy{padding:18px}.concept-copy h2{font-size:24px}}
@media(max-width:720px){html{scroll-padding-top:20px}.wrap{padding:0 6vw}.site-header{height:73px;position:relative}.brand{font-size:20px}.menu-toggle{display:block}.nav{display:none;position:absolute;top:65px;left:0;right:0;background:var(--bg);border:1px solid var(--line);padding:20px;z-index:20;flex-direction:column;align-items:stretch;font-size:16px}.nav.open{display:flex}.nav a{padding:9px}.nav .optional{display:block}.section,.people .section,.practice .section{padding:53px 0}.eyebrow{font-size:10px;letter-spacing:.1em;margin-bottom:17px}.lead{font-size:16px}.section-head{display:block;margin-bottom:28px}.section-head p{margin-top:22px;max-width:none}.approach,.contact-layout,.editorial-intro,.quote-grid,.people .quote-grid{grid-template-columns:1fr;gap:30px}.audience{grid-template-columns:1fr;gap:12px}.audience .num{margin-bottom:15px}.facts{gap:15px;flex-wrap:wrap;font-size:12px}.facts span{flex:1 1 130px}.architecture .hero{min-height:0;padding:43px 0 320px}.architecture .hero-copy{width:100%}.architecture h1{font-size:clamp(40px,9.7vw,66px)}.architecture .hero .lead{max-width:460px}.arch-scene{top:auto;bottom:0;right:-6vw;width:112%;height:350px;opacity:1;mask-image:linear-gradient(0deg,#000 80%,transparent)}.arch-scene img{object-position:65% center;transform:none}.arch-scene:after{background:linear-gradient(0deg,var(--bg),transparent 20%),linear-gradient(180deg,var(--bg),transparent 30%)}.architecture .hero-note{display:none}.architecture .actions{gap:20px}.architecture .focus-strip{padding:23px 0}.focus-strip .wrap{display:block}.focus-strip p{font-size:17px;margin-top:12px}.programme .programme-top{grid-template-columns:1fr;gap:25px}.programme-list,.practice .programme-list{grid-template-columns:1fr;gap:20px}.programme-list article{border-top:1px solid var(--line);padding-top:18px}.programme-list span{margin-bottom:12px}.quote.small{border-left:0;border-top:1px solid var(--line);padding:25px 0 0}.quote p,.people .quote p{font-size:28px}.quote.small p,.people .quote.small p{font-size:22px}.contact{padding:45px 0}.contact-layout{gap:10px}.contact .btn{width:100%}.footer{flex-direction:column;gap:17px}.practice .hero{padding:35px 0 15px}.practice .hero-top{grid-template-columns:1fr;gap:23px;margin-bottom:25px}.practice .hero-top .lead{font-size:16px}.lab-top{padding:13px 15px;font-size:9px;gap:15px}.lab-body{grid-template-columns:1fr}.departments{border-right:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;padding:12px;gap:5px}.departments button{font-size:12px;min-height:42px;padding:9px}.workbench{padding:20px 15px}.workbench-head h2{font-size:23px}.demo-papers{grid-template-columns:1fr;gap:12px}.paper{min-height:0;padding:18px}.demo-controls{align-items:start;flex-direction:column;gap:12px}.demo-controls button{width:100%}.people .hero{padding-top:35px}.people .hero-grid{grid-template-columns:1fr;gap:20px}.people h1{font-size:clamp(44px,10.2vw,64px)}.people .hero .lead{font-size:16px}.session-board{margin:15px 10px 15px 0;transform:rotate(1deg)}.people .hero-bottom{margin-top:32px;flex-direction:column;gap:10px}.people .programme .steps{grid-template-columns:1fr;gap:5px}.editorial-intro .intro-copy{font-size:19px}.variant-bar{font-size:10px;gap:2px}.variant-bar>span{display:none}.variant-bar a{padding:6px 7px}.concepts{grid-template-columns:1fr}.concept-art{height:230px}.concept-copy p{min-height:0}.comparison main{padding:40px 0}.comparison h1{font-size:43px}.actions{gap:18px}.btn{font-size:13px;padding:14px 18px}.contact-links{gap:16px}.people .signature{font-size:12px}.workbench-head{display:block}.workbench-head small{display:block;margin-top:10px}}
.section.wrap{padding-left:5vw;padding-right:5vw}
@media(max-width:720px){.section.wrap{padding-left:6vw;padding-right:6vw}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.arch-scene img{transform:none!important}}
