@font-face{font-family:'DM Sans';src:url('/assets/dm-sans-regular.woff2') format('woff2');font-display:swap;font-weight:400}@font-face{font-family:'Josefin Sans';src:url('/assets/josefin-sans.ttf') format('truetype');font-display:swap;font-weight:100 700}
:root{--ink:#2a2b27;--paper:#fafaf7;--line:#2a2b2738;--muted:#686b63;--space:clamp(24px,6vw,100px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:var(--paper);font:17px/1.55 'DM Sans',sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input{color:inherit;font:inherit}button{border:0;border-radius:0;padding:0;background:none;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid currentColor;outline-offset:6px}button{text-align:left}img{width:100%;height:100%;display:block;object-fit:cover}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400}h2,h3{font-family:'Josefin Sans',sans-serif}h2{font-size:clamp(35px,3.45vw,52px);line-height:1.1;letter-spacing:-.025em}p+p{margin-top:1.15em}.wrap{width:calc(100% - var(--space)*2);max-width:1280px;margin-inline:auto}.hero{height:100svh;min-height:620px;max-height:1200px;position:relative;color:#fff;background:#303730 url('/assets/hero.jpg') center/cover}.hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,#10171038,transparent 35%,#0c161422 50%,#0c1614b0 100%)}.hero-inner{position:relative;height:100%;display:flex;flex-direction:column;padding-top:40px}.hero-logo{width:clamp(220px,29vw,395px);display:block}.hero-logo img{filter:brightness(0) invert(1);height:auto}.hero-title{margin-top:auto;margin-bottom:60px}.hero-title h1{font-size:clamp(46px,5.15vw,80px);font-family:'DM Sans',sans-serif;line-height:1.1;letter-spacing:-.045em}.mobile-break{display:none}.explore{display:inline-flex;align-items:center;gap:46px;font-size:14px;margin-top:25px}.explore span{font-size:23px}.hero-bar{border-block:1px solid #ffffff80;display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr 38px;align-items:center;gap:32px;min-height:75px;text-transform:uppercase;font-size:13px;letter-spacing:.015em}.hero-bar-brand{letter-spacing:.035em}.hero-bar a,.hero-bar button{width:fit-content}.hero-bar button:hover,.explore:hover,.film-meta button:hover{opacity:.75}.hero-bar .bars{width:38px}.bars{display:flex;flex-direction:column;justify-content:center;gap:9px;width:34px;height:44px}.bars i{height:1px;width:100%;display:block;background:currentColor}.film-meta{display:flex;justify-content:space-between;align-items:center;font-size:10px;text-transform:uppercase;letter-spacing:.035em;height:43px}.film-meta button{min-height:36px;text-transform:inherit;text-decoration:underline;text-underline-offset:4px}.intro{max-width:1040px;display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-block:118px 112px;border-bottom:1px solid var(--line);font-size:18px;line-height:1.6}.story{display:grid;grid-template-columns:1fr 1fr;gap:clamp(60px,8vw,130px);padding-block:112px;border-bottom:1px solid var(--line);max-width:1120px}.eyebrow{text-transform:uppercase;font-size:12px;letter-spacing:.05em;display:block;line-height:1.3}.story h2{margin:32px 0 38px}.story-copy p:not(.eyebrow){font-size:16px;line-height:1.65}.story-image{align-self:start;margin-top:0;min-width:0}.materials-image img{height:650px;object-position:45% 50%}.studio-image img{height:630px;object-position:center 52%}.story-image figcaption{font-size:11px;color:var(--muted);margin-top:11px}.arrow-link{display:inline-flex;align-items:center;gap:40px;font-size:14px;line-height:1.3}.arrow-link span{font-size:22px;transition:transform .2s}.arrow-link:hover span{transform:translate(3px,-3px)}.story .arrow-link{margin-top:34px}.more{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:108px;margin-bottom:120px}.card{padding:0 30px;border-right:1px solid var(--line);min-width:0;display:flex;flex-direction:column}.card:first-child{padding-left:0}.card:last-child{padding-right:0;border-right:0}.card h3{font-size:clamp(23px,2.1vw,30px);line-height:1.18;letter-spacing:-.025em;margin:28px 0 35px;min-height:2.4em}.card-image{height:245px;overflow:hidden}.card-image img{transition:transform .7s}.card:hover .card-image img{transform:scale(1.03)}.card-link{font-size:12px;display:flex;justify-content:space-between;margin-top:24px;padding-top:19px;border-top:1px solid var(--line)}.card-link>span{font-size:18px;line-height:1}.footer{background:#eeeee8;padding-top:70px}.footer-invitation{display:flex;align-items:center;justify-content:space-between;padding-bottom:60px;border-bottom:1px solid var(--line);gap:30px}.footer-invitation h2{font-size:clamp(27px,3vw,43px)}.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:70px;padding-top:58px;max-width:1000px;font-size:15px;line-height:1.7}.footer-label{font-size:12px;text-transform:uppercase;letter-spacing:.045em;margin-bottom:20px}.footer-grid a,.footer-grid button{display:block;line-height:1.7;width:fit-content}.footer-grid a:hover,.footer-grid button:hover{text-decoration:underline;text-underline-offset:4px}.footer-description{margin-top:25px;color:var(--muted);font-size:13px}.footer-wordmark{display:block;margin-top:155px;width:100%;max-width:1210px}.footer-wordmark img{height:auto;opacity:.88}.footer-bottom{border-top:1px solid var(--line);margin-top:32px;padding-block:21px 28px;display:flex;align-items:center;justify-content:space-between;font-size:10px;color:var(--muted);gap:20px}.sticky-header{position:fixed;top:0;left:0;right:0;z-index:20;background:#fafaf7f5;backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.compact-bar{height:76px;display:flex;align-items:center;justify-content:space-between}.compact-bar>a{width:150px}.compact-bar img{height:auto}.compact-bar>div{display:flex;align-items:center;gap:36px}.text-control{font-size:12px;text-transform:uppercase}.text-control span{margin-left:10px;font-size:20px}dialog{border:0;padding:40px 50px;background:var(--paper);color:var(--ink);width:calc(100% - 40px);max-width:820px;max-height:90svh;overscroll-behavior:contain}dialog::backdrop{background:#0b150fbd;backdrop-filter:blur(5px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:40px;font-size:12px;text-transform:uppercase;letter-spacing:.035em}.close{font-size:32px;line-height:1;width:36px;height:36px;text-align:center}.close:hover{opacity:.5}dialog h2{margin-bottom:35px;font-size:46px}dialog p{font-size:16px;max-width:620px}dialog .arrow-link{margin-top:28px}.dialog-note{font-size:12px!important;color:var(--muted);margin-top:45px}.contact-email{display:inline-block;margin-top:30px;font-size:23px;text-decoration:underline;text-underline-offset:6px}.menu-dialog{max-width:1000px}.menu-links{display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:0 0 45px}.menu-links a,.menu-links button{font-family:'Josefin Sans',sans-serif;font-size:clamp(30px,5vw,59px);line-height:1.25;letter-spacing:-.025em}.menu-links span{font-size:.6em}.menu-links a:hover,.menu-links button:hover{color:#787d72}.menu-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:24px;font-size:12px;gap:30px}#search-input{width:100%;font-family:'Josefin Sans',sans-serif;font-size:48px;line-height:1.3;padding:12px 0 20px;margin-bottom:10px;background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0}#search-results a,#search-results button{display:block;text-align:left;width:100%;padding:19px 0;border-bottom:1px solid var(--line);font-size:24px;font-family:'Josefin Sans',sans-serif}#search-results small{display:block;font-family:'DM Sans',sans-serif;font-size:12px;color:var(--muted);margin-top:5px}#search-results p{padding:30px 0}.process-list{list-style:none;counter-reset:stage;padding:0;margin:32px 0 10px}.process-list li{counter-increment:stage;position:relative;border-top:1px solid var(--line);padding:24px 0 24px 45px}.process-list li:before{content:'0' counter(stage);position:absolute;top:27px;left:0;font-size:12px}.process-list h3{font-size:24px;margin-bottom:8px}.process-list p{font-size:14px}.sr-only,.skip{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip:focus{position:fixed;clip:auto;width:auto;height:auto;top:10px;left:10px;z-index:100;background:white;color:black;padding:15px}[hidden]{display:none!important}
@media(min-width:1700px){.hero-title{margin-bottom:80px}.hero-inner{padding-top:60px}.hero-logo{width:435px}}
@media(max-width:1000px){:root{--space:40px}.intro{gap:50px;padding-block:95px}.story{gap:60px;padding-block:90px}.materials-image img{height:640px}.studio-image img{height:630px}.card{padding-inline:20px}.card h3{font-size:24px}.card-image{height:210px}.more{margin-block:90px}.footer-grid{gap:35px}.footer-wordmark{margin-top:130px}.hero-bar{gap:22px}.hero-title{margin-bottom:50px}}
@media(max-width:700px){:root{--space:24px}html{scroll-padding-top:95px}.hero{min-height:560px;max-height:none}.hero-inner{padding-top:28px}.hero-logo{width:210px}.hero-title{margin-bottom:40px}.hero-title h1{font-size:clamp(42px,8vw,60px);max-width:600px}.explore{font-size:12px;margin-top:20px}.hero-bar{font-size:10px;grid-template-columns:1.2fr 1fr 1.1fr 1fr 27px;gap:12px;min-height:66px}.hero-bar .bars{width:27px}.film-meta{height:40px;font-size:9px}.intro{grid-template-columns:1fr;gap:28px;padding-block:72px;font-size:17px;line-height:1.6}.story{grid-template-columns:1fr;gap:38px;padding-block:65px}.story h2{font-size:39px;line-height:1.1;margin:25px 0 30px}.story-copy p:not(.eyebrow){font-size:16px;line-height:1.6}.materials-image img{height:auto;aspect-ratio:4/4.6;object-position:center}.studio-image img{height:auto;aspect-ratio:4/4.5}.studio-story .story-copy{grid-row:1}.story .arrow-link{margin-top:26px}.more{grid-template-columns:1fr;gap:48px;margin-block:70px}.card,.card:first-child,.card:last-child{padding:0;border:0}.card h3{font-size:29px;line-height:1.15;margin:22px 0 28px;min-height:0}.card-image{height:auto;aspect-ratio:4/3}.card-link{margin-top:18px;padding-top:15px;font-size:12px}.footer{padding-top:48px}.footer-invitation{display:block;padding-bottom:38px}.footer-invitation h2{font-size:31px;line-height:1.15;max-width:280px}.footer-invitation .arrow-link{margin-top:26px}.footer-grid{grid-template-columns:1fr 1fr;gap:34px 22px;padding-top:38px;font-size:13px}.footer-label{font-size:10px;margin-bottom:15px}.footer-address{grid-column:1/-1}.footer-address p{margin-top:0}.footer-description{margin-top:14px!important}.footer-wordmark{margin-top:85px}.footer-bottom{font-size:8px;gap:10px;line-height:1.4;margin-top:23px;padding-block:19px 25px}.compact-bar{height:68px}.compact-bar>a{width:125px}.compact-bar>div{gap:20px}.text-control{font-size:10px}.compact-bar .bars{width:27px}.compact-bar .text-control:first-child{display:none}dialog{padding:25px;width:calc(100% - 24px);max-height:92svh}.dialog-head{margin-bottom:28px;padding-bottom:14px;font-size:10px}dialog h2{font-size:34px;margin-bottom:28px}dialog p{font-size:15px}.contact-email{font-size:19px}.menu-links{gap:9px;padding-bottom:35px}.menu-links a,.menu-links button{font-size:35px}.menu-bottom{font-size:10px;gap:20px}.menu-bottom span{max-width:160px;text-align:right}#search-input{font-size:37px}#search-results a,#search-results button{font-size:23px}.process-list li{padding-left:35px}.process-list h3{font-size:22px}}
@media(max-width:450px){.mobile-break{display:block}.hero-title h1{font-size:47px;line-height:1.03}.hero-title{margin-bottom:38px}.hero-bar{grid-template-columns:1.15fr .85fr 1fr 1fr 25px;gap:10px;font-size:9px}.hero-bar-brand{max-width:50px;line-height:1.5}.hero-bar .study-control{max-width:50px;line-height:1.5}.hero-bar .bars{width:25px}.hero-logo{width:200px}.film-meta{font-size:8px}.footer-bottom{font-size:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* Keep the film clear; navigation sits at its lower edge. */
.hero-bar{margin-top:auto}.hero-inner{padding-top:40px}.more{margin-bottom:65px}.process-section{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:110px}.process-section summary{display:flex;align-items:center;gap:30px;cursor:pointer;list-style:none;padding-block:28px;font-size:17px}.process-section summary::-webkit-details-marker{display:none}.process-section summary .eyebrow{width:calc(33.333% - 10px)}.expand-mark{margin-left:auto;font-size:25px;line-height:1;transition:transform .2s}.process-section[open] .expand-mark{transform:rotate(45deg)}.process-content{display:grid;grid-template-columns:1fr 1fr;gap:90px;padding:35px 0 50px}.process-content h2{font-size:40px;margin-bottom:25px}.process-content>div>p{max-width:400px;font-size:16px}.process-content .process-list{margin-top:0}.process-content .process-list li:first-child{border-top:0;padding-top:0}.process-content .process-list li:first-child:before{top:3px}.process-content .process-list li:last-child{padding-bottom:0}.hero-bar .bars{margin-left:auto}.menu-links a[href="#home"]{display:none}
@media(max-width:700px){.hero-inner{padding-top:28px}.more{margin-bottom:45px}.process-section{margin-bottom:75px}.process-section summary{font-size:16px;gap:20px;padding-block:24px}.process-section summary .eyebrow{width:auto;margin-right:auto}.process-content{grid-template-columns:1fr;gap:32px;padding-top:20px}.process-content h2{font-size:34px}.expand-mark{margin-left:10px}}
.mobile-section-link{display:none}@media(max-width:700px){.hero-bar .desktop-hero-tool{display:none}.hero-bar .mobile-section-link{display:block}.hero-bar{grid-template-columns:1fr 1fr 1fr 1fr 27px;font-size:11px;gap:14px}.menu-bottom span{display:none}}@media(max-width:360px){.hero-bar{font-size:10px;gap:10px}}

/* A closer, openly licensed geometric display face; Grove body copy stays quiet. */
h2,h3,.menu-links a,.menu-links button{font-weight:420;text-transform:uppercase;letter-spacing:-.025em}h2{line-height:1.12}.story h2{font-size:clamp(35px,3.45vw,50px)}.card h3{font-size:clamp(23px,2.05vw,29px);line-height:1.25}.footer-invitation h2{font-size:clamp(27px,2.7vw,40px)}.process-list h3{font-size:22px}.menu-links a,.menu-links button{line-height:1.35}#search-input,#search-results a,#search-results button{font-weight:400}
@media(max-width:700px){.story h2{font-size:38px}.card h3{font-size:27px}.footer-invitation h2{font-size:29px;max-width:300px}.process-list h3{font-size:21px}.menu-links a,.menu-links button{font-size:34px}}
/* Contained title shaping echoes the reference’s narrower proportions. */
.condensed-heading{display:block;width:119.0476%;transform:scaleX(.84);transform-origin:top left;font-weight:450}.process-list .condensed-heading{width:100%;transform:none;font-weight:420}

.hero-bar button{text-transform:inherit}
/* One Process entry: the third card expands the shared detail panel. */
.more{margin-bottom:110px}.process-toggle[aria-expanded=true] .process-mark{transform:rotate(45deg)}.process-mark{display:inline-block;transition:transform .2s;font-size:23px!important}.process-toggle:focus-visible{outline-offset:8px}.process-section{margin-top:-55px;padding-top:30px;border-bottom:0;margin-bottom:110px}.process-section .process-content{padding-top:35px}.process-project-note{margin-top:24px!important;font-size:14px!important;color:var(--muted)}.project-cta{margin-top:26px}.process-section .project-cta{font-size:14px;gap:20px}body.process-open .more{margin-bottom:65px}@media(max-width:700px){.more{margin-bottom:75px}.process-section{margin-top:-20px;padding-top:10px;margin-bottom:75px}body.process-open .more{margin-bottom:45px}.process-section .process-content{padding-top:25px}}
.scroll-reveal{opacity:0;transform:translateY(22px);transition:opacity .65s cubic-bezier(.2,.65,.3,1) var(--reveal-delay,0ms),transform .65s cubic-bezier(.2,.65,.3,1) var(--reveal-delay,0ms)}.scroll-reveal.is-visible{opacity:1;transform:translateY(0)}@media(prefers-reduced-motion:reduce){.scroll-reveal{opacity:1;transform:none;transition:none!important}}
/* Visitor-facing navigation and an early, quiet view of the work. */
.hero-bar{grid-template-columns:repeat(3,minmax(0,1fr)) 38px;gap:32px}.work-gallery{padding:0 0 115px}.work-heading{display:flex;justify-content:space-between;gap:30px;align-items:start;margin-bottom:45px}.work-heading h2{font-size:42px;margin:0}.work-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:40px}.work-item{display:block}.work-item figure{overflow:hidden;background:#eee}.work-item figure img{width:100%;height:auto;aspect-ratio:1.35;object-fit:cover;transition:transform .7s}.work-item:hover figure img{transform:scale(1.015)}.work-item.sketch-work-item figure{background:white}.work-item.sketch-work-item figure img{object-fit:contain;padding:14px}.work-item-label{display:flex;justify-content:space-between;align-items:center;margin:20px 0 8px;gap:20px}.work-item-label h3{font:400 20px/1.3 'DM Sans',sans-serif;text-transform:none;letter-spacing:0;margin:0}.work-item p{font-size:12px;line-height:1.65;color:var(--muted);margin:0}.practice-signature{margin-top:35px!important;margin-bottom:20px!important;font-size:15px!important}.practice-signature span{color:var(--muted);font-size:12px}#dylan-grove{scroll-margin-top:120px}.work-gallery{scroll-margin-top:115px}
@media(max-width:700px){.hero-bar{grid-template-columns:repeat(3,minmax(0,1fr)) 27px;gap:14px;font-size:11px}.work-gallery{padding-bottom:70px;scroll-margin-top:90px}.work-heading{display:block;margin-bottom:30px}.work-heading h2{font-size:32px;margin-top:22px}.work-grid{grid-template-columns:1fr;gap:40px}.work-item-label h3{font-size:19px}.work-item figure img{aspect-ratio:1.2}.work-item p{font-size:11px}#dylan-grove{scroll-margin-top:100px}}
@media(prefers-reduced-motion:reduce){.work-item figure img{transition:none}.work-item:hover figure img{transform:none}}
#dylan-grove,.work-gallery{scroll-margin-top:0}

/* Invitation headings share their adjacent action and keyboard focus styling. */
.footer-invitation h2>a:hover{text-decoration:underline;text-underline-offset:.16em;text-decoration-thickness:1px}
