:root{--ink:#141210;--cream:#FAF6F0;--sand:#E8DCC8;--coral:#FF6633;--surface:#1e1b18;--line:#ffffff25;--muted:#b2aca5;--sans:'Urbanist','DM Sans',Arial,sans-serif;--serif:'Cormorant Garamond',Georgia,serif;--ease:cubic-bezier(.22,1,.36,1);--inout:cubic-bezier(.65,0,.35,1);--gutter:clamp(24px,7vw,120px)}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:105px}
body{margin:0;background:var(--ink);color:var(--cream);font:400 17px/1.65 var(--sans);-webkit-font-smoothing:antialiased}
h1,h2,h3,p{margin:0}
h1,h2,h3{line-height:1.04;letter-spacing:-.035em}
h1{font-size:clamp(48px,6.5vw,105px);font-weight:800;line-height:1.04}
h2{font-size:clamp(40px,4.35vw,70px);font-weight:600}
h2 em,.serif{font-family:var(--serif);font-weight:400;font-size:1.09em}
h3{font-size:34px;font-weight:600}
p{color:var(--muted)}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0}
button,a{-webkit-tap-highlight-color:transparent}
button:disabled{opacity:.3;cursor:default}
img,video{display:block;max-width:100%}
button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--coral);outline-offset:5px}
input:focus-visible,textarea:focus-visible{outline:0;border-color:var(--coral)}
[hidden]{display:none!important}
::selection{background:var(--coral);color:var(--ink)}
.section{padding:105px var(--gutter)}
.eyebrow{font:600 11px/1.5 var(--sans);letter-spacing:.14em;color:var(--muted);text-transform:uppercase}
.section-index{font-size:10px;letter-spacing:.1em;color:var(--muted)}
.prototype-note{font-size:12px;line-height:1.6;color:#948d85}
.outline-text{-webkit-text-stroke:1px var(--cream);color:transparent}
.dot{width:6px;height:6px;display:inline-block;background:var(--coral);border-radius:50%;margin-right:8px}
.button{position:relative;display:inline-flex;align-items:center;justify-content:space-between;gap:35px;min-height:56px;padding:15px 27px;border:1px solid var(--line);font-size:15px;font-weight:600;overflow:hidden;transition:color .3s,background .3s,border-color .3s,transform .3s var(--ease)}
.coa-icon{display:inline-block;width:1.1em;height:1.1em;flex:none;vertical-align:-.15em;pointer-events:none}
.button span,.text-link span,.header-cta span{transition:transform .35s var(--ease);display:inline-block}
.button:hover span,.text-link:hover span,.header-cta:hover span{transform:translate(3px,-3px)}
.button.primary{background:var(--coral);border-color:var(--coral);color:var(--ink)}
.button.primary:hover{background:var(--cream);border-color:var(--cream)}
.button.ghost:hover{background:var(--cream);border-color:var(--cream);color:var(--ink)}
.actions{display:flex;gap:14px;flex-wrap:wrap}
.text-link{display:inline-flex;align-items:center;gap:35px;border-bottom:1px solid #ffffff55;padding-block:10px;font-size:15px;font-weight:500;white-space:nowrap;transition:border-color .3s,color .3s}
.text-link:hover{color:var(--coral);border-color:var(--coral)}
.skip{position:fixed;left:15px;top:-90px;z-index:200;background:var(--cream);color:var(--ink);padding:12px}
.skip:focus{top:15px}
.header{position:fixed;z-index:60;inset:0 0 auto;height:99px;padding:0 4vw;display:flex;align-items:center;gap:40px;border-bottom:1px solid transparent;transition:height .3s,background .3s,border .3s}
.header.scrolled,.header.solid{height:82px;background:#141210f5;border-color:var(--line)}
.brand{display:flex;align-items:center;gap:13px;flex-shrink:0}
.brand img{object-fit:contain}
.brand>span{font-size:15px;font-weight:600;line-height:1.15;letter-spacing:.09em}
.brand>span>span{display:block;font-size:6px;letter-spacing:.23em;margin-top:5px}
.header nav{display:flex;gap:30px;align-items:center;margin-left:auto;font-size:14px;font-weight:500}
.header nav a{position:relative;min-height:44px;display:flex;align-items:center;transition:color .3s}
.header nav a:hover,.header nav a[aria-current]{color:var(--coral)}
.header nav a::after{content:'';height:1px;background:var(--coral);position:absolute;left:0;right:0;bottom:5px;transform:scaleX(0);transform-origin:left;transition:transform .3s}
.header nav a:hover::after{transform:scaleX(1)}
.header-cta{display:flex;align-items:center;justify-content:space-between;gap:30px;font-size:14px;font-weight:600;padding:11px 18px;border:1px solid var(--line);min-height:44px;transition:background .3s,color .3s}
.header-cta:hover{background:var(--coral);border-color:var(--coral);color:var(--ink)}
#menu-toggle{width:46px;height:46px;display:none;padding:9px}
#menu-toggle span{height:1px;width:25px;background:var(--cream);display:block;margin:6px 0}
dialog{background:var(--ink);color:var(--cream);border:1px solid var(--line);padding:0}
dialog::backdrop{background:#000b;backdrop-filter:blur(5px)}
#menu{height:100dvh;max-height:100dvh;width:min(620px,100%);max-width:100%;margin:0 0 0 auto;border:0;padding:38px 45px}
#menu[open]{animation:menuIn .7s var(--ease) both}
.menu-top,.dialog-top{display:flex;justify-content:space-between;align-items:center}
.close{width:48px;height:48px;font-size:34px;line-height:1;font-weight:300}
.menu-top .eyebrow{color:var(--coral)}
#menu nav{display:grid;margin-top:50px}
#menu nav a{display:flex;align-items:center;gap:24px;font:500 48px/1.3 var(--sans);padding-block:9px;letter-spacing:-.03em;border-bottom:1px solid var(--line)}
#menu[open] nav a{animation:menuLink .75s var(--ease) both;animation-delay:calc(.1s + var(--i,0)*.06s)}
#menu nav a small{font:500 10px var(--sans);letter-spacing:.04em;color:var(--coral)}
.menu-bottom{margin-top:45px;font-size:11px;letter-spacing:.1em;color:var(--muted)}
.menu-bottom a{display:block;margin-top:16px;text-decoration:underline;text-underline-offset:4px}

.hero{min-height:760px;height:100svh;max-height:1180px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#191714}
.hero-media{position:absolute!important;inset:0;transform:scale(var(--hero-scale,1));transform-origin:50% 55%}
.frame-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#272421;color:var(--cream)}
.hero-placeholder{background:#2b2520}
.hero-placeholder::before,.hero-placeholder::after{content:'';position:absolute;inset:14% 5%;border:1px solid #e8dcc821;transform:skewY(-7deg)}
.hero-placeholder::after{inset:22% 14%;transform:skewY(7deg)}
.oversize-mark{font-size:53vw;font-weight:800;letter-spacing:-.085em;line-height:1;color:#e8dcc80b;transform:translateX(-2%)}
.frame-note{position:absolute;bottom:25px;left:25px;font-size:9px;letter-spacing:.15em;line-height:1.4;z-index:3}
.hero-placeholder>.frame-note{right:4vw;left:auto;top:115px;bottom:auto;color:#bfb3a4}
.hero-scrim{position:absolute;inset:0;z-index:2;background:linear-gradient(0deg,#141210f0,transparent 50%,#14121080),#14121045;pointer-events:none}
.hero-content{position:relative;z-index:3;text-align:center;width:100%;padding:125px 35px 125px;transform:translateY(var(--hero-copy-y,0px));opacity:var(--hero-copy-opacity,1)}
.hero-kicker{font-size:10px;color:#d5cec5;margin-bottom:30px}
.hero h1{max-width:1360px;margin:0 auto;font-size:clamp(48px,6.5vw,109px);font-weight:800;line-height:1.035;letter-spacing:-.035em}
.hero-pitch{color:#f2ebe2;font-size:18px;margin:28px auto}
.hero .actions{justify-content:center;margin-top:32px}
.hero-bottom{position:absolute;z-index:4;bottom:32px;left:4vw;right:4vw;display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:.09em}
.watch{display:flex;align-items:center;gap:14px;text-align:left;font-size:10px;letter-spacing:.07em}
.watch small{display:block;color:#b7aea3;font-size:8px;margin-top:3px;letter-spacing:.04em}
.play{display:grid;place-items:center;width:43px;height:43px;border:1px solid #ffffff70;border-radius:50%;font-size:18px;transition:color .3s,border .3s,transform .3s}
.watch:hover .play{color:var(--coral);border-color:var(--coral);transform:scale(1.08)}
.scroll-cue{position:absolute;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:15px;font-size:8px}
.scroll-cue span{font-size:23px;animation:scrollCue 2s ease-in-out infinite}
.hero-location{text-align:right;line-height:1.5;font-size:9px;color:#d7cfc5}

.intro{padding-top:110px;padding-bottom:55px}
.intro-top{display:flex;justify-content:space-between;gap:24px;margin-bottom:38px}
.intro-statement{font-size:clamp(44px,5.3vw,83px);max-width:1150px}
.intro-statement em{color:var(--coral)}
.intro-bottom{display:flex;justify-content:space-between;gap:70px;margin-top:40px;margin-left:34%;align-items:end}
.intro-bottom p{max-width:580px;font-size:16px}
.audience-line{margin-top:90px;display:flex;align-items:center;gap:32px;border-block:1px solid var(--line);padding-block:31px;font-size:10px;letter-spacing:.1em}
.audience-line strong{font-size:30px;letter-spacing:-.015em;min-width:235px;line-height:1.2;color:var(--coral)}
.audience-line strong.changing{animation:flipWord .6s var(--ease) both}
.audience-rule{height:1px;background:var(--line);flex:1}
.audience-line>span:first-child,.audience-line>span:last-child{color:var(--muted)}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:45px}
.section-heading .eyebrow{margin-bottom:20px}
.section-heading h2{max-width:890px}
.selected-section{padding-top:55px}
.selected-stage{border:1px solid var(--line)}
.selected-visual{height:min(58vw,650px);min-height:450px}
.media-slot{position:relative;overflow:hidden;background:#2b2520}
.tone-sand{background:#6f6253}
.tone-stone{background:#464842}
.tone-coral{background:#7b3726}
.tone-warm{background:#514032}
.frame-placeholder:not(.hero-placeholder)::before{content:'';position:absolute;inset:7%;border:1px solid #faf6f035;pointer-events:none}
.frame-placeholder:not(.hero-placeholder)::after{content:'+';position:absolute;top:8%;right:8%;font-size:17px;color:#faf6f050}
.ghost-address{font:700 clamp(30px,6vw,90px)/1.1 var(--sans);letter-spacing:-.035em;text-align:center;opacity:.16;padding:30px}
.round-play{position:absolute;z-index:6;left:50%;top:50%;transform:translate(-50%,-50%);height:64px;width:64px;display:grid;place-items:center;border:1px solid #faf6f070;border-radius:50%;background:#14121035;font-size:26px;line-height:1;backdrop-filter:blur(3px);transition:background .3s,border-color .3s}
.round-play:hover{background:var(--coral);border-color:var(--coral);color:var(--ink)}
.selected-overlay{position:absolute;z-index:5;bottom:0;left:0;right:0;padding:100px 40px 35px;background:linear-gradient(0deg,#141210e8,transparent);pointer-events:none}
.selected-overlay h3{font-size:38px;margin-top:12px}
.selected-overlay a{pointer-events:auto;display:flex;justify-content:space-between;font-size:14px;max-width:230px;margin-top:15px;border-bottom:1px solid #fff6;padding-bottom:8px}
.selected-overlay .eyebrow{font-size:9px}
.selected-visual>.frame-placeholder>.frame-note{top:25px;bottom:auto}
.selected-tabs{display:grid;grid-template-columns:repeat(3,1fr)}
.selected-tabs button{text-align:left;padding:25px 25px 25px 65px;position:relative;font-size:16px;border-top:1px solid var(--line);transition:background .3s}
.selected-tabs button+button{border-left:1px solid var(--line)}
.selected-tabs small{position:absolute;left:25px;top:28px;color:var(--muted);font-size:10px}
.selected-tabs button>span{display:block;font-size:9px;color:var(--muted);letter-spacing:.1em;margin-top:5px}
.selected-tabs button[aria-selected=true]{background:var(--surface)}
.selected-tabs button[aria-selected=true]::before{position:absolute;content:'';left:0;right:0;top:0;height:2px;background:var(--coral)}
.selected-section>.prototype-note{margin-top:17px}
.selected-visual.switching .frame-placeholder{animation:featureChange .7s var(--ease) both}
.selected-visual.switching .selected-overlay{animation:featureText .6s var(--ease) both}

.social-section{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;padding-block:85px 105px;overflow:hidden;min-height:760px}
.social-phones{position:relative;height:610px;perspective:1200px}
.phone{position:absolute;width:48%;max-width:265px;aspect-ratio:9/18.5;background:#080808;border:3px solid #393431;border-radius:37px;padding:8px;box-shadow:0 35px 45px #0009,inset 0 0 0 1px #aaa6;transform-origin:center;will-change:transform}
.phone-one{left:6%;top:3%;transform:translateX(var(--phone-one-x,0px)) translateY(var(--phone-one-y,0px)) rotate(var(--phone-one-r,-9deg));z-index:2}
.phone-two{right:0;top:14%;transform:translateX(var(--phone-two-x,0px)) translateY(var(--phone-two-y,0px)) rotate(var(--phone-two-r,8deg));z-index:3}
.phone-camera{position:absolute;z-index:8;top:14px;left:50%;transform:translateX(-50%);height:16px;width:31%;border-radius:20px;background:#080808}
.phone-screen{height:100%;border-radius:28px}
.phone-screen .frame-note{font-size:7px;left:16px;bottom:25px}
.phone-screen .round-play{height:44px;width:44px;font-size:18px;top:70%}
.phone-big{font-size:clamp(25px,3vw,48px);font-weight:700;line-height:1.08;letter-spacing:-.03em;width:75%;color:#faf6f0c7}
.phone-caption{position:absolute;bottom:-33px;font-size:8px;left:12px;letter-spacing:.1em;color:var(--muted)}
.social-copy>.eyebrow{color:var(--coral);font-size:9px;margin-bottom:25px}
.social-copy h2{font-size:clamp(40px,3.85vw,62px);margin-bottom:30px}
.social-copy p:not(.eyebrow){font-size:16px;margin-top:16px;max-width:530px}
.social-copy .button{margin-top:35px}
.production-strip{margin:0 var(--gutter);padding:40px 0;display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line);gap:20px}
.production-strip>div{position:relative;padding-left:40px}
.production-strip span{position:absolute;top:0;left:0;font-size:11px;color:var(--coral)}
.production-strip b{font-size:12px;letter-spacing:.08em;font-weight:600}
.production-strip p{font-size:13px;margin-top:5px}
.service-section{padding-bottom:65px}
.service-deck{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.service-tile{display:flex;flex-direction:column;min-width:0}
.service-tile .service-thumb{aspect-ratio:3/4;overflow:hidden}
.service-thumb .frame-placeholder{transition:transform 1.2s var(--ease)}
.service-tile:hover .service-thumb .frame-placeholder{transform:scale(1.045)}
.service-thumb .tile-word{font:600 2vw/1.1 var(--sans);max-width:80%;position:absolute;bottom:30px;left:25px}
.service-thumb .frame-note{top:22px;bottom:auto;left:22px;font-size:8px}
.service-tile-info{display:flex;justify-content:space-between;align-items:center;margin-top:20px}
.service-tile-info h3{font-size:23px}
.service-tile-info>span{color:var(--coral);font-size:23px}
.service-tile p{font-size:13px;margin-top:10px;max-width:240px;line-height:1.55}

.showcase-scroll{height:165vh;min-height:1200px;margin-top:20px;position:relative}
.showcase-sticky{position:sticky;top:70px;height:calc(100svh - 70px);min-height:730px;padding:25px var(--gutter) 40px;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}
.showcase-label{font-size:9px;margin-bottom:26px;text-align:center}
.landscape-phone{width:min(790px,80vw);aspect-ratio:2.07;border-radius:36px;padding:8px 17px 8px 28px;background:#080808;border:3px solid #393431;position:relative;box-shadow:0 25px 65px #0007;transform:scale(var(--landscape-scale,.87)) rotateX(var(--landscape-tilt,8deg));will-change:transform}
.landscape-camera{position:absolute;top:36%;left:12px;height:25%;width:7px;border-radius:12px;background:#1a1a1a;z-index:8}
.landscape-screen{width:100%;height:100%;border-radius:22px}
.film-wordmark{font-size:clamp(65px,13vw,175px);font-weight:700;letter-spacing:-.06em;line-height:.8;opacity:.45;text-align:center}
.film-wordmark>span{display:block;font-size:10px;letter-spacing:.25em;font-weight:500;margin-top:28px}
.showcase-copy{text-align:center;margin-top:35px;position:relative;z-index:3;opacity:var(--showcase-opacity,1);transform:translateY(var(--showcase-y,0px))}
.showcase-copy h2{font-size:clamp(35px,3.7vw,60px)}
.showcase-copy p{font-size:15px;margin:22px 0 8px}
.showcase-copy .text-link{font-size:13px;gap:40px}
.landscape-screen .frame-note{font-size:8px;bottom:20px;left:25px}

.process-section{display:grid;grid-template-columns:.95fr 1fr;gap:12%;padding-top:90px;align-items:start}
.process-sticky{position:sticky;top:130px;padding-bottom:35px}
.process-sticky .eyebrow{color:var(--coral);margin-bottom:25px}
.process-sticky h2{font-size:clamp(42px,4.8vw,72px)}
.process-sticky>p:not(.eyebrow){font-size:16px;margin-top:25px;max-width:350px}
.process-sticky .button{margin-top:30px}
.process-status{display:flex;align-items:center;gap:20px;margin-top:50px;max-width:360px}
.process-status>span{font-size:48px;font-weight:500;line-height:1;color:var(--coral)}
.process-status>div{flex:1}
.process-status>div>span{font-size:11px;color:var(--muted)}
.process-progress{height:1px;background:var(--line);margin-top:14px}
.process-progress i{display:block;height:2px;background:var(--coral);width:var(--process-progress,25%);transition:width .4s var(--ease)}
.process-card{min-height:355px;border-top:1px solid var(--line);padding:40px 25px 50px 35px;transform:translateX(var(--step-x,0px));opacity:1;transition:border-color .3s;background:var(--surface)}
.process-card+.process-card{margin-top:55px}
.process-card:nth-child(even){margin-left:35px}
.process-card.active{border-top-color:var(--coral)}
.process-card>span{font-size:10px;letter-spacing:.15em;color:var(--coral)}
.process-card h3{font-size:40px;margin-block:28px 22px}
.process-card p{font-size:15px;max-width:390px}
.reviews-section{overflow:hidden;padding-top:100px;padding-bottom:55px}
.review-heading{display:grid;grid-template-columns:1fr 2.1fr 1fr;gap:35px;align-items:center;margin-bottom:50px}
.review-heading h2{font-size:clamp(38px,3.4vw,55px);text-align:center}
.review-controls{display:flex;gap:8px;justify-content:end}
.review-controls button{height:44px;width:44px;border:1px solid var(--line);border-radius:50%;font-size:20px;transition:background .3s,color .3s}
.review-controls button:hover{background:var(--coral);color:var(--ink)}
#review-play{font-size:13px}
.review-viewport{overflow:hidden;margin-right:calc(-1 * var(--gutter));touch-action:pan-y;cursor:grab}
.review-viewport:active{cursor:grabbing}
.review-track{display:flex;gap:22px;transition:transform 1s var(--ease);will-change:transform}
.review-card{flex:0 0 36%;min-height:330px;padding:30px 33px;background:#211e1b;border:1px solid #ffffff0b;user-select:none}
.review-card .quote-mark{font:75px/.7 var(--serif);color:var(--coral);display:block;margin-bottom:20px}
.review-card blockquote{margin:0;font-size:18px;line-height:1.6;min-height:140px;color:#e1d9cd}
.review-card .review-author{font-size:15px;margin-top:24px;color:var(--cream)}
.review-card .review-role{font-size:11px;color:var(--muted);margin-top:4px}
.review-card .review-tag{font-size:8px;letter-spacing:.12em;color:var(--coral);margin-top:25px}
.review-bottom{display:flex;justify-content:space-between;gap:25px;align-items:center;margin-top:25px}
#review-position{font-size:11px;white-space:nowrap}
.client-strip{display:flex;align-items:center;gap:50px;margin-top:65px;border-top:1px solid var(--line);padding-top:40px}
.client-strip>span{font-size:9px;color:var(--muted);letter-spacing:.1em;min-width:145px}
.client-marquee{overflow:hidden;width:100%;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.client-track{display:flex;width:max-content;gap:90px;animation:clientTrack 32s linear infinite}
.client-track span{font-size:16px;font-weight:700;letter-spacing:.07em;color:#78716a;white-space:nowrap}
.faq-section{display:grid;grid-template-columns:1fr 1.2fr;gap:12%;padding-top:95px}
.faq-section .eyebrow{margin-bottom:25px}
.faq-section h2{font-size:56px}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list details:first-child{border-top:1px solid var(--line)}
summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:24px 0;cursor:pointer;font-size:17px}
summary::-webkit-details-marker{display:none}
summary>span{font-size:22px;transition:transform .3s}
details[open] summary>span{transform:rotate(45deg);color:var(--coral)}
details>p{font-size:15px;padding-bottom:25px;max-width:600px;animation:faqIn .3s var(--ease)}
.closing{background:#221d19;text-align:center;padding-block:90px 100px;border-top:1px solid var(--line)}
.closing .eyebrow{color:var(--coral);margin-bottom:25px}
.closing h2{font-size:clamp(46px,6vw,90px)}
.closing .actions{justify-content:center;margin-top:40px}
.footer{padding-block:60px 25px}
.footer-top{display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px;align-items:start}
.footer-top>p{font-size:10px;letter-spacing:.13em;line-height:1.9}
.footer nav{display:grid;grid-template-columns:1fr 1fr;gap:13px 25px;font-size:13px}
.footer nav a:hover{color:var(--coral)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);margin-top:55px;padding-top:25px;font-size:8px;letter-spacing:.1em;color:#948c83}
#motion-toggle{min-height:44px;padding:5px 10px;font-size:10px;letter-spacing:.05em}
.page-head{padding-top:180px;padding-bottom:65px}
.page-head>.eyebrow{color:var(--coral);margin-bottom:35px}
.page-head h1{max-width:1320px}
.page-head .head-copy{max-width:600px;margin-top:35px;font-size:19px}
.page-head .button{margin-top:35px}
.page-head-bottom{display:flex;justify-content:space-between;gap:50px;margin-top:35px;align-items:end}
.page-head-bottom>p:first-child{max-width:500px}
.work-tools{display:flex;justify-content:space-between;align-items:center;gap:25px;border-top:1px solid var(--line);margin-top:60px;padding-top:20px}
.filters{display:flex;gap:10px;flex-wrap:wrap}
.filters button{border:1px solid var(--line);min-height:44px;padding:8px 18px;font-size:13px;transition:background .3s,color .3s}
.filters button[aria-pressed=true]{background:var(--coral);color:var(--ink);border-color:var(--coral)}
#work-count{font-size:11px;color:var(--muted);white-space:nowrap}
.work-grid{padding-top:0;display:grid;grid-template-columns:1fr 1fr;gap:65px 30px}
.project-card .card-media{aspect-ratio:4/3}
.project-card .card-media .frame-placeholder{transition:transform 1.2s var(--ease)}
.project-card:hover .frame-placeholder{transform:scale(1.04)}
.project-card:nth-child(even){padding-top:75px}
.card-info{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:20px}
.card-info h2{font-size:27px}
.card-info p{font-size:13px;margin-top:8px}
.card-info>span{font-size:27px;color:var(--coral)}
.card-media>.frame-placeholder>.ghost-address{font-size:5vw}
.card-media>.frame-placeholder>.frame-note{font-size:8px}
.card-media::after{content:'VIEW PROJECT';position:absolute;z-index:4;bottom:22px;right:22px;font-size:9px;letter-spacing:.1em}
.project-head{padding-top:170px}
.project-head>.eyebrow>a{display:inline-flex;align-items:center;min-height:44px;font-size:12px;line-height:1.5;padding-block:10px;scroll-margin-block:140px 24px}
.footer a,.footer button{scroll-margin-block:140px 24px}
.project-head h1{font-size:clamp(48px,7vw,105px);margin-top:30px}
.project-meta{display:flex;justify-content:space-between;gap:25px;font-size:11px;letter-spacing:.08em;color:var(--muted);margin-top:40px}
.project-main{height:65vw;max-height:830px;min-height:420px}
.project-story{display:grid;grid-template-columns:1fr 1fr;gap:10%}
.project-story .eyebrow{margin-bottom:25px}
.project-story h2{font-size:50px}
.project-story p{font-size:17px}
.project-story .text-link{margin-top:25px}
.project-next{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-top:60px;border-top:1px solid var(--line)}
.project-next h3{font-size:40px;margin-top:20px}
.project-next>span{font-size:55px;color:var(--coral)}
.service-feature{display:grid;grid-template-columns:1fr 1fr;gap:9%;padding-block:30px 70px;align-items:center}
.service-feature+.service-feature{padding-top:60px;border-top:1px solid var(--line)}
.service-feature:nth-child(even) .service-visual{order:2}
.service-visual{aspect-ratio:4/5}
.service-visual .ghost-address{font-size:55px;text-align:left}
.service-detail h2{margin-block:20px 28px;font-size:60px}
.service-detail p{font-size:17px}
.deliverables{list-style:none;margin:25px 0;padding:0}
.deliverables li{border-top:1px solid var(--line);padding:12px 0;font-size:14px}
.service-bottom{padding-top:0;display:flex;justify-content:space-between;align-items:center;gap:50px}
.branding-reels{padding-top:0;display:grid;grid-template-columns:repeat(3,1fr);gap:35px}
.reel-card{aspect-ratio:9/16}
.reel-card:nth-child(2){margin-top:70px}
.reel-card:nth-child(3){margin-top:140px}
.reel-caption{position:absolute;bottom:20px;left:22px;z-index:4;font-size:9px;letter-spacing:.1em}
.branding-pitch{padding-top:40px}
.branding-pitch>.eyebrow{color:var(--coral);margin-bottom:25px}
.brand-deliverables{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:60px;padding-top:35px;border-top:1px solid var(--line)}
.brand-deliverables p{font-size:16px}
.brand-deliverables b{display:block;color:var(--cream);font-size:20px;margin-bottom:15px}
.studio-layout{padding-top:0;display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}
.studio-image{min-height:620px}
/* Owner-supplied About portrait: preserve its complete photographic framing. */
.studio-portrait{margin:0;min-width:0}
.studio-portrait .studio-image{min-height:0;aspect-ratio:3173/3420;margin:0}
.studio-portrait .local-media{object-fit:contain;object-position:center;filter:none}
.studio-portrait figcaption{margin-top:16px;font:500 14px/1.5 var(--sans);color:var(--cream)}
.media-add{position:absolute;bottom:65px;left:25px;z-index:7;font-size:13px;border-bottom:1px solid #fff8;padding-block:10px}
.studio-layout h2{font-size:46px;margin-block:20px 25px}
.studio-layout p{margin-top:20px;font-size:16px}
.studio-layout .text-link{margin-top:20px}
.studio-layout .prototype-note{font-size:11px}
.identity-section{padding-top:10px}
.identity-mark{width:min(460px,75%);margin:10px auto 85px}
.swatches{display:grid;grid-template-columns:repeat(4,1fr)}
.swatches button{background:var(--swatch);color:var(--ink);padding:25px;height:240px;display:flex;flex-direction:column;align-items:start;justify-content:space-between;text-align:left;font-size:10px;letter-spacing:.1em;border:1px solid #ffffff1a}
.swatches strong{font-size:22px;letter-spacing:0;font-weight:500}
.type-pair{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin-top:85px;margin-bottom:40px}
.type-pair h2{margin-top:20px;font-size:60px}
.inquiry-layout{display:grid;grid-template-columns:.75fr 1.3fr;gap:10%;padding-top:20px}
.intent-options{display:grid;margin-bottom:40px}
.intent-options button{display:flex;justify-content:space-between;gap:25px;text-align:left;min-height:57px;padding:15px 20px;border:1px solid var(--line);font-size:15px;margin-bottom:10px}
.intent-options button[aria-pressed=true]{color:var(--ink);background:var(--coral);border-color:var(--coral)}
.inquiry-layout .inquiry-context h2{font-size:28px;margin-bottom:25px}
.inquiry-layout ol{padding-left:22px;color:var(--muted);font-size:15px}
.inquiry-layout li{padding-left:7px;margin-bottom:16px}
.form-disclaimer{padding-top:25px;border-top:1px solid var(--line);font-size:12px;line-height:1.6;margin-top:35px}
form label{font-size:13px;display:block;color:#e7ded2}
form input:not([type=checkbox]):not([type=hidden]),form textarea{display:block;width:100%;border:0;border-bottom:1px solid #ffffff45;background:transparent;color:var(--cream);border-radius:0;padding:14px 0 16px;margin-top:6px;font-size:16px;min-height:50px;transition:border-color .3s}
form input::placeholder,form textarea::placeholder{color:#878079}
input[type=date]{color-scheme:dark}
form textarea{resize:vertical;min-height:120px}
form fieldset{border:0;padding:0;margin:30px 0}
form legend{font-size:13px;margin-bottom:15px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-bottom:30px}
.service-options{display:flex;gap:10px;flex-wrap:wrap}
.service-options input{position:absolute;width:1px;height:1px;opacity:0}
.service-options span{display:block;border:1px solid var(--line);padding:10px 15px;min-height:44px;font-size:12px;cursor:pointer;transition:background .3s}
.service-options input:checked+span{background:var(--cream);color:var(--ink);border-color:var(--cream)}
.service-options input:focus-visible+span{outline:2px solid var(--coral);outline-offset:3px}
.form-bottom{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:30px}
.form-bottom small{font-size:11px;color:var(--muted)}
#form-result{margin-top:30px;padding:25px;background:var(--surface);border:1px solid var(--line)}
#form-result h3{font-size:27px}
#form-result p{font-size:14px;margin-top:14px;overflow-wrap:anywhere}
.local-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2}
.media-slot.has-media>.frame-placeholder{visibility:hidden}
#media-dialog{width:min(1000px,94vw);max-width:1000px;max-height:94dvh;margin:auto;padding:24px 30px 30px}
#media-dialog[open]{animation:dialogIn .4s var(--ease)}
#media-stage{height:min(52vh,530px);background:#28231f;position:relative;overflow:hidden;margin-top:12px;display:flex;align-items:center;justify-content:center}
#media-stage>img,#media-stage>video{height:100%;max-width:100%;object-fit:contain}
#media-stage>.frame-placeholder{position:absolute}
.media-empty{text-align:center;font-size:18px;padding:25px}
.media-empty b{display:block;font-size:48px;font-weight:700;line-height:1.1;margin-bottom:20px}
.media-empty span{font-size:11px;color:var(--muted)}
.dialog-info{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:25px}
.dialog-info h2{font-size:30px}
.dialog-info p{font-size:12px;margin-top:8px}
.upload-label{cursor:pointer;position:relative;font-size:12px;white-space:nowrap}
.upload-label input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}
#media-status{font-size:11px;overflow-wrap:anywhere;margin-top:18px}
.toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,20px);z-index:200;background:var(--cream);color:var(--ink);padding:14px 23px;font-size:13px;border:1px solid #14121020;opacity:0;pointer-events:none;max-width:90vw;transition:transform .25s,opacity .25s}
.toast.visible{opacity:1;transform:translate(-50%,0)}

.word{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.15em;margin-bottom:-.15em}
.word-inner{display:inline-block;transform:none}
.motion-ready [data-split]:not(.words-visible) .word-inner{transform:translateY(120%);opacity:0}
.motion-ready [data-split].words-visible .word-inner{animation:wordReveal .9s var(--ease) both;animation-delay:calc(var(--word-index,0)*60ms)}
.mask-reveal{clip-path:inset(0)}
/* Keep the observed box unclipped until entry: a fully clipped target never intersects. */
.motion-ready .mask-reveal:not(.mask-visible){opacity:0}
.motion-ready .mask-reveal.mask-visible{animation:maskOpen 1.4s var(--inout) both}
.route-enter{animation:routeIn .35s ease-out}
.hero-kicker{animation:heroSupport .8s var(--ease) .1s both}
.hero-pitch{animation:heroSupport .8s var(--ease) .75s both}
.hero .actions{animation:heroSupport .8s var(--ease) .9s both}
.hero-bottom{animation:heroSupport .8s var(--ease) 1.1s both}
.filter-enter{animation:routeIn .45s var(--ease)}

@keyframes wordReveal{from{transform:translateY(120%);opacity:0}
to{transform:translateY(0);opacity:1}
}
@keyframes maskOpen{from{clip-path:inset(0 0 100% 0)}
to{clip-path:inset(0)}
}
@keyframes menuIn{from{transform:translateX(100%)}
to{transform:translateX(0)}
}
@keyframes menuLink{from{transform:translateY(30px);opacity:0}
to{transform:none;opacity:1}
}
@keyframes routeIn{from{opacity:.25}
to{opacity:1}
}
@keyframes heroSupport{from{opacity:0;transform:translateY(18px)}
to{opacity:1;transform:translateY(0)}
}
@keyframes scrollCue{0%,100%{opacity:.4;transform:translateY(0)}
50%{opacity:.95;transform:translateY(8px)}
}
@keyframes featureChange{from{clip-path:inset(0 0 0 100%);transform:scale(1.06)}
to{clip-path:inset(0);transform:scale(1)}
}
@keyframes featureText{from{opacity:0;transform:translateY(16px)}
to{opacity:1;transform:translateY(0)}
}
@keyframes flipWord{0%{opacity:0;transform:translateY(12px) rotateX(-45deg)}
100%{opacity:1;transform:none}
}
@keyframes clientTrack{to{transform:translateX(-50%)}
}
@keyframes faqIn{from{opacity:0;transform:translateY(-8px)}
to{opacity:1;transform:none}
}
@keyframes dialogIn{from{opacity:0;transform:translateY(20px) scale(.98)}
to{opacity:1;transform:none}
}

@media(min-width:1800px){.hero h1{font-size:115px}
.social-phones{max-width:660px}
.phone{max-width:300px}
.social-section{min-height:900px}
.showcase-sticky{min-height:800px}
.landscape-phone{width:900px}
.service-deck{gap:25px}
}

@media(max-width:1150px){:root{--gutter:5vw}
.header{gap:24px}
.header nav{gap:20px;font-size:13px}
.header-cta{gap:14px}
.brand>span{font-size:12px}
.brand img{width:58px}
.hero h1{font-size:7vw}
.intro-bottom{margin-left:18%;gap:35px}
.social-section{gap:5%}
.social-phones{height:530px}
.phone{border-radius:30px;padding:6px}
.phone-screen{border-radius:22px}
.phone-camera{height:12px;top:12px}
.social-copy h2{font-size:42px}
.phone-big{font-size:31px}
.service-deck{gap:15px}
.service-tile-info h3{font-size:19px}
.review-heading{grid-template-columns:.7fr 2fr .9fr}
.review-controls{gap:4px}
.review-controls button{width:40px;height:40px}
.review-card{flex-basis:42%}
.process-section{gap:8%}
.process-card{padding:30px}
.process-card h3{font-size:35px}
.process-sticky h2{font-size:54px}
.showcase-sticky{min-height:700px}
.studio-image{min-height:560px}
.studio-layout h2{font-size:39px}
.service-detail h2{font-size:49px}
.page-head h1{font-size:8vw}
.production-strip{gap:12px}
.production-strip>div{padding-left:28px}
}

@media(max-width:900px){.section{padding-block:75px}
.header{height:80px;padding-inline:25px;gap:18px}
.header nav{display:none}
.header-cta{margin-left:auto}
.header.scrolled,.header.solid{height:75px}
#menu-toggle{display:block}
.hero{min-height:740px;max-height:1000px}
.hero h1{font-size:7.1vw}
.hero-content{padding:120px 25px 140px}
.hero-kicker{font-size:8px}
.hero-bottom{left:25px;right:25px}
.hero-location{display:none}
.scroll-cue{position:static;transform:none}
.intro-top .section-index{display:none}
.intro-statement{font-size:57px}
.intro-bottom{margin-left:0}
.audience-line{gap:18px;margin-top:65px}
.audience-line strong{font-size:25px;min-width:185px}
.audience-line>span:last-child{font-size:8px}
.section-heading{gap:25px}
.section-heading h2{font-size:43px}
.selected-visual{min-height:410px}
.selected-tabs button{padding:20px 18px;font-size:14px}
.selected-tabs small{position:static;display:block;margin-bottom:5px}
.selected-tabs button>span{font-size:7px}
.social-section{padding-top:60px;gap:8%;grid-template-columns:1fr 1fr}
.social-phones{height:475px}
.phone{width:57%;border-width:2px}
.phone-one{left:0}
.phone-two{right:-6%;top:19%}
.phone-big{font-size:27px}
.social-copy h2{font-size:36px}
.social-copy>.eyebrow{font-size:8px}
.social-copy p:not(.eyebrow){font-size:14px}
.social-copy .button{font-size:13px;padding-inline:20px}
.phone-caption{font-size:7px}
.production-strip{grid-template-columns:1fr 1fr;gap:28px}
.service-deck{grid-template-columns:repeat(2,1fr);gap:38px 22px}
.service-tile-info h3{font-size:25px}
.service-thumb .tile-word{font-size:32px}
.service-tile p{max-width:100%}
.service-tile .service-thumb{aspect-ratio:4/3}
.showcase-scroll{height:1300px;min-height:0}
.showcase-sticky{top:70px;min-height:690px}
.landscape-phone{width:83vw}
.showcase-copy h2{font-size:39px}
.showcase-copy p{font-size:13px}
.process-section{gap:6%;grid-template-columns:1fr 1fr}
.process-sticky{top:115px}
.process-sticky h2{font-size:43px}
.process-sticky .button{font-size:12px;padding:14px 18px;gap:18px}
.process-card{padding:27px 24px;min-height:330px}
.process-card:nth-child(even){margin-left:10px}
.process-card h3{font-size:32px}
.process-card p{font-size:14px}
.process-status{margin-top:30px}
.review-heading{grid-template-columns:1fr auto;gap:25px}
.review-heading>.eyebrow{display:none}
.review-heading h2{text-align:left;font-size:38px}
.review-card{flex-basis:52%}
.faq-section{gap:7%}
.faq-section h2{font-size:43px}
.faq-list summary{font-size:15px}
.page-head{padding-top:145px;padding-bottom:55px}
.page-head .head-copy{font-size:17px}
.work-grid{gap:45px 25px;padding-top:0}
.card-info h2{font-size:23px}
.project-card:nth-child(even){padding-top:35px}
.service-feature{gap:7%}
.service-detail h2{font-size:41px}
.service-detail p{font-size:15px}
.service-visual{min-height:430px;aspect-ratio:auto}
.branding-reels{gap:20px;padding-top:0}
.reel-card .phone-big{font-size:30px}
.brand-deliverables{gap:25px}
.studio-layout{padding-top:0;gap:6%}
.studio-image{min-height:590px}
.studio-layout h2{font-size:35px}
.studio-layout p{font-size:14px}
.identity-section{padding-top:0}
.swatches button{height:190px;padding:20px}
.swatches strong{font-size:18px}
.type-pair h2{font-size:45px}
.inquiry-layout{padding-top:0;grid-template-columns:.7fr 1fr;gap:7%}
.form-row{gap:22px}
.form-bottom{align-items:start;flex-direction:column}
.form-bottom .button{width:100%}
.project-head{padding-top:150px}
.project-meta{flex-wrap:wrap}
.project-story h2{font-size:38px}
.project-story p{font-size:15px}
.footer-top{grid-template-columns:1fr 1fr}
.footer-top>p{display:none}
.footer-bottom>span:nth-child(2){display:none}
}

@media(max-width:600px){:root{--gutter:23px}
.section{padding:65px var(--gutter)}
.header{height:76px;gap:13px;padding-inline:19px}
.header.scrolled,.header.solid{height:72px}
.brand img{width:49px;height:28px}
.brand{gap:9px}
.brand>span{font-size:10px}
.brand>span>span{font-size:5px;letter-spacing:.1em}
.header-cta{font-size:11px;padding:9px 12px;gap:12px;min-height:44px}
#menu-toggle{width:34px;min-width:34px;padding:5px}
#menu{padding:26px}
.menu-top{height:44px}
#menu nav{margin-top:36px}
#menu nav a{font-size:36px;padding:11px 0;gap:20px}
.menu-bottom{margin-top:28px;font-size:9px}
.hero{height:100svh;min-height:730px;max-height:980px}
.hero-content{padding:130px 20px 140px}
.hero h1{font-size:clamp(34px,8.8vw,52px);line-height:1.12;letter-spacing:-.025em}
.hero-kicker{font-size:7px;letter-spacing:.11em;max-width:270px;margin:0 auto 28px;line-height:1.9}
.hero-pitch{font-size:15px;line-height:1.55;max-width:280px;margin:25px auto}
.hero .actions{margin-top:28px;gap:10px;max-width:280px;margin-inline:auto;flex-direction:column}
.button{font-size:13px;padding:14px 20px;min-height:52px}
.hero .button{justify-content:center;gap:24px}
.hero-bottom{bottom:22px;left:22px;right:22px}
.watch{gap:9px;font-size:8px}
.watch small{font-size:6px;letter-spacing:0}
.play{width:35px;height:35px;font-size:15px}
.scroll-cue{font-size:6px;gap:9px}
.scroll-cue span{font-size:21px}
.hero-placeholder>.frame-note{font-size:6px;top:92px;right:22px}
.intro-top{margin-bottom:26px}
.intro-top .eyebrow{font-size:9px;max-width:270px}
.intro-statement{font-size:clamp(35px,9.2vw,49px);line-height:1.1}
.intro-bottom{display:block;margin-top:28px}
.intro-bottom p{font-size:15px}
.intro-bottom .text-link{margin-top:20px}
.audience-line{padding-block:24px;margin-top:42px;gap:15px}
.audience-line>span:first-child{font-size:7px;max-width:55px}
.audience-line strong{font-size:23px;min-width:0;flex:1}
.audience-rule,.audience-line>span:last-child{display:none}
.selected-section{padding-top:0}
.section-heading{display:block;margin-bottom:30px}
.section-heading h2{font-size:36px;line-height:1.1}
.section-heading .eyebrow{font-size:9px;margin-bottom:20px}
.section-heading>.text-link{margin-top:20px;font-size:12px}
.selected-visual{height:450px;min-height:0}
.selected-overlay{padding:80px 22px 25px}
.selected-overlay h3{font-size:31px}
.selected-overlay a{font-size:12px}
.selected-tabs{grid-template-columns:1fr}
.selected-tabs button{padding:15px 20px 15px 48px;min-height:66px;font-size:14px}
.selected-tabs button+button{border-left:0}
.selected-tabs small{position:absolute;left:20px;top:19px}
.selected-tabs button>span{font-size:8px}
.selected-visual .round-play{top:38%}
.selected-section>.prototype-note{font-size:10px}
.social-section{display:flex;flex-direction:column;gap:45px;padding-top:25px;padding-bottom:55px}
.social-phones{height:515px;width:100%;max-width:380px;order:0}
.phone{width:52%;max-width:225px;aspect-ratio:9/18;border-radius:28px;padding:6px}
.phone-one{left:4%;top:5%}
.phone-two{right:3%;top:18%}
.phone-screen{border-radius:21px}
.phone-camera{top:11px}
.phone-big{font-size:30px}
.phone-caption{font-size:7px;bottom:-25px}
.social-copy{width:100%}
.social-copy h2{font-size:39px;line-height:1.1;margin-bottom:25px}
.social-copy>.eyebrow{font-size:8px;margin-bottom:20px;max-width:270px}
.social-copy p:not(.eyebrow){font-size:15px}
.social-copy .button{margin-top:25px}
.production-strip{padding-block:26px;gap:25px 14px}
.production-strip>div{padding-left:24px}
.production-strip span{font-size:9px}
.production-strip b{font-size:9px;letter-spacing:.08em}
.production-strip p{font-size:11px;line-height:1.4}
.service-section{padding-top:55px}
.service-deck{grid-template-columns:1fr 1fr;gap:30px 14px}
.service-tile .service-thumb{aspect-ratio:3/4}
.service-thumb .frame-note{font-size:6px;left:12px;top:15px}
.service-thumb .tile-word{font-size:23px;left:15px;bottom:20px}
.service-tile-info{gap:8px;margin-top:13px;align-items:start}
.service-tile-info h3{font-size:19px;line-height:1.13}
.service-tile-info>span{font-size:19px}
.service-tile p{font-size:12px;line-height:1.5}
.showcase-scroll{height:auto;min-height:0;margin:0}
.showcase-sticky{position:relative;top:auto;height:auto;min-height:0;padding:30px var(--gutter) 65px;overflow:clip}
.showcase-label{font-size:7px;max-width:250px;line-height:1.6;margin-bottom:26px}
.landscape-phone{width:100%;border-radius:20px;padding:5px 9px 5px 16px;border-width:2px;transform:scale(var(--landscape-scale,1));min-height:155px}
.landscape-screen{border-radius:12px}
.landscape-camera{left:7px;width:4px}
.landscape-screen .frame-note{font-size:5px;left:15px;bottom:11px}
.film-wordmark{font-size:74px}
.film-wordmark>span{font-size:6px;margin-top:13px}
.landscape-screen .round-play{width:42px;height:42px;font-size:19px;top:58%}
.showcase-copy{margin-top:35px}
.showcase-copy h2{font-size:35px;line-height:1.1}
.showcase-copy p{font-size:13px;line-height:1.7;margin-top:22px}
.showcase-copy .text-link{font-size:12px}
.process-section{display:block;padding-top:45px}
.process-sticky{position:static;padding-bottom:0}
.process-sticky h2{font-size:45px}
.process-sticky .eyebrow{font-size:9px;margin-bottom:23px}
.process-sticky>p:not(.eyebrow){font-size:15px;max-width:300px}
.process-status{display:none}
.process-steps{margin-top:40px}
.process-card{min-height:0;padding:30px 25px 35px}
.process-card+.process-card{margin-top:20px}
.process-card:nth-child(even){margin-left:0}
.process-card h3{font-size:35px;margin-block:22px 18px}
.process-card p{font-size:15px}
.reviews-section{padding-top:45px;padding-bottom:35px}
.review-heading{display:block;margin-bottom:30px}
.review-heading h2{font-size:37px;line-height:1.1}
.review-controls{justify-content:start;gap:10px;margin-top:25px}
.review-controls button{width:44px;height:44px}
.review-card{flex-basis:87%;padding:28px;min-height:340px}
.review-track{gap:15px}
.review-card blockquote{font-size:18px;min-height:130px}
.review-bottom{align-items:start;gap:15px}
.review-bottom .prototype-note{font-size:10px}
.client-strip{display:block;margin-top:40px;padding-top:25px}
.client-strip>span{font-size:8px;display:block;margin-bottom:22px}
.client-track{gap:40px}
.client-track span{font-size:13px}
.faq-section{display:block;padding-top:45px}
.faq-section .eyebrow{font-size:9px;margin-bottom:22px}
.faq-section h2{font-size:41px}
.faq-list{margin-top:35px}
.faq-list summary{font-size:16px;padding-block:22px}
.faq-list details>p{font-size:14px}
.closing{padding-block:65px 70px}
.closing h2{font-size:43px;line-height:1.1}
.closing .actions{flex-direction:column;max-width:285px;margin-inline:auto;margin-top:30px}
.closing .button{justify-content:center;gap:25px}
.closing .eyebrow{font-size:9px}
.footer{padding-top:45px;padding-bottom:15px}
.footer-top{display:block}
.footer nav{margin-top:30px;gap:16px;font-size:14px}
.footer nav a{min-height:32px}
.footer-bottom{margin-top:35px;padding-top:15px;font-size:7px;gap:10px}
#motion-toggle{font-size:9px}
.page-head{padding-top:130px;padding-bottom:45px}
.page-head>.eyebrow{font-size:9px;margin-bottom:25px}
.page-head h1{font-size:clamp(37px,10vw,60px);line-height:1.12;overflow-wrap:anywhere}
.page-head .head-copy{font-size:16px;line-height:1.6;margin-top:28px}
.page-head-bottom{display:block;margin-top:25px}
.page-head-bottom>p:first-child{font-size:15px}
.page-head-bottom>.prototype-note{margin-top:20px}
.work-tools{display:block;margin-top:35px}
.filters{gap:8px}
.filters button{font-size:12px;padding:8px 13px}
#work-count{display:block;margin-top:18px;font-size:10px}
.work-grid{display:block;padding-top:0}
.project-card{display:block;margin-bottom:40px}
.project-card:nth-child(even){padding-top:0}
.card-info h2{font-size:26px}
.card-info p{font-size:12px}
.card-media>.frame-placeholder>.ghost-address{font-size:38px}
.project-head{padding-top:130px;padding-bottom:35px}
.project-head h1{font-size:45px}
.project-head .eyebrow{font-size:9px}
.project-meta{display:block;font-size:9px;margin-top:25px}
.project-meta span{display:block;margin-top:7px}
.project-main{min-height:380px;height:110vw}
.project-story{display:block}
.project-story h2{font-size:38px;margin-bottom:27px}
.project-story p{font-size:15px}
.project-next{padding-top:40px}
.project-next h3{font-size:28px}
.project-next>span{font-size:35px}
#services-content{padding-top:0}
.service-feature{display:flex;flex-direction:column;gap:32px;padding-top:0;padding-bottom:45px}
.service-feature+.service-feature{padding-top:45px}
.service-feature:nth-child(even) .service-visual{order:0}
.service-visual{width:100%;aspect-ratio:4/3;min-height:0}
.service-detail h2{font-size:43px;margin-block:18px 22px}
.service-detail .eyebrow{font-size:9px}
.service-detail p{font-size:15px}
.service-detail .button{margin-top:5px}
.service-bottom{padding-top:0;display:block}
.service-bottom h2{font-size:40px;margin-bottom:28px}
.branding-reels{padding-top:0;display:flex;overflow-x:auto;gap:20px;scroll-snap-type:x mandatory;scroll-padding-left:23px;padding-bottom:35px;scrollbar-width:thin}
.reel-card{flex:0 0 78%;scroll-snap-align:start}
.reel-card:nth-child(2),.reel-card:nth-child(3){margin-top:0}
.reel-card .phone-big{font-size:37px}
.branding-pitch{padding-top:35px}
.branding-pitch h2{font-size:37px}
.brand-deliverables{display:block;margin-top:35px;padding-top:0}
.brand-deliverables p{border-bottom:1px solid var(--line);padding-block:25px;font-size:15px}
.brand-deliverables b{font-size:22px}
.studio-layout{padding-top:0;display:block}
.studio-image{min-height:0;aspect-ratio:4/5;margin-bottom:40px}
.studio-layout h2{font-size:36px}
.studio-layout p{font-size:15px}
.identity-section{padding-top:0}
.identity-mark{margin:0 auto 45px;width:70%}
.swatches{grid-template-columns:1fr 1fr}
.swatches button{height:170px;padding:20px;font-size:9px}
.type-pair{display:block;margin-top:45px}
.type-pair>div+div{margin-top:40px}
.type-pair h2{font-size:45px}
.inquiry-layout{display:block;padding-top:0}
.inquiry-layout .inquiry-context{margin-bottom:40px}
.intent-options{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:30px}
.intent-options button{font-size:12px;gap:10px;padding:12px;line-height:1.3}
.inquiry-layout .inquiry-context h2{font-size:27px}
.form-row{grid-template-columns:1fr;gap:23px;margin-bottom:24px}
.form-bottom{gap:22px}
.service-options span{font-size:11px;padding:10px 12px}
.dialog-info{display:block}
.dialog-info h2{font-size:26px}
.upload-label{margin-top:20px}
.dialog-top .eyebrow{font-size:9px}
#media-dialog{padding:15px 20px 25px;width:96vw}
.media-empty b{font-size:37px}
#media-stage{height:40vh}
.media-empty span{font-size:10px}
}

@media(max-width:350px){.header{padding-inline:15px;gap:9px}
.brand>span{display:none}
.header-cta{font-size:10px}
.hero h1{font-size:8.9vw}
.hero-content{padding-inline:18px}
.hero{min-height:730px}
.hero-bottom{left:18px;right:18px}
.watch small{max-width:145px}
.scroll-cue{gap:5px}
.social-phones{height:445px}
.phone-big{font-size:25px}
.social-copy h2{font-size:34px}
.service-tile-info h3{font-size:17px}
.service-thumb .tile-word{font-size:20px}
.review-card{flex-basis:90%}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
.word-inner{transform:none!important;opacity:1!important}
.mask-reveal{clip-path:none!important}
.hero-media,.hero-content,.phone,.landscape-phone,.showcase-copy,.process-card{transform:none!important;opacity:1!important}
.showcase-scroll{height:auto;min-height:0}
.showcase-sticky{position:relative;top:auto;height:auto;min-height:0;padding-block:75px}
.client-track{animation:none!important}
}

body.motion-off *,body.motion-off *::before,body.motion-off *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
body.motion-off .word-inner{transform:none!important;opacity:1!important}
body.motion-off .mask-reveal{clip-path:none!important}
body.motion-off .hero-media,body.motion-off .hero-content,body.motion-off .phone,body.motion-off .landscape-phone,body.motion-off .showcase-copy,body.motion-off .process-card{transform:none!important;opacity:1!important}
body.motion-off .showcase-scroll{height:auto;min-height:0}
body.motion-off .showcase-sticky{position:relative;top:auto;height:auto;min-height:0;padding-block:75px}


/* Expanded navigation and requested supporting pages. */
#menu-toggle{display:block;flex-shrink:0}

.header{gap:25px}
.header nav{gap:24px}
.header-cta{white-space:nowrap}
.header nav a{white-space:nowrap}

#menu{overflow:auto}
#menu nav{margin-top:20px}
#menu nav a{font-size:36px;padding-block:8px;min-height:49px}

#menu .menu-bottom{margin-top:25px}
#menu .menu-bottom>.button{display:flex;font-size:14px;letter-spacing:0;text-transform:none;text-decoration:none;margin-top:0}

.page-note{margin-top:25px;max-width:650px}
.case-studies{padding-top:0}
.case-study{display:grid;grid-template-columns:1.15fr 1fr;gap:8%;align-items:center;padding-bottom:75px}
.case-study+.case-study{border-top:1px solid var(--line);padding-top:70px}
.case-image{min-height:420px;aspect-ratio:4/3;display:block}
.case-open{position:absolute;z-index:4;right:25px;bottom:25px;font-size:10px;letter-spacing:.1em}
.case-copy .eyebrow{color:var(--coral);font-size:9px}
.case-copy h2{font-size:47px;margin-block:22px}
.case-copy>p:not(.eyebrow){font-size:16px}
.case-scope{font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-top:20px;margin-top:24px}
.case-copy .text-link{margin-top:22px}

.blog-preview{padding-top:0;display:grid;grid-template-columns:1.2fr 1fr;gap:8%;align-items:stretch}
.blog-empty{padding:40px 0;border-top:1px solid var(--line)}
.blog-empty h2{font-size:44px;margin:25px 0}
.blog-empty>p{max-width:470px;font-size:16px}
.guide-callout{display:block;background:var(--surface);padding:35px;transition:background .3s}
.guide-callout:hover{background:#2b2520}
.guide-callout .eyebrow{color:var(--coral);font-size:9px}
.guide-callout h3{margin-top:30px;font-size:38px}
.guide-callout p{font-size:15px;margin-top:22px}
.guide-callout .text-link{margin-top:30px;font-size:13px}

.guide-layout{padding-top:0;display:grid;grid-template-columns:.8fr 1.2fr;gap:12%;align-items:start}
.guide-layout .guide-context{position:sticky;top:115px}
.guide-layout .guide-context h2{font-size:46px;margin:25px 0}
.guide-layout .guide-context>p:not(.eyebrow){font-size:16px}
.guide-layout .guide-context .prototype-note{font-size:11px!important;margin-top:20px}
.guide-progress{margin-top:30px}
.guide-progress>span{font-size:12px;color:var(--coral)}
.guide-progress progress{display:block;width:100%;height:4px;margin-top:13px;appearance:none;border:0;background:var(--line)}
.guide-progress progress::-webkit-progress-bar{background:var(--line)}
.guide-progress progress::-webkit-progress-value{background:var(--coral);transition:width .3s}
.guide-progress progress::-moz-progress-bar{background:var(--coral)}
#guide-reset{margin-top:16px;font-size:12px}
#guide-checklist fieldset{border:0;border-top:1px solid var(--line);padding:22px 0;margin:0 0 35px}
#guide-checklist legend{font-size:27px;padding-right:18px;letter-spacing:-.02em}
#guide-checklist legend>span{font-size:12px;color:var(--coral);margin-right:15px;vertical-align:middle}
#guide-checklist label{display:flex;align-items:start;gap:18px;padding:16px 0;cursor:pointer;border-bottom:1px solid #ffffff0d;color:var(--muted);font-size:16px}
#guide-checklist input{accent-color:var(--coral);width:20px;height:20px;min-width:20px;margin:3px 0 0}
#guide-checklist input:checked+span{text-decoration:line-through;color:#77716a}

@media(max-width:1200px){.header{gap:16px}
.header nav{gap:16px}
.header nav a{font-size:12px}
.header-cta{font-size:12px;gap:15px;padding-inline:14px}
.header>.brand>span{font-size:11px}
}

@media(max-width:1020px){.header nav{display:none}
.header-cta{margin-left:auto}
.case-study{gap:6%}
.case-copy h2{font-size:37px}
.case-image{min-height:400px}
.case-copy>p:not(.eyebrow){font-size:14px}
.blog-empty h2{font-size:35px}
.guide-callout h3{font-size:32px}
}

@media(max-width:600px){.header{gap:12px}
.header-cta{font-size:11px;padding:9px 12px;gap:10px}
.header>.brand>span{font-size:10px}
#menu nav{margin-top:16px}
#menu nav a{font-size:30px;min-height:47px;padding:7px 0}
#menu .menu-bottom{margin-top:22px}
#menu .menu-bottom>.button{font-size:13px}
.case-studies{padding-top:0}
.case-study{display:block;padding-bottom:40px}
.case-study+.case-study{padding-top:40px}
.case-image{min-height:300px;aspect-ratio:4/3;margin-bottom:30px}
.case-copy h2{font-size:36px}
.case-copy>p:not(.eyebrow){font-size:15px}
.blog-preview{display:block;padding-top:0}
.blog-empty{padding-top:25px;padding-bottom:35px}
.blog-empty h2{font-size:36px}
.guide-callout{padding:27px}
.guide-callout h3{font-size:33px}
.guide-layout{display:block;padding-top:0}
.guide-layout .guide-context{position:static}
.guide-layout .guide-context h2{font-size:40px}
.guide-layout .guide-context>p:not(.eyebrow){font-size:15px}
#guide-checklist{margin-top:45px}
#guide-checklist label{font-size:15px;padding-block:17px}
#guide-checklist legend{font-size:25px}
}



/* Measured reference behavior: phones separate horizontally; landscape media shrinks. */
.social-phones{display:flex;gap:28px;align-items:center;height:auto;perspective:none;min-width:0}

.phone{position:relative;left:auto;right:auto;top:auto;width:calc(50% - 14px);max-width:none;flex:0 0 calc(50% - 14px);aspect-ratio:497/1024;box-shadow:0 20px 35px #0007;transition:transform .1s cubic-bezier(0,.33,.07,1.03)}

.phone-one{transform:translateX(var(--phone-one-x,80px));z-index:1}
.phone-two{transform:translateX(var(--phone-two-x,-80px));z-index:2}

.showcase-scroll{height:auto;min-height:0;overflow:clip;padding:80px 0 100px}

.showcase-sticky{position:relative;top:auto;height:auto;min-height:0;overflow:visible;padding-block:0}

.landscape-phone{width:min(800px,80vw);transform:scale(var(--landscape-scale,1.4));transform-origin:50% 50%;margin:70px 0 35px;transition:transform .1s cubic-bezier(0,.33,.07,1.03)}

.showcase-copy{margin-top:55px;max-width:710px;transition:transform .1s cubic-bezier(0,.33,.07,1.03),opacity .1s linear}
.showcase-label{margin-bottom:25px}

.review-card{display:flex;align-items:end;background:transparent;border:0;min-height:0;padding:0;flex:0 0 40%}

.review-portrait{flex:0 0 31%;aspect-ratio:1;background:#40382f;border-radius:16px 0 0 16px;display:grid;place-items:center;color:#b0a18f;font-size:9px;line-height:1.6;letter-spacing:.12em;text-align:center}

.review-portrait button{position:absolute;inset:0;z-index:4;color:transparent;font-size:30px;transition:background .3s,color .3s}
.review-portrait:hover button,.review-portrait button:focus-visible{background:#0008;color:var(--cream)}

.review-panel{flex:1;min-width:0;background:#211e1b;padding:28px;min-height:410px;border-radius:16px 16px 16px 0;display:flex;flex-direction:column}

.review-panel blockquote{min-height:0;font-size:16px;line-height:1.6}
.review-panel .quote-mark{font-size:60px;margin-bottom:20px}
.review-credit{margin-top:auto;padding-top:20px}
.review-panel .review-author{margin-top:0;font-family:var(--serif);font-size:19px}
.review-panel .review-role{font-size:11px;margin-top:9px}
.review-panel .review-tag{font-size:7px;margin-top:20px}

.review-track{transition:transform .5s ease}

@media(min-width:1600px){.review-card{flex-basis:33%}
}

@media(max-width:1024px){.social-section{grid-template-columns:1fr;gap:65px}
.social-phones{width:90%;max-width:640px;margin:auto;gap:24px}
.phone{width:calc(50% - 12px);flex-basis:calc(50% - 12px);max-width:none}
.social-copy{max-width:640px;margin:auto}
.social-copy h2{font-size:50px}
.social-copy p:not(.eyebrow){max-width:620px}
.review-card{flex-basis:63%}
}

@media(max-width:600px){.social-section{gap:55px}
.social-phones{width:100%;gap:24px;height:auto;max-width:390px;min-height:0}
.phone{width:calc(50% - 12px);flex-basis:calc(50% - 12px);max-width:none;aspect-ratio:497/1024;border-radius:26px}
.phone-screen{border-radius:19px}
.phone-big{font-size:clamp(21px,6.8vw,29px)}
.phone-caption{font-size:6px}
.social-copy h2{font-size:37px}
.showcase-scroll{padding:20px 0 60px}
.showcase-sticky{padding-block:0}
.landscape-phone{width:100%;margin:45px 0 18px;min-height:0;transform:scale(var(--landscape-scale,1.4))}
.showcase-copy{margin-top:28px}
.review-card{flex:0 0 88%;display:flex;flex-direction:column;align-items:stretch}
.review-portrait{width:100%;flex:auto;aspect-ratio:1.55;border-radius:15px 15px 0 0;font-size:11px}
.review-panel{min-height:320px;flex:auto;border-radius:0 0 15px 15px;padding:26px}
.review-panel blockquote{font-size:17px}
.process-section{overflow:clip}
}



.qualification{border:1px solid var(--line);display:flex;align-items:center;gap:18px;padding:24px 28px;margin-top:45px}
.qualification-icon{width:36px;height:36px;border:1px solid var(--coral);color:var(--coral);border-radius:50%;display:grid;place-items:center;flex-shrink:0}
.qualification strong{display:block;font-size:16px;font-weight:500}
.qualification div>span{font-size:12px;color:var(--muted);display:block;margin-top:5px}
.qualification>a{display:flex;align-items:center;gap:25px;margin-left:auto;font-size:12px;white-space:nowrap}
.qualification>a:hover{color:var(--coral)}
.qualification+.audience-line{margin-top:45px}
.service-extras{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:45px}
.service-extra{display:flex;gap:15px;border-block:1px solid var(--line);padding:24px 0;align-items:start;transition:border-color .3s}
.service-extra>span:first-child{color:var(--coral);font-size:9px;margin-top:6px}
.service-extra>span:last-child{margin-left:auto;color:var(--coral);font-size:20px}
.service-extra h3{font-size:23px}
.service-extra p{font-size:12px;margin-top:10px}
.service-extra:hover{border-color:var(--coral)}

@media(max-width:900px){.qualification>a{display:none}
.service-extras{gap:20px}
.service-extra{gap:9px}
.service-extra h3{font-size:20px}
}

@media(max-width:600px){.case-image{width:100%;min-height:0!important;min-width:0;height:auto;aspect-ratio:4/3}
.qualification{padding:21px 18px;gap:14px;margin-top:33px}
.qualification strong{font-size:14px}
.qualification div>span{font-size:10px;line-height:1.7}
.qualification-icon{width:29px;height:29px;font-size:13px}
.service-extras{grid-template-columns:1fr;gap:0;margin-top:30px}
.service-extra{padding:22px 0;gap:18px;border-bottom:0}
.service-extra:last-child{border-bottom:1px solid var(--line)}
.service-extra h3{font-size:24px}
.service-extra p{font-size:13px}
}



/* Maintain usable mobile hit areas without compressing navigation text. */
#menu-toggle{width:46px;min-width:46px;height:46px;padding:9px}


/* Header refinement: balanced logo / centered navigation / action group. */
.header{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:30px;height:92px;padding:0 clamp(24px,4vw,80px);align-items:center;border-bottom-color:#ffffff12;background:linear-gradient(180deg,#141210a6,transparent);transition:height .3s ease,background .3s ease,border-color .3s ease}
.header.scrolled,.header.solid{height:80px;background:#141210fa;border-bottom-color:var(--line)}
.header>.brand{justify-self:start;gap:12px;min-width:0}
.header>.brand img{width:65px;height:34px;flex-shrink:0}
.header>.brand>span{display:block;font-size:12px;letter-spacing:.13em;line-height:1.15}
.header>.brand>span>span{font-size:5.5px;letter-spacing:.19em;line-height:1.2;margin-top:5px}
.header nav{display:flex;justify-content:center;align-items:center;gap:clamp(23px,1.8vw,34px);margin:0;font-size:14px;line-height:1;font-weight:500;justify-self:center}
.header nav a{font-size:14px;line-height:1;white-space:nowrap;min-height:46px;padding:0;letter-spacing:.015em}
.header nav a::after{bottom:7px;height:1px}
.header-actions{display:flex;align-items:center;justify-self:end;gap:16px;white-space:nowrap}
.header .header-cta{min-height:46px;margin:0;padding:0 19px;gap:18px;font-size:13px;line-height:1;font-weight:600;border:1px solid var(--coral);background:var(--coral);color:var(--ink);border-radius:2px;letter-spacing:.015em}
.header .header-cta:hover{background:var(--cream);border-color:var(--cream);color:var(--ink)}
#menu-toggle{width:46px;min-width:46px;height:46px;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:1px solid #ffffff2e;border-radius:2px;transition:border-color .25s,background .25s}
#menu-toggle span{display:block;width:20px;height:1px;margin:0;background:var(--cream);transition:width .3s var(--ease)}
#menu-toggle span:last-child{width:14px;margin-left:6px}
#menu-toggle:hover{border-color:#ffffff75;background:#ffffff08}
#menu-toggle:hover span:last-child{width:20px;margin-left:0}
@media(max-width:1149px){
 .header{grid-template-columns:minmax(0,1fr) auto;gap:20px;height:82px;padding-inline:28px}
 .header nav{display:none}
 .header.scrolled,.header.solid{height:76px}
}
@media(max-width:600px){
 .header{height:76px;padding-inline:20px;gap:12px}
 .header.scrolled,.header.solid{height:72px}
 .header>.brand{gap:9px}
 .header>.brand img{width:47px;height:28px}
 .header>.brand>span{font-size:10px;letter-spacing:.08em}
 .header>.brand>span>span{font-size:5px;letter-spacing:.08em;margin-top:4px}
 .header-actions{gap:10px}
 .header .header-cta{min-height:44px;padding:0 12px;font-size:11px;gap:13px}
 #menu-toggle{width:44px;min-width:44px;height:44px}
}
@media(max-width:374px){
 .header{padding-inline:16px;gap:12px}
 .header>.brand>span{display:none}
 .header>.brand img{width:51px;height:29px}
 .header-actions{gap:12px}
 .header .header-cta{font-size:11px;padding-inline:13px}
}


/* One brand descriptor only: Collective of Arts. */
.brand>.brand-name,.header>.brand>.brand-name{display:block;font-size:11px;font-weight:500;line-height:1.3;letter-spacing:.13em;white-space:nowrap}
.brand>.brand-name>span,.header>.brand>.brand-name>span{display:inline;font:inherit;letter-spacing:inherit;margin:0}
@media(max-width:600px){
 .header>.brand{gap:9px}
 .header>.brand>.brand-name{font-size:9px;line-height:1.55;letter-spacing:.12em}
 .header>.brand>.brand-name>span{display:block}
 .footer .brand>.brand-name{font-size:10px}
}
@media(max-width:374px){
 .header>.brand{gap:8px}
 .header>.brand img{width:38px;height:25px}
 .header>.brand>.brand-name{font-size:8px;letter-spacing:.09em;line-height:1.55}
 .header-actions{gap:8px}
 .header .header-cta{padding-inline:10px;gap:10px}
}


/* Promotion ribbon replaces the center navigation, not the logo or action group. */
.header{grid-template-columns:max-content minmax(0,1fr) max-content}
.header-promo{min-width:0;display:flex;align-items:center;gap:12px;width:100%;max-width:720px;justify-self:center;position:relative;padding-inline:16px;border-inline:1px solid #ffffff16}
.promo-preview{font-size:7px;letter-spacing:.12em;line-height:1.55;text-transform:uppercase;color:#c4957d;width:43px;flex:0 0 43px}
#promo-link{display:flex;align-items:center;min-height:44px;flex:1;min-width:0;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);text-decoration:none;color:#e4dacb}
.promo-track{display:flex;width:max-content;flex-shrink:0;align-items:center;animation:promoTravel 38s linear infinite;will-change:transform}
.promo-run{display:flex;align-items:center;gap:24px;white-space:nowrap;flex-shrink:0;padding-right:24px}
.promo-message{font-size:12px;letter-spacing:.025em;font-weight:400;line-height:1.45}
.promo-message strong{color:var(--coral);font-weight:600}
.promo-separator{font-size:11px;color:var(--coral)}
#promo-pause{height:44px;width:24px;flex:0 0 24px;display:grid;place-items:center;padding:0;font-size:11px;color:#c9bca8;opacity:.75;transition:opacity .2s,color .2s}
#promo-pause:hover{color:var(--coral);opacity:1}
#promo-pause:disabled{opacity:.28;cursor:default}
.header-promo:has(#promo-link:focus-visible) .promo-track,.header-promo.is-paused .promo-track{animation-play-state:paused}
@keyframes promoTravel{from{transform:translateX(0)}to{transform:translateX(-50%)}}
#promo-dialog{width:min(510px,94vw);max-height:94dvh;margin:auto;padding:25px 31px 33px;overflow:auto}
#promo-dialog[open]{animation:dialogIn .35s var(--ease)}
#promo-dialog h2{font-size:48px;line-height:1.02;margin-top:25px}
#promo-dialog h2 em{color:var(--coral)}
.promo-offer-copy{font-size:17px;line-height:1.6;margin-top:23px;color:#e8dcc8}
.promo-offer-note{font-size:12px;line-height:1.8;margin-top:20px;color:#a99b86}
#promo-dialog .button{margin-top:25px;font-size:13px}
@media(max-width:1149px){
 .header{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:64px 43px;height:107px;gap:0 20px;padding-inline:28px;background:#141210e8}
 .header.scrolled,.header.solid{height:107px}
 .header>.brand{grid-column:1;grid-row:1}
 .header-actions{grid-column:2;grid-row:1}
 .header-promo{grid-column:1/-1;grid-row:2;max-width:none;height:43px;padding-inline:0;border-inline:0;border-top:1px solid #ffffff16;gap:14px}
 .promo-preview{width:70px;flex-basis:70px;font-size:6.5px;letter-spacing:.1em}
 #promo-link{min-height:42px}
 .promo-message{font-size:11px}
 #promo-pause{width:32px;flex-basis:32px;height:43px}
 .page-head,.project-head{padding-top:160px}
 .hero-placeholder>.frame-note{top:120px}
}
@media(max-width:600px){
 .header{height:118px;grid-template-rows:72px 46px;padding-inline:20px;gap:0 12px}
 .header.scrolled,.header.solid{height:118px}
 .header-promo{height:46px;gap:9px}
 .promo-preview{font-size:6px;width:39px;flex-basis:39px;letter-spacing:.08em}
 .promo-message{font-size:10.5px;letter-spacing:.015em}
 #promo-link{min-height:45px}
 #promo-pause{width:44px;flex-basis:44px;height:44px}
 .promo-run{gap:20px;padding-right:20px}
 .hero-placeholder>.frame-note{top:132px}
 .page-head,.project-head{padding-top:160px}
 #promo-dialog{padding:20px 25px 29px}
 #promo-dialog h2{font-size:42px}
 #promo-dialog .button{width:100%}
}
@media(max-width:374px){.header{padding-inline:16px}.header-promo{gap:7px}.promo-preview{font-size:5.5px;flex-basis:35px;width:35px}}
@media(prefers-reduced-motion:reduce){
 .promo-track{animation:none!important;transform:none!important;width:100%;will-change:auto}
 .promo-run{width:100%;white-space:normal;padding:0;display:block}
 .promo-run[aria-hidden=true],.promo-separator,.promo-message~.promo-message{display:none}
 .promo-message{font-size:10px;line-height:1.4;display:block}
 #promo-link{mask-image:none}
 @media(max-width:600px){.promo-message{font-size:8px;line-height:1.35}}
}
body.motion-off .promo-track{animation:none!important;transform:none!important;width:100%;will-change:auto}
body.motion-off .promo-run{width:100%;white-space:normal;padding:0;display:block}
body.motion-off .promo-run[aria-hidden=true],body.motion-off .promo-separator,body.motion-off .promo-message~.promo-message{display:none}
body.motion-off .promo-message{font-size:10px;line-height:1.4;display:block}
body.motion-off #promo-link{mask-image:none}
@media(max-width:600px){body.motion-off .promo-message{font-size:8px;line-height:1.35}}

.ghost-address{opacity:1;color:#e0d1b9}.client-track span{color:#b0a596}

/* Final flow audit: quiet polish, usable touch targets and visible keyboard focus. */
html{scrollbar-gutter:stable}
.upload-label:focus-within{outline:2px solid var(--coral);outline-offset:5px}
.text-link,.selected-overlay a,.media-add{min-height:44px;align-items:center}
@media(max-width:600px){.landscape-screen .round-play{width:44px;height:44px}.watch .play{width:44px;height:44px}.footer nav a{min-height:44px;display:flex;align-items:center}.menu-bottom>a:not(.button){min-height:44px;display:flex;align-items:center}}
.film-wordmark{opacity:1;color:#e8dcc8}
.film-wordmark>span{color:#e8dcc8}
body:has(dialog[open]) .client-track{animation-play-state:paused}
#menu nav a[aria-current=page]{color:var(--coral)}


/* Continuity with the existing COA site: the plus and one restrained sign-off. */
.coa-plus{display:inline-block;position:relative;width:14px;height:14px;vertical-align:middle;flex-shrink:0;color:var(--coral)}
.coa-plus::before,.coa-plus::after{content:'';position:absolute;background:currentColor;left:0;top:6px;width:14px;height:2px}
.coa-plus::after{transform:rotate(90deg)}
.hero-kicker>.coa-plus{margin-right:10px;width:10px;height:10px}
.hero-kicker>.coa-plus::before,.hero-kicker>.coa-plus::after{width:10px;height:1.4px;top:4px}
.brand-signoff{display:flex;align-items:center;gap:13px;font:400 italic 23px/1.3 var(--serif);color:#bfb09b;margin-top:24px;letter-spacing:.01em}
.promo-separator{font-size:17px;font-weight:400}
@media(max-width:600px){.brand-signoff{font-size:22px;margin-top:20px}}


/* Phone-first inquiry: begin with the request, not a full screen of preliminaries. */
.inquiry-layout>#inquiry-form{grid-column:2;grid-row:1}
.inquiry-layout>.inquiry-context{grid-column:1;grid-row:1}
.inquiry-disclosure{border-top:1px solid var(--line);margin:24px 0}
.inquiry-disclosure>summary{cursor:pointer;position:relative;list-style:none;padding:17px 28px 17px 0;font-size:14px;font-weight:600;line-height:1.5}
.inquiry-disclosure>summary::-webkit-details-marker{display:none}
.inquiry-disclosure>summary::after{content:'+';position:absolute;right:3px;top:20px;font-size:20px;color:var(--coral)}
.inquiry-disclosure[open]>summary::after{content:'−'}
.inquiry-disclosure>summary>span{display:block;font-size:12px;font-weight:400;color:var(--muted);margin-top:3px}
.inquiry-disclosure fieldset{margin:10px 0 20px}
.inquiry-disclosure .form-row:first-of-type{margin-top:12px}
.inquiry-prototype{font-size:12px;line-height:1.6;margin-top:18px}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
@media(max-width:900px){
 .inquiry-layout{display:flex;flex-direction:column;gap:44px;padding-top:0}
 .inquiry-layout>#inquiry-form,.inquiry-layout>.inquiry-context{width:100%}
 .inquiry-layout>.inquiry-context{margin:0;border-top:1px solid var(--line);padding-top:30px}
 [data-page=inquire]>.page-head{padding-bottom:25px}
 .inquiry-layout .intent-options{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:24px}
 .inquiry-layout .intent-options button{margin:0;font-size:14px;min-height:50px;gap:8px}
 .inquiry-layout .form-row{gap:18px;margin-bottom:22px}
 .inquiry-layout input,.inquiry-layout textarea{scroll-margin-block:140px 100px;font-size:16px}
 .inquiry-layout .form-bottom{flex-direction:column;align-items:stretch;gap:10px;margin-top:18px}
 .inquiry-layout .form-bottom>.button{width:100%;justify-content:space-between;min-height:54px;font-size:15px}
 .inquiry-layout .service-options span{font-size:13px;display:flex;align-items:center;min-height:48px}
}
@media(max-width:600px){
 [data-page=inquire]>.page-head{padding-top:138px}
 [data-page=inquire]>.page-head>.eyebrow{margin-bottom:14px}
 [data-page=inquire]>.page-head h1{font-size:clamp(29px,8vw,35px);line-height:1.12}
 [data-page=inquire]>.page-head .head-copy{font-size:15px;line-height:1.55;margin-top:14px}
 .inquiry-layout .form-row{grid-template-columns:1fr;gap:16px}
 .inquiry-layout .form-disclaimer{margin-top:22px}
 .inquiry-layout .inquiry-context li{margin-bottom:10px}
}


/* Touch-first navigation and compact phone composition; desktop layout unchanged. */
@media(max-width:900px){
 .brand,.scroll-cue{min-height:44px}
 .scroll-cue{font-size:9px}
 .review-controls button{width:44px;height:44px}
 .footer nav a,.menu-bottom>a:not(.button){min-height:44px;display:flex;align-items:center}
 #promo-link{min-height:44px}
 #promo-pause{min-width:44px;flex-basis:44px;min-height:44px}
 #menu{padding:20px max(22px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain}
 #menu .menu-top,dialog .dialog-top{position:sticky;top:0;z-index:5;background:var(--ink);box-shadow:0 -24px 0 0 var(--ink),0 10px 0 0 var(--ink)}
 #menu[open]{animation-duration:.32s}
 #menu[open] nav a{animation-duration:.3s;animation-delay:calc(var(--i,0)*.022s)}
 #menu nav{margin-top:16px}
 #menu nav a{font-size:clamp(26px,6.5vw,34px);line-height:1.2;min-height:48px;padding-block:8px}
 .menu-bottom{margin-top:20px}
 dialog{overscroll-behavior:contain}
 #tour-source-url{font-size:16px}
 .header{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}
 .footer{padding-bottom:max(20px,env(safe-area-inset-bottom))}
 .word-inner{transition-duration:.65s;transition-delay:calc(var(--word-index,0)*.035s)}
 .phone,.landscape-phone,.showcase-copy{will-change:auto}
}
@media(max-width:600px){
 .hero{height:auto;min-height:max(620px,100svh);max-height:none;display:flex;flex-direction:column;justify-content:space-between;align-items:stretch}
 .hero-content{padding:136px 20px 18px;flex:1;display:flex;flex-direction:column;justify-content:center;transform:none!important;opacity:1!important}
 .hero h1{font-size:clamp(29px,8.2vw,38px);line-height:1.08}
 .hero-kicker{font-size:8px;line-height:1.7;letter-spacing:.06em;max-width:290px;margin:0 auto 16px}
 .hero-pitch{font-size:15px;line-height:1.5;max-width:320px;margin:16px auto 0}
 .hero .actions{width:100%;margin:18px auto 0;flex-direction:column}
 .hero-bottom{position:relative;bottom:auto;left:auto;right:auto;width:auto;margin:0 20px;padding:4px 0 max(16px,env(safe-area-inset-bottom));gap:12px}
 .watch{font-size:9px;text-align:left}
 .watch small{font-size:7px}
 .hero-placeholder>.frame-note{display:none}
 .promo-preview{font-size:8px;line-height:1.3;width:42px;flex-basis:42px}
 .promo-message{font-size:12px}
 body.motion-off .promo-message{font-size:10px;line-height:1.3}
 .social-phones{height:440px}
 .process-steps{margin-top:28px}
 .process-card{padding:24px 22px}
 .process-card+.process-card{margin-top:12px}
 .process-card h3{font-size:30px;margin-block:16px 12px}
 .process-card p{font-size:15px;line-height:1.55}
}
@media(max-width:374px){
 .header{padding-inline:16px}
 .hero-content{padding-inline:18px}
 .hero h1{font-size:28px}
 .hero-kicker{font-size:7.5px;max-width:260px}
 .hero-bottom{margin-inline:18px}
 .watch{font-size:8px}
 .social-phones{height:395px}
}
@media(max-width:900px) and (max-height:500px) and (orientation:landscape){
 .hero{height:auto;min-height:470px;max-height:none}
 .hero-content{padding:124px 35px 100px}
 .hero h1{font-size:32px}
 .hero-kicker{margin-bottom:12px}
 .hero-pitch{margin-top:12px}
 .hero .actions{margin-top:12px}
 [data-page=inquire]>.page-head{padding-top:119px;padding-bottom:12px}
 [data-page=inquire]>.page-head>.eyebrow{margin-bottom:8px;font-size:9px}
 [data-page=inquire]>.page-head h1{font-size:27px}
 [data-page=inquire]>.page-head .head-copy{margin-top:8px;font-size:14px;line-height:1.4}
 .inquiry-layout .intent-options{margin-bottom:12px}
 .inquiry-layout .intent-options button{min-height:44px;padding-block:9px}
}


/* Official client marks: equal rhythm, original proportions, no live hotlinks. */
.client-strip{gap:36px}
.client-label{flex:0 0 145px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.client-label>span{font-size:10px;color:var(--muted);letter-spacing:.1em;line-height:1.65}
.client-marquee{min-width:0;padding-block:8px;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}
.client-track{gap:0;animation:clientLogosTravel 75s linear infinite;align-items:center}
.client-group{display:flex;align-items:center;gap:54px;padding-right:54px;flex-shrink:0}
.client-logo{width:174px;height:94px;flex:0 0 174px;display:flex;align-items:center;justify-content:center}
.client-logo img{width:auto;height:auto;max-width:100%;max-height:78px;object-fit:contain}
.client-nest img{max-width:98px}.client-caribbean img{max-width:150px;max-height:85px}
@keyframes clientLogosTravel{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:600px){
 .client-strip{margin-top:32px;padding-top:22px}
 .client-label{width:100%;margin-bottom:18px;justify-content:space-between}
 .client-label>span{font-size:10px}.client-label br{display:none}
 .client-label br::after{content:' '}
 .client-group{gap:30px;padding-right:30px}
 .client-logo{width:148px;flex-basis:148px;height:86px}
 .client-logo img{max-height:66px}
 .client-nest img{max-width:84px}.client-caribbean img{max-width:132px;max-height:72px}
 .client-track{animation-duration:65s}
}
@media(prefers-reduced-motion:reduce){
 .client-marquee{mask-image:none;overflow:visible}
 .client-track{width:100%;animation:none!important;transform:none!important;display:block}
 .client-group{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:24px 32px;padding:0}
 .client-group[aria-hidden=true]{display:none}
 .client-logo{width:100%;height:94px}
}
body.motion-off .client-marquee{mask-image:none;overflow:visible}
body.motion-off .client-track{width:100%;animation:none!important;transform:none!important;display:block}
body.motion-off .client-group{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:24px 32px;padding:0}
body.motion-off .client-group[aria-hidden=true]{display:none}
body.motion-off .client-logo{width:100%;height:94px}
@media(max-width:600px){body.motion-off .client-group{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}}
@media(max-width:600px) and (prefers-reduced-motion:reduce){.client-group{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}}


/* Phone overview is a decision path, not the desktop page stacked vertically. */
#mobile-services{display:none}
@media(max-width:900px){
 [data-page=home] .production-strip,[data-page=home] #services-home,[data-page=home] #showcase,[data-page=home] #process,[data-page=home] .faq-section{display:none!important}
 #reviews>.review-heading,#reviews>.review-viewport,#reviews>.review-bottom{display:none!important}
 #mobile-services{display:block;padding:36px var(--gutter) 24px}
 #mobile-services>.eyebrow{font-size:10px;margin-bottom:12px;color:var(--coral)}
 #mobile-services h2{font-size:clamp(31px,8vw,42px);line-height:1.08}
 .mobile-service-list{margin-top:22px;border-top:1px solid var(--line)}
 .mobile-service-list>a{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 0;border-bottom:1px solid var(--line);min-height:72px;font-size:17px;font-weight:500}
 .mobile-service-list small{display:block;font-size:12px;line-height:1.5;color:var(--muted);font-weight:400;margin-top:4px}
 .mobile-service-list>a>span:last-child{color:var(--coral);font-size:22px}
 .mobile-services-all{display:flex;align-items:center;justify-content:space-between;min-height:48px;font-size:13px;margin-top:7px;color:var(--sand)}
 #selected{padding-top:34px;padding-bottom:15px}
 #selected .section-heading{margin-bottom:20px}
 #selected .section-heading h2{font-size:30px;line-height:1.1}
 #selected .section-heading .eyebrow{font-size:10px;margin-bottom:12px}
 #selected .section-heading>.text-link{margin-top:8px;font-size:12px}
 #selected .selected-visual{width:100%;max-width:100%;min-width:0;height:auto;min-height:255px;aspect-ratio:4/3}
 #selected .selected-visual .round-play{top:33%;width:48px;height:48px}
 #selected .selected-overlay{padding:45px 18px 18px}
 #selected .selected-overlay h3{font-size:25px}
 #selected .selected-overlay .eyebrow{font-size:8px}
 #selected .selected-overlay a{font-size:12px;min-height:44px}
 #selected .selected-tabs{display:grid;grid-template-columns:repeat(3,1fr)}
 #selected .selected-tabs button{min-height:50px;padding:12px 8px;font-size:0;border-left:1px solid var(--line);text-align:center}
 #selected .selected-tabs small{position:static;font-size:13px;margin:0}
 #selected .selected-tabs button>span{display:none}
 #selected>.prototype-note{margin-top:10px;font-size:10px;line-height:1.4}
 #reviews{padding:20px var(--gutter) 24px}
 #client-logos{padding-top:20px;margin-top:0}
 .closing{padding:36px var(--gutter) 40px}
 .closing h2{font-size:34px;line-height:1.1}
 .closing .eyebrow{margin-bottom:15px}
 .closing .actions{margin-top:22px}
 .closing .button.ghost{display:none}
 .footer{padding-top:28px}
 .footer-top>p{display:none}
 .footer nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;margin-top:0;font-size:12px}
 .footer nav a{min-height:44px}
 .footer-bottom{margin-top:20px;font-size:7px}
 .footer-bottom>span:nth-child(2){display:none}
}
@media(max-width:600px){
 .hero{min-height:0;height:clamp(535px,80svh,650px);max-height:none}
 .hero-content{justify-content:center;padding-top:132px;padding-bottom:12px}
 .hero-kicker{margin-bottom:12px}
 .hero h1{font-size:clamp(27px,7.6vw,34px);line-height:1.08}
 .hero-pitch{font-size:14px;margin-top:12px}
 .hero .actions{margin-top:14px}
 .hero-bottom{padding-bottom:12px}
 .hero-bottom .scroll-cue{display:none}
 .hero-bottom .watch{min-height:44px}
}


/* Phone project request: one clear decision per screen; desktop keeps a full form. */
.phone-request-only,.phone-request-heading,.phone-service-choices{display:none}
.request-step{min-width:0}
#inquiry-form .request-property{margin-top:24px}
@media(max-width:900px){
 body:has([data-page=inquire]:not([hidden])) #header-promo{display:none}
 body:has([data-page=inquire]:not([hidden])) .header{height:72px;grid-template-rows:72px}
 body:has([data-page=inquire]:not([hidden])) .header .header-cta{display:none}
 [data-page=inquire]>.page-head{padding:98px var(--gutter) 18px}
 [data-page=inquire]>.page-head>.eyebrow,[data-page=inquire]>.page-head>.head-copy,.desktop-request-title{display:none}
 .phone-request-only,.phone-request-heading{display:block}
 [data-page=inquire]>.page-head .request-page-title{font-size:29px;line-height:1.1;font-weight:500;letter-spacing:-.03em;margin:0}
 .inquiry-layout{padding:0 var(--gutter) 26px;gap:0}
 .inquiry-layout>.inquiry-context{display:none}
 #inquiry-form{background:var(--cream);color:var(--ink);border-radius:4px;padding:20px;box-shadow:none}
 .request-progress{display:flex;gap:5px;margin-bottom:24px}
 .request-progress span{flex:1;padding:0 0 10px;border-bottom:2px solid #d5c9b9;font-size:11px;color:#6f6458;line-height:1.3}
 .request-progress span[aria-current=step]{color:var(--ink);border-bottom-color:var(--coral);font-weight:700}
 .request-kicker{font-size:9px;letter-spacing:.12em;color:#74624f;margin-bottom:12px}
 .phone-request-heading h2{font-size:33px;line-height:1.08;outline:none;margin:0 0 14px}
 .phone-request-heading h2 em{font-weight:400}
 .phone-request-heading>p:last-child{font-size:13px;line-height:1.5;color:#655b50;margin-bottom:20px}
 .phone-service-choices{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:15px 0 12px}
 .phone-service-choices button{display:flex;align-items:center;justify-content:space-between;gap:6px;border:1px solid #baab97;border-radius:2px;padding:13px 10px;text-align:left;min-height:51px;font-size:12px;line-height:1.25;color:var(--ink)}
 .phone-service-choices button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--cream)}
 .phone-service-choices button span{font-size:17px}
 .inquiry-layout .intent-options{gap:0;margin:0 0 15px;border-bottom:1px solid #c7b9a5}
 .inquiry-layout .intent-options button{font-size:11px;line-height:1.2;justify-content:center;padding:8px 4px;min-height:44px;border:0;border-bottom:2px solid transparent;background:none;color:#74624f;gap:4px}
 .inquiry-layout .intent-options button[aria-pressed=true]{border-bottom-color:var(--coral);color:var(--ink);font-weight:700}
 .inquiry-layout .intent-options button>span{display:none}
 .inquiry-layout .inquiry-disclosure{border-color:#cfc1af;margin:12px 0}
 .inquiry-layout .inquiry-disclosure>summary{padding:12px 20px 12px 0;color:var(--ink);font-size:12px;line-height:1.3;min-height:48px}
 .inquiry-layout .inquiry-disclosure>summary>span{font-size:10px;color:#66594d;line-height:1.4}
 .inquiry-layout .inquiry-disclosure>summary::after{color:#a53b19;font-size:18px;top:15px}
 #request-unsure{font-size:12px;min-height:44px;display:flex;align-items:center;justify-content:space-between;padding:8px 0;text-align:left;width:100%;color:#5f5041}
 .inquiry-layout .service-options{gap:6px}
 .inquiry-layout .service-options span{font-size:11px;min-height:44px;padding:8px 10px;border-color:#bcad97;color:var(--ink)}
 .inquiry-layout .service-options input:checked+span{background:var(--ink);color:var(--cream)}
 .inquiry-layout form label{font-size:12px;color:#55483c}
 .inquiry-layout form input:not([type=checkbox]):not([type=hidden]),.inquiry-layout form textarea{border:1px solid #baab97;background:#fffdf8;color:var(--ink);padding:12px 13px;border-radius:2px;min-height:48px;font-size:16px;scroll-margin-block:95px 90px;box-shadow:none}
 .inquiry-layout form input:focus-visible,.inquiry-layout form textarea:focus-visible{border-color:#a53b19;outline:2px solid #a53b19;outline-offset:1px}
 .inquiry-layout form input::placeholder,.inquiry-layout form textarea::placeholder{color:#857360;font-size:14px}
 .inquiry-layout input[type=date]{color-scheme:light}
 .inquiry-layout .form-row{display:grid;grid-template-columns:1fr;gap:15px;margin:0 0 16px}
 #inquiry-form .request-property{margin-top:0}
 .inquiry-layout form textarea{min-height:90px;max-height:180px;resize:vertical}
 .inquiry-layout .inquiry-prototype{font-size:10px;line-height:1.5;color:#6e6050;margin-top:16px}
 .inquiry-layout .form-bottom{display:none}
 .request-nav{display:flex;gap:10px;align-items:center;position:sticky;bottom:0;background:var(--cream);padding:15px 0 max(2px,env(safe-area-inset-bottom));z-index:3}
 #request-back{font-size:12px;color:#5f5041;min-height:48px;padding:0 10px 0 0}
 .request-nav>.button{flex:1;min-height:50px;font-size:14px;justify-content:space-between;padding:13px 18px;border-radius:2px}
 .request-nav>.button:hover{background:var(--ink);color:var(--cream);border-color:var(--ink)}
 #inquiry-form.request-preview .request-progress,#inquiry-form.request-preview .request-nav,#inquiry-form.request-preview .inquiry-prototype{display:none}
 .inquiry-layout #form-result{background:none;color:var(--ink);border:0;padding:0;margin:0;outline:none}
 .inquiry-layout #form-result h3{font-size:31px;line-height:1.1;margin-bottom:22px}
 .inquiry-layout #form-result p{color:#5f5142;font-size:14px;line-height:1.5;margin-top:10px}
 #request-edit{color:var(--ink);font-size:13px;min-height:48px;margin-top:20px;padding:0;border-bottom:1px solid #a28d74}
}
@media(max-width:374px){#inquiry-form{padding:17px}.phone-request-heading h2{font-size:29px}.phone-service-choices button{font-size:11px}.request-progress{margin-bottom:20px}}
@media(max-width:900px) and (max-height:500px) and (orientation:landscape){
 [data-page=inquire]>.page-head{padding-top:88px;padding-bottom:14px}
 .inquiry-layout{max-width:650px;margin:auto;padding-inline:25px}
 [data-page=inquire]>.page-head{max-width:650px;margin:auto;padding-inline:25px}
 .phone-request-heading h2{font-size:27px}.phone-request-heading h2 br{display:none}
 .inquiry-layout .form-row{grid-template-columns:1fr 1fr}
}


/* A considered request: one step at a time, not a bare utility form. */
@keyframes requestStepIn{from{opacity:.5;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:900px){
 body:has([data-page=inquire]:not([hidden])) .header{height:72px;grid-template-rows:72px}
 [data-page=inquire]>.page-head{padding:94px var(--gutter) 17px}
 [data-page=inquire]>.page-head .request-page-title{font-size:clamp(36px,10.5vw,49px);line-height:1.05;font-weight:600;letter-spacing:-.035em}
 .request-page-title em{font:400 italic 1.15em/1 var(--serif);color:var(--coral)}
 .request-title-note{font-size:13px;line-height:1.5;color:var(--sand);margin-top:13px}
 .inquiry-layout{padding-bottom:28px}
 #inquiry-form{padding:22px;border:1px solid #e8dcc8;border-radius:6px}
 #request-step-count{font-size:12px;font-weight:600;letter-spacing:.03em;color:var(--ink);font-variant-numeric:tabular-nums}
 .request-progress{gap:10px;margin-bottom:17px}
 .request-progress>span{display:flex;align-items:center;gap:7px;font-size:10px;line-height:1.3;padding-bottom:13px;border-bottom:1px solid #c4b39c;color:#6f6254;transition:color .2s,border-color .2s}
 .request-progress b{width:24px;height:24px;display:grid;place-items:center;border:1px solid #c4b39c;border-radius:50%;font-size:9px;font-weight:600;flex-shrink:0}
 .request-progress [aria-current=step]{border-bottom:2px solid var(--ink);color:var(--ink)}
 .request-progress [aria-current=step] b{background:var(--coral);border-color:var(--coral);color:var(--ink)}
 .request-progress .is-complete b{background:var(--ink);color:var(--cream);border-color:var(--ink)}
 .request-kicker{display:none}
 .phone-request-heading h2{font-size:clamp(31px,8.6vw,40px);line-height:1.08;margin-bottom:12px;letter-spacing:-.035em}
 .phone-request-heading h2 br{display:none}
 .phone-request-heading h2 em{font-size:1.06em}
 .phone-request-heading>p:last-child{font-size:13px;line-height:1.6;margin-bottom:12px;max-width:360px}
 .request-step:not([hidden]){animation:requestStepIn .28s var(--ease) both}
 .inquiry-layout .intent-options{gap:4px;padding:4px;border:1px solid #c8b8a4;border-radius:3px;margin-bottom:14px}
 .inquiry-layout .intent-options button{border:0;border-radius:2px;min-height:44px;font-size:11px;font-weight:500;padding:8px 6px}
 .inquiry-layout .intent-options button[aria-pressed=true]{background:var(--ink);color:var(--cream)}
 .phone-service-choices{gap:10px;margin:0 0 20px}
 .phone-service-choices button{align-items:stretch;flex-direction:column;min-height:116px;padding:14px 12px;gap:12px;border-color:#bfad97;border-radius:3px;transition:background .2s,border-color .2s,color .2s}
 .phone-service-choices .service-choice-copy{display:block}
 .phone-service-choices strong{display:block;font-size:14px;line-height:1.25;font-weight:600}
 .phone-service-choices small{display:block;font-size:11px;line-height:1.45;color:#6b5c4c;margin-top:7px;max-width:150px}
 .phone-service-choices .service-check{font-size:15px;line-height:1;width:22px;height:22px;display:grid;place-items:center;align-self:flex-end;margin-top:auto;border:1px solid #b7a58d;border-radius:50%}
 .phone-service-choices button[aria-pressed=true] small{color:var(--sand)}
 .phone-service-choices button[aria-pressed=true] .service-check{background:var(--coral);border-color:var(--coral);color:var(--ink)}
 .phone-service-choices button:focus-visible{outline:2px solid #a53b19;outline-offset:3px}
 .inquiry-layout .inquiry-disclosure{margin:18px 0;border-color:#c8b8a4}
 .inquiry-layout .inquiry-disclosure>summary{font-size:13px;padding-block:16px}
 .inquiry-layout .inquiry-disclosure>summary>span{font-size:11px;line-height:1.5;margin-top:6px}
 #request-unsure{font-size:12px;line-height:1.5;padding-block:12px;gap:14px;text-align:left;min-height:48px}
 .inquiry-layout .form-row,.inquiry-layout .request-property{grid-template-columns:1fr;gap:21px;margin-bottom:23px}
 .inquiry-layout form label{font-size:13px;line-height:1.5}
 .request-property input{min-width:0}
 .request-property label{min-width:0}
 .inquiry-layout form input:not([type=checkbox]):not([type=hidden]),.inquiry-layout form textarea{margin-top:9px;min-height:53px;padding:13px 14px;font-size:16px;background:#fffdf9;border-color:#b9a68d}
 .inquiry-layout form textarea{min-height:125px}
 .inquiry-layout .inquiry-prototype{font-size:10px;margin-top:21px;line-height:1.6}
 .request-nav{padding-top:19px;gap:12px;margin-top:2px}
 .request-nav>.button{min-height:54px;font-size:13px;padding:14px 16px;font-weight:600}
 #request-back{min-height:48px;font-size:12px;padding-right:0}
 .inquiry-layout #form-result .request-review-heading{font-size:36px;line-height:1.08;letter-spacing:-.035em;margin-bottom:19px}
 .inquiry-layout #form-result .request-review-note{font-size:12px;line-height:1.6;padding-bottom:21px;margin-top:0}
 .request-recap{margin:0}
 .request-recap>div{padding:17px 0;border-top:1px solid #d4c5b0}
 .request-recap dt{font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:#6e5b48;margin-bottom:6px}
 .request-recap dd{margin:0;font-size:15px;line-height:1.5;overflow-wrap:anywhere;color:var(--ink)}
 #request-edit{min-height:50px;width:100%;display:flex;align-items:center;justify-content:space-between;font-size:13px;margin-top:18px}
}
@media(max-width:374px){#inquiry-form{padding:22px 17px}.request-progress{gap:6px}.request-progress>span{gap:5px;font-size:9px}.phone-service-choices{gap:8px}.phone-service-choices button{padding:13px 10px}.phone-service-choices strong{font-size:13px}.request-nav>.button{padding-inline:12px;font-size:12px}}
@media(max-width:900px) and (max-height:500px) and (orientation:landscape){
 [data-page=inquire]>.page-head{padding-top:92px;padding-bottom:20px}
 .phone-request-heading h2{font-size:31px}.phone-request-heading h2 br{display:none}
 .inquiry-layout .form-row,.inquiry-layout .request-property{grid-template-columns:1fr 1fr}
 .phone-service-choices{grid-template-columns:repeat(4,minmax(0,1fr))}
 .phone-service-choices strong{font-size:12px}.phone-service-choices button{padding:12px 10px}
}
@media(prefers-reduced-motion:reduce){.request-step:not([hidden]){animation:none!important}.request-progress>span,.phone-service-choices button{transition:none}}
body.motion-off .request-step:not([hidden]){animation:none!important}

/* Phone editorial composition: restore the cinematic entry and give work room. */
@media(max-width:900px){
 .header,.header.scrolled,.header.solid{height:118px;grid-template-rows:72px 46px;background:#141210f5}
 #header-promo{display:flex;height:46px}
 #hero{display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;height:100svh;min-height:660px;max-height:940px}
 #hero>.hero-content{display:flex;flex:1;flex-direction:column;justify-content:center;padding:158px var(--gutter) 48px;transform:none;opacity:1}
 #hero h1{font-size:clamp(30px,8.1vw,57px);line-height:1.12;letter-spacing:-.025em;max-width:660px}
 #hero .hero-kicker{font-size:8px;line-height:1.8;max-width:320px;margin:0 auto 25px}
 #hero .hero-pitch{font-size:16px;line-height:1.55;max-width:330px;margin:24px auto 0}
 #hero .actions{margin:27px auto 0;max-width:300px;width:100%}
 #hero .hero-bottom{display:flex;position:relative;left:auto;right:auto;bottom:auto;margin:0 var(--gutter);padding:19px 0 24px;border-top:1px solid var(--line);gap:12px}
 #hero .watch{font-size:9px;min-height:44px}
 #hero .watch small{font-size:7px}
 #hero .scroll-cue{display:flex;position:static;transform:none;font-size:7px;gap:8px}
 #hero .hero-location{display:none}
 #hero .hero-media{transform:none!important}
 #hero .hero-placeholder>.frame-note{display:none}
 #selected{display:block;padding:58px var(--gutter) 38px}
 #selected .section-heading{display:block;margin-bottom:28px}
 #selected .section-heading h2{font-size:clamp(34px,8.4vw,48px);line-height:1.08}
 #selected .section-heading .eyebrow{font-size:10px;margin-bottom:19px}
 #selected .section-heading>.text-link{margin-top:18px;font-size:13px}
 #selected .selected-visual{height:clamp(385px,106vw,550px);min-height:0;aspect-ratio:auto;width:100%;min-width:0}
 #selected .selected-visual .round-play{top:35%;width:52px;height:52px}
 #selected .selected-visual .ghost-address{font-size:clamp(31px,8vw,56px);padding:25px;transform:translateY(-26px)}
 #selected .selected-overlay{padding:95px 21px 23px}
 #selected .selected-overlay h3{font-size:30px;line-height:1.08;max-width:340px}
 #selected .selected-overlay .eyebrow{font-size:8px;line-height:1.6}
 #selected .selected-overlay a{font-size:13px;min-height:44px;margin-top:16px}
 #selected .selected-tabs{display:grid;grid-template-columns:1fr}
 #selected .selected-tabs button{min-height:77px;padding:18px 18px 18px 47px;font-size:14px;text-align:left;border-left:0;line-height:1.3}
 #selected .selected-tabs small{position:absolute;left:17px;top:20px;font-size:10px}
 #selected .selected-tabs button>span{display:block;font-size:8px;margin-top:6px;line-height:1.4}
 #selected>.prototype-note{font-size:10px;line-height:1.65;margin-top:16px}
 #mobile-services{padding:48px var(--gutter) 34px}
 #mobile-services>.eyebrow{display:block;font-size:10px;margin-bottom:17px}
 #mobile-services h2{font:500 clamp(32px,8vw,43px)/1.08 var(--sans);letter-spacing:-.03em}
 .mobile-service-list{margin-top:27px}
 .mobile-service-list>a{min-height:86px;padding:20px 0;font-size:18px}
 .mobile-service-list small{display:block;font-size:12px;line-height:1.6;margin-top:6px}
 .mobile-services-all{font-size:13px;margin-top:13px;min-height:48px}
 #reviews{padding:30px var(--gutter) 28px}
 #client-logos{padding-top:25px}
 .client-label{margin-bottom:15px}
 .client-label>span{font-size:10px}
 .client-marquee{padding-block:8px}
 .client-logo{height:86px}
 body:has([data-page=home]:not([hidden])) #closing{padding:50px var(--gutter) 48px}
 body:has([data-page=home]:not([hidden])) #closing h2{font-size:38px;line-height:1.08}
 body:has([data-page=home]:not([hidden])) #closing .actions{margin-top:26px;max-width:none}
 body:has([data-page=home]:not([hidden])) #closing .button.primary{width:100%;min-height:54px;justify-content:space-between}
 body:has([data-page=home]:not([hidden])) .footer{padding-top:12px;padding-bottom:25px}
 body:has([data-page=home]:not([hidden])) .footer-bottom{margin-top:0;padding-top:18px}
}
@media(max-width:374px){#hero .scroll-cue{display:none}#hero .hero-kicker{font-size:7px}#hero .hero-pitch{font-size:15px}}
@media(max-width:900px) and (orientation:landscape){#hero{height:auto;min-height:570px}#hero>.hero-content{padding-top:151px;padding-bottom:35px}#hero h1{font-size:34px}#hero .hero-pitch{max-width:none;margin-top:17px}#hero .actions{margin-top:18px}}

/* Actual Zillow mark supports the owner-confirmed qualification, not a client claim. */
.zillow-logo-wrap{display:flex;align-items:center;justify-content:center;flex:0 0 auto;background:#fff;padding:11px 13px;border-radius:2px}
.zillow-logo{display:block;width:110px;height:auto;object-fit:contain}
.client-label{flex-basis:145px}
@media(max-width:900px){.client-label{min-height:24px}}

/* Phone keeps the requested media and proof, without the long desktop pitch. */
@media(max-width:900px){
 #intro{padding:38px var(--gutter) 8px}
 #intro>.intro-top,#intro>.intro-statement,#intro>.intro-bottom{display:none}
 #intro .qualification{margin:0;padding:23px 17px;gap:15px;align-items:center}
 #intro .zillow-logo-wrap{padding:8px 9px}
 #intro .zillow-logo{width:78px}
 #intro .qualification>div{min-width:0}
 #intro .qualification strong{font-size:14px;line-height:1.45}
 #intro .qualification div>span{font-size:11px;line-height:1.6;margin-top:8px}
 #intro .audience-line{margin-top:28px;padding-block:22px;gap:16px}
 #intro .audience-line>span:first-child{font-size:8px;max-width:68px}
 #intro .audience-line strong{font-size:23px;min-width:0;flex:1}
 #intro .audience-rule,#intro .audience-line>span:last-child{display:none}
 #social{display:block;min-height:0;padding:48px var(--gutter) 66px}
 #social .social-copy{display:none}
 #social .social-phones{width:100%;max-width:420px;height:auto;min-height:0;margin:auto;gap:18px;align-items:center}
 #social .phone{width:calc(50% - 9px);flex-basis:calc(50% - 9px);max-width:none;aspect-ratio:497/1024;border-width:2px;padding:5px;border-radius:24px}
 #social .phone-one{transform:translateX(calc(var(--phone-one-x,0px)*.075))}
 #social .phone-two{transform:translateX(calc(var(--phone-two-x,0px)*.075))}
 #social .phone-screen{border-radius:17px}
 #social .phone-big{font-size:clamp(22px,6.8vw,33px)}
 #social .phone-screen .frame-note{font-size:6px;left:10px;bottom:19px}
 #social .phone-caption{font-size:7px;bottom:-24px;left:2px;letter-spacing:.03em;white-space:nowrap}
 #social .round-play{min-width:44px;min-height:44px}
}

/* Footer contact and social groups share one desktop row; phone order stays natural. */
.footer-connect{display:flex;align-items:flex-start;justify-content:space-between;gap:40px;padding-bottom:30px;margin-bottom:36px;border-bottom:1px solid var(--line)}
.direct-contact{display:grid;gap:12px;min-width:0}
.direct-contact>p{font-size:10px;line-height:15px;letter-spacing:.1em;color:var(--muted);margin:0}
.contact-actions{display:flex;align-items:center;gap:24px}
.contact-actions>a{display:flex;align-items:center;justify-content:center;min-height:48px;gap:12px;font-size:16px;white-space:nowrap}
.contact-call{font-variant-numeric:tabular-nums;letter-spacing:.01em}
.contact-call:hover{color:var(--coral)}
.contact-whatsapp{width:48px;height:48px;border:0;border-radius:2px;padding:0;color:var(--cream);background:transparent}
.contact-whatsapp:hover{border-color:var(--sand);background:var(--surface);color:var(--cream)}
@media(max-width:900px){
 .footer-connect{gap:24px;flex-wrap:wrap;padding-bottom:24px;margin-bottom:24px}
 .contact-actions{gap:18px}
 .contact-actions>a{font-size:14px}
 body:has([data-page=inquire]:not([hidden])) .footer{display:block;padding-top:0}
 body:has([data-page=inquire]:not([hidden])) .footer-connect{max-width:600px;margin-inline:auto}
}
@media(max-width:600px){
 .footer-connect{display:grid;gap:24px}
 .contact-actions{justify-content:flex-start;gap:20px}
 .contact-actions>a{font-size:14px}
 .contact-whatsapp{padding:0}
}

/* First real media: retain the layout, make browser delivery explicit. */
.media-slot>.media-poster{z-index:2}
.media-slot>.ambient-video{z-index:3;opacity:0;transition:opacity .45s ease}
.media-slot>.ambient-video.is-playing{opacity:1}
.hero-media.has-media>.local-media{z-index:1}
.hero-media.has-media>.ambient-video{z-index:2}
.project-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;padding-top:0;padding-bottom:70px}
.gallery-photo{display:block;width:100%;aspect-ratio:3/2;border:0;padding:0;text-align:left}
.gallery-photo .local-media{object-fit:contain}
.gallery-photo:focus-visible{outline:2px solid var(--coral);outline-offset:5px}
.gallery-photo:nth-child(3n+1){grid-column:1/-1}
/* A two-photo collection is a balanced pair, without an orphaned half-row. */
.project-gallery>.gallery-photo:first-child:nth-last-child(2){grid-column:auto}
@media(max-width:900px){.project-gallery{grid-template-columns:1fr;gap:18px;padding-bottom:45px}.gallery-photo:nth-child(3n+1){grid-column:auto}}
@media(prefers-reduced-motion:reduce){.media-slot>.ambient-video{display:none!important}}
body.motion-off .media-slot>.ambient-video{display:none!important}

.service-work-link{display:flex;gap:24px;margin-top:18px;font-size:13px;width:fit-content;min-height:44px}

.social-brand-icon{display:block;flex:0 0 auto;object-fit:contain;width:24px;height:24px;filter:none}
.footer-social{display:grid;grid-template-columns:48px 48px;justify-content:start;align-items:center;column-gap:12px;row-gap:12px}
.footer-social-label{grid-column:1/-1;font-size:10px;line-height:15px;letter-spacing:.1em;color:var(--muted)}
.footer-social>a,.footer-social>.social-link-pending{display:flex;align-items:center;justify-content:center;width:48px;height:48px;min-height:48px;border-radius:2px}
.footer-social>a:hover{background:var(--surface)}
.social-link-pending{color:var(--cream)}
.social-link-pending{cursor:default}
.footer a:focus-visible{outline:2px solid var(--coral);outline-offset:5px}
@media(max-width:600px){.footer-social{column-gap:12px}}

/* The landscape iPhone is all screen inside a slim, even bezel. */
#showcase .landscape-phone{padding:4px}
#showcase .landscape-screen{position:absolute;inset:4px;width:auto;height:auto;border-radius:29px;overflow:hidden}
#showcase .landscape-screen>.local-media{inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;padding:0;border:0}
@media(max-width:600px){#showcase .landscape-screen{border-radius:13px}}

/* Closing aerial sits behind the existing invitation; no added layout height. */
#closing{position:relative;isolation:isolate;overflow:hidden}
#closing>.eyebrow{color:var(--cream)}
#closing>.closing-media{position:absolute;inset:0;z-index:-2;pointer-events:none;background:var(--ink)}
#closing::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(20,18,16,.64),rgba(20,18,16,.68) 58%,rgba(20,18,16,.82))}
#closing>.closing-media>.local-media{object-fit:cover;object-position:50% 50%}
@media(max-width:900px){#closing>.closing-media>.ambient-video{display:none!important}#closing::before{background:rgba(20,18,16,.75)}}

/* Service overview: immediate, compact navigation; media stays on Services. */
#services-home{padding-top:72px;padding-bottom:48px}
#services-home>.section-heading{margin-bottom:30px}
#service-deck{gap:24px}
#service-deck .service-tile{padding:22px 0 18px;border-top:1px solid var(--line);transition:border-color .2s ease}
#service-deck .service-tile-info{display:grid;grid-template-columns:32px minmax(0,1fr) 18px;gap:13px;align-items:center;margin-top:0;min-height:48px}
#service-deck .service-icon{display:flex;align-items:center;color:var(--coral)}
#service-deck .service-icon svg{display:block;flex-shrink:0}
#service-deck .service-tile-info h3{font-size:21px;line-height:1.18;letter-spacing:-.02em}
#service-deck .service-arrow{font-size:21px;color:var(--muted);transition:transform .2s ease,color .2s ease}
#service-deck .service-tile p{max-width:29ch;margin:12px 0 0 45px;font-size:13px;line-height:1.6}
#service-deck .service-tile:hover{border-color:var(--coral)}
#service-deck .service-tile:hover .service-arrow{color:var(--coral);transform:translate(2px,-2px)}
#services-home .service-extras{margin-top:22px}
#services-home .service-extra{display:grid;grid-template-columns:32px minmax(0,1fr) 18px;gap:13px;padding:22px 0 18px}
#services-home .service-extra>.service-icon{display:flex;align-items:center;width:32px;height:32px;min-width:32px;margin:0;color:var(--coral)}
#services-home .service-extra .service-icon svg{display:block;flex-shrink:0}
#services-home .service-extra h3{font-size:21px;line-height:1.18;letter-spacing:-.02em;min-height:32px;display:flex;align-items:center}
#services-home .service-extra p{font-size:13px;line-height:1.6;margin-top:12px;max-width:38ch}
#services-home .service-extra>.service-arrow{margin:0;font-size:21px;color:var(--muted);transition:transform .2s ease,color .2s ease}
#services-home .service-extra:hover>.service-arrow{color:var(--coral);transform:translate(2px,-2px)}
@media(min-width:901px) and (max-width:1149px){#service-deck{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 28px}#service-deck .service-tile p{max-width:38ch}}
@media(prefers-reduced-motion:reduce){#service-deck .service-arrow{transition:none}}
body.motion-off #service-deck .service-arrow{transition:none}

/* Language controls preserve the established header and phone CTA. */
.header{grid-template-columns:max-content minmax(0,1fr) auto max-content;column-gap:20px}
.language-switch{display:flex;align-items:center;gap:0;flex-shrink:0;min-height:44px;white-space:nowrap}
.language-switch button{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 9px;color:var(--muted);font-size:11px;font-weight:600;letter-spacing:.04em;border-bottom:2px solid transparent}
.language-switch button[aria-pressed=true]{color:var(--cream);border-bottom-color:var(--coral)}
.language-switch button:hover{color:var(--cream);background:#ffffff08}
.language-switch-full{justify-content:flex-start;margin-top:24px;gap:12px}
.language-switch-full button{font-size:14px;padding-inline:12px}
#menu:has(.language-switch-full) nav{margin-top:22px}
html[lang=es-PR] .card-media::after{content:'VER PROYECTO'}
@media(max-width:1149px){
 .header{grid-template-columns:minmax(0,1fr) auto}
 .header>.language-switch{position:absolute;right:28px;top:64px;z-index:2}
 .header-promo{padding-right:100px}
}
@media(max-width:900px){
 .header>.language-switch{top:73px;right:20px}
 body:has([data-page=inquire]:not([hidden])) .header>.language-switch{top:14px;right:74px}
 body:has([data-page=inquire]:not([hidden])) .header-actions{margin-left:100px}
}
@media(max-width:374px){
 .header>.language-switch{right:16px}
 body:has([data-page=inquire]:not([hidden])) .header>.language-switch{right:68px}
}
/* Credential rows use genuine transparent artwork, never screenshot badges. */
#intro .qualification{display:grid;align-items:center;column-gap:30px;row-gap:16px;padding:27px 30px;border-color:rgba(232,220,200,.19);background:transparent}
#intro .qualification-zillow{grid-template-columns:140px minmax(0,1fr) auto}
#intro .qualification-faa{grid-template-columns:minmax(0,1fr) 72px;margin-top:16px;min-height:104px}
#intro .qualification-copy{min-width:0}
#intro .qualification strong{font-size:16px;line-height:1.5;font-weight:500;letter-spacing:0;color:var(--cream)}
#intro .qualification div>span{margin-top:7px;font-size:12px;line-height:1.65;color:var(--muted)}
#intro .qualification>a{margin-left:0;min-height:44px;gap:20px}
#intro .zillow-logo-wrap{justify-content:flex-start;background:transparent;padding:0;border:0;border-radius:0}
#intro .zillow-logo{display:block;width:128px;height:auto;object-fit:contain;filter:none}
#intro .faa-logo-wrap{display:flex;align-items:center;justify-content:center;justify-self:end;width:72px;height:72px}
#intro .faa-logo{display:block;width:100%;height:100%;object-fit:contain;filter:none}
@media(max-width:1100px) and (min-width:901px){#intro .qualification{column-gap:24px;padding-inline:24px}#intro .qualification-zillow{grid-template-columns:126px minmax(0,1fr) auto}#intro .zillow-logo{width:112px}#intro .qualification>a{gap:12px;font-size:11px}}
@media(max-width:900px){
 #intro .qualification{padding:24px 22px;column-gap:22px}
 #intro .qualification-zillow{grid-template-columns:112px minmax(0,1fr)}
 #intro .qualification-faa{grid-template-columns:minmax(0,1fr) 64px;margin-top:14px;min-height:100px}
 #intro .qualification strong{font-size:14px;line-height:1.5}
 #intro .qualification div>span{font-size:11px;line-height:1.65}
 #intro .zillow-logo{width:104px}
 #intro .faa-logo-wrap{width:64px;height:64px}
}
@media(max-width:600px){
 #intro .qualification{padding:23px 20px;column-gap:18px;row-gap:20px}
 #intro .qualification-zillow{grid-template-columns:minmax(0,1fr)}
 #intro .qualification-zillow .zillow-logo{width:112px}
 #intro .qualification-faa{grid-template-columns:minmax(0,1fr) 64px}
 #intro .faa-logo-wrap{width:64px;height:64px}
}
@media(max-width:374px){#intro .qualification{padding:21px 17px;column-gap:15px}#intro .qualification strong{font-size:14px}}

/* Restored footer content needs its own mobile spacing, not the old compact-footer rules. */
@media(max-width:900px){
 .header,.header.scrolled,.header.solid{background:var(--ink)}
 footer.footer{padding-top:36px;padding-bottom:max(24px,env(safe-area-inset-bottom))}
 body:has([data-page=home]:not([hidden])) footer.footer{padding-top:36px;padding-bottom:max(24px,env(safe-area-inset-bottom))}
 body:has([data-page=inquire]:not([hidden])) footer.footer{padding-top:36px}
 footer.footer .footer-connect{margin-bottom:32px;padding-bottom:28px}
 footer.footer .footer-brand .brand{width:fit-content;max-width:100%;gap:12px;min-height:44px}
 footer.footer .footer-brand .brand img{width:60px;height:auto}
 footer.footer .brand-signoff{margin-top:14px;gap:12px;line-height:1.3}
 footer.footer nav{font-size:13px;line-height:1.45;gap:6px 20px}
 footer.footer nav a{min-height:44px;padding-block:9px}
 footer.footer .footer-bottom,body:has([data-page=home]:not([hidden])) footer.footer .footer-bottom{margin-top:32px;padding-top:16px;font-size:9px;line-height:1.6;gap:16px;align-items:center}
 footer.footer #motion-toggle{font-size:10px;white-space:nowrap;flex-shrink:0}
}
@media(max-width:600px){
 footer.footer .footer-top{display:grid;grid-template-columns:minmax(0,1fr);gap:30px}
 footer.footer nav{margin-top:0}
 footer.footer .footer-connect{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}
 footer.footer .contact-actions{gap:14px}
}
@media(min-width:375px) and (max-width:600px){
 footer.footer .footer-connect{grid-template-columns:minmax(0,1fr) max-content;gap:20px;align-items:start}
 footer.footer .footer-social{justify-self:end}
}
@media(max-width:374px){
 footer.footer .footer-bottom{flex-wrap:wrap;gap:2px 14px}
 footer.footer #motion-toggle{padding-left:0}
}

@media print{.header,.footer,.closing,dialog,.toast{display:none!important}
.word-inner{transform:none!important;opacity:1!important}
.mask-reveal{clip-path:none!important}
.page-head{padding-top:30px}
.showcase-scroll{height:auto}
.showcase-sticky{position:static}
.process-sticky{position:static}
}


/* Public build: honest service descriptions without empty media placeholders. */
.service-feature.service-text-only{grid-template-columns:1fr;max-width:850px}.service-text-only .service-detail{max-width:720px}.service-text-only .service-detail h2{max-width:700px}

/* Crop baked letterbox pixels only on affected aerial closing assets. */
#closing{border-top:0}
#closing>.closing-media[data-slot="closing-blog"]>.local-media,
#closing>.closing-media[data-slot="closing-branding"]>.local-media,
#closing>.closing-media[data-slot="closing-drone"]>.local-media,
#closing>.closing-media[data-slot="closing-guide"]>.local-media,
#closing>.closing-media[data-slot="closing-not-found"]>.local-media,
#closing>.closing-media[data-slot="closing-project-coastal-residence"]>.local-media,
#closing>.closing-media[data-slot="closing-services"]>.local-media,
#closing>.closing-media[data-slot="closing-studio"]>.local-media,
#closing>.closing-media[data-slot="closing-work"]>.local-media{transform:scale(1.14);transform-origin:50% 50%}

.hero-media>picture[data-initial-poster]>img{display:block;width:100%;height:100%;object-fit:cover}
