@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--paper:#f5f4ef;--ink:#202820;--muted:#666d62;--line:#d6d8cd;--accent:#dcedb1}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #678532;outline-offset:5px}.nav{max-width:1440px;margin:auto;padding:28px 6%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.identity{font-family:Manrope,Arial,sans-serif;font-weight:800;font-size:25px;letter-spacing:-2px;display:flex;align-items:center;gap:20px}.identity span{letter-spacing:-.3px;font-size:15px;font-weight:600}.nav nav{display:flex;align-items:center;gap:34px;font-size:14px}.contact-link{border:1px solid var(--ink);padding:11px 18px;border-radius:30px}.contact-link span{padding-left:15px}.hero,.section,footer{max-width:1440px;margin:auto;padding-left:6%;padding-right:6%}.hero{padding-top:82px}.eyebrow{font-size:11px;font-weight:600;letter-spacing:2px;margin:0 0 30px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,Arial,sans-serif}h1{font-size:clamp(56px,7.6vw,110px);line-height:1.07;letter-spacing:-6px;font-weight:500;margin-bottom:38px}em{font-family:Georgia,serif;font-weight:400}h1 em{color:#69784e}.hero-bottom{display:flex;justify-content:space-between;align-items:center;gap:30px}.hero-bottom p{max-width:460px;font-size:18px;line-height:1.65;color:var(--muted);margin-bottom:0}.button{background:var(--ink);color:#fff;padding:18px 24px;border-radius:32px;font-size:14px;display:inline-flex;gap:42px;align-items:center}.button:hover{background:#435139}.hero-foot{border-top:1px solid var(--line);margin-top:55px;padding:23px 0;display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}.hero-foot>span:last-child{font-size:10px;letter-spacing:1px}.hero-foot a{text-decoration:underline;text-underline-offset:4px}.section{padding-top:85px;padding-bottom:85px}.work{background:#eeeee7}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:25px;margin-bottom:35px}.section-head .eyebrow{margin-bottom:18px}h2{font-size:clamp(30px,3.3vw,48px);line-height:1.2;letter-spacing:-1.8px;font-weight:500;margin-bottom:0}.section-head>p{line-height:1.6;color:var(--muted);font-size:14px;margin:0}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:30px}.filters button{background:transparent;border:1px solid #ced2c5;border-radius:30px;padding:10px 18px;color:#4e5849;font-size:13px}.filters button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:white}.filters button span{font-size:10px;opacity:.7;margin-left:10px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:42px 30px}.card{min-width:0}.project-open{padding:0;background:transparent;border:0;text-align:left;display:block;width:100%;color:var(--ink)}.image-wrap{height:300px;background:#e0e2d9;overflow:hidden;position:relative;border-radius:4px}.image-wrap img{width:100%;height:100%;object-fit:contain;transition:transform .35s ease}.card[data-id=ais] img{object-fit:cover}.image-wrap:after{content:'↗';position:absolute;right:17px;bottom:17px;background:var(--paper);width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-size:20px}.project-open:hover img{transform:scale(1.035)}.card-top{display:flex;justify-content:space-between;gap:10px;margin:18px 0 10px;font-size:10px;letter-spacing:1.1px;text-transform:uppercase;color:#54604e}.card h3{font-size:25px;letter-spacing:-.8px;font-weight:600;margin-bottom:9px}.card p{line-height:1.6;color:var(--muted);font-size:14px;margin-bottom:12px;max-width:460px}.project-meta{font-size:11px;color:#646e5b}.about-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:80px}.about-grid h2{line-height:1.35}.about p{font-size:15px;line-height:1.85;color:var(--muted)}.about p.lead{font-size:22px;line-height:1.5;color:var(--ink);margin-bottom:22px}.text-link{display:inline-block;border-bottom:1px solid var(--ink);padding-bottom:7px;font-size:14px}.expertise{margin-top:60px;display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.expertise article{border-top:1px solid var(--line);padding-top:22px}.expertise span{color:#758765;font-size:12px}.expertise h3{font-size:21px;letter-spacing:-.5px;margin:23px 0 14px}.expertise p{font-size:14px}.contact{background:var(--accent)}.contact-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:end}.contact h2{font-size:clamp(48px,5vw,74px)}.contact p:not(.eyebrow){max-width:390px;line-height:1.7;font-size:16px}.email{font-size:clamp(15px,1.7vw,23px);border-bottom:1px solid #8a9b70;padding-bottom:10px;display:inline-block;overflow-wrap:anywhere}.social{display:flex;gap:30px;font-size:13px;margin-top:28px}footer{padding-top:26px;padding-bottom:26px;display:flex;justify-content:space-between;font-size:11px;color:var(--muted);gap:20px}dialog{border:0;border-radius:8px;background:var(--paper);color:var(--ink);max-width:850px;width:calc(100% - 32px);padding:35px 48px;max-height:90dvh}dialog::backdrop{background:#172016bb;backdrop-filter:blur(5px)}body:has(dialog[open]){overflow:hidden}.close{display:block;margin-left:auto;border:1px solid var(--line);border-radius:25px;padding:9px 17px;background:transparent;font-size:13px}.case-label{font-size:11px;color:var(--muted);letter-spacing:1px;text-transform:uppercase;margin:25px 0 16px}dialog h2{font-size:40px;margin-bottom:18px}dialog h3{font-size:20px;margin-top:30px}dialog p,dialog li{font-size:15px;line-height:1.8;color:#53604d}dialog li{margin-bottom:12px}dialog ul{padding-left:20px}.case-facts{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}.case-facts span{font-size:11px;background:#e6e9dd;padding:8px 12px;border-radius:20px}.case-image{width:100%;max-height:280px;object-fit:contain;background:#e6e9dd;margin:20px 0}.skip{position:fixed;top:-100px;background:white;padding:10px;z-index:10}.skip:focus{top:0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}
@media(min-width:1600px){.hero,.section,.nav,footer{padding-left:86px;padding-right:86px}}@media(max-width:760px){.nav{padding-top:20px;padding-bottom:20px}.identity span{display:none}.nav nav{gap:18px;font-size:12px}.contact-link{padding:8px 12px}.contact-link span{padding-left:3px}.hero{padding-top:55px}h1{letter-spacing:-3px}.hero-bottom{align-items:flex-start;flex-direction:column}.hero-bottom p{font-size:16px}.button{padding:15px 22px}.hero-foot{gap:20px;line-height:1.6;margin-top:40px}.hero-foot>span:last-child{max-width:120px;text-align:right}.section{padding-top:55px;padding-bottom:55px}.section-head{align-items:flex-start;flex-direction:column}.grid{gap:30px 20px}.image-wrap{height:210px}.card h3{font-size:21px}.card-top{flex-direction:column;gap:6px;font-size:9px}.about-grid,.contact-grid{grid-template-columns:1fr;gap:30px}.expertise{grid-template-columns:1fr;gap:15px;margin-top:40px}.expertise h3{margin-top:15px}.contact-grid{gap:35px}footer{flex-wrap:wrap;font-size:10px}footer>span:nth-child(2){display:none}dialog{padding:24px}dialog h2{font-size:30px}}@media(max-width:480px){.grid{grid-template-columns:1fr}.image-wrap{height:270px}.card-top{flex-direction:row}.eyebrow{font-size:9px;letter-spacing:1.3px}.filters{gap:7px}.filters button{padding:9px 12px;font-size:11px}h1{font-size:52px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.type-cover{height:100%;min-height:260px;padding:28px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;text-align:left}.cover-note,.cover-caption{font-size:9px;letter-spacing:1.6px;position:relative;z-index:1}.cover-caption{opacity:.65;font-size:8px}.cover-wordmark{position:relative;z-index:1;display:flex;flex-direction:column;gap:10px}.cover-wordmark strong{font-family:Manrope,Arial,sans-serif;font-size:clamp(26px,4vw,52px);font-weight:500;letter-spacing:-1.7px;line-height:1}.cover-wordmark>span{font-size:11px;letter-spacing:3px}.cover-gorged{background:#351f23;color:#efd6c8}.cover-gorged .cover-wordmark strong{font-family:Georgia,serif;font-size:clamp(40px,6vw,78px);letter-spacing:4px}.cover-orbit{position:absolute;width:230px;height:230px;border:1px solid currentColor;border-radius:50%;right:-25px;top:25px;opacity:.17}.cover-orbit:after{content:'';position:absolute;inset:25px;border:1px solid currentColor;border-radius:50%}.cover-gorged:after{content:'';position:absolute;right:90px;top:0;bottom:0;width:1px;background:#b57a7a;opacity:.3}.cover-aetherwake{background:#d7e4dd;color:#274e4b}.cover-aetherwake .cover-orbit{width:350px;height:350px;top:60px;right:-90px}.cover-aetherwake .cover-orbit:after{inset:40px}.cover-tempest{background:#293135;color:#dce0df}.cover-tempest .cover-wordmark strong{font-family:Georgia,serif;font-style:italic;letter-spacing:-1px}.cover-tempest .cover-orbit{border-radius:50% 50% 0 0;height:240px;width:110px;right:40px;top:80px;box-shadow:-45px 0 0 -1px #293135,-45px 0 0 0 currentColor,-90px 0 0 -1px #293135,-90px 0 0 0 currentColor;opacity:.16}.cover-tempest .cover-orbit:after{display:none}.case-visual{margin:20px 0}.case-visual>img{display:block;width:100%;max-height:280px;object-fit:contain;background:#e6e9dd}.case-visual .type-cover{height:260px}.case-section{padding-top:3px;border-top:1px solid var(--line);margin-top:25px}.spoiler{border:1px solid var(--line);border-radius:4px;margin-top:25px;padding:18px}.spoiler summary{cursor:pointer;font-size:14px;font-weight:600}.spoiler p{margin:18px 0 0}@media(max-width:760px){.image-wrap .type-cover{min-height:210px;padding:20px}.cover-note{font-size:8px;letter-spacing:1px}.cover-wordmark>span{font-size:9px;letter-spacing:2px}.cover-gorged .cover-wordmark strong{font-size:43px;letter-spacing:2px}.cover-aetherwake .cover-wordmark strong{font-size:26px}}@media(max-width:480px){.image-wrap .type-cover{min-height:270px}.cover-aetherwake .cover-wordmark strong{font-size:33px}}

.case-section .case-group-label{font-size:10px;line-height:1.5;letter-spacing:1.3px;color:#58684a;margin:24px 0 12px;font-weight:600}.case-group-label+h3{margin-top:12px}

.identity .brand-logo{display:block;width:64px;height:64px;object-fit:contain;border-radius:6px;flex:none}@media(max-width:760px){.identity .brand-logo{width:52px;height:52px}.nav{padding-top:14px;padding-bottom:14px}}

.about-title{margin-bottom:42px;line-height:1.3}.about-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.1fr);align-items:center;gap:70px}.about-portrait{margin:0;max-width:340px}.about-portrait img{display:block;width:100%;height:auto;border-radius:6px}.about-portrait figcaption{font-size:12px;color:var(--muted);margin-top:12px;line-height:1.5}@media(max-width:760px){.about-title{margin-bottom:30px}.about-grid{grid-template-columns:1fr;gap:30px}.about-portrait{width:100%;max-width:340px;margin:0 auto}}

.case-video{margin:28px 0}.case-video video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:#141814;border-radius:12px}.case-video figcaption{margin-top:10px;font-size:13px;line-height:1.5;color:var(--muted)}

.external-video{margin:32px 0}.external-video h3{margin-bottom:10px}.external-video iframe{display:block;width:100%;aspect-ratio:16/9;border:0;border-radius:12px;background:#141814;margin:16px 0}.external-video .text-link{display:inline-block;margin-top:4px}

/* Evidence-first project presentation. */
.hero{padding-top:64px}.hero-foot>span:last-child{letter-spacing:.7px;font-size:11px}
.collection-heading{display:flex;justify-content:space-between;align-items:baseline;gap:24px;margin:12px 0 24px}.collection-heading h3{font-size:24px;letter-spacing:-.7px;margin:0;font-weight:600}.collection-heading p{font-size:13px;color:var(--muted);line-height:1.6;margin:0;max-width:420px}
.featured-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.featured-card h3{font-size:22px}.image-wrap{height:auto;aspect-ratio:16/9;border-radius:7px}.image-wrap img{object-fit:cover}.image-wrap .type-cover{min-height:100%;height:100%;padding:24px}.image-wrap:after{display:none}.cover-wordmark strong{font-size:clamp(26px,3vw,42px)}.cover-gorged .cover-wordmark strong{font-size:clamp(40px,5vw,67px)}
.media-badge{position:absolute;left:12px;bottom:12px;max-width:calc(100% - 24px);padding:8px 11px;border-radius:20px;background:#f5f4eff5;color:var(--ink);font-size:11px;font-weight:600;line-height:1.3;box-shadow:0 2px 8px #17201614}.card-top{line-height:1.5;letter-spacing:.6px;font-size:9px}.featured-card .card-top{flex-direction:column;gap:4px}.project-meta{font-size:11px;line-height:1.8}.case-study-link{display:inline-flex;gap:28px;border-bottom:1px solid #a2ac96;padding:9px 0 6px;margin-top:12px;font-size:12px}.project-open:focus-visible .image-wrap{outline:3px solid #678532;outline-offset:4px}.project-library{margin-top:68px;padding-top:32px;border-top:1px solid var(--line)}
.opportunity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:40px}.opportunity-grid article{padding:26px 0 0;border-top:1px solid var(--line);display:flex;flex-direction:column;align-items:flex-start}.opportunity-grid .opportunity-label{font-size:10px;letter-spacing:1.2px;color:#5b6a4d;margin-bottom:18px}.opportunity-grid h3{font-size:22px;font-weight:600;letter-spacing:-.6px;line-height:1.3;margin-bottom:16px}.opportunity-grid p:not(.opportunity-label){font-size:14px;line-height:1.8;color:var(--muted);margin-bottom:24px}.opportunity-grid .text-link{margin-top:auto;font-size:13px}.work-together{padding-top:20px}
.case-tools{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin:20px 0 0}.copy-project{background:transparent;border:0;border-bottom:1px solid var(--line);padding:0 0 5px;cursor:pointer;color:var(--ink);font-size:12px}#copy-status{font-size:12px;color:#526441}.case-label{margin-top:28px}.case-facts span{font-size:11px;line-height:1.5}.contribution-summary{border:1px solid var(--line);border-radius:7px;padding:0 22px 5px;margin:25px 0 30px;background:#eeeee7}.contribution-summary h3{margin-top:20px}.contribution-summary li{font-size:14px;line-height:1.7;margin-bottom:9px}.development-history{border:1px solid var(--line);border-radius:7px;padding:18px;margin:24px 0}.development-history>summary{cursor:pointer;font-size:14px;font-weight:600;line-height:1.5}.development-history .external-video{margin:24px 0 12px}.case-outcome{border-top:1px solid var(--line);margin:28px 0 22px;padding-top:2px}
@media(max-width:1000px){.featured-grid{gap:22px}.featured-card h3{font-size:20px}.card-top{font-size:9px}.opportunity-grid{gap:24px}}
@media(max-width:760px){.featured-grid{grid-template-columns:1fr}.featured-card{max-width:none}.featured-card .card-top{flex-direction:row}.featured-card h3{font-size:25px}.collection-heading{flex-direction:column;gap:10px}.collection-heading p{max-width:100%}.opportunity-grid{grid-template-columns:1fr;gap:28px}.opportunity-grid article{padding-top:22px}.opportunity-grid p:not(.opportunity-label){margin-bottom:15px}.project-library{margin-top:45px}.image-wrap,.image-wrap .type-cover{height:auto;min-height:0;aspect-ratio:16/9}.case-facts{gap:7px}.case-facts span{font-size:10px}.hero-foot{flex-direction:column;gap:12px}.hero-foot>span:last-child{max-width:none;text-align:left;font-size:10px}.cover-aetherwake .cover-wordmark strong{font-size:30px}.contribution-summary{padding-left:16px;padding-right:16px}.case-tools{gap:10px}.work-together{padding-top:0}}

.cv-download{margin-left:20px}@media(max-width:480px){.nav nav{gap:12px;font-size:11px}.identity .brand-logo{width:44px;height:44px}.contact-link{padding:7px 10px}.cv-download{display:table;margin-left:0;margin-top:18px}}
@media(max-width:480px){.hero{padding-top:40px}h1{font-size:clamp(36px,10.5vw,46px);letter-spacing:-2px;margin-bottom:28px}.hero-foot{margin-top:30px}}

.video-chapters{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 28px}.video-chapters button{background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:18px;padding:8px 12px;font-size:12px;text-align:left;line-height:1.4}.video-chapters button:hover{background:#e6e9dd}.video-chapters span{font-variant-numeric:tabular-nums;color:#58684a;margin-right:5px}

.walkthrough-guide>p{font-size:12px;font-weight:600;margin:0 0 10px}.video-chapters{list-style:none;padding:0}.video-chapters li{margin:0;padding:8px 12px;border:1px solid var(--line);border-radius:18px;font-size:12px;line-height:1.4}
