/* Shared phone layout for the studio homepage and supporting pages. */
.ambient-ready .header,.ambient-ready.past-story .header,.ambient-ready.intro-opening .header{background:linear-gradient(#030609eb,#030609cf)}
body{--assistant-bottom:max(20px,env(safe-area-inset-bottom))}
.assistant-launch{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:var(--assistant-bottom);z-index:35;display:flex;align-items:center;gap:9px;min-height:48px;padding:12px 19px;border:1px solid #ff6b32;border-radius:30px;background:#ff6b32;color:#180d07;font:600 14px Arial,sans-serif;box-shadow:0 8px 30px #0005;cursor:pointer}
.assistant-launch span{color:inherit}
.assistant-launch:hover{background:#ff8758;border-color:#ff8758}
.studio-page .assistant-launch{background:#ff6b32;border-color:#ff6b32;color:#180d07}.studio-page .assistant-launch:hover{background:#ff8758;border-color:#ff8758}.studio-page .assistant-launch span{color:inherit}
.assistant-launch[aria-expanded="true"]{display:none}
.assistant-dialog{position:fixed;inset:auto max(20px,env(safe-area-inset-right)) calc(var(--assistant-bottom) + 12px) auto;z-index:60;box-sizing:border-box;width:min(350px,calc(100% - 32px));height:min(560px,calc(100dvh - var(--assistant-bottom) - 108px));max-height:calc(100dvh - var(--assistant-bottom) - 108px);margin:0;padding:0;border:1px solid #e1e5e8;border-radius:18px;background:#fff;color:#20262b;font:15px Arial,sans-serif;overflow:visible;box-shadow:0 16px 60px #0005;color-scheme:light}
.assistant-dialog[open]{display:flex;flex-direction:column;transform-origin:calc(100% - 34px) bottom;animation:assistant-open .22s cubic-bezier(.22,1,.36,1) both}
.assistant-dialog:after{content:'';position:absolute;right:28px;bottom:-9px;width:16px;height:16px;background:#fff;border-right:1px solid #e1e5e8;border-bottom:1px solid #e1e5e8;transform:rotate(45deg);border-radius:0 0 3px 0}
@keyframes assistant-open{from{opacity:0;transform:translateY(10px) scale(.92)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.assistant-dialog[open]{animation:none}}
.assistant-dialog>header{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-radius:18px 18px 0 0;background:#fff;border-bottom:1px solid #eceef0}
.assistant-dialog h2{font:600 23px/1.2 Arial,sans-serif;letter-spacing:-.6px;margin:0;color:#20262b}
.assistant-dialog .eyebrow{font:600 10px/1.5 Arial,sans-serif;color:#c64817;letter-spacing:1.5px;margin:0 0 4px}.assistant-dialog .eyebrow:before{display:none}
.assistant-dialog header button{width:44px;height:44px;flex-shrink:0;background:#fff4ed;color:#a74420;border:1px solid #ffdfcf;border-radius:50%;font-size:24px;cursor:pointer}
.assistant-conversation{flex:1 1 auto;min-height:0;max-height:none;overflow-y:auto;overscroll-behavior:contain;padding:18px;display:flex;flex-direction:column;gap:12px;background:#fff}
.assistant-message{flex-shrink:0;align-self:flex-start;max-width:92%;border-radius:14px 14px 14px 4px;padding:12px 14px;background:#f2f4f5;color:#28323b;overflow-wrap:anywhere}
.assistant-message.user{align-self:flex-end;background:#fff0e5;border:1px solid #ffd7bc;border-radius:14px 14px 4px 14px;color:#56250d}
.assistant-speaker{display:block;font-size:10px;font-weight:700;letter-spacing:.04em;margin-bottom:5px;color:#bc4317}.assistant-message.user .assistant-speaker{color:#854124}
.assistant-message p{margin:0;font:14px/1.6 Arial,sans-serif;color:inherit}
.typing-dots{display:flex;align-items:center;gap:5px;min-height:23px;padding:0 3px}.typing-dots>span{width:6px;height:6px;border-radius:50%;background:#e35b25;animation:assistant-typing 1s ease-in-out infinite}.typing-dots>span:nth-child(2){animation-delay:.15s}.typing-dots>span:nth-child(3){animation-delay:.3s}
@keyframes assistant-typing{0%,60%,100%{transform:translateY(0);opacity:.45}30%{transform:translateY(-4px);opacity:1}}
@media(prefers-reduced-motion:reduce){.typing-dots>span{animation:none;opacity:.7}}
.assistant-composer button:disabled{opacity:.55;cursor:default}
.assistant-book{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-top:12px;padding:10px 16px;border-radius:8px;background:#ff6b32;color:#211008;font-size:14px;font-weight:600;text-decoration:none}
.assistant-form{flex-shrink:0;margin:0;padding:13px 16px 0;border-top:1px solid #eceef0;background:#fff}.assistant-form label{display:block;font-size:12px;font-weight:600;color:#626c74;margin:0 0 7px}
.assistant-composer{display:flex;gap:8px}.assistant-composer input{flex:1;min-width:0;width:100%;font:16px Arial,sans-serif;padding:12px;border:1px solid #cfd6da;border-radius:9px;background:#fff;color:#20262b}.assistant-composer input::placeholder{color:#78818a}
.assistant-composer button{min-height:46px;padding:10px 15px;border:0;border-radius:9px;background:#ff6b32;color:#211008;font-weight:600;cursor:pointer}
.assistant-note{flex-shrink:0;margin:0;padding:9px 16px 12px;font:10px/1.4 Arial,sans-serif;color:#78818a;background:#fff;border-radius:0 0 18px 18px}
.assistant-dialog :focus-visible{outline:2px solid #ce4917;outline-offset:3px}
body:has(.stage):not(.past-story){--assistant-bottom:calc(88px + env(safe-area-inset-bottom))}
.story-skip{min-height:44px;padding:10px 16px!important;color:#f3efe9!important;border:1px solid #ffffff35!important;background:#0b1218e6!important;border-radius:25px!important;font-size:13px!important}
.business-setup{margin-bottom:30px}
@media(max-width:760px){
 html{-webkit-text-size-adjust:100%}
 .header,.past-story .header{height:74px;padding:12px max(18px,env(safe-area-inset-right)) 12px max(18px,env(safe-area-inset-left));gap:10px}
 .header .brand,.header .brand img,.past-story .header .brand,.past-story .header .brand img{width:64px}
 .header .contact,.past-story .header .contact{min-height:44px;padding:10px 14px;font-size:13px}
 .header .nav-toggle{min-height:44px;padding:10px 13px;font-size:13px}
 .header .header-nav,.past-story .header .header-nav{top:73px;padding:12px 18px 18px;max-height:calc(100dvh - 74px);overflow:auto;gap:8px}
 .header .header-nav a{font-size:15px;min-height:48px;padding:12px}
 .stage{height:100svh;min-height:600px}
 .scroll-track{margin-top:-max(100svh,600px)}
 .scroll-track>div{height:112svh;min-height:640px}
 .scroll-track>div:last-child{height:100svh;min-height:600px}
 .stage[data-scene] .scene-copy,.stage[data-scene] .scene-copy[data-side]{top:96px;left:22px;right:22px;max-width:none}
 .stage[data-scene] .scene-heading{font-size:clamp(34px,9.2vw,41px);line-height:1.04;max-width:100%;letter-spacing:-.05em}
 .stage[data-scene] .scene-copy .eyebrow{font-size:9px;line-height:1.5;letter-spacing:1px;margin-bottom:13px}
 .stage[data-scene] .scene-copy .description{font-size:15px;line-height:1.5;margin:14px 0;max-width:none}
 .stage[data-scene] .scene-copy .action,.stage[data-scene] .scene-copy .demo-action{font-size:13px;line-height:1.4;min-height:44px;max-width:100%;white-space:normal;padding:10px 14px;margin-top:0}
 .stage[data-scene="0"] .scene-copy{top:28%;text-align:center}
 .stage[data-scene="0"] .scene-copy .description{max-width:310px;margin:20px auto}
 .stage[data-scene="7"] .scene-copy{top:24%;text-align:center}
 .stage[data-scene="7"] .destination-logo{width:min(300px,76vw)}
 .stage[data-scene="7"] .scene-copy .description{font-size:17px;line-height:1.5;max-width:330px;margin:18px auto 22px}
 .stage[data-scene="7"] .scene-copy .action{min-height:48px;font-size:15px;padding:12px 22px}
 .destination-services{font-size:11px;line-height:1.8;max-width:300px;margin:20px auto 0}
 .arrival-art img,.arrival-logo-sheen{width:min(94vw,420px);top:42%}
 .arrival-invite{top:64%;gap:14px}.arrival-invite a{min-height:48px;font-size:15px}.arrival-invite span{font-size:11px}
 .controls{left:20px;right:20px;bottom:calc(92px + env(safe-area-inset-bottom));min-height:44px}
 .controls .scroll-label{font-size:8px;letter-spacing:1.2px;max-width:140px;line-height:1.6}
 .chapter-nav{gap:14px;padding:8px 18px max(10px,env(safe-area-inset-bottom));background:linear-gradient(transparent,#030609 20%)}
 .chapter-nav a{font-size:12px;min-height:44px;min-width:48px;justify-content:center}
 body{--assistant-bottom:max(16px,env(safe-area-inset-bottom))}
 .assistant-launch{right:max(16px,env(safe-area-inset-right));font-size:13px;min-height:44px;padding:10px 15px}
 body:has(.stage):not(.past-story){--assistant-bottom:calc(90px + env(safe-area-inset-bottom))}
 .assistant-dialog{right:max(16px,env(safe-area-inset-right));width:min(330px,calc(100% - 32px));border-radius:18px}.assistant-dialog>header{padding:14px 17px}
 .studio-about,.demo-lab,.studio-close{padding:56px 20px;scroll-margin-top:86px}
 .ambient-ready .studio-about{padding-top:42px}
 .section-intro h2,.lab-heading h2{font-size:clamp(34px,9.4vw,42px);line-height:1.08;margin-bottom:22px}
 .section-lead,.lab-heading>p{font-size:16px;line-height:1.65}
 .studio-process{padding-top:28px;gap:22px}.studio-process h3{font-size:25px}.studio-process h4{font-size:17px}
 .business-setup{margin:26px 0}.business-choices{gap:10px}.business-choices .lab-button,.business-choices .quiet-button{font-size:15px;min-height:48px;padding:12px 18px}
 .lab-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 28px;padding:0 0 14px;overflow:visible;border-bottom:1px solid #ffffff25}
 .lab-tabs button{font-size:12px;min-height:44px;padding:10px 12px;border:1px solid #ffffff20;border-radius:8px;background:#ffffff05}
 .lab-tabs button[aria-selected=true]{background:#ffab761a;border-color:#ffab76}
 .lab-panel{gap:22px}.demo-explainer h3{font-size:30px;margin:14px 0 16px}.demo-explainer p{font-size:15px;line-height:1.65}
 .lab-panel .prompt-list{gap:8px;margin:18px 0}.lab-panel .prompt-list button{font-size:14px;padding:11px 13px;min-height:46px}
 .chat-log{height:300px;padding:14px}.chat-message{max-width:100%;padding:13px;margin-bottom:12px}.chat-window form{padding:12px;gap:8px}.chat-window form button{min-width:54px;padding:10px 12px;font-size:14px}
 .window-top{padding:14px;gap:9px}.window-top .nova-mark{flex-shrink:0}.window-top .quiet-button{padding:8px;font-size:12px}
 .call-identity strong{font-size:23px}#reception-form>div{gap:8px}#reception-form button{padding-inline:12px;font-size:14px}.call-voice-picker{padding-inline:16px;gap:10px}.call-audio{justify-content:flex-start}.call-audio label{margin:0}
 .chatgpt-conversation{padding:14px 16px;min-height:0}.chatgpt-top{padding:17px 16px}.chatgpt-top>span{font-size:9px}.chatgpt-question{margin-left:0}.chatgpt-answer>p{min-height:0}
 .google-page{padding-inline:16px}.google-query{font-size:14px;padding:12px 14px}.google-query span{min-width:0}.google-page>.discovery-thinking{left:16px}.google-organic{min-height:0}.google-tabs{gap:17px;overflow-x:auto}.google-title{font-size:20px}
 .workflow-steps{padding:0 15px}.workflow-steps article{gap:12px}.workflow-receipt{padding:18px}.training-content{padding:18px}.training-content>h4{font-size:24px}
 .lab-footer{margin-top:30px;gap:16px}.lab-footer>p{font-size:20px}.studio-close h2{font-size:40px}.studio-close>p:not(.eyebrow){font-size:16px;line-height:1.7}
 body>footer{padding:32px 20px 88px;gap:22px}footer .footer-contact a{min-height:44px}footer nav{gap:2px 18px}
 .studio-page main{padding-top:74px}.studio-page .wrap{padding-inline:20px}.studio-page .page-heading{padding-top:38px;padding-bottom:30px}.studio-page .page-heading h1{font-size:clamp(37px,10vw,46px);line-height:1.1}.studio-page .page-heading>p:not(.eyebrow){font-size:16px;line-height:1.7;margin-top:22px}
 .studio-page .form-layout,.studio-page .about-layout{gap:28px;padding-bottom:55px;min-width:0}.studio-page .form-layout>*{min-width:0}.studio-page .contact-form,.studio-page .form-success{padding:20px 16px}.studio-page .contact-form input,.studio-page .contact-form textarea,.studio-page .contact-form select{font-size:16px;min-width:0;max-width:100%;min-height:48px;padding:12px}.studio-page .contact-form textarea{min-height:135px}.studio-page .field-grid{grid-template-columns:1fr;gap:0}.studio-page .contact-form label{font-size:14px;line-height:1.5;margin-bottom:19px}.studio-page .contact-form .consent{font-size:12px;gap:10px}.studio-page .contact-form .consent input{min-height:18px;flex-shrink:0}.studio-page .about-contact{font-size:16px;gap:6px;margin:18px 0;flex-direction:column}.studio-page .about-contact a{min-height:38px;display:flex;align-items:center}.studio-page .about-layout h2{font-size:29px}.studio-page .about-layout>.wide-photo{width:132px;height:132px}.studio-page .usecase-list article,.studio-page .pricing-grid .engagement-grid article{padding:24px}.studio-page .reading{overflow-wrap:anywhere}.studio-page .site-footer{padding:35px 20px 88px}.studio-page .footer-top>div a,.studio-page .footer-bottom nav a{display:inline-flex;min-height:44px;align-items:center}.studio-page .footer-top{gap:18px;padding-bottom:26px}.studio-page .footer-bottom nav{gap:4px 18px}.studio-page .booking-thanks{padding-bottom:60px}.studio-page .booking-confirmation{padding:24px 18px}
}
@media(max-width:760px) and (max-height:740px){
 .stage[data-scene] .scene-copy,.stage[data-scene] .scene-copy[data-side]{top:88px}
 .stage[data-scene] .scene-heading{font-size:34px}.stage[data-scene] .scene-copy .description{font-size:14px;line-height:1.4;margin:11px 0}
 .stage[data-scene="0"] .scene-copy{top:25%}.stage[data-scene="7"] .scene-copy{top:20%}.stage[data-scene="7"] .destination-logo{width:235px}.stage[data-scene="7"] .scene-copy .description{margin:14px auto;font-size:16px}.destination-services{margin-top:16px;font-size:10px}
}
@media(max-width:960px) and (max-height:600px) and (orientation:landscape){
 .stage{height:100svh;min-height:0}.scroll-track{margin-top:-100svh}.scroll-track>div{min-height:0}.scroll-track>div:last-child{height:100svh;min-height:0}
 .stage[data-scene] .scene-copy,.stage[data-scene] .scene-copy[data-side]{top:88px;left:auto;right:5%;width:43%;max-width:none;text-align:left}
 .stage[data-scene] .scene-copy[data-side=left]{left:5%;right:auto}
 .stage[data-scene] .scene-heading{font-size:32px;line-height:1.02}.stage[data-scene] .scene-copy .eyebrow{font-size:8px;margin-bottom:9px}.stage[data-scene] .scene-copy .description{font-size:13px;line-height:1.45;margin:12px 0}
 .stage[data-scene="0"] .scene-copy,.stage[data-scene="7"] .scene-copy{width:auto;left:5%;right:5%;top:80px;text-align:center}
 .stage[data-scene="0"] .scene-copy{top:28%}.stage[data-scene="0"] .description{margin:16px auto}
 .stage[data-scene="7"] .destination-logo{width:190px}.stage[data-scene="7"] .scene-copy .description{font-size:16px;white-space:normal;margin:10px auto;max-width:none;width:auto}.stage[data-scene="7"] .scene-copy .action{min-height:42px;padding:10px 16px;font-size:13px}.destination-services{display:none}
 .arrival-art img,.arrival-logo-sheen{width:min(45vw,350px);top:43%}.arrival-invite{top:65%;gap:8px}.arrival-invite a{min-height:42px;padding:10px 20px;font-size:14px}.arrival-invite span{font-size:10px}
 .scene-caption,.side-note{display:none}.controls{bottom:65px;left:5%;right:5%}.chapter-nav{padding:6px 4% 8px;gap:18px;justify-content:center}.chapter-nav a{font-size:11px;min-height:38px;min-width:0}
 body:has(.stage):not(.past-story){--assistant-bottom:65px}
 body:has(.stage):not(.past-story) .assistant-launch{min-height:42px;font-size:12px;padding:10px 14px}
}

@media(max-width:760px) and (orientation:portrait){
 .stage[data-scene="0"] .scene-copy[data-side]{top:50%;translate:0 -50%}
}

@media(max-width:760px) and (orientation:portrait){
 .story{--arrival-height:clamp(480px,122vw,525px)}
 .stage[data-scene="7"],.scroll-track>div:last-child{height:var(--arrival-height);min-height:0}
 .stage[data-scene="7"] .scene-copy[data-side]{top:90px}
 .stage[data-scene="7"] .controls,body:has(.stage[data-scene="7"]) .chapter-nav{display:none}
 body:has(.stage[data-scene="7"]){--assistant-bottom:max(16px,env(safe-area-inset-bottom))}
}

/* Overlay the stage and track without negative margins. Scene changes never
   alter anchor positions or the amount of scrollable document. */
.story{display:grid;grid-template-columns:minmax(0,1fr);overflow-anchor:none}
.story>.stage,.story>.scroll-track{grid-area:1 / 1;align-self:start}
.story>.scroll-track{margin-top:0}

@media(max-width:760px){
 .story>.scroll-track>div{height:calc(var(--story-vh,1svh) * 112)}
 .story>.scroll-track>#arrival{height:calc(var(--story-vh,1svh) * 200)}
 .story>.scroll-track>#websites{height:calc(var(--story-vh,1svh) * 180)}
 .story>.scroll-track>div:last-child{height:calc(var(--story-vh,1svh) * 100)}
}
@media(max-width:760px) and (orientation:portrait){
 .story>.stage[data-scene="7"],.story>.scroll-track>div:last-child{height:var(--arrival-height);min-height:0}
}

/* Give phone artwork the space previously occupied by chapter navigation. */
@media(max-width:760px){
 .chapter-nav{display:none}
 .controls{bottom:max(18px,env(safe-area-inset-bottom))}
 body:has(.stage):not(.past-story){--assistant-bottom:max(16px,env(safe-area-inset-bottom))}
}
@media(max-width:960px) and (max-height:600px) and (orientation:landscape){.chapter-nav{display:none}}

/* Keep the standalone studio statement centered at every breakpoint. */
.stage[data-scene="0"] .scene-copy[data-side]{top:50%;left:50%;right:auto;width:88%;max-width:1100px;translate:-50% -50%;text-align:center}
.stage[data-scene="0"] .scene-copy .scene-heading{max-width:none;margin-inline:auto}
.stage[data-scene="0"] .scene-copy .description{margin-inline:auto}
@media(max-width:760px) and (orientation:portrait){
 .stage[data-scene]:not([data-scene="0"]):not([data-scene="7"]) .scene-heading{font-size:clamp(28px,7.4vw,34px);line-height:1.05}
 .stage[data-scene]:not([data-scene="0"]):not([data-scene="7"]) .scene-copy .description{font-size:14px;line-height:1.4;margin:10px 0}
 .stage[data-scene]:not([data-scene="0"]):not([data-scene="7"]) .scene-copy .eyebrow{margin-bottom:9px}
}

/* The hero is a timed film, not a scroll-length animation. */
.story>.scroll-track,.chapter-nav{display:none!important}
.story>.stage{position:relative}
html.hero-playing,html.hero-playing body{overflow:hidden;overscroll-behavior:none}
html.hero-playing .story>.stage{height:100svh;min-height:0}
html.hero-playing .stage{touch-action:pinch-zoom}
body:has(.stage):not(.past-story){--assistant-bottom:max(16px,env(safe-area-inset-bottom))}
.controls{bottom:max(18px,env(safe-area-inset-bottom))}
