@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;1,300;1,400&family=League+Spartan:wght@700&display=swap");
@font-face{font-family:"Alize";src:url("/assets/fonts/Alize.woff2") format("woff2");font-display:swap}
:root{--paper:#F4F0EB;--ink:#1F1E1C;--ink-soft:#6B6963;--line:#DCD6CC;--pistachio:#ADADA1;--pistachio-deep:#7F8273;--head:"League Spartan","Helvetica Neue",Arial,sans-serif;--body:"Athelas","EB Garamond",Georgia,serif;--script:"Alize","Cormorant Garamond",Georgia,serif;--g:clamp(14px,2vw,28px)}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:1.1rem;line-height:1.55}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
p{margin:0 0 1em}
p a{border-bottom:1px solid var(--pistachio)}
p a:hover{border-color:var(--ink)}
h1,h2,h3{font-weight:400;margin:0}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
:focus-visible{outline:1px solid var(--ink);outline-offset:3px}
.cap,.nav,.crumb,.meta,.foot-h,.btn,.lbl{font-family:var(--head);font-size:0.72rem;letter-spacing:0.14em;text-transform:uppercase}
.cap{line-height:1.5}
.cap .loc{color:var(--ink-soft)}
.wrap{padding-inline:var(--g)}
.narrow{max-width:38rem;margin-inline:auto}
.center{text-align:center}
.lede{font-size:clamp(1.3rem,2vw,1.6rem);line-height:1.4}
h1.display{font-family:var(--head);font-size:clamp(1.7rem,3.6vw,2.8rem);line-height:1.1;font-weight:400;letter-spacing:0.02em}
h2.display{font-family:var(--head);font-size:clamp(1.3rem,2.2vw,1.8rem);line-height:1.15;letter-spacing:0.02em}
.btn{display:inline-block;padding:0.9em 1.5em;border:1px solid var(--ink);margin-top:0.5rem}
.btn:hover{background:var(--ink);color:var(--paper)}
.script{font-family:var(--script);font-style:normal;font-weight:400;text-transform:none;letter-spacing:0}
.site-header{display:flex;align-items:center;justify-content:space-between;padding:1.6rem var(--g);position:relative;background:var(--paper)}
.brand img{width:clamp(220px,24vw,320px);height:auto}
.nav{display:flex;gap:2rem;align-items:center}
.nav a{padding:0.4em 0;border-bottom:1px solid transparent}
.nav a:hover,.nav a[aria-current="page"]{border-color:var(--ink)}
.nav-toggle{display:none;background:none;border:0;width:40px;height:40px;padding:8px;cursor:pointer}
.nav-toggle span{display:block;height:1px;background:var(--ink);margin:7px 0;transition:transform .2s}
@media(max-width:820px){.nav-toggle{display:block}.nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--paper);flex-direction:column;align-items:flex-start;padding:0.5rem var(--g) 1.5rem;gap:1rem;border-bottom:1px solid var(--line);z-index:20}.nav.open{display:flex}.nav-toggle[aria-expanded="true"] span:first-child{transform:translateY(8px) rotate(45deg)}.nav-toggle[aria-expanded="true"] span:last-child{transform:translateY(-8px) rotate(-45deg)}}
.slides{position:relative;height:calc(100vh - 84px);min-height:420px;overflow:hidden;background:#E9E3DA}
.slides img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.6s ease}
.slides img.on{opacity:1}
.slides-cap{display:flex;justify-content:space-between;padding:0.9rem var(--g) 0}
.slides-cap .n{display:inline-flex;gap:0.6rem}
.slides-cap button{background:none;border:0;padding:0;cursor:pointer;font:inherit;letter-spacing:inherit;text-transform:inherit;color:var(--ink-soft)}
.slides-cap button:hover{color:var(--ink)}
@media(max-width:700px){.slides{height:70vh}}
.grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;padding:clamp(2.5rem,6vw,5rem) var(--g) 0;align-items:start}
.tile{display:block}
.tile.l{grid-column:span 4}
.tile.p{grid-column:span 2}
.tile img{width:100%;height:auto;object-fit:cover;background:#E9E3DA}
.tile.l img{aspect-ratio:3/2}
.tile.p img{aspect-ratio:2/3}
.tile .cap{padding:0.7rem 0 1.2rem}
.tile:hover img{opacity:0.9}
@media(max-width:820px){.grid{grid-template-columns:repeat(2,1fr)}.tile.l{grid-column:span 2}.tile.p{grid-column:span 1}}
@media(max-width:480px){.grid{grid-template-columns:1fr}.tile.l,.tile.p{grid-column:span 1}.tile.p img{aspect-ratio:4/5}}
.intro{padding:clamp(4rem,9vw,8rem) var(--g);background:#E9E3DA}
.intro .script{font-style:normal}
.intro p{margin-bottom:1.4em}
.progress{padding:clamp(2.5rem,5vw,4rem) var(--g) clamp(3rem,7vw,6rem)}
.progress ul{list-style:none;margin:1rem 0 0;padding:0;max-width:40rem}
.progress li{border-top:1px solid var(--line);padding:0.8rem 0;display:flex;justify-content:space-between;gap:1rem}
.progress li .loc{text-align:right}
.page-head{padding:clamp(2rem,5vw,3.5rem) var(--g) clamp(1.5rem,4vw,2.5rem)}
article>.page-head{max-width:72rem;margin:0 auto}
.page-head .meta{color:var(--ink-soft);margin-top:0.8rem}
.crumb{color:var(--ink-soft);margin-bottom:1rem;display:block}
.crumb:hover{color:var(--ink)}
.phero{padding:0 var(--g);max-width:72rem;margin:0 auto}
.phero img{width:100%;height:min(64vh,640px);object-fit:cover}
.proj-body{padding:0 var(--g) clamp(2rem,5vw,4rem);max-width:72rem;margin:0 auto}
.gallery{padding:0 var(--g);display:grid;grid-template-columns:1fr 1fr;gap:clamp(12px,1.6vw,22px);max-width:64rem;margin:0 auto}
.gallery figure{margin:0}
.gallery figure.l{grid-column:1/-1}
.gallery figure.solo{grid-column:1/-1;width:calc(50% - clamp(6px,.8vw,11px));margin:0 auto}
.gallery img{width:100%;height:100%;object-fit:cover}
.gallery figure.l img{aspect-ratio:3/2}
.gallery figure.p img{aspect-ratio:2/3}
@media(max-width:600px){.gallery{grid-template-columns:1fr;gap:12px}.gallery figure.l{grid-column:span 1}.gallery figure.solo{width:100%}}
.proj-nav{display:flex;justify-content:space-between;gap:2rem;padding:2rem var(--g) clamp(3rem,7vw,6rem);margin-top:clamp(2rem,5vw,4rem);border-top:1px solid var(--line)}
.proj-nav a span{display:block;color:var(--ink-soft);margin-bottom:0.3rem}
.proj-nav a:last-child{text-align:right}
.proj-nav .nm{font-family:var(--head);font-size:1.05rem;letter-spacing:0.04em}
.two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem);padding:0 var(--g) clamp(3rem,7vw,6rem);align-items:start}
.two figure{margin:0}
.two img{width:100%}
.two .text{max-width:34rem}
.two h2{margin:1.6rem 0 0.6rem}
@media(max-width:820px){.two{grid-template-columns:1fr}}
.checklist{list-style:none;padding:0;margin:0 0 1.5rem}
.checklist li{padding:0.55rem 0;border-top:1px solid var(--line)}
.plain{padding:0 var(--g) clamp(3rem,7vw,6rem)}
.list{list-style:none;padding:0;margin:1.5rem 0 0}
.list li{border-top:1px solid var(--line);padding:1.2rem 0}
.list .lbl{color:var(--ink-soft);display:block;margin-bottom:0.3rem}
.list h2{font-size:1.05rem;font-family:var(--head);letter-spacing:0.03em}
.contact-form label{display:block;margin-bottom:1.1rem}
.contact-form input,.contact-form select,.contact-form textarea{display:block;width:100%;margin-top:0.4rem;font:inherit;font-family:var(--body);padding:0.7em 0;border:0;border-bottom:1px solid var(--ink);background:transparent;color:var(--ink);border-radius:0}
.contact-form textarea{resize:vertical}
.contact-form .btn{cursor:pointer;background:none}
.contact-form .btn:hover{background:var(--ink);color:var(--paper)}
.form-note{color:var(--ink-soft);margin:0.6em 0 0}
.studio address{font-style:normal}
.site-footer{border-top:1px solid var(--line);padding:clamp(1.8rem,3.5vw,2.6rem) var(--g) 1.2rem}
.foot-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.4fr;gap:2rem;font-size:0.95rem}
.foot-h{color:var(--ink-soft);margin:0 0 0.8em}
.site-footer address{font-style:normal}
.site-footer p{margin:0 0 0.4em}
.news-form{display:flex;gap:0.6rem;align-items:flex-end;flex-wrap:wrap}
.news-form input{flex:1 1 180px;font:inherit;font-family:var(--body);padding:0.5em 0;border:0;border-bottom:1px solid var(--ink);background:transparent;border-radius:0}
.news-form button{font-family:var(--head);font-size:0.72rem;letter-spacing:0.14em;text-transform:uppercase;background:none;border:0;border-bottom:1px solid var(--ink);padding:0.6em 0;cursor:pointer}
.foot-base{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:1.6rem;padding-top:0.9rem;border-top:1px solid var(--line);color:var(--ink-soft);font-size:0.72rem;font-family:var(--head);letter-spacing:0.1em;text-transform:uppercase}
.foot-base p{margin:0}
@media(max-width:820px){.foot-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.foot-grid{grid-template-columns:1fr}}
.svc{padding-top:clamp(1rem,3vw,2rem)}
.svc .two{align-items:start}
.svc .two.flip figure{order:2}
.svc h2.display{margin:0 0 0.4rem}
.svc .lede{margin-bottom:1.2em}
.svc h3.cap{margin:1.6rem 0 0.6rem}
@media(max-width:820px){.svc .two.flip figure{order:0}}
.plist{padding:0 var(--g) clamp(3rem,7vw,6rem);max-width:60rem;margin:0 auto}
.prow{display:block;margin-bottom:clamp(2rem,4vw,3.5rem)}
.prow img{width:100%;aspect-ratio:3/2;object-fit:cover;background:#E9E3DA}
.prow:hover img{opacity:0.92}
.prow-cap{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:0.9rem 0 0}
.prow .nm{font-family:var(--head);font-size:clamp(1.1rem,1.8vw,1.5rem);letter-spacing:0.04em}
.prow.soon img{opacity:0.9}
/* team */
.team{padding:0 var(--g) clamp(3rem,7vw,6rem)}
.team h2.cap{margin-bottom:1.2rem}
.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1rem,3vw,2.5rem);max-width:60rem}
.team-grid figure{margin:0}
.team-grid img{width:100%;aspect-ratio:4/5;object-fit:cover;background:#E9E3DA}
.team-grid figcaption{padding-top:0.8rem}
.team-grid figcaption p{margin-top:0.5rem;font-size:1rem}
.team-photo{margin:clamp(2rem,5vw,4rem) auto 0;max-width:48rem}
.team-photo img{width:100%;aspect-ratio:4/5;object-fit:cover}
.team-photo figcaption{padding-top:0.7rem;text-align:center}
@media(max-width:600px){.team-grid{grid-template-columns:1fr}}
.team-photo.wide{max-width:60rem}
.team-photo.wide img{aspect-ratio:3/2}

.team-grid.three{grid-template-columns:1fr 1fr 1fr;max-width:none}
.team-grid.three figcaption.cap{padding-top:0.8rem;text-align:center}
@media(max-width:820px){.team-grid.three{grid-template-columns:1fr}}

.about-top{padding-top:clamp(1.5rem,4vw,3rem)}
.about-top .text h1.display{margin:0 0 0.4rem}
.about-top .text .meta{color:var(--ink-soft);margin-bottom:1.6rem}
@media(max-width:820px){.about-top .text h1.display{margin-top:1.2rem}}

/* ---- motion ---- */
.rv{opacity:0;transform:translateY(22px);transition:opacity .9s ease var(--d,0s),transform .9s cubic-bezier(.2,.7,.2,1) var(--d,0s)}
.rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none}}
[data-parallax]{will-change:transform;transform:scale(1.14)}
.tlink{border-bottom:1px solid var(--pistachio);padding-bottom:0.25em}
.tlink:hover{border-color:var(--ink)}
/* ---- home ---- */
.hero,.full{position:relative;overflow:hidden;background:#E9E3DA}
.hero{height:calc(100vh - 96px);min-height:460px}
.full{height:min(92vh,820px);min-height:380px}
.hero img,.full img{width:100%;height:100%;object-fit:cover;display:block}
.hero-cap{position:absolute;left:var(--g);bottom:1.2rem;color:#fff;text-shadow:0 1px 14px rgba(0,0,0,.35)}
.hero-cap .loc{color:rgba(255,255,255,.75)}
@media(max-width:700px){.hero{height:68vh}.full{height:60vh}}
.strip{overflow:hidden;background:#E9E3DA;padding:clamp(2.5rem,6vw,5rem) 0}
.strip-track{display:flex;gap:12px;width:max-content}
.strip-track.ready{animation:strip 75s linear infinite}
.strip-track:hover{animation-play-state:paused}
.strip img{height:clamp(240px,44vh,480px);width:auto;display:block}
.strip a{display:block;flex:none}
@keyframes strip{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.strip{overflow-x:auto}.strip-track.ready{animation:none}}
.statement{padding:clamp(4.5rem,10vw,8.5rem) var(--g) clamp(3.5rem,8vw,6rem)}
.statement .mark{width:72px;margin:0 auto 1.6rem;opacity:.9}
.statement .script{margin-bottom:1.2rem}
.statement .lede{font-size:clamp(1.15rem,1.7vw,1.4rem);line-height:1.55;margin-bottom:2rem}
.pair{padding:clamp(2rem,5vw,4rem) var(--g) clamp(3.5rem,8vw,6rem)}
.pair-wrap{position:relative;max-width:40rem;margin:0 auto 3rem;display:grid;grid-template-columns:repeat(12,1fr)}
.pair-wrap figure{margin:0}
.pair-a{grid-column:1/8;grid-row:1}
.pair-b{grid-column:6/13;grid-row:1;margin-top:18%!important;position:relative;z-index:2}
.pair img{width:100%;height:auto;display:block;background:#E9E3DA}
@media(max-width:700px){.pair-wrap{max-width:24rem}}
.badges-sec{padding:0 var(--g) clamp(4rem,9vw,7rem);text-align:center}
.badges-sec .lbl{color:var(--ink-soft);margin-bottom:1.6rem}
.badges{display:flex;justify-content:center;align-items:center;gap:clamp(1.2rem,4vw,3.5rem);flex-wrap:wrap;margin-bottom:2rem}
.badges img{width:clamp(104px,11vw,150px);height:auto;clip-path:circle(44% at 50% 50%)}
.badges img.adpro{clip-path:circle(45.5% at 47.5% 47%)}
.ah-wrap{position:relative;display:block;width:clamp(104px,11vw,150px);aspect-ratio:1;clip-path:circle(36% at 50% 50%);transform:scale(1.22)}
.ah-wrap img{width:100%;height:100%;clip-path:none;transform:none}
.ah-wrap .ah6{position:absolute;left:52%;top:43.5%;width:19.5%;height:27.5%;background:#F0EDE7;color:#ACA9A1;font-family:"League Spartan",Arial,sans-serif;font-weight:700;font-style:normal;font-size:clamp(30px,3.4vw,46px);line-height:1;display:flex;align-items:center;justify-content:center;transform:scaleX(.8) translateY(2%);transform-origin:center;letter-spacing:0}
/* ---- contact ---- */
.pg-contact main{color:var(--pistachio-deep)}
.pg-contact h1.display,.pg-contact h2.display,.pg-contact .cap,.pg-contact .meta,.pg-contact .btn{color:var(--pistachio-deep)}
.pg-contact .contact-form input,.pg-contact .contact-form select,.pg-contact .contact-form textarea{color:var(--pistachio-deep);border-bottom-color:var(--pistachio)}
.pg-contact .contact-form input:focus,.pg-contact .contact-form select:focus,.pg-contact .contact-form textarea:focus{border-bottom-color:var(--pistachio-deep);outline:none}
.pg-contact .contact-form input::placeholder{color:var(--pistachio);opacity:1}
.pg-contact .contact-form select{-webkit-appearance:none;appearance:none;background:transparent}
.pg-contact .btn{border-color:var(--pistachio-deep)}
.pg-contact .btn:hover{background:var(--pistachio-deep);color:var(--paper)}
.pg-contact main p a{border-bottom-color:var(--pistachio)}
.contact-top{padding-top:clamp(1rem,3vw,2rem);grid-template-columns:5fr 6fr;align-items:start}
.contact-img{overflow:hidden;position:sticky;top:1.5rem;background:#E9E3DA;aspect-ratio:3/4}
.contact-img img{width:100%;height:100%;object-fit:cover}
.contact-top .text{max-width:36rem}
.contact-top h1.display{margin-bottom:0.6rem}
.contact-top .meta{margin-bottom:2rem;text-transform:none;letter-spacing:0;font-family:var(--body);font-size:1.1rem;line-height:1.55}
.contact-form .row2{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.contact-form label{margin-bottom:1.4rem}
@media(max-width:820px){.contact-top{grid-template-columns:1fr}.contact-img{position:static;aspect-ratio:4/5}.contact-form .row2{grid-template-columns:1fr}}
.careers{padding:0 var(--g) clamp(3rem,7vw,5rem);border-top:1px solid var(--line);margin-top:1rem}
.careers .narrow{padding-top:clamp(2.5rem,6vw,4rem)}
.careers .mark{width:56px;margin-bottom:1.2rem;opacity:.85}
.careers h2.display{margin-bottom:0.8rem}
.studio-line{padding:0 var(--g) clamp(3rem,7vw,5rem)}
.studio-line .cap{margin-bottom:0.6rem}
/* statement in pistachio */
.statement{color:var(--pistachio-deep)}
.statement .script{color:var(--pistachio-deep);font-size:clamp(2.8rem,6vw,4.6rem)!important;line-height:1.05!important}
.statement .btn,.pair .btn,.badges-sec .btn{border-color:var(--pistachio-deep);color:var(--pistachio-deep);margin-top:0}
.statement .btn:hover,.pair .btn:hover,.badges-sec .btn:hover{background:var(--pistachio-deep);color:var(--paper)}

/* Alize accent line above page headlines */
.kicker{font-family:var(--script);color:var(--pistachio-deep);font-size:clamp(1.9rem,3.6vw,2.8rem);line-height:1;margin:0 0 .35rem;text-transform:none;letter-spacing:0;display:block}
.page-head .kicker,.about-top .kicker{margin-bottom:.4rem}

.contact-form .req{font-style:normal;font-weight:400;font-size:.58em;letter-spacing:.14em;text-transform:uppercase;color:var(--pistd,#7F8273);margin-left:.7em;vertical-align:.15em}

/* mobile cleanup */
@media(max-width:700px){
.strip{padding:1.6rem 0}
.strip img{height:200px}
.strip-track{gap:8px}
.statement{padding:3.2rem var(--g) 2.4rem}
.statement .mark{width:56px;margin-bottom:1.1rem}
.statement .lede{font-size:1.08rem;margin-bottom:1.5rem}
.pair{padding:1rem var(--g) 3rem}
.pair-wrap{display:block;max-width:none;margin-bottom:1.8rem}
.pair-a,.pair-b{width:100%;margin:0!important}
.pair-b{margin-top:12px!important}
.badges-sec{padding-bottom:3.5rem}
.badges{display:grid;grid-template-columns:1fr 1fr;justify-items:center;gap:1.2rem 0.5rem;max-width:300px;margin:0 auto 1.6rem}
.badges img{width:124px}
.full{height:50vh}
.hero{height:62vh;min-height:380px}
.page-head{padding-top:1.6rem}
.careers .narrow{padding-top:2rem}
.studio-line{padding-bottom:2.5rem}
}

/* slim footer */
.foot-row{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap}
.news-form{display:block;flex:0 1 22rem}
.news-form .foot-h{display:block;margin-bottom:0.5em}
.news-field{display:flex;gap:0.8rem;align-items:flex-end}
.news-field input{flex:1 1 160px;font:inherit;font-family:var(--body);font-size:0.95rem;padding:0.35em 0;border:0;border-bottom:1px solid var(--ink);background:transparent;border-radius:0}
.foot-nav{display:flex;gap:1.6rem;flex-wrap:wrap;justify-content:flex-end;color:var(--ink)}
.foot-nav a{padding:0.3em 0;border-bottom:1px solid transparent}
.foot-nav a:hover{border-color:var(--ink)}
.foot-base a{color:inherit}
@media(max-width:820px){.foot-row{align-items:flex-start}.foot-nav{justify-content:flex-start;gap:0.9rem 1.3rem}.news-form{flex-basis:100%}.foot-base{flex-direction:column;gap:0.4rem}}
