/* WTM: full-frame motion study, then a portfolio with room to speak. */
.cinematic-site { --pad:clamp(24px,4vw,72px); --bg:#121414; background:var(--bg); }
.cinematic-site .site-header { position:absolute; z-index:3; inset:0 0 auto; max-width:none; height:88px; padding:0 var(--pad); }
.cinematic-site .hero{max-width:none;min-height:100vh;min-height:100svh;height:100vh;height:100svh;margin:0;padding:0;display:block;background:#171b1d}
@media(max-height:719px){ .cinematic-site .hero { min-height:720px; } }
.cinematic-site .hero-art,.cinematic-site .hero-art.is-3d { position:absolute; z-index:0; inset:0; width:100%; height:100%; margin:0; opacity:1; aspect-ratio:auto; background:radial-gradient(ellipse at 55% 32%,#3d4245 0%,#242a2e 36%,#141717 78%); }
.cinematic-site .hero-art:after,.cinematic-site .hero-art.is-3d:after { display:block; content:''; position:absolute; z-index:1; inset:0; background:linear-gradient(180deg,rgba(13,16,17,.4),transparent 24%,transparent 45%,rgba(12,15,16,.34) 63%,#111414 100%); pointer-events:none; }
.cinematic-site .hero-art img { object-fit:cover; opacity:.95; mask-image:none; }
.cinematic-site .hero-content { position:relative; z-index:1; height:100%; padding:0 var(--pad) 45px; display:flex; flex-direction:column; justify-content:flex-end; pointer-events:none; }
.cinematic-site .hero-content a { pointer-events:auto; }
.cinematic-site .hero .eyebrow { position:absolute; left:var(--pad); top:123px; margin:0; font-size:17px; font-weight:450; text-transform:none; letter-spacing:-.02em; line-height:1.45; color:#d7dbda; }
.cinematic-site .hero h1 { font-size:10.8vw; font-weight:500; line-height:1.08; letter-spacing:-.068em; white-space:nowrap; margin:0 0 20px; }
.cinematic-site .hero-line { display:inline; }
.cinematic-site .hero-line:first-child:after { content:' '; }
.cinematic-site .hero-intro { display:flex; justify-content:space-between; align-items:end; gap:30px; margin:0; padding-right:160px; }
.cinematic-site .hero-intro p { font-size:15px; line-height:1.65; }
.cinematic-site .round-link { flex-direction:row; white-space:nowrap; font-size:14px; gap:24px; border-bottom:1px solid #9ca5a2; padding:12px 0; }
.cinematic-site .round-link>span:last-child { font-size:24px; transition:transform .35s; }
.cinematic-site .round-link:hover>span:last-child { transform:translate(3px,-3px); }
.cinematic-site .hero-motion { z-index:2; right:var(--pad); bottom:47px; font-size:11px; color:#bfc6c3; }
.cinematic-site .section { max-width:1600px; }
.cinematic-site .work { padding-top:100px; padding-bottom:120px; }
.cinematic-site .section-title { margin-bottom:48px; }
.cinematic-site .section-title h2 { font-size:42px; letter-spacing:-.045em; }
.cinematic-site .work-grid { grid-template-columns:1fr 1fr; gap:90px 36px; }
.cinematic-site .project { margin:0; }
.cinematic-site .project-naples { grid-column:1/-1; }
.cinematic-site .project-naples .project-art { aspect-ratio:1.94; }
.cinematic-site .project-naples .browser-frame { width:85%; transform:perspective(1600px) rotateX(4deg); box-shadow:0 35px 70px #050b1170; }
.cinematic-site .project-naples .naples-art { background:#253239; }
.cinematic-site .project-caption { display:flex; align-items:start; justify-content:space-between; margin-top:24px; }
.cinematic-site .project-caption h3 { font-size:25px; font-weight:500; }
.cinematic-site .project-caption p { font-size:13px; color:#a4aeaa; }
.cinematic-site .project-type { display:none; }
.cinematic-site .project-art { border-radius:0; }
.cinematic-site .browser-frame { border-radius:3px; }
.cinematic-site .browser-bar { height:22px; font-size:8px; }
.cinematic-site .browser-frame video { top:22px; height:calc(100% - 22px); }
.cinematic-site .project-offset { grid-column:1/-1; }
.cinematic-site .project-offset .project-art { aspect-ratio:1.92; background:#29352d; }
.cinematic-site .phone { width:23%; border-radius:36px; border-width:5px; }
.cinematic-site .phone-back { left:27%; top:5%; transform:rotate(-12deg); }
.cinematic-site .phone-front { left:53%; top:16%; transform:rotate(10deg); }
.cinematic-site .project-small .project-art,.cinematic-site .project-last .project-art { aspect-ratio:1.14; }
.cinematic-site .project-small .browser-frame,.cinematic-site .project-last .browser-frame { width:90%; }
.cinematic-site .northside-art { background:#393b32; }
.cinematic-site .beauty-art { background:#403836; }
.cinematic-site .expertise { padding-top:118px; padding-bottom:104px; border-top:1px solid #343b37; }
.cinematic-site .expertise-lead { display:block; max-width:850px; margin-bottom:70px; }
.cinematic-site .expertise-lead h2 { font-size:clamp(50px,5.8vw,88px); font-weight:500; line-height:1.1; letter-spacing:-.06em; }
.cinematic-site .expertise-lead>p { font-size:18px; line-height:1.65; margin:30px 0 0; color:#b4bdb7; }
.cinematic-site .expertise-list details { border-top:1px solid #444c46; padding:30px 0; }
.cinematic-site .expertise-list details:last-child { border-bottom:0; }
.cinematic-site .expertise-list summary { min-height:65px; padding:0; gap:30px; }
.cinematic-site .expertise-list h3 { font-size:clamp(36px,4.3vw,65px); font-weight:450; letter-spacing:-.055em; }
.cinematic-site .expand { font-size:31px; font-weight:400; }
.cinematic-site .service-content { padding:26px 0 8px; display:grid; grid-template-columns:1.2fr .7fr .7fr; gap:7%; align-items:start; }
.cinematic-site .service-content>p:first-child { font-size:17px; line-height:1.75; max-width:470px; }
.cinematic-site .service-tags { margin:0; font-size:13px; line-height:2; }
.cinematic-site .service-content a { justify-self:end; align-self:end; font-size:14px; white-space:nowrap; }
.cinematic-site .working-note { display:flex; justify-content:space-between; gap:40px; margin-top:64px; color:#aab4ad; }
.cinematic-site .working-note p { font-size:16px; line-height:1.65; }
.cinematic-site .studio { display:grid; grid-template-columns:1fr .38fr; align-items:end; gap:10%; padding-top:120px; padding-bottom:120px; border-top:1px solid #343b37; }
.cinematic-site .studio h2 { font-size:clamp(47px,5.2vw,78px); font-weight:500; margin:0 0 32px; }
.cinematic-site .studio-body { max-width:520px; font-size:18px; color:#b7c0ba; }
.cinematic-site .founder-profile { display:flex; align-items:center; gap:22px; margin-top:38px; }
.cinematic-site .founder-profile img { width:82px; height:100px; object-fit:cover; object-position:center; filter:grayscale(1); }
.cinematic-site .founder-profile p { font-size:17px; margin:0 0 8px; }
.cinematic-site .founder-profile span { font-size:12px; color:#aeb7b0; }
.cinematic-site .studio-aside { padding-bottom:6px; }
.cinematic-site .studio-aside p { font-size:15px; line-height:1.75; color:#aeb7b0; margin-bottom:24px; }
.cinematic-site .studio-aside .text-link { font-size:13px; gap:15px; white-space:nowrap; }
.cinematic-site .contact-section { padding-top:100px; padding-bottom:70px; }
.cinematic-site .contact-heading h2 { font-size:clamp(72px,10vw,150px); line-height:1.06; font-weight:480; }
.cinematic-site .contact-bottom { margin-top:45px; }
.cinematic-site .site-footer { max-width:1600px; margin:auto; }
@media(min-width:1600px) { .cinematic-site .hero h1 { font-size:10.8vw; } }
@media(min-width:768px) and (max-height:760px) { .cinematic-site .hero { min-height:620px; } .cinematic-site .hero .eyebrow { top:108px; } .cinematic-site .hero-content { padding-bottom:28px; } .cinematic-site .hero-motion { bottom:30px; } }
@media(max-width:1023px) { .cinematic-site .hero-intro { padding-right:135px; } .cinematic-site .studio { gap:6%; grid-template-columns:1fr .5fr; } .cinematic-site .service-content { grid-template-columns:1.3fr 1fr; gap:28px; } .cinematic-site .service-content a { justify-self:start; grid-column:1/-1; } }
@media(max-width:767px) {
 .cinematic-site .site-header { height:80px; }
 .cinematic-site .hero { height:100svh; min-height:680px; }
 .cinematic-site .hero-art,.cinematic-site .hero-art.is-3d { inset:0; width:100%; height:100%; }
 .cinematic-site .hero-art:after,.cinematic-site .hero-art.is-3d:after { background:linear-gradient(180deg,#10161770,transparent 30%,#11141405 43%,#111414bd 66%,#111414 100%); }
 .cinematic-site .hero-content { padding:0 24px 31px; }
 .cinematic-site .hero .eyebrow { top:111px; font-size:14px; line-height:1.5; }
 .cinematic-site .hero h1 { white-space:normal; font-size:19.6vw; line-height:1.04; font-weight:480; letter-spacing:-.066em; margin-bottom:21px; }
 .cinematic-site .hero-line { display:block; }
 .cinematic-site .hero-line:first-child:after { content:none; }
 .cinematic-site .hero-intro { display:block; padding:0; }
 .cinematic-site .hero-intro p { font-size:13px; line-height:1.7; margin-bottom:18px; }
 .cinematic-site .round-link { display:inline-flex; font-size:12px; gap:27px; padding:8px 0; }
 .cinematic-site .round-link>span:last-child { font-size:21px; }
 .cinematic-site .hero-motion { right:24px; bottom:33px; font-size:10px; }
 .cinematic-site .work { padding-top:65px; padding-bottom:76px; }
 .cinematic-site .section-title { margin-bottom:30px; }
 .cinematic-site .section-title h2 { font-size:34px; }
 .cinematic-site .work-grid { display:block; }
 .cinematic-site .project { margin-bottom:48px; }
 .cinematic-site .project:last-child { margin-bottom:0; }
 .cinematic-site .project-art,.cinematic-site .project-naples .project-art { width:calc(100% + 48px); margin-left:-24px; aspect-ratio:1.15; }
 .cinematic-site .project-naples .browser-frame { width:91%; transform:perspective(1000px) rotateX(3deg); }
 .cinematic-site .project-offset .project-art { aspect-ratio:.94; }
 .cinematic-site .phone { width:42%; border-radius:25px; border-width:3px; }
 .cinematic-site .phone-back { left:10%; top:9%; }
 .cinematic-site .phone-front { left:49%; top:21%; }
 .cinematic-site .project-caption { margin-top:21px; display:block; }
 .cinematic-site .project-caption h3 { font-size:22px; }
 .cinematic-site .project-caption p { font-size:12px; margin-top:8px; }
 .cinematic-site .expertise { padding-top:72px; padding-bottom:70px; }
 .cinematic-site .expertise-lead { margin-bottom:44px; }
 .cinematic-site .expertise-lead h2 { font-size:11.3vw; line-height:1.12; }
 .cinematic-site .expertise-lead>p { font-size:15px; margin-top:25px; }
 .cinematic-site .expertise-list details { padding:22px 0; }
 .cinematic-site .expertise-list summary { min-height:44px; gap:15px; }
 .cinematic-site .expertise-list h3 { font-size:9.2vw; line-height:1.2; }
 .cinematic-site .expand { font-size:25px; }
 .cinematic-site .service-content { display:block; padding:18px 0 2px; }
 .cinematic-site .service-content>p:first-child { font-size:15px; line-height:1.75; }
 .cinematic-site .service-tags { margin:22px 0 16px; font-size:12px; line-height:1.8; }
 .cinematic-site .service-content a { font-size:13px; }
 .cinematic-site .working-note { display:block; margin-top:35px; }
 .cinematic-site .working-note p { font-size:14px; margin-bottom:17px; }
 .cinematic-site .working-note a { font-size:13px; }
 .cinematic-site .studio { display:block; padding-top:76px; padding-bottom:72px; }
 .cinematic-site .studio h2 { font-size:10.5vw; line-height:1.12; margin-bottom:25px; }
 .cinematic-site .studio-body { font-size:16px; }
 .cinematic-site .founder-profile { margin-top:28px; }
 .cinematic-site .studio-aside { margin-top:39px; display:grid; grid-template-columns:1fr 1fr; gap:12px; }
 .cinematic-site .studio-aside p { font-size:12px; margin:0; }
 .cinematic-site .studio-aside .text-link { grid-column:1/-1; margin-top:9px; }
 .cinematic-site .contact-section { padding-top:72px; padding-bottom:58px; }
 .cinematic-site .contact-heading h2 { font-size:14vw; line-height:1.1; }
 .cinematic-site .contact-arrow { font-size:53px; bottom:0; }
 .cinematic-site .contact-bottom { margin-top:29px; }
}
@media(max-width:359px) { .cinematic-site { --pad:24px; } .cinematic-site .hero h1 { font-size:19vw; } .cinematic-site .hero-motion { font-size:9px; } }
@media(prefers-reduced-motion:reduce) { .cinematic-site .round-link>span:last-child { transition:none; } }
.cinematic-site .hero-art:after,.cinematic-site .hero-art.is-3d:after { background:linear-gradient(180deg,rgba(12,16,17,.82),rgba(12,16,17,.65) 20%,transparent 43%,rgba(12,15,16,.24) 57%,rgba(12,15,16,.78) 80%,#111414 100%); }
.cinematic-site .hero-line:first-child { margin-right:.1em; }
@media(max-width:767px) {
 .cinematic-site .hero-line:first-child { margin-right:0; }
 .cinematic-site .hero-art:after,.cinematic-site .hero-art.is-3d:after { background:linear-gradient(180deg,#101617d9,#1016178f 24%,transparent 39%,#111414a8 57%,#111414f5 76%,#111414 100%); }
}
.cinematic-site .project-naples .browser-frame { width:100%; height:100%; transform:none; border:0; border-radius:0; box-shadow:none; }
.cinematic-site .project-naples .browser-bar { display:none; }
.cinematic-site .project-naples .browser-frame img { width:100%; height:100%; object-fit:cover; object-position:center 40%; }
.cinematic-site .project-naples .browser-frame video { inset:0; width:100%; height:100%; object-fit:cover; }
.cinematic-site .project-naples .project-art:hover .browser-frame { transform:scale(1.015); translate:none; rotate:none; }
.cinematic-site .expertise-lead h2 { font-size:clamp(42px,4.5vw,64px); }
@media(max-width:767px) {
 .cinematic-site .project-naples .project-art { aspect-ratio:1.1; }
 .cinematic-site .project-naples .browser-frame img { object-position:50% 30%; }
 .cinematic-site .expertise-lead h2 { font-size:38px; }
}
@media(prefers-reduced-motion:reduce) { .cinematic-site .project-naples .project-art:hover .browser-frame { transform:none; } }
@media(max-width:767px) { .cinematic-site .project-naples .browser-frame img { transform:scale(1.08); } }
.cinematic-site .project-small,.cinematic-site .project-last { grid-column:auto; min-width:0; }
.cinematic-site .hero-line:first-child { margin-right:.22em; }
@media(max-width:767px) { .cinematic-site .hero-line:first-child { margin-right:0; } }
@media(max-width:767px) and (max-height:700px) {
 .cinematic-site .hero { min-height:560px; }
 .cinematic-site .hero-content { padding-bottom:23px; }
 .cinematic-site .hero h1 { font-size:18.5vw; margin-bottom:16px; }
 .cinematic-site .hero-intro p { margin-bottom:10px; }
 .cinematic-site .hero-motion { bottom:25px; }
}
/* Real product detail and direct access to the person leading the work. */
.cinematic-site .project-naples .project-caption { gap:8%; padding-top:9px; }
.cinematic-site .case-context { max-width:460px; }
.cinematic-site .case-context>p { margin:0; font-size:17px; line-height:1.65; color:#c0c9c3; }
.case-link { display:inline-flex; align-items:center; gap:25px; min-height:44px; padding:8px 0; font-size:13px; border:0; border-bottom:1px solid #727c74; background:none; color:inherit; cursor:pointer; margin-top:18px; }
.case-link span { font-size:23px; transition:transform .3s ease; }
.case-link:hover span { transform:translate(3px,-3px); }
.cinematic-site .product-feature { position:relative; display:grid; grid-template-columns:1fr 1fr; min-height:760px; align-items:center; padding:70px 6%; gap:4%; overflow:hidden; background:#181a17; }
.cinematic-site .product-copy { z-index:1; padding-right:10px; }
.cinematic-site .product-name { font-size:18px; letter-spacing:-.03em; margin:0 0 28px; color:#c4d2c4; }
.cinematic-site .product-copy h3 { font-size:clamp(38px,3.9vw,59px); letter-spacing:-.055em; line-height:1.1; font-weight:500; }
.cinematic-site .product-intro { font-size:17px; color:#c0cdbf; line-height:1.7; max-width:345px; margin:26px 0 32px; }
.screen-picker { display:flex; gap:20px; }
.screen-picker button { font:500 13px/1.4 Manrope,sans-serif; min-height:46px; padding:11px 0; color:#b2c1b4; border:0; border-bottom:1px solid transparent; background:none; cursor:pointer; }
.screen-picker button[aria-pressed=true] { color:#f0f4e7; border-color:#e3ebcc; }
.screen-picker button:hover { color:white; }
.screen-picker button:focus-visible { outline:2px solid #f17054; outline-offset:5px; }
.screen-description { min-height:75px; font-size:14px; color:#bac9bb; line-height:1.65; margin:20px 0 0; max-width:340px; }
.product-copy .case-link { margin-top:8px; }
.product-status { font-size:10px; color:#a9baab; line-height:1.6; margin-top:28px; }
.product-device { position:relative; display:flex; align-items:center; justify-content:center; align-self:stretch; min-width:0; perspective:1400px; }
.device-shell { position:relative; width:min(310px,85%); padding:6px; border:1px solid #bbc1b3; border-radius:43px; background:linear-gradient(120deg,#c6cabf,#4f5750 25%,#858e81 65%,#262e27); transform:rotateY(-12deg) rotateZ(5deg); box-shadow:21px 26px 45px #0b190b70,inset 0 0 0 2px #363f36; z-index:1; }
.device-shell img { display:block; width:100%; height:auto; border:2px solid #202b20; border-radius:36px; background:#29372c; }
.device-shadow { position:absolute; width:65%; height:45px; background:#132017; filter:blur(24px); bottom:-1px; border-radius:50%; transform:rotate(-8deg); opacity:.7; }
.cinematic-site .engagement-note { margin-top:82px; padding-top:65px; border-top:1px solid #414b42; display:grid; grid-template-columns:1fr 1fr; gap:10%; }
.engagement-note h3 { font-size:clamp(33px,3.4vw,48px); font-weight:500; line-height:1.15; letter-spacing:-.045em; }
.engagement-note p { font-size:17px; color:#b6c1b8; line-height:1.75; max-width:430px; }
.engagement-note .text-link { margin-top:24px; font-size:14px; }
.cinematic-site .studio { grid-template-columns:1.15fr 1fr; align-items:center; gap:10%; }
.cinematic-site .studio h2 { font-size:clamp(42px,4.5vw,64px); line-height:1.12; }
.cinematic-site .studio-body { font-size:17px; max-width:450px; }
.studio-principles { margin-top:36px; }
.studio-principles p { font-size:15px; margin-top:12px; color:#a9b6ad; }
.founder-card { position:relative; padding:35px 38px; background:#242b27; border:1px solid #465148; box-shadow:0 24px 48px #060c0738; transform:rotate(-2deg); }
.founder-card-top { display:flex; justify-content:space-between; align-items:center; gap:20px; }
.founder-card-top .wordmark { font-size:32px; }
.founder-card-top>span:last-child { font-size:10px; color:#aab6ad; }
.cinematic-site .founder-card .founder-profile { margin-top:36px; gap:22px; }
.cinematic-site .founder-card .founder-profile img { width:78px; height:96px; }
.cinematic-site .founder-card .founder-profile p { font-size:21px; letter-spacing:-.03em; }
.cinematic-site .founder-card .founder-profile span { font-size:11px; }
.founder-invitation { margin-top:35px; font-size:22px; line-height:1.4; letter-spacing:-.035em; }
.founder-book { display:flex; justify-content:space-between; align-items:center; font-size:15px; margin-top:30px; padding:15px 0; border-bottom:1px solid #8b978b; min-height:50px; }
.founder-book span { font-size:25px; transition:transform .3s; }
.founder-book:hover span { transform:translate(3px,-3px); }
.founder-email { display:inline-flex; font-size:12px; color:#b3c0b6; min-height:44px; align-items:center; margin-top:7px; }
@media(min-width:768px) and (max-width:1100px) {
 .cinematic-site .product-feature { padding:48px 5%; min-height:660px; }
 .cinematic-site .product-copy h3 { font-size:37px; }
 .cinematic-site .product-intro { font-size:15px; }
 .screen-picker { gap:15px; }
 .screen-picker button { font-size:12px; }
 .device-shell { border-radius:33px; }
 .device-shell img { border-radius:27px; }
 .cinematic-site .studio { gap:6%; }
 .founder-card { padding:27px; }
 .founder-invitation { font-size:21px; }
 .founder-card-top>span:last-child { max-width:80px; line-height:1.6; }
}
@media(max-width:767px) {
 .cinematic-site .project-naples .project-caption { padding-top:0; }
 .cinematic-site .case-context { margin-top:22px; }
 .cinematic-site .case-context>p { font-size:15px; line-height:1.75; }
 .case-link { margin-top:12px; font-size:12px; }
 .cinematic-site .product-story { width:calc(100% + 48px); margin-left:-24px; }
 .cinematic-site .product-feature { display:flex; flex-direction:column; min-height:0; padding:44px 24px 36px; gap:0; }
 .cinematic-site .product-copy { display:contents; }
 .cinematic-site .product-name { order:0; align-self:start; font-size:16px; margin-bottom:19px; }
 .cinematic-site .product-copy h3 { order:1; align-self:start; font-size:11vw; line-height:1.1; }
 .cinematic-site .product-intro { order:2; align-self:start; font-size:15px; margin:20px 0 26px; max-width:300px; }
 .product-device { order:3; height:auto; width:100%; min-height:0; align-self:auto; padding:8px 0 25px; }
 .device-shell { width:220px; border-radius:32px; padding:5px; transform:rotateY(-9deg) rotateZ(3deg); }
 .device-shell img { border-radius:26px; }
 .device-shadow { bottom:13px; height:30px; width:190px; }
 .screen-picker { order:4; width:100%; justify-content:space-between; gap:18px; margin-top:16px; }
 .screen-picker button { font-size:13px; min-height:48px; flex:1; }
 .screen-description { order:5; min-height:67px; align-self:start; font-size:14px; margin-top:21px; }
 .product-copy .case-link { order:6; align-self:start; margin-top:3px; }
 .product-status { order:7; align-self:start; font-size:10px; margin-top:23px; }
 .cinematic-site .engagement-note { display:block; margin-top:45px; padding-top:43px; }
 .engagement-note h3 { font-size:33px; margin-bottom:25px; }
 .engagement-note p { font-size:15px; }
 .engagement-note .text-link { font-size:13px; margin-top:15px; }
 .cinematic-site .studio h2 { font-size:10.6vw; }
 .cinematic-site .studio-body { font-size:16px; }
 .studio-principles { margin-top:27px; }
 .studio-principles p { font-size:14px; margin-top:10px; }
 .founder-card { margin:49px 4px 5px; padding:26px; transform:rotate(-1.6deg); }
 .founder-card-top>span:last-child { font-size:9px; }
 .cinematic-site .founder-card .founder-profile { margin-top:28px; gap:18px; }
 .cinematic-site .founder-card .founder-profile img { width:63px; height:80px; }
 .cinematic-site .founder-card .founder-profile p { font-size:19px; }
 .cinematic-site .founder-card .founder-profile span { font-size:10px; }
 .founder-invitation { font-size:22px; margin-top:28px; }
 .founder-book { margin-top:20px; font-size:14px; }
 .founder-email { font-size:11px; }
}
@media(max-width:359px) { .founder-card { padding:21px; } .founder-card-top>span:last-child { font-size:8px; } .device-shell { width:200px; } }
@media(prefers-reduced-motion:reduce) { .case-link span,.founder-book span { transition:none; } }
.device-shell img { aspect-ratio:540/1170; object-fit:cover; object-position:top; }
.cinematic-site .header-cta,.cinematic-site .round-link { min-height:44px; }

/* Integration additions (2026-09-06): FAQ band, footer navigation, service cross-links. Same tokens as the rest of the file. */
.cinematic-site .service-more { grid-column:1/-1; margin:18px 0 0; font-size:14px; line-height:1.8; color:#a9b6ad; max-width:760px; }
.cinematic-site .service-more a { display:inline; border:0; padding:0; justify-self:auto; align-self:auto; white-space:normal; font-size:inherit; text-decoration:underline; text-decoration-color:#5c645d; text-underline-offset:4px; }
.cinematic-site .service-more a:hover { color:var(--accent); text-decoration-color:var(--accent); }
.cinematic-site .faq { padding-top:0; }
.cinematic-site .faq-lead { display:grid; grid-template-columns:1fr 1fr; gap:10%; align-items:end; margin-bottom:56px; padding-top:80px; border-top:1px solid #414b42; }
.cinematic-site .faq-lead h2 { font-size:clamp(40px,4.8vw,72px); font-weight:500; line-height:1.1; letter-spacing:-.055em; }
.cinematic-site .faq-lead p { font-size:17px; color:#b4bdb7; max-width:420px; }
.faq-list details { border-top:1px solid #444c46; padding:22px 0; }
.faq-list details:last-child { border-bottom:1px solid #444c46; }
.faq-list summary { display:flex; gap:28px; align-items:center; cursor:pointer; list-style:none; min-height:52px; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list h3 { font-size:clamp(20px,2.1vw,30px); font-weight:450; letter-spacing:-.035em; line-height:1.25; }
.faq-list details[open] .expand { transform:rotate(45deg); color:var(--accent); }
.faq-answer { padding:16px 0 8px; }
.faq-answer p { font-size:16px; line-height:1.75; color:#babdb4; max-width:720px; }
.cinematic-site .site-footer.footer-grid { display:grid; grid-template-columns:1.2fr 2fr; gap:48px 8%; align-items:start; padding-top:56px; padding-bottom:40px; }
.footer-brand p { font-size:13px; line-height:1.7; color:var(--muted); max-width:360px; margin-top:18px; }
.cinematic-site .site-footer .footer-links { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; margin:0; font-size:13px; color:#b5b8ae; }
.footer-links > div { display:flex; flex-direction:column; gap:2px; }
.footer-links a { min-height:36px; display:flex; align-items:center; }
.footer-label { display:block; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); margin-bottom:10px; }
.cinematic-site .site-footer.footer-grid .copyright { grid-column:1/-1; width:auto; font-size:11px; color:var(--muted); padding-top:24px; border-top:1px solid var(--line); }
@media(max-width:900px){ .cinematic-site .site-footer.footer-grid { grid-template-columns:1fr; gap:36px; } .cinematic-site .site-footer .footer-links { grid-template-columns:1fr 1fr; } .cinematic-site .faq-lead { grid-template-columns:1fr; gap:18px; } }
@media(max-width:560px){ .cinematic-site .site-footer .footer-links { grid-template-columns:1fr; } .faq-list summary { gap:16px; } }

/* iOS horizontal-pan guard (clip keeps position:sticky alive; never overflow-x:hidden). */
html { overflow-x: clip; }

/* Native mobile sculpture loop starts with the first available frame. */
.cinematic-site .hero-film { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity .18s ease; pointer-events:none; }
.cinematic-site .hero-art.is-film .hero-film { opacity:1; }
.cinematic-site .hero-art.is-film picture { opacity:0; transition:opacity .18s ease; }
.cinematic-site .hero-art:not(.is-film).is-warming img { animation:sculpture-arrival 7s ease-in-out infinite alternate; }
@keyframes sculpture-arrival { from { transform:scale(1.05) translate3d(-1%,0,0); } to { transform:scale(1.11) translate3d(1%,1%,0); } }
.cinematic-site .project-result { display:flex; flex-direction:column; align-items:flex-start; gap:5px; border-top:1px solid var(--line); margin-top:24px; padding:22px 0 2px; }
.cinematic-site .project-result strong { font-size:clamp(24px,2.1vw,32px); font-weight:500; letter-spacing:-.04em; line-height:1.25; color:var(--accent); }
.cinematic-site .project-result strong span { color:var(--ink); }
.cinematic-site .project-result > span { font-size:13px; color:var(--muted); }
.cinematic-site .project-result:hover strong span { color:var(--accent); }
@media(prefers-reduced-motion:reduce){ .cinematic-site .hero-art.is-warming img { animation:none; } .cinematic-site .hero-film { transition:none; } }

/* Consistent project framing and a direct next step after the portfolio. */
.cinematic-site #work .work-followup { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-top:64px; padding-top:32px; border-top:1px solid var(--line); }
.cinematic-site #work .work-followup p { font-size:28px; font-weight:500; letter-spacing:-.035em; }
.cinematic-site #work .work-followup .case-link { margin:0; font-size:15px; flex:none; }
.cinematic-site .faq-answer a { text-decoration:underline; text-decoration-color:var(--muted); text-underline-offset:4px; }
.cinematic-site .faq-answer a:hover { color:var(--accent); text-decoration-color:currentColor; }
@media(min-width:768px) {
 .cinematic-site #work :is(.project-small,.project-last) .browser-frame { width:88%; transform:perspective(1600px) rotateX(3deg); translate:none; rotate:none; box-shadow:0 24px 48px #0005; }
 .cinematic-site #work :is(.project-small,.project-last) .project-art:hover .browser-frame { transform:perspective(1600px) rotateX(0deg); }
 .cinematic-site #work .project-result strong { font-size:40px; }
 .cinematic-site #work .project-result strong span { font-size:23px; }
}
@media(prefers-reduced-motion:reduce) {
 .cinematic-site #work :is(.project-small,.project-last) .browser-frame,
 .cinematic-site #work :is(.project-small,.project-last) .project-art:hover .browser-frame { transform:none; }
}
