/* Editorial spacing and scroll choreography; all identity assets and copy retained. */
:root{--motion-ease:cubic-bezier(.2,.7,.2,1)}
html{scroll-padding-top:110px}body{overflow-x:clip}main{isolation:isolate}
header{position:sticky;top:0;height:92px;padding:0 5%;z-index:30;background:#14291ff0;border-bottom:1px solid #f5f3ea15;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);transition:height .45s var(--motion-ease),box-shadow .4s}
header.is-scrolled{height:74px;box-shadow:0 8px 40px #08130e20}header .studio-logo{width:235px;transition:width .4s var(--motion-ease)}header.is-scrolled .studio-logo{width:205px}
header nav{gap:34px;align-items:center}header nav a{font-size:14px;opacity:.85;transition:opacity .2s}header nav a:hover{opacity:1}header nav a:last-child{border:1px solid #f5f3ea45;border-radius:100px;padding:10px 21px}
#mobile-nav{position:fixed;top:74px;left:0;right:0;z-index:29;background:var(--green);color:var(--cream);max-height:calc(100dvh - 74px);overflow-y:auto}
#mobile-nav a{display:block;min-height:48px;padding:12px 0;font-size:16px;border-bottom:1px solid #f5f3ea25}
#mobile-nav a:hover,#mobile-nav a:focus-visible{color:#f4c886}
@media(min-width:801px){#mobile-nav{display:none}}
.hero{height:auto;min-height:0;display:block;z-index:0;background:var(--green)}
.hero-stage{position:relative;min-height:calc(100svh - 92px);display:flex;flex-direction:column;overflow:clip;background:var(--green)}
.hero-shade{background:radial-gradient(ellipse at 76% 52%,#34573a66,transparent 52%)}
.hero-content{width:100%;max-width:1550px;margin:auto;grid-template-columns:1.1fr 1fr;gap:5%;padding:64px 5% 70px;flex:1}
.hero h1{font-size:clamp(52px,5.4vw,86px);line-height:1.05;letter-spacing:-.045em;text-wrap:balance}.hero h1 em{display:inline-block;padding-right:.07em}
.hero .eyebrow{font-size:12px;letter-spacing:2.5px;margin-bottom:34px}.hero-copy{font-size:17px;line-height:1.85;max-width:455px;margin-top:32px}
.hero-intro{will-change:transform;transform:translate3d(0,var(--hero-text-y,0px),0)}
.hero-player{will-change:transform;transform:translate3d(0,var(--hero-tv-y,0px),0) scale(var(--hero-tv-scale,1));transform-origin:50% 50%;max-width:620px}
.hero-bottom{width:90%;max-width:1395px;margin:0 auto;position:relative;padding:22px 0 30px;font-size:12px;letter-spacing:1.5px;gap:22px}.hero-bottom a{align-items:center}.hero-bottom a span{font-size:22px}
.button{border-radius:100px;padding:16px 26px;min-height:58px;gap:42px;border:1px solid #f5f3ea80;box-shadow:0 4px 14px #06140c15;transition:transform .35s var(--motion-ease),box-shadow .35s,background .35s}
.button:hover{transform:translateY(-3px);box-shadow:0 10px 28px #06140c25}.hero .button{margin-top:34px}
.section{position:relative;padding:140px max(7%,calc((100vw - 1350px)/2));z-index:2}h2{text-wrap:balance}.eyebrow{font-size:12px;letter-spacing:2.2px}
.intro{background:var(--cream);border-radius:48px 48px 0 0;padding-top:135px;box-shadow:0 -20px 60px #06120b10}.intro>.eyebrow{text-align:center}
.intro-grid{display:block}.intro-grid h2{text-align:center;font-size:clamp(55px,7.5vw,112px);line-height:1.04;margin-bottom:56px}.intro-grid>div{max-width:690px;margin:0 auto}.intro-grid .lead{font-size:26px;line-height:1.55;text-align:center;margin-bottom:30px}.intro-grid p:not(.lead){font-size:17px;line-height:1.85}
.audiences{margin-top:80px;padding-top:30px;gap:30px;align-items:center;font-size:12px;line-height:1.7;letter-spacing:1.1px}
#business{background:var(--cream);border-top:1px solid #17291f1c;padding-top:140px;padding-bottom:155px;column-gap:10%}#business h2{font-size:clamp(52px,6.3vw,94px);line-height:1.07}#business>div{font-size:17px;line-height:1.85}#business>div>p:first-child{font-size:26px;line-height:1.5}.text-link{min-height:44px;align-items:center}
.approach{display:grid;grid-template-columns:1.1fr 1fr;gap:80px 10%;border-radius:48px 48px 0 0;overflow:visible}.approach .section-heading{display:block;align-self:start}.approach .section-heading h2{font-size:clamp(48px,5.3vw,80px)}.approach .section-heading>p{margin-top:34px;font-size:17px;line-height:1.8;max-width:360px}.steps{display:block;margin:0}.steps article{padding:34px 0 48px;min-height:260px}.steps article+article{margin-top:48px}.steps h3{font-size:38px;line-height:1.18;margin:22px 0}.steps p{font-size:17px;line-height:1.85}.step-number{font-size:12px;letter-spacing:1.7px}.approach details{grid-column:1/-1;margin-top:0;font-size:16px}.approach summary{font-size:16px;padding:25px 0}.approach details>div{font-size:16px;line-height:1.85}
.hospitality{gap:10%;align-items:center;background:var(--cream);padding-top:155px;padding-bottom:155px}.hospitality-image{height:620px;border-radius:180px 180px 12px 12px;overflow:hidden}.hospitality-image img{height:116%;position:absolute;inset:-8% 0;transform:translate3d(0,var(--image-y,0px),0);object-fit:cover;object-position:76%}.hospitality-copy h2{font-size:clamp(50px,5.7vw,82px)}.hospitality-copy p:not(.eyebrow){font-size:17px;line-height:1.85}.image-caption{font-size:12px;letter-spacing:1.5px}
.offers{padding-top:50px;padding-bottom:150px;background:var(--cream)}.offers .section-heading{align-items:center}.offers h2{font-size:clamp(50px,6vw,88px)}.offers .section-heading>p{font-size:17px;line-height:1.85}.offer-grid{margin-top:70px;gap:30px;perspective:1600px}.offer{padding:44px 42px 0;border-radius:20px;background:#f5f3ea;border-color:#17291f30;box-shadow:0 10px 40px #16291c09;transition:box-shadow .4s,translate .4s}.offer:nth-child(2){background:#e8ebde}.offer h3{font-size:46px}.offer>p{font-size:17px;line-height:1.8}.offer-foot{margin-top:46px;padding:25px 0}.offer-foot span{font-size:12px}.offer:hover{translate:0 -6px;box-shadow:0 20px 45px #16291c16}.offer-foot a{width:52px;height:52px}
.contact{padding-top:160px;padding-bottom:145px;border-radius:48px 48px 0 0;overflow:hidden;background:radial-gradient(ellipse at 50% 100%,#34573a55,transparent 70%),var(--green)}.contact h2{font-size:clamp(56px,8.2vw,120px);line-height:1.04}.contact h2 em{display:inline-block;padding-right:.08em}.contact>p:not(.eyebrow){font-size:18px;line-height:1.8}.contact .contact-note{font-size:12px!important}.contact .button{margin-top:40px}
footer{position:relative;z-index:3;padding:40px 5%;border-color:#f5f3ea1a}footer .studio-logo{width:240px}
/* Progressive enhancement: content is visible when scripts or motion are disabled. */
.motion-ready .reveal-item{opacity:0;transform:translate3d(0,34px,0);transition:opacity .85s var(--motion-ease),transform 1s var(--motion-ease);transition-delay:var(--reveal-delay,0ms)}
.motion-ready .reveal-item.is-visible{opacity:1;transform:translate3d(0,0,0)}
@media(min-width:1001px) and (min-height:760px){.motion-ready .hero{height:145svh}.motion-ready .hero-stage{position:sticky;top:74px;min-height:calc(100svh - 74px)}.motion-ready .intro{margin-top:-55px}.approach .section-heading{position:sticky;top:135px}}
@media(min-width:1001px){#business h2{align-self:start;position:sticky;top:145px}}
@media(max-width:1100px){.hero h1{font-size:clamp(46px,5.7vw,66px)}.hero-content{gap:3%;padding-top:60px;padding-bottom:70px}.section{padding-left:6%;padding-right:6%}.approach{gap:70px 7%}.hospitality-image{height:530px}.offer{padding:32px 30px 0}.offer h3{font-size:39px}}
@media(max-width:800px){header,header.is-scrolled{height:74px;padding:0 5%}header .studio-logo,header.is-scrolled .studio-logo{width:200px}.menu{border-radius:100px;padding:8px 16px}#mobile-nav{padding:18px 6% 28px;box-shadow:0 20px 30px #05120b30;gap:10px}.hero-stage{min-height:0}.hero-content{display:flex;flex-direction:column;padding:48px 6% 35px;gap:32px}.hero-intro{width:100%;transform:none!important}.hero h1{font-size:clamp(44px,8vw,66px);max-width:640px}.hero .eyebrow{margin-bottom:26px}.hero-copy{font-size:16px;max-width:520px;margin-top:25px}.hero-player{transform:none!important;max-width:450px;width:100%}.hero-bottom{font-size:12px;padding-bottom:28px;width:88%;letter-spacing:.9px}.hero-bottom a{gap:14px}.section{padding:90px 6%}.intro{border-radius:28px 28px 0 0;padding-top:90px}.intro-grid h2{font-size:clamp(48px,9vw,74px);margin-bottom:36px}.intro-grid .lead{font-size:22px}.audiences{margin-top:48px;display:flex;flex-direction:column;align-items:flex-start;gap:16px}.intro-grid p:not(.lead){font-size:16px}#business{padding:80px 6% 95px;gap:30px}#business h2{font-size:clamp(48px,9vw,70px)}#business>div>p:first-child{font-size:23px}.approach{display:block;border-radius:28px 28px 0 0}.approach .section-heading h2{font-size:clamp(46px,8.5vw,66px)}.approach .section-heading>p{max-width:500px}.steps{margin-top:55px}.steps article{min-height:0;padding-bottom:20px}.steps article+article{margin-top:30px}.steps h3{font-size:34px}.approach details{margin-top:48px}.hospitality{gap:40px;padding:90px 6%}.hospitality-image{height:480px;max-width:560px;width:100%;margin:0 auto;border-radius:130px 130px 8px 8px}.hospitality-copy h2{font-size:clamp(49px,9vw,70px)}.offers{padding-top:35px;padding-bottom:95px}.offers h2{font-size:clamp(48px,9vw,70px)}.offer-grid{margin-top:42px;gap:22px}.offer h3{font-size:38px}.offer-foot{margin-top:30px}.contact{border-radius:28px 28px 0 0;padding:100px 6%}.contact h2{font-size:clamp(50px,10vw,76px)}.contact>p:not(.eyebrow){font-size:17px}footer{padding:30px 6%}footer>span{font-size:12px}footer p{font-size:14px}}
@media(max-width:380px){header .studio-logo,header.is-scrolled .studio-logo{width:174px}.hero h1{font-size:42px}.hero-bottom{flex-direction:column;gap:14px}.offer{padding:28px 23px 0}.offer-foot span{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-intro,.hero-player,.hospitality-image img,.motion-ready .reveal-item{transform:none!important;opacity:1!important;transition:none!important}.motion-ready .hero{height:auto}.motion-ready .hero-stage{position:relative}.motion-ready .intro{margin-top:0}.offer:hover{translate:none}header,header .studio-logo{transition:none}}
/* A soft light field sits at the edges and in the space between sections. */
.heat-ribbon{position:fixed;inset:0;width:100%;height:100%;z-index:8;pointer-events:none;opacity:.95;contain:strict}
@media(max-width:800px){.heat-ribbon{opacity:.82}}
@media(prefers-reduced-motion:reduce){.heat-ribbon{display:none!important}}

/* The original brand flame receives the ribbon at the end of the page. */
footer{flex-direction:column;justify-content:center;text-align:center;gap:22px;min-height:62svh;padding:65px 5% 42px}
footer .wordmark{position:relative;width:min(1100px,100%);margin:0 auto;line-height:0}
footer .studio-logo{width:100%;height:auto}
footer .studio-logo:not(.footer-flame){clip-path:polygon(evenodd,0 0,100% 0,100% 100%,0 100%,0 0,21% 21%,24% 21%,24% 38.3%,21% 38.3%,21% 21%)}
footer .footer-flame{position:absolute;inset:0;clip-path:inset(21% 76% 61.7% 21%);transform-origin:22.5% 38%;will-change:transform;animation:footer-fire 1.35s ease-in-out infinite alternate;animation-play-state:paused}
footer.flame-arrived .footer-flame{animation-play-state:running}
footer p{order:initial;width:auto;font-size:16px}footer>span{font-size:12px;opacity:.7}
@keyframes footer-fire{0%{transform:scaleX(.94) scaleY(1.01) skewX(-2deg);filter:url(#logo-transparency) brightness(1.2) saturate(1.2)}27%{transform:scaleX(1.05) scaleY(.96) skewX(2deg);filter:url(#logo-transparency) brightness(1.5) saturate(1.2)}53%{transform:scaleX(.93) scaleY(1.08) skewX(-3deg);filter:url(#logo-transparency) brightness(1.25) saturate(1.1)}78%{transform:scaleX(1.02) scaleY(1.03) skewX(1deg);filter:url(#logo-transparency) brightness(1.6) saturate(1.2)}100%{transform:scaleX(.97) scaleY(1.1) skewX(-1deg);filter:url(#logo-transparency) brightness(1.3) saturate(1.15)}}
@media(max-width:800px){footer{min-height:44svh;padding:65px 2% 35px;gap:20px}footer p{font-size:14px}}
@media(prefers-reduced-motion:reduce){footer .footer-flame{animation:none;will-change:auto}}
.hero-script-link{display:block;width:fit-content;margin-top:20px;font-size:14px;color:#f4c886;text-decoration:underline;text-underline-offset:5px}
.free-script{display:grid;grid-template-columns:1fr 1.05fr;gap:8%;background:#e8ebde;border-top:1px solid #17291f25;border-bottom:1px solid #17291f25}
.script-pitch h2{font-size:clamp(54px,6vw,90px);margin-bottom:34px}.script-pitch>p:not(.eyebrow){font-size:18px;line-height:1.8;max-width:460px}.script-promise{display:block;margin-top:34px;font-size:14px;color:#465743}
.script-form{padding:38px;border:1px solid #17291f28;border-radius:22px;background:var(--cream);box-shadow:0 18px 65px #17291f0a;position:relative;z-index:9}.form-intro{font-size:22px;line-height:1.4;margin-bottom:25px}
.script-form label{display:block;font-size:14px;font-weight:500;margin:19px 0 8px}.script-form label:first-child{margin-top:0}.optional{font-size:12px;font-weight:400;opacity:.7;margin-left:4px}
.script-form input,.script-form textarea{display:block;width:100%;min-width:0;border:1px solid #17291f55;border-radius:7px;background:#fffefa;padding:12px 13px;font:inherit;font-size:16px;line-height:1.5;color:var(--ink)}.script-form textarea{resize:vertical;min-height:130px}.script-form input:focus-visible,.script-form textarea:focus-visible{outline:2px solid #aa591b;outline-offset:3px}.script-form input::placeholder,.script-form textarea::placeholder{color:#71766a;opacity:1}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-pair label:first-child{margin-top:19px}.script-form .form-privacy{font-size:12px;line-height:1.65;color:#59634f;margin-top:23px}.script-form .button{width:100%;background:var(--green);color:var(--cream);border:0;cursor:pointer;margin-top:22px;gap:20px}.script-form .button:disabled{opacity:.6;cursor:wait}.form-status{font-size:15px;line-height:1.65;margin-top:18px}.form-status:empty{display:none}.form-status.is-error{color:#9b331b}.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
@media(max-width:1000px){header nav{gap:18px}header nav a{font-size:13px}.free-script{gap:5%}.script-form{padding:28px}}
@media(max-width:800px){.free-script{grid-template-columns:1fr;gap:40px}.script-pitch h2{font-size:clamp(48px,9vw,74px)}.script-pitch>p:not(.eyebrow){font-size:16px}.script-form{padding:25px}.form-pair{grid-template-columns:1fr;gap:0}}
