/* Home uses the Services foundation with editorial layouts and tactile controls. */
.home-page{--home-gutter:clamp(22px,5vw,80px)}
.home-page main{overflow:clip;isolation:isolate}
.home-shell{width:min(100%,1600px);padding-inline:var(--home-gutter);margin-inline:auto}
.home-page h1,.home-page h2,.home-page h3{font-weight:500;letter-spacing:-.055em}
.home-page h1{font-size:clamp(50px,5.75vw,88px);line-height:1.02}
.home-page h2{font-size:clamp(38px,4.5vw,68px);line-height:1.08}
.home-page h3{font-size:clamp(28px,3vw,46px);line-height:1.1}
.home-page button,.home-page input,.home-page textarea{font:inherit}
.home-page button{cursor:pointer;color:inherit}
.home-page button:disabled{cursor:default;opacity:.4}
.home-page :is(a,button,input,textarea):focus-visible{outline:2px solid #555f37;outline-offset:5px}
.home-page .home-text-reveal{white-space:normal}
.home-page .site-nav-links>a[aria-current=page]{text-decoration:underline;text-underline-offset:7px}
.home-label{font-size:14px;line-height:1.5;color:#62665f}
.home-button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:52px;padding:15px 24px;border:1px solid var(--ink);border-radius:99px;background:var(--ink);color:var(--paper)!important;font-size:15px;line-height:1.3;transition:background .25s,color .25s;white-space:normal;text-align:left}
.home-button>span{font-size:22px;line-height:1;flex-shrink:0}
.home-button:hover{background:#32372a}
.home-text-link{display:inline-flex;align-items:center;gap:24px;padding:12px 0;font-size:15px;line-height:1.4;border-bottom:1px solid #16161650}
.home-text-link>span{font-size:22px;line-height:1}
.home-actions{display:flex;align-items:flex-start;flex-direction:column;gap:14px;margin-top:28px}
.home-hero{--home-nav-height:96px;position:relative}
.home-hero-stage{position:relative}
.home-film-scene{position:relative}
.home-hero-heading{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:30px;min-height:75svh;padding-block:64px}
.home-hero h1{white-space:pre-line;font-size:clamp(48px,6.6vw,96px);max-width:1250px;line-height:1.04;text-wrap:balance}
.home-hero-copy{max-width:55ch;padding:0}
.home-hero .home-actions{align-items:center;flex-direction:row;justify-content:center;flex-wrap:wrap;gap:18px 28px;margin-top:28px}
.home-hero-heading:focus,.home-hero-stage:focus{outline:none}
.home-hero-copy>p{font-size:clamp(16px,1.5vw,21px);line-height:1.5;color:#62665f}
.home-film{position:relative;height:max(320px,calc(100svh - var(--home-nav-height)));background:#202320;overflow:hidden;isolation:isolate}
.home-film>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;opacity:0;transition:opacity .45s}
.home-film.has-frame>video{opacity:1}
.home-film::after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#1119);z-index:2;pointer-events:none}
.home-film-logo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:25%;filter:brightness(0) invert(1);z-index:0}
.home-film-bottom{position:absolute;bottom:24px;left:var(--home-gutter);right:var(--home-gutter);display:flex;align-items:center;justify-content:space-between;gap:24px;color:white;z-index:3;font-size:14px}
.home-clients{padding-top:50px;overflow:hidden}
.home-logo-row{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.home-logo-track{display:flex;width:max-content;animation:home-logo-scroll 48s linear infinite}
.home-logo-row:nth-child(3) .home-logo-track{animation-direction:reverse;animation-duration:42s}
.home-logo-group{display:flex;align-items:center;gap:64px;padding:14px 32px;flex-shrink:0}
.home-logo-group img{object-fit:contain;width:132px;height:56px;filter:brightness(0);opacity:.6}
.home-clients.is-paused .home-logo-track,.home-clients:hover .home-logo-track{animation-play-state:paused}
@keyframes home-logo-scroll{to{transform:translateX(-50%)}}
.home-vision{padding-top:clamp(96px,11vw,160px);padding-bottom:clamp(96px,11vw,160px)}
.home-vision h2{max-width:1220px;font-size:clamp(36px,4.7vw,72px);line-height:1.14}
.home-vision-bottom{display:grid;grid-template-columns:1fr 1.2fr;gap:8vw;align-items:start;margin-top:44px}
.home-vision-bottom>a{justify-self:start}
.home-vision-bottom>div{display:grid;gap:18px;font-size:17px;line-height:1.65;color:#62665f;max-width:58ch}
.home-section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:40px}
.home-section-heading h2{white-space:pre-line;max-width:18ch}
.home-section-heading>p{max-width:28ch;color:#62665f;font-size:17px;line-height:1.6}
.home-section-heading>a{flex-shrink:0}
.home-service-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:20px}
.home-service-tabs.has-indicator{position:relative;isolation:isolate}
.home-service-indicator{position:absolute;top:0;left:0;background:var(--ink);border-radius:99px;pointer-events:none;z-index:-1}
.home-service-tabs.has-indicator button[aria-selected=true]{background:transparent}
.home-service-tabs button{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 24px;border:1px solid #16161630;border-radius:99px;background:transparent;font-size:18px;font-weight:500;transition:background .25s,color .25s}
.home-service-tabs button[aria-selected=true]{background:var(--ink);color:var(--paper)}
.home-service-tabs button>span{font-size:23px;transform:rotate(90deg);transition:transform .35s var(--ease)}
.home-service-tabs button[aria-selected=true]>span{transform:rotate(0)}
.home-service-panel{display:grid;grid-template-columns:1.15fr 1fr;gap:6vw;align-items:center;background:#e6e8e1;border-radius:20px;padding:32px}
.home-service-panel[hidden]{display:none}
.home-service-art{height:460px;overflow:hidden;border-radius:12px;background:#d9dcd3}
.home-service-art img{height:100%;width:100%;object-fit:contain;display:block}
.home-service-websites .home-service-art img{object-fit:cover}
.home-service-products .home-service-art{background:#1a2b35}
.home-service-ads .home-service-art{background:#e3e4e0;padding:20px}
.home-service-growth .home-service-art{background:#fff}
.home-service-copy{padding:10px 12px 10px 0;max-width:44ch}
.home-service-copy h3{margin:18px 0 22px}
.home-service-copy>p:not(.home-label){font-size:17px;line-height:1.6;color:#62665f}
.home-tags{display:flex;flex-wrap:wrap;gap:7px;margin:24px 0 28px}
.home-tags span{padding:6px 11px;border:1px solid #16161628;border-radius:50px;font-size:11px;line-height:1.2}
.home-work{padding-block:clamp(96px,11vw,160px)}
.home-project-slider{display:flex;gap:32px;overflow:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--home-gutter);padding:0 var(--home-gutter) 6px;scrollbar-width:none;overscroll-behavior-x:contain;cursor:grab;touch-action:pan-x pan-y}
.home-project-slider::-webkit-scrollbar{display:none}
.home-project-slider.is-dragging{scroll-snap-type:none;cursor:grabbing;user-select:none}
.home-project{flex:0 0 min(40vw,580px);min-width:0;scroll-snap-align:start}
.home-project-link{display:block}
.home-project-art{position:relative;aspect-ratio:1.18;border-radius:12px;overflow:hidden;background:#242724}
.home-project-art video{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.home-project-link:hover video{transform:scale(1.035)}
.home-project-badge{position:absolute;left:20px;bottom:20px;padding:10px 16px;border:1px solid #ffffff55;border-radius:40px;background:#161616bb;backdrop-filter:blur(8px);color:white;font-size:12px}
.home-project-caption{padding-top:20px}
.home-project-caption h3{font-size:30px;margin-bottom:9px}
.home-project-caption p{font-size:12px;line-height:1.5;color:#62665f}
.home-slider-controls{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:28px}
.home-slider-controls p{font-size:14px;color:#62665f}
.home-slider-controls>div{display:flex;gap:12px}
.home-slider-controls button{display:grid;place-items:center;width:48px;height:48px;border:0;background:none;border-radius:0;font-size:23px}
.home-slider-controls button:hover:not(:disabled){background:none;color:#62665f}
.home-partners{display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:8vw;padding-bottom:clamp(96px,11vw,160px)}
.home-partners h2{white-space:pre-line;font-size:clamp(34px,3.6vw,52px)}
.home-partners p{color:#62665f;line-height:1.6;margin-top:20px;max-width:30ch}
.home-partner-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.home-partner-grid>div{min-height:110px;display:grid;place-items:center;border:1px solid #1616161f;border-radius:12px;padding:22px;background:#fff6}
.home-partner-grid img{display:block;object-fit:contain;max-width:100%;height:58px;filter:brightness(0);opacity:.7}
.home-skip{position:fixed;top:10px;left:10px;z-index:200;padding:15px;background:var(--lime);transform:translateY(-160%)}
.home-skip:focus{transform:none}
@media(max-width:1000px){
 .home-hero-heading{gap:26px}
 .home-page h1{font-size:clamp(47px,6.4vw,68px)}
 .home-service-panel{gap:30px;padding:24px}
 .home-service-art{height:420px}
}
@media(max-width:700px){
 .home-hero{--home-nav-height:66px}
 .home-hero-heading{display:flex;min-height:75svh;padding-block:54px;gap:24px}
 .home-page .home-hero h1{font-size:clamp(32px,10.2vw,67px)}
 .home-hero-copy{margin-top:0;max-width:36ch}
 .home-hero .home-actions{flex-direction:column;gap:10px;margin-top:22px}
 .home-hero-copy>p{font-size:17px}
 .home-actions{gap:12px;margin-top:22px}
 .home-button{min-height:50px;font-size:14px;padding:14px 21px}

 .home-film-bottom{left:16px;bottom:16px;right:16px;gap:15px}
 .home-film-next{font-size:13px}
 .home-clients{padding-top:32px}
 .home-logo-group{gap:34px;padding-inline:17px}
 .home-logo-group img{width:100px;height:46px}
 .home-vision{padding-block:76px}
 .home-vision h2{font-size:clamp(32px,8.2vw,48px)}
 .home-vision-bottom{display:flex;flex-direction:column-reverse;gap:24px;margin-top:28px}
 .home-vision-bottom>div{font-size:16px}
 .home-section-heading{display:block;margin-bottom:28px}
 .home-section-heading h2{font-size:clamp(36px,8.8vw,52px)}
 .home-section-heading>p,.home-section-heading>a{margin-top:20px}
 .home-service-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:15px}
 .home-service-tabs button{padding:12px 17px;font-size:15px;min-height:48px}
 .home-service-panel{grid-template-columns:1fr;padding:18px;gap:24px;border-radius:14px}
 .home-service-art{height:280px}
 .home-service-copy{padding:0 5px 8px}
 .home-service-copy h3{font-size:32px;margin:14px 0 18px}
 .home-service-copy>p:not(.home-label){font-size:16px}
 .home-tags{margin:20px 0 24px}
 .home-work{padding-block:76px}
 .home-project{flex-basis:80vw}
 .home-project-slider{gap:16px}
 .home-project-caption h3{font-size:28px}
 .home-project-art{aspect-ratio:4/4.3}
 .home-project-badge{left:14px;bottom:14px}
 .home-slider-controls{margin-top:22px}
 .home-slider-controls p{font-size:12px;max-width:18ch}
 .home-partners{display:block;padding-bottom:76px}
 .home-partners h2{font-size:36px}
 .home-partner-grid{margin-top:28px;gap:10px}
 .home-partner-grid>div{min-height:92px;padding:16px}
 .home-partner-grid img{height:44px}
}
@media(prefers-reduced-motion:reduce){
 .home-logo-track{animation:none}
 .home-logo-row{overflow-x:auto}
 .home-logo-group[aria-hidden=true]{display:none}
 .home-page :is(a,button,span,video){transition:none}
}

/* Full-bleed film contracts into the centered statement as the visitor scrolls. */
.home-film-next{display:inline-flex;align-items:center;gap:20px;min-height:44px;color:white;font-size:14px;text-shadow:0 1px 12px #0008}
.home-film-next span{font-size:22px}
.home-hero.is-scroll-reveal{height:calc(225svh - var(--home-nav-height))}
.is-scroll-reveal .home-hero-stage{position:sticky;top:var(--home-nav-height);height:calc(100svh - var(--home-nav-height));isolation:isolate}
.is-scroll-reveal .home-film-scene{position:absolute;inset:0;z-index:2;pointer-events:none}
.is-scroll-reveal .home-film{position:absolute;inset:0;width:100%;height:100%;min-height:0}
.is-scroll-reveal .home-film-bottom{pointer-events:auto}
.is-scroll-reveal .home-film-bottom[inert]{pointer-events:none}
.is-scroll-reveal .home-hero-heading{position:absolute;inset:0;min-height:0;height:100%;padding-block:32px;opacity:0}
.is-scroll-reveal .home-hero-copy{opacity:0}
@media(max-width:700px){
 .home-hero.is-scroll-reveal{height:calc(190svh - var(--home-nav-height))}
 .is-scroll-reveal .home-hero-heading{padding-block:24px}
}

/* Client marks follow the studio statement without a separate title row. */
.home-vision{padding-bottom:clamp(44px,5vw,72px)}
.home-clients{padding-top:0;padding-bottom:clamp(90px,10vw,140px)}
.home-logo-row:nth-child(2) .home-logo-track{animation-direction:reverse;animation-duration:42s}
.home-project-slider{scroll-snap-type:x proximity}
.home-project-slider.is-wheeling{scroll-snap-type:none}
.home-slider-controls{justify-content:flex-end}

/* Device and campaign previews share the section's backdrop. */
.home-service-panel{gap:clamp(24px,4vw,64px)}
.home-service-art{display:flex;align-items:center;justify-content:center;background:transparent!important;padding:0!important;position:relative}
.home-tablet{position:relative;width:100%;padding:12px 12px 12px 18px;background:#151615;border:2px solid #8a8d88;border-radius:24px;box-shadow:0 18px 28px #1616161f,0 0 0 1px #161616;}
.home-tablet-camera{position:absolute;top:50%;left:5px;width:5px;height:5px;border-radius:50%;background:#363a3e;box-shadow:inset 0 0 0 1px #050505}
.home-tablet-screen{overflow:hidden;border-radius:12px;background:#3d211f}
.home-service-websites .home-tablet-screen img{width:100%;height:auto;object-fit:contain}
.home-service-products .home-service-art{align-items:flex-start;padding-top:25px!important}
.home-app-device{position:relative;width:min(75%,290px);aspect-ratio:644/1320;flex-shrink:0;filter:drop-shadow(0 18px 18px #16161624)}
.home-app-device video{position:absolute;top:2.05%;left:4.65%;width:90.7%;height:95.9%;object-fit:cover;border-radius:17%/8%;background:#fff}
.home-service-art .home-app-device img{position:relative;width:100%;height:auto;pointer-events:none}
.home-ad-pair{width:90%;display:flex;align-items:center;gap:5%;padding:20px 3%}
.home-ad{position:relative;overflow:hidden;flex:1;aspect-ratio:207/368;border-radius:9px;box-shadow:0 12px 18px #16161620;background:#fff}
.home-ad-facebook{transform:rotate(-5deg) translateY(-10px)}
.home-ad-instagram{transform:rotate(5deg) translateY(12px);aspect-ratio:207/346}
.home-service-art .home-ad img{position:absolute;width:228.02%;height:auto;max-width:none;object-fit:initial;left:-10.62%;top:-9.78%}
.home-service-art .home-ad-instagram img{left:-116.9%;top:-13.87%}
#home-growth-preview{width:100%;min-width:0}
.home-growth-dashboard{width:100%;padding:8px;color:#161616}
.home-growth-dashboard header{display:flex;align-items:center;gap:12px;margin-bottom:24px}
.home-dashboard-mark{width:38px;height:38px;border-radius:11px;background:#161616;color:#d9dad5;display:grid;place-items:center;font-size:26px;flex-shrink:0}
.home-growth-dashboard header strong{display:block;font-size:15px;font-weight:500}
.home-growth-dashboard header div>span{display:block;font-size:12px;color:#62665f;margin-top:4px}
.home-dashboard-metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.home-dashboard-metrics>div{padding:16px;border:1px solid #16161624;border-radius:14px}
.home-dashboard-metrics span{font-size:12px;color:#62665f;display:block;margin-bottom:8px}
.home-dashboard-metrics strong{font-size:clamp(22px,2.5vw,34px);line-height:1;letter-spacing:-.04em;font-weight:500}
.home-dashboard-chart{margin-top:24px}
.home-dashboard-chart p{display:flex;justify-content:space-between;gap:12px;font-size:12px;margin-bottom:10px}
.home-dashboard-chart p>span{color:#62665f;font-size:10px}
.home-dashboard-chart svg{display:block;width:100%;height:100%}

/* One continuous ink surface from the inquiry to the footer. */
@media(max-width:700px){
 .home-clients{padding-bottom:76px}
 .home-service-art{height:290px}
 .home-tablet{padding:8px 8px 8px 14px;border-radius:18px}
 .home-tablet-screen{border-radius:8px}
 .home-app-device{width:min(75%,238px)}
 .home-service-products .home-service-art{padding-top:14px!important}
 .home-service-growth .home-service-art{height:auto;min-height:340px}
 .home-growth-dashboard{padding:5px}
 .home-dashboard-metrics{gap:9px}
 .home-dashboard-metrics>div{padding:13px}
 .home-dashboard-metrics strong{font-size:27px}
 .home-dashboard-chart p>span{font-size:9px}
}
@media(prefers-reduced-motion:reduce){
}

/* Three full-width opening screens; navigation enters with the studio statement. */
.site-navigation.home-navigation{position:fixed;left:0;right:0;transform:translateY(-105%);visibility:hidden;pointer-events:none;transition:transform .65s cubic-bezier(.22,1,.36,1),visibility 0s .65s}
.home-navigation.is-visible{transform:translateY(0);visibility:visible;pointer-events:auto;transition:transform .65s cubic-bezier(.22,1,.36,1),visibility 0s}
.home-hero{--home-nav-height:0px}
.home-hero.is-scroll-reveal{height:200svh}
.is-scroll-reveal .home-hero-stage{top:0;height:100svh}
.home-hero-heading{min-height:100svh}
.home-vision{min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding-top:clamp(124px,12vh,160px);padding-bottom:64px}
.home-vision-bottom{flex-shrink:0}
@media(max-width:700px){
 .home-hero.is-scroll-reveal{height:200svh}
 .home-vision{padding-top:112px;padding-bottom:52px}
 .home-vision h2{font-size:clamp(32px,7.7vw,42px);line-height:1.13}
 .home-vision-bottom{gap:24px;margin-top:30px}
 .home-vision-bottom>div{font-size:16px;line-height:1.5;gap:16px}
}
@media(prefers-reduced-motion:reduce){.home-navigation,.home-navigation.is-visible{transition:none}}

/* The gradient fills the viewport; only the headline and copy keep content limits. */
.home-hero-heading{position:relative;isolation:isolate;width:100%;max-width:none}
.home-grain-wave{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden;background:radial-gradient(ellipse at 50% 48%,#e0e5d7 0%,#f1f2ed 68%);mask-image:linear-gradient(to bottom,transparent 0%,#000 15%,#000 60%,transparent 98%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 15%,#000 60%,transparent 98%)}
.home-grain-wave canvas{display:block;width:100%;height:100%;opacity:0}

/* The studio headline settles from above; its supporting copy rises below. */
.home-vision.has-directional-entrance>h2{opacity:0;transform:translateY(-64px);transition:transform 1s cubic-bezier(.22,1,.36,1),opacity .65s ease}
.home-vision.has-directional-entrance .home-vision-bottom>div{opacity:0;transform:translateY(64px);transition:transform 1s cubic-bezier(.22,1,.36,1) .14s,opacity .7s ease .14s}
.home-vision.has-directional-entrance.is-entered>h2,.home-vision.has-directional-entrance.is-entered .home-vision-bottom>div{opacity:1;transform:translateY(0)}
.home-vision.has-directional-entrance .animated-highlight::before{transform:scaleX(0);transition-delay:0s}
.home-vision.has-directional-entrance.is-entered .animated-highlight::before{transform:scaleX(1);transition-delay:.5s}
@media(max-width:700px){
 .home-vision.has-directional-entrance>h2{transform:translateY(-42px)}
 .home-vision.has-directional-entrance .home-vision-bottom>div{transform:translateY(42px)}
 .home-vision.has-directional-entrance.is-entered>h2,.home-vision.has-directional-entrance.is-entered .home-vision-bottom>div{transform:translateY(0)}
}
@media(prefers-reduced-motion:reduce){
 .home-vision.has-directional-entrance>h2,.home-vision.has-directional-entrance .home-vision-bottom>div{opacity:1;transform:none;transition:none}
 .home-vision.has-directional-entrance .animated-highlight::before{transform:none;transition:none}
}

/* Immediate response through the opening, without slow text waits. */
.home-vision.has-directional-entrance>h2{transition:transform .45s cubic-bezier(.22,1,.36,1),opacity .2s ease}
.home-vision.has-directional-entrance .home-vision-bottom>div{transition:transform .5s cubic-bezier(.22,1,.36,1) .04s,opacity .25s ease .04s}

/* Services arrive as a stack of real cards on a continuous native scroll. */
.home-services{width:100%;max-width:none;background:#161616;color:#f1f2ed;padding-top:clamp(64px,8vw,120px);padding-bottom:clamp(64px,8vw,120px);border-radius:32px 32px 0 0}
.home-services>.home-section-heading{max-width:1440px;margin:0 auto;min-height:52svh;padding-bottom:80px;align-items:center}
.home-services>.home-section-heading h2{font-size:clamp(44px,6.3vw,88px);max-width:17ch}
.home-services>.home-section-heading>p{color:#b5b8ae;max-width:26ch}
.home-services>.home-section-heading .animated-highlight::before{background:#dedfda;height:1em;bottom:0}
.home-services>.home-section-heading .animated-highlight.is-highlighted{color:#161616;transition:color .15s 1.2s}
.home-service-panels{display:flex;flex-direction:column;gap:28px;max-width:1440px;margin:auto;padding-bottom:32px}
.home-service-panel{position:sticky;top:calc(116px + var(--card-index)*14px);min-height:540px;border:1px solid #16161612;border-radius:24px;padding:40px;gap:clamp(32px,5vw,80px);color:#161616;box-shadow:0 -12px 30px #0000000c;scroll-margin-top:180px}
.home-service-panel.home-service-websites{background:#efefef}
.home-service-panel.home-service-products{background:#dedede}
.home-service-panel.home-service-ads{background:#e9e9e9}
.home-service-panel.home-service-growth{background:#d6d6d6}
.home-service-panel .home-service-art{height:430px;border-radius:16px}
.home-service-copy{max-width:44ch;padding:0}
.home-service-copy>.home-label{display:flex;align-items:center;gap:14px;font-size:18px;font-weight:500;color:#161616}
.home-service-copy h3{font-size:clamp(30px,3.4vw,48px);margin:24px 0 20px}
.home-service-copy .home-button{min-height:48px;font-size:14px;padding:12px 20px}
.home-service-copy .home-tags{margin:22px 0 26px}
.home-service-panel:focus-within{z-index:5}
@media(max-width:980px){.home-service-panel{top:calc(96px + var(--card-index)*12px);min-height:480px;padding:26px;gap:28px}.home-service-panel .home-service-art{height:380px}.home-service-copy h3{font-size:32px}}
@media(max-width:700px){
 .home-services{border-radius:24px 24px 0 0;padding-top:48px;padding-bottom:52px}
 .home-services>.home-section-heading{min-height:45svh;padding-bottom:54px;display:block;padding-top:40px}
 .home-services>.home-section-heading h2{font-size:clamp(40px,10vw,58px)}
 .home-services>.home-section-heading>p{margin-top:24px;font-size:16px}
 .home-service-panels{gap:24px;padding-bottom:0}
 .home-service-panel{position:relative;top:auto;display:flex;flex-direction:column;align-items:stretch;min-height:0;gap:24px;padding:22px;border-radius:20px;scroll-margin-top:96px}
 .home-service-panel .home-service-art{width:100%;height:230px;order:1}
 .home-service-copy{max-width:none;order:0}
 .home-service-copy>.home-label{font-size:17px;gap:10px}
  .home-service-copy h3{font-size:30px;margin:18px 0 16px}
 .home-service-copy>p:not(.home-label){font-size:15px;line-height:1.5}
 .home-service-copy .home-tags{margin:18px 0}
 .home-service-copy .home-button{width:100%}
 .home-services .home-app-device{width:195px}
 .home-services .home-ad-pair{max-width:280px}
 .home-services .home-growth-dashboard{padding:14px}
 .home-services .home-dashboard-chart{margin-top:14px}
}
@media(max-height:700px) and (min-width:701px){.home-service-panel{position:relative;top:auto}}
@media(prefers-reduced-motion:reduce){.home-service-panel{position:relative;top:auto}.home-vision.has-directional-entrance>h2,.home-vision.has-directional-entrance .home-vision-bottom>div{transition:none}}

@media(max-width:700px){.home-services .home-service-growth .home-service-art{height:auto;min-height:0;overflow:visible}.home-services .home-growth-dashboard{padding:8px 0}}
.home-services .home-service-growth .home-service-art{height:auto;min-height:430px;overflow:visible}
@media(max-width:700px){.home-services .home-service-growth .home-service-art{min-height:0}}

/* A rising semicircle reveals a continuous charcoal backdrop, driven by native scroll. */
.home-services.has-ink-entrance{position:relative;isolation:isolate;background:#f1f2ed;border-radius:0}
.home-services.has-ink-entrance::before{content:"";position:absolute;left:0;right:0;z-index:-1;background:radial-gradient(ellipse 85% 580px at 12% 380px,#383838b3,transparent 78%),radial-gradient(ellipse 85% 850px at 100% 45%,#303030b3,transparent 78%),radial-gradient(ellipse 90% 600px at 5% 76%,#29292999,transparent 80%),#161616;pointer-events:none}
.home-services.has-ink-entrance::before{top:0;bottom:0;clip-path:var(--services-entrance-clip,inset(0))}
.home-services.has-ink-entrance>.home-section-heading{opacity:var(--services-heading-opacity,0)}
.home-services+.home-clients{padding-top:clamp(52px,7vw,96px);padding-bottom:0}
@media(prefers-reduced-motion:reduce){.home-services.has-ink-entrance::before{clip-path:none}.home-services.has-ink-entrance>.home-section-heading{opacity:1}}

/* The opening headline becomes a compact persistent title above the stack. */
@media(min-width:701px) and (min-height:780px){
 .home-services>.home-section-heading{position:sticky;top:96px;z-index:6;align-items:flex-start;padding-top:calc(72px - 54px * var(--services-compact,0));pointer-events:none}
 .home-services>.home-section-heading::before{content:"";position:absolute;top:0;left:calc(-1 * var(--home-gutter));right:calc(-1 * var(--home-gutter));height:122px;background:linear-gradient(#161616ed 0%,#161616d9 65%,#16161600 100%);opacity:var(--services-compact,0);z-index:-1}
 .home-services>.home-section-heading h2{font-size:calc(clamp(44px,6.3vw,88px) * (1 - var(--services-compact,0)) + 36px * var(--services-compact,0));max-width:none;flex-shrink:0;line-height:1.08}
 .home-services>.home-section-heading>p{align-self:center;opacity:calc(1 - var(--services-compact,0));transform:translateY(calc(-18px * var(--services-compact,0)))}
 .home-service-panel{top:calc(232px + var(--card-index)*14px)}
}
@media(min-width:701px) and (max-width:980px) and (min-height:780px){
 .home-services>.home-section-heading{top:80px}
 .home-services>.home-section-heading h2{font-size:calc(48px * (1 - var(--services-compact,0)) + 32px * var(--services-compact,0))}
 .home-service-panel{top:calc(210px + var(--card-index)*12px)}
}
@media(min-width:701px) and (min-height:780px) and (max-height:850px){.home-service-panel{min-height:470px}.home-service-panel .home-service-art{height:360px}.home-services .home-service-growth .home-service-art{min-height:360px}}

/* Client marks fill the space below the studio statement, before Services. */
.home-vision>.home-clients{flex:none;width:calc(100% + 2 * var(--home-gutter));margin:44px calc(-1 * var(--home-gutter)) 0;padding:0}
@media(max-width:700px){.home-vision>.home-clients{margin-top:32px}}

/* Keep the full project composition visible throughout its horizontal journey. */
.home-work.has-work-scroll{padding:0;height:calc(100svh - var(--work-nav-height) + var(--work-travel))}
.has-work-scroll .home-work-stage{position:sticky;top:var(--work-nav-height);height:calc(100svh - var(--work-nav-height));display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:36px;padding-block:clamp(48px,6vh,68px) 24px;background:var(--paper)}
.has-work-scroll .home-section-heading{margin-block:0;align-items:flex-end}
.has-work-scroll .home-section-heading h2{font-size:clamp(36px,4vw,58px)}
.has-work-scroll .home-project-slider{height:100%;scroll-snap-type:none;overflow-y:hidden}
.has-work-scroll .home-project-link{height:100%;display:flex;flex-direction:column}
.has-work-scroll .home-project-art{flex:1;min-height:0;aspect-ratio:auto}
.has-work-scroll .home-project-caption{flex:none;padding-top:28px}
.has-work-scroll .home-project-caption h3{font-size:clamp(24px,2.7vw,36px)}
.has-work-scroll .home-slider-controls{margin-top:0}
.home-search{padding-top:clamp(24px,3vw,40px);padding-bottom:clamp(72px,9vw,128px)}
.home-search .website-search-visual{width:100%;max-width:440px;justify-self:center}
.home-search .website-search-visual video{aspect-ratio:3/4;object-fit:cover}
@media(min-width:701px) and (max-height:720px){
 .has-work-scroll .home-work-stage{gap:24px;padding-block:34px 18px}
 .has-work-scroll .home-section-heading h2{font-size:32px}
 .has-work-scroll .home-project-caption{padding-top:20px}
 .has-work-scroll .home-project-caption h3{font-size:24px;margin-bottom:5px}
 .has-work-scroll .home-slider-controls button{width:40px;height:40px}
}
.home-project-caption h3{margin-top:0}
@media(max-width:700px){
 .home-work{padding-block:48px 32px}
 .home-work .home-section-heading{margin-bottom:22px}
 .home-work .home-project-art{height:min(36svh,360px);aspect-ratio:auto}
 .home-work .home-project-caption{padding-top:16px}
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .home-project-badge{pointer-events:none;background:#161616;border-color:#ffffff30;opacity:0;transition:opacity .15s}
 .home-project-art.is-pointer-inside .home-project-badge{left:var(--cursor-x,50%);top:var(--cursor-y,50%);bottom:auto;transform:translate(-50%,-50%);opacity:1}
 .home-project-link:focus-visible .home-project-badge{opacity:1}
 .home-project-slider.is-dragging .home-project-badge{opacity:0}
}

/* The ribbon is centered on the boundary between Services and SEO. */
/* Overlap the clipped services edge to prevent a light subpixel seam. */
.home-service-connector{position:relative;margin-top:-1px;background:linear-gradient(to bottom,#161616 0 50%,#f1f2ed 50% 100%)}

/* Compact mobile flow and a native swipeable service carousel. */
.home-service-slider-controls{display:none}
@media(max-width:700px){
 .is-scroll-reveal .home-hero-heading{justify-content:flex-end;padding-block:32px}
 .home-vision{min-height:0;justify-content:flex-start;padding-top:40px;padding-bottom:24px}
 .home-services{padding-top:56px;padding-bottom:28px}
 .home-services>.home-section-heading{min-height:0;padding-top:0;padding-bottom:28px}
 .home-services>.home-section-heading>p{margin-top:18px}
 .home-service-panels{flex-direction:row;align-items:flex-start;gap:16px;overflow-x:auto;overflow-y:hidden;width:calc(100% + 2 * var(--home-gutter));max-width:none;height:var(--service-slide-height,auto);margin-inline:calc(-1 * var(--home-gutter));padding:0 var(--home-gutter) 8px;scroll-snap-type:x mandatory;scroll-padding-inline:var(--home-gutter);overscroll-behavior-x:contain;scrollbar-width:none;transition:height .25s var(--ease)}
 .home-service-panels::-webkit-scrollbar{display:none}
 .home-service-panel{flex:0 0 calc(100% - 28px);min-width:0;scroll-snap-align:start;box-shadow:none;padding:20px;gap:16px}
 .home-service-copy h3{margin-top:0;font-size:28px}
 .home-service-panel .home-service-art{height:220px}
 .home-service-slider-controls{display:flex;align-items:center;justify-content:space-between;margin-top:12px;color:#f1f2ed}
 .home-service-slider-controls>span{font-size:13px;color:#bfc0bd}
 .home-service-slider-controls>div{display:flex;gap:12px}
 .home-service-slider-controls button{width:44px;height:44px;border:0;background:none;font-size:24px;color:inherit}
}
@media(prefers-reduced-motion:reduce){.home-service-panels{transition:none}}
@media(max-width:700px){
 .home-hero:not(.is-scroll-reveal) .home-hero-heading{min-height:0;padding-block:56px 24px}
}

/* Small face portraits briefly trace the pointer through the studio statement. */
.home-vision{position:relative}

body.home-page .home-button.home-floating-talk{position:fixed;right:24px;bottom:max(24px,env(safe-area-inset-bottom));z-index:90;min-height:60px;min-width:180px;padding:16px 26px;gap:22px;font-size:17px;color:#161616!important;border:1px solid #ffffffb3;background:linear-gradient(135deg,#f1f2ed 0%,#cbd0cc 55%,#aeb5b0 100%);box-shadow:0 8px 28px #00000030,0 2px 6px #00000014}
.home-floating-talk[hidden]{display:none}
.home-film-bottom{right:calc(var(--home-gutter) + 160px)}
@media(max-width:700px){
 body.home-page .home-button.home-floating-talk{right:16px;bottom:max(16px,env(safe-area-inset-bottom));min-height:54px;min-width:160px;padding:14px 22px;font-size:16px;gap:18px}
 .home-film-bottom{right:16px;bottom:88px}
}
