@font-face{font-family:Inter;src:url('./inter-latin-400-normal-C38fXH4l.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Inter;src:url('./inter-latin-600-normal-LgqL8muc.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:Montserrat;src:url('./montserrat-latin-600-normal-UVxSCcoG.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:Montserrat;src:url('./montserrat-latin-800-normal-axpkC1rd.woff2') format('woff2');font-weight:800;font-display:swap}

:root{--black:#090909;--black-soft:#101010;--graphite:#252525;--graphite-soft:#1a1a1a;--white:#fafafa;--muted:rgba(250,250,250,.62);--muted-2:rgba(250,250,250,.38);--ember:#ff5a1f;--ember-soft:rgba(255,90,31,.13);--line:rgba(250,250,250,.13);--shell:min(1380px,calc(100% - 96px));--ease:cubic-bezier(.2,.75,.15,1)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--black)}
body{margin:0;background:var(--black);color:var(--white);font-family:Inter,Arial,sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
body.admin-bar .site-header{top:32px}
body.admin-bar .scroll-progress{top:32px}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{color:inherit}
svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.site{min-height:100vh;overflow:hidden;background:var(--black)}
.shell{width:var(--shell);margin-inline:auto}
.section-pad{padding:clamp(92px,9vw,150px) 0}
.kicker,.eyebrow{color:var(--ember);font-size:10px;font-weight:600;letter-spacing:.2em;line-height:1.4;text-transform:uppercase}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:Montserrat,Arial,sans-serif;font-weight:600;letter-spacing:-.055em}
h1 em,h2 em{color:var(--ember);font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.035em}
.button{display:inline-flex;min-height:54px;align-items:center;justify-content:center;gap:16px;padding:0 24px;border:1px solid var(--ember);color:var(--black);background:var(--ember);font-size:9px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:transform .3s var(--ease),background-color .3s,color .3s}
.button:hover{transform:translateY(-3px);background:var(--white);border-color:var(--white)}
.button--small{min-height:46px;padding-inline:18px}
.button--ghost{color:var(--white);background:transparent}
.button--ghost:hover{color:var(--black);background:var(--ember);border-color:var(--ember)}
.text-link{display:inline-flex;align-items:center;gap:14px;padding-bottom:6px;border-bottom:1px solid var(--ember);font-size:10px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;transition:color .3s,gap .3s}
.text-link:hover{gap:20px;color:var(--ember)}
.text-link svg{width:17px}

.site-header{position:fixed;z-index:100;top:0;right:0;left:0;display:flex;height:94px;align-items:center;justify-content:space-between;padding:0 max(32px,calc((100vw - 1460px)/2));border-bottom:1px solid transparent;transition:height .35s,background-color .35s,border-color .35s,backdrop-filter .35s}
.site-header.is-scrolled{height:72px;border-color:var(--line);background:rgba(9,9,9,.86);backdrop-filter:blur(18px)}
.brand{position:relative;z-index:102;display:flex;align-items:center;gap:12px}
.brand__mark{width:29px;height:38px;object-fit:contain}
.brand__wordmark{width:144px;height:auto}
.nav{display:flex;align-items:center;gap:34px}
.nav>a:not(.nav__project){position:relative;color:rgba(250,250,250,.7);font-size:9px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;transition:color .25s}
.nav>a:not(.nav__project):after{position:absolute;right:0;bottom:-9px;left:0;height:1px;content:'';background:var(--ember);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.nav>a:not(.nav__project):hover,.nav>a.is-active{color:var(--white)}
.nav>a:not(.nav__project):hover:after,.nav>a.is-active:after{transform:scaleX(1)}
.menu-toggle{position:relative;z-index:102;display:none;width:42px;height:42px;border:0;background:transparent;cursor:pointer}
.menu-toggle span{position:absolute;right:5px;width:28px;height:1px;background:var(--white);transition:.3s}
.menu-toggle span:first-child{top:15px}.menu-toggle span:last-child{top:25px}
.menu-toggle.is-open span:first-child{top:20px;transform:rotate(45deg)}.menu-toggle.is-open span:last-child{top:20px;transform:rotate(-45deg)}
.scroll-progress{position:fixed;z-index:120;top:0;right:0;left:0;height:2px;background:var(--ember);transform:scaleX(0);transform-origin:left}

.hero{position:relative;display:grid;min-height:900px;align-items:center;overflow:hidden}
.hero__backdrop,.page-hero__image{position:absolute;inset:-8%;background-position:center;background-size:cover;will-change:transform}
.hero__scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,6,6,.98) 0%,rgba(6,6,6,.88) 44%,rgba(6,6,6,.64) 70%,rgba(6,6,6,.76) 100%),linear-gradient(0deg,rgba(9,9,9,.94),transparent 38%)}
.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(420px,.78fr);align-items:center;gap:clamp(55px,7vw,120px);padding-top:130px;padding-bottom:70px}
.hero-copy{max-width:800px;animation:hero-in 1s var(--ease) both}
.hero-copy .eyebrow{margin-bottom:30px}
.hero-copy h1{margin:0;font-size:clamp(62px,6.8vw,110px);line-height:.91;text-transform:uppercase}
.hero-copy__lead{max-width:670px;margin:34px 0 36px;color:rgba(250,250,250,.72);font-size:15px;line-height:1.75}
.embers{position:absolute;inset:0;opacity:.6;background:radial-gradient(circle at 16% 78%,rgba(255,90,31,.7) 0 1px,transparent 2px),radial-gradient(circle at 76% 40%,rgba(255,90,31,.5) 0 1px,transparent 2px),radial-gradient(circle at 53% 85%,rgba(255,90,31,.4) 0 1px,transparent 2px);background-size:210px 250px,270px 310px,350px 370px;animation:embers 18s linear infinite}
.form-card{position:relative;padding:44px;border:1px solid var(--line);background:rgba(16,16,16,.94);box-shadow:0 34px 100px rgba(0,0,0,.35)}
.form-card--hero{padding:34px 36px;background:rgba(20,20,20,.78);backdrop-filter:blur(20px);animation:hero-in 1s .18s var(--ease) both}
.form-card:before{position:absolute;top:-1px;right:-1px;width:70px;height:1px;content:'';background:var(--ember);box-shadow:0 0 40px 6px rgba(255,90,31,.22)}
.form-card__head .kicker{display:block;margin-bottom:14px}
.form-card__head h2{margin:0 0 12px;font-size:clamp(30px,3vw,48px);line-height:1;text-transform:uppercase}
.form-card--hero .form-card__head h2{font-size:clamp(27px,2.3vw,38px)}
.form-card__head p{margin-bottom:26px;color:var(--muted);font-size:12px;line-height:1.6}
.contact-form{display:flex;flex-direction:column;gap:21px}
.contact-form__row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.contact-form label{display:flex;flex-direction:column;gap:6px}
.contact-form label>span{color:rgba(250,250,250,.55);font-size:8px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;padding:4px 0 10px;border:0;border-bottom:1px solid rgba(250,250,250,.19);border-radius:0;outline:0;color:var(--white);background:transparent;line-height:1.4;transition:border-color .25s}
.contact-form input,.contact-form select{min-height:39px}
.contact-form textarea{resize:vertical}
.contact-form select{color-scheme:dark}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--ember)}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:rgba(250,250,250,.27)}
.contact-form__website{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.contact-form__submit{align-self:flex-start;margin-top:3px}
.contact-form__submit:disabled{opacity:.55;cursor:wait;transform:none}
.form-status{margin:0;color:var(--muted-2);font-size:10px}
.form-status--success{color:#b8e5c5}.form-status--error{color:#ff9e7b}

.page-hero{position:relative;display:grid;min-height:760px;align-items:end;overflow:hidden}
.page-hero__scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,9,9,.97),rgba(9,9,9,.45)),linear-gradient(0deg,var(--black) 1%,transparent 55%)}
.page-hero__content{position:relative;z-index:1;padding-top:180px;padding-bottom:100px}
.page-hero__content .eyebrow{margin-bottom:32px}
.page-hero__content h1{max-width:1050px;margin:0;font-size:clamp(62px,7.5vw,116px);line-height:.9;text-transform:uppercase}
.page-hero__content>p:last-child{max-width:650px;margin:36px 0 0;color:rgba(250,250,250,.7);font-size:16px}

.section-intro{display:grid;grid-template-columns:160px minmax(0,1fr);gap:clamp(30px,6vw,90px);margin-bottom:78px}
.section-intro h2{max-width:980px;margin:0;font-size:clamp(46px,5.7vw,88px);line-height:.96;text-transform:uppercase}
.section-intro p{max-width:620px;margin:25px 0 0;color:var(--muted);font-size:14px}
.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:80px 34px}
.project-grid--archive{grid-template-columns:repeat(2,minmax(0,1fr))}
.project-card[hidden],.blog-card[hidden]{display:none}
.project-card__media{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;background:var(--graphite)}
.project-card__media:after{position:absolute;inset:0;content:'';background:linear-gradient(0deg,rgba(0,0,0,.52),transparent 55%)}
.project-card__media img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease),filter .5s}
.project-card:hover .project-card__media img{transform:scale(1.045);filter:contrast(1.06)}
.project-card__number{position:absolute;z-index:2;top:22px;left:22px;color:rgba(250,250,250,.72);font-size:9px;letter-spacing:.15em}
.project-card__play{position:absolute;z-index:2;right:22px;bottom:22px;display:grid;width:52px;height:52px;place-items:center;border:1px solid rgba(250,250,250,.35);border-radius:50%;background:rgba(9,9,9,.35);backdrop-filter:blur(8px);transition:transform .35s,background .35s}
.project-card:hover .project-card__play{color:var(--black);background:var(--ember);transform:translateY(-5px)}
.project-card__play svg{fill:currentColor;stroke:none}
.project-card__meta{display:flex;align-items:flex-start;justify-content:space-between;gap:25px;padding-top:20px}
.project-card__meta h3{margin:0 0 4px;font-size:clamp(24px,2.8vw,40px);line-height:1;text-transform:uppercase}
.project-card__meta p,.project-card__meta>span,.project-card__service{margin:0;color:var(--muted-2);font-size:9px;letter-spacing:.1em;text-transform:uppercase}
.project-card__meta p a,.project-card__service{transition:color .25s}
.project-card__meta p a:hover,.project-card__service:hover{color:var(--ember)}
.project-card__meta>span,.project-card__service{max-width:180px;text-align:right}
.section-action{margin-top:70px}

.service-band,.purpose,.process{background:var(--graphite)}
.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
.service-grid--six{grid-template-columns:repeat(3,minmax(0,1fr))}
.service-tile{min-height:360px;padding:32px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(9,9,9,.13);transition:background .35s,transform .35s}
.service-tile:hover{background:var(--ember-soft);transform:translateY(-5px)}
.service-tile>span,.value-card>span,.process-card>span{color:var(--ember);font-size:9px;font-weight:600;letter-spacing:.14em}
.service-tile h3{margin:115px 0 20px;font-size:clamp(24px,2.4vw,36px);line-height:1;text-transform:uppercase}
.service-tile p{margin:0;color:var(--muted);font-size:13px}
.service-tile--link{display:flex;min-height:450px;flex-direction:column}
.service-tile--link h3{margin-top:65px}
.service-tile--link ul{display:flex;flex-wrap:wrap;gap:7px;margin:24px 0 26px;padding:0;list-style:none}
.service-tile--link li{padding:5px 9px;border:1px solid var(--line);border-radius:100px;color:var(--muted);font-size:8px;letter-spacing:.07em;text-transform:uppercase}
.service-tile--link b{display:flex;align-items:center;gap:12px;margin-top:auto;color:var(--ember);font-size:8px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.service-tile--link b svg{width:15px;transition:transform .3s}
.service-tile--link:hover b svg{transform:translateX(5px)}
.services-index{background:var(--graphite)}
.taxonomy-breadcrumb{display:flex;align-items:center;gap:12px;padding-top:24px;padding-bottom:24px;border-bottom:1px solid var(--line);color:var(--muted-2);font-size:9px;letter-spacing:.12em;text-transform:uppercase}
.taxonomy-breadcrumb a{transition:color .25s}.taxonomy-breadcrumb a:hover{color:var(--ember)}.taxonomy-breadcrumb strong{color:var(--white);font-weight:600}
.category-section{background:var(--graphite)}
.category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
.category-card{display:grid;min-height:300px;grid-template-columns:55px minmax(0,1fr);grid-template-rows:1fr auto;gap:25px;padding:34px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .35s,transform .35s}
.category-card:hover{background:var(--ember-soft);transform:translateY(-4px)}
.category-card>span{color:var(--ember);font-size:9px;letter-spacing:.14em}
.category-card h3{margin:0 0 14px;font-size:clamp(26px,3vw,44px);line-height:1;text-transform:uppercase}
.category-card p{max-width:570px;margin:0;color:var(--muted);font-size:13px}
.category-card b{display:flex;grid-column:2;align-items:center;gap:12px;color:var(--ember);font-size:8px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.category-card b svg{width:15px;transition:transform .3s}.category-card:hover b svg{transform:translateX(5px)}
.term-portfolio{background:var(--black-soft)}
.statement{position:relative;min-height:720px;display:grid;place-items:center;text-align:center;background:radial-gradient(circle at 50% 34%,rgba(255,90,31,.14),transparent 23%),var(--black)}
.statement:before{position:absolute;top:0;bottom:0;left:50%;width:1px;content:'';background:linear-gradient(transparent,rgba(255,90,31,.5),transparent);box-shadow:0 0 120px 42px rgba(255,90,31,.1)}
.statement__inner{position:relative}
.statement__mark{width:62px;margin:0 auto 32px}
.statement p{color:var(--ember);font-size:10px;letter-spacing:.17em;text-transform:uppercase}
.statement h2{margin:0 0 42px;font-size:clamp(50px,7vw,102px);line-height:.94;text-transform:uppercase}

.story{background:var(--black-soft)}
.story-grid,.split-copy{display:grid;grid-template-columns:minmax(140px,.35fr) minmax(0,1fr);gap:clamp(45px,9vw,150px)}
.story-copy h2,.split-copy h2{max-width:970px;margin:0 0 40px;font-size:clamp(40px,5vw,74px);line-height:1;text-transform:uppercase}
.story-copy p,.split-copy p{max-width:820px;color:var(--muted);font-size:15px}
.value-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
.value-card{min-height:380px;padding:38px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.value-card h3{margin:110px 0 20px;font-size:clamp(30px,3.5vw,52px);text-transform:uppercase}
.value-card p{max-width:530px;margin:0;color:var(--muted)}
.values{background:var(--white);color:var(--black)}
.values .kicker,.values .section-intro em{color:var(--ember)}
.values .section-intro p{color:rgba(9,9,9,.6)}
.principles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid rgba(9,9,9,.17);border-left:1px solid rgba(9,9,9,.17)}
.principle{min-height:270px;padding:40px;border-right:1px solid rgba(9,9,9,.17);border-bottom:1px solid rgba(9,9,9,.17)}
.principle h3{margin:58px 0 18px;font-size:clamp(26px,3vw,42px);text-transform:uppercase}
.principle p{max-width:560px;margin:0;color:rgba(9,9,9,.62)}
.process-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0}
.process-card{position:relative;padding-right:28px}
.process-card i{display:block;position:relative;height:1px;margin:34px 0 29px;background:var(--line)}
.process-card i:before{position:absolute;top:-4px;left:0;width:9px;height:9px;border:1px solid var(--ember);border-radius:50%;content:'';background:var(--graphite)}
.process-card h3{margin:0 0 12px;font-size:23px;text-transform:uppercase}
.process-card p{max-width:220px;margin:0;color:var(--muted);font-size:12px}

.filter-bar{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:75px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.filter-bar button{min-height:42px;padding:0 17px;border:1px solid var(--line);border-radius:100px;color:var(--muted);background:transparent;font-size:8px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;cursor:pointer;transition:.3s}
.filter-bar button:hover,.filter-bar button.is-active{border-color:var(--ember);color:var(--black);background:var(--ember)}
.portfolio-note{background:var(--graphite)}
.portfolio-note .split-copy p{font-size:14px}

.blog{background:var(--black-soft)}
.blog-feature{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);gap:clamp(40px,7vw,100px);align-items:center;margin-bottom:110px}
.blog-feature__image{display:block;aspect-ratio:16/10;overflow:hidden}
.blog-feature__image img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.blog-feature__image:hover img{transform:scale(1.04)}
.blog-feature__copy h2{margin:18px 0 22px;font-size:clamp(38px,4.2vw,66px);line-height:1.02}
.blog-feature__copy>p:not(.article-meta){color:var(--muted)}
.article-meta{color:var(--ember);font-size:8px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:65px 28px}
.blog-card__image{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--graphite)}
.blog-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.blog-card:hover .blog-card__image img{transform:scale(1.04)}
.blog-card__body{padding-top:22px}
.blog-card__body h3{margin:13px 0 16px;font-size:clamp(23px,2.2vw,32px);line-height:1.08}
.blog-card__body>p:not(.article-meta){color:var(--muted);font-size:13px}
.blog-card .text-link{margin-top:10px}
.empty-state{padding:90px;border:1px solid var(--line);text-align:center}
.empty-state h2{font-size:46px;text-transform:uppercase}.empty-state p{color:var(--muted)}

.contact-section,.contact-page{position:relative;background:radial-gradient(circle at 12% 40%,rgba(255,90,31,.12),transparent 22%),var(--black)}
.contact-section:before,.contact-page:before{position:absolute;inset:0;content:'';opacity:.4;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(transparent,black 25%,black 75%,transparent)}
.contact-layout{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,.8fr) minmax(480px,.82fr);gap:clamp(60px,9vw,140px);align-items:start}
.contact-copy h2{max-width:680px;margin:28px 0;font-size:clamp(52px,6vw,88px);line-height:.94;text-transform:uppercase}
.contact-copy>p{max-width:520px;color:var(--muted)}
.contact-details{display:flex;flex-direction:column;gap:17px;margin-top:45px}
.contact-details a,.contact-details>span{display:flex;flex-direction:column;width:fit-content;color:rgba(250,250,250,.84);font-size:14px}
.contact-details small{color:var(--ember);font-size:8px;font-weight:600;letter-spacing:.13em;text-transform:uppercase}

.why{background:var(--black-soft)}
.check-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 30px;margin:38px 0 0;padding:0;list-style:none}
.check-list li{position:relative;padding-left:23px;color:rgba(250,250,250,.78);font-size:13px}
.check-list li:before{position:absolute;left:0;color:var(--ember);content:'✓'}
.remote{background:var(--white);color:var(--black)}
.remote-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(50px,8vw,120px);align-items:center}
.remote-image{min-height:560px;overflow:hidden}
.remote-image img{width:100%;height:100%;min-height:560px;object-fit:cover}
.remote h2{margin:30px 0;font-size:clamp(42px,5vw,72px);line-height:.98;text-transform:uppercase}
.remote p{color:rgba(9,9,9,.62)}
.remote .button--ghost{margin-top:25px;color:var(--black)}
.faq{background:var(--black-soft)}
.faq-list{border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:29px 0;list-style:none;font-family:Montserrat,sans-serif;font-size:clamp(19px,2vw,28px);letter-spacing:-.025em;cursor:pointer}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary span{display:grid;flex:0 0 auto;width:34px;height:34px;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--ember);font-family:Inter,sans-serif}
.faq-item p{max-width:850px;margin:0;padding:0 70px 28px 0;color:var(--muted)}

.article-hero{position:relative;display:grid;min-height:860px;align-items:end;overflow:hidden}
.article-hero__image{position:absolute;inset:0;background-position:center;background-size:cover}
.article-hero__scrim{position:absolute;inset:0;background:linear-gradient(0deg,var(--black) 3%,rgba(9,9,9,.5) 70%,rgba(9,9,9,.78)),linear-gradient(90deg,rgba(9,9,9,.8),transparent)}
.article-hero__content{position:relative;z-index:1;padding:190px 0 90px}
.back-link{display:inline-block;margin-bottom:70px;color:var(--muted);font-size:9px;letter-spacing:.13em;text-transform:uppercase}
.article-hero__content h1{max-width:1100px;margin:20px 0 28px;font-size:clamp(55px,7vw,105px);line-height:.93;text-transform:uppercase}
.article-hero__content>p:not(.article-meta){max-width:760px;color:rgba(250,250,250,.72);font-size:17px}
.article-byline{margin-top:30px;color:var(--muted-2);font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.article-layout{display:grid;grid-template-columns:minmax(0,790px) minmax(250px,340px);justify-content:space-between;gap:80px;padding-top:100px;padding-bottom:140px}
.article-body{font-size:17px;line-height:1.85}
.article-body h2{margin:65px 0 22px;font-size:clamp(30px,3.5vw,48px);line-height:1.05;text-transform:uppercase}
.article-body h3{margin:42px 0 16px;font-size:27px}
.article-body p,.article-body li{color:rgba(250,250,250,.78)}
.article-body strong{color:var(--white)}
.article-body a{color:var(--ember);border-bottom:1px solid var(--ember)}
.article-body ul,.article-body ol{padding-left:24px}
.article-body blockquote{margin:45px 0;padding:25px 0 25px 28px;border-left:2px solid var(--ember);font-family:Georgia,serif;font-size:24px}
.article-aside{position:sticky;top:115px;height:fit-content;padding:30px;border:1px solid var(--line);background:var(--graphite)}
.article-aside p{color:var(--muted);font-size:13px}
.video-frame{position:relative;aspect-ratio:16/9;overflow:hidden;background:#000}
.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.project-detail__copy{margin-top:90px}
.project-detail__copy img{height:auto}

.video-modal{position:fixed;z-index:300;inset:0;display:grid;visibility:hidden;place-items:center;padding:5vw;opacity:0;background:rgba(0,0,0,.92);transition:.3s}
.video-modal.is-open{visibility:visible;opacity:1}
.video-modal>button{position:absolute;top:30px;right:34px;width:48px;height:48px;border:1px solid var(--line);border-radius:50%;background:var(--black);font-size:27px;cursor:pointer}
.video-modal__frame{position:relative;width:min(1200px,100%);aspect-ratio:16/9;background:#000}
.video-modal__frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.footer{border-top:1px solid var(--line);background:var(--black)}
.footer__top{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:50px;padding-top:60px;padding-bottom:60px}
.footer__top p{margin:0;color:var(--muted);font-size:12px}
.circle-link{display:grid;width:52px;height:52px;place-items:center;border:1px solid var(--line);border-radius:50%;transition:.3s}
.circle-link:hover{color:var(--black);background:var(--ember);transform:translateY(-4px)}
.footer__links{display:flex;flex-wrap:wrap;gap:17px 32px;padding-top:24px;padding-bottom:24px;border-top:1px solid var(--line)}
.footer__links a{color:var(--muted);font-size:9px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;transition:color .2s}
.footer__links a:hover{color:var(--ember)}
.footer__bottom{display:flex;justify-content:space-between;gap:30px;padding-top:20px;padding-bottom:20px;border-top:1px solid var(--line);color:var(--muted-2);font-size:8px;letter-spacing:.1em;text-transform:uppercase}
.cursor-glow{position:fixed;z-index:90;top:-140px;left:-140px;width:280px;height:280px;border-radius:50%;opacity:.2;pointer-events:none;background:radial-gradient(circle,rgba(255,90,31,.18),transparent 68%);will-change:transform}
.reveal{opacity:0;transform:translateY(38px);transition:opacity .85s var(--ease),transform .85s var(--ease)}
.reveal.is-visible{opacity:1;transform:none}
@keyframes hero-in{from{opacity:0;transform:translateY(35px)}to{opacity:1;transform:none}}
@keyframes embers{to{background-position:0 -250px,0 -310px,0 -370px}}

@media(max-width:1180px){
  :root{--shell:min(100% - 56px,1380px)}
  .site-header{padding-inline:28px}.nav{gap:22px}.brand__wordmark{width:132px}
  .hero-grid{grid-template-columns:minmax(0,1fr) minmax(400px,.8fr);gap:45px}.hero-copy h1{font-size:clamp(56px,6.6vw,88px)}
  .form-card--hero{padding:30px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-grid--six{grid-template-columns:repeat(3,minmax(0,1fr))}
  .process-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:50px 0}.contact-layout{gap:60px}.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:900px){
  :root{--shell:calc(100% - 40px)}
  body.admin-bar .site-header{top:46px}body.admin-bar .scroll-progress{top:46px}
  .site-header{height:76px;padding-inline:20px}.site-header.is-scrolled{height:68px}.menu-toggle{display:block}
  .nav{position:fixed;z-index:101;inset:0;visibility:hidden;align-items:flex-start;justify-content:center;flex-direction:column;gap:0;padding:105px 28px 40px;opacity:0;background:rgba(9,9,9,.98);transition:.3s}
  .nav.is-open{visibility:visible;opacity:1}.nav>a:not(.nav__project){width:100%;padding:14px 0;border-bottom:1px solid var(--line);font-family:Montserrat,sans-serif;font-size:28px;letter-spacing:-.03em}.nav>a:not(.nav__project):after{display:none}.nav__project{margin-top:28px}
  .hero{min-height:auto}.hero-grid{grid-template-columns:1fr;padding-top:150px;padding-bottom:90px}.hero__scrim{background:linear-gradient(0deg,rgba(6,6,6,.98),rgba(6,6,6,.76))}.hero-copy{max-width:760px}.form-card--hero{max-width:720px}
  .page-hero{min-height:680px}.page-hero__content{padding-top:150px;padding-bottom:75px}
  .section-intro{grid-template-columns:1fr;gap:25px}.project-grid{gap:60px 22px}.service-grid--six{grid-template-columns:repeat(2,minmax(0,1fr))}
  .story-grid,.split-copy{grid-template-columns:1fr;gap:30px}.value-grid,.principles{grid-template-columns:1fr}.value-card,.principle{min-height:auto}.value-card h3,.principle h3{margin-top:45px}
  .category-grid{grid-template-columns:1fr}
  .contact-layout{grid-template-columns:1fr;gap:75px}.contact-copy{max-width:760px}.contact-layout .form-card{max-width:760px}
  .blog-feature{grid-template-columns:1fr;gap:40px}.process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .remote-grid{grid-template-columns:1fr}.remote-image,.remote-image img{min-height:440px}.article-layout{grid-template-columns:1fr}.article-aside{position:relative;top:auto}
}

@media(max-width:620px){
  :root{--shell:calc(100% - 32px)}
  .section-pad{padding:80px 0}.brand__mark{width:25px;height:34px}.brand__wordmark{width:118px}
  .hero-grid{padding-top:125px;padding-bottom:70px}.hero-copy h1{font-size:clamp(44px,13vw,66px)}.hero-copy__lead{font-size:14px}.form-card,.form-card--hero{padding:26px 22px}.contact-form__row{grid-template-columns:1fr;gap:21px}
  .page-hero{min-height:610px}.page-hero__content{padding-top:130px;padding-bottom:60px}.page-hero__content h1{font-size:clamp(46px,13vw,66px)}.page-hero__content>p:last-child{font-size:14px}
  .section-intro{margin-bottom:52px}.section-intro h2{font-size:clamp(39px,12vw,58px)}
  .project-grid,.project-grid--archive{grid-template-columns:1fr;gap:55px}.project-card__media{aspect-ratio:16/11}.project-card__meta{flex-direction:column;gap:8px}.project-card__meta>span{text-align:left}
  .service-grid,.service-grid--six{grid-template-columns:1fr}.service-tile{min-height:285px;padding:26px}.service-tile h3{margin-top:70px}.service-tile--link{min-height:390px}.statement{min-height:580px}.statement h2{font-size:45px}
  .category-card{min-height:260px;grid-template-columns:36px minmax(0,1fr);gap:18px;padding:26px}.taxonomy-breadcrumb{overflow-x:auto;white-space:nowrap}
  .process-grid{grid-template-columns:1fr;gap:44px}.process-card{padding-right:0}.process-card i{margin:19px 0}.filter-bar{flex-wrap:nowrap;margin-right:-16px;margin-left:-16px;padding-right:16px;padding-left:16px;overflow-x:auto;scrollbar-width:none}.filter-bar::-webkit-scrollbar{display:none}.filter-bar button{flex:0 0 auto}
  .blog-grid{grid-template-columns:1fr}.blog-feature{margin-bottom:75px}.blog-feature__copy h2{font-size:36px}.contact-copy h2{font-size:46px}.check-list{grid-template-columns:1fr}.faq-item summary{font-size:18px}.faq-item p{padding-right:0}
  .article-hero{min-height:720px}.article-hero__content{padding-top:145px;padding-bottom:65px}.back-link{margin-bottom:50px}.article-hero__content h1{font-size:clamp(43px,12vw,62px)}.article-layout{padding-top:70px;padding-bottom:95px}.article-body{font-size:16px}
  .footer__top{grid-template-columns:1fr auto}.footer__top p{grid-column:1/-1;grid-row:2}.footer__links{gap:15px 22px}.footer__bottom{align-items:flex-start;flex-direction:column;gap:8px}.brand--footer .brand__wordmark{width:132px}
  .video-modal{padding:16px}.video-modal>button{top:16px;right:16px}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}.cursor-glow,.embers{display:none}}
