/* Shared marketing geometry; the production workstation is intentionally unscoped. */
:root{--page-gutter:clamp(16px,4vw,24px);-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{user-select:text;-webkit-user-select:text}
body :is(p,h1,h2,h3,li,label,input,textarea){user-select:text;-webkit-user-select:text;overflow-wrap:break-word}
:is(main,section,article,form,nav,figure,.hero-story,.workflow-panel)>*{min-width:0}
:is(input,textarea,select){font-size:16px;max-width:100%}
:is(button,a,summary){touch-action:manipulation}
[hidden]{display:none!important}
.header nav a,.header-account>a,.header-account>button{min-height:44px;display:inline-flex;align-items:center}
.menu{min-width:64px;min-height:44px;height:auto;font-size:14px}
.mobile-account{display:none!important}
.header nav{min-width:0}
.header nav a{white-space:nowrap}
.workflow-tabs{grid-template-columns:repeat(5,minmax(0,1fr));gap:0 20px}
.workflow-tabs button{min-height:56px;min-width:0;line-height:1.5;gap:10px}
.workflow-tabs button span{min-width:0}
.feature-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.feature-grid article{min-width:0}
.hero-story{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) minmax(0,.82fr)}
.showcase-theme-controls button{min-height:44px;padding-block:10px}
.text-link{min-height:44px}
.button{height:auto;min-height:52px;line-height:1.5;padding-block:12px;max-width:100%}
.button>span{flex:0 0 auto}
button:disabled{cursor:wait;opacity:.65}
button:active:not(:disabled){filter:brightness(.94)}
summary{min-height:44px;align-items:center;line-height:1.5}
.comparison-scroll{max-width:100%;overscroll-behavior-x:contain;scrollbar-color:var(--line-strong) var(--bg-soft);scrollbar-width:thin;padding-bottom:10px;border-bottom:1px solid var(--line)}
.comparison-scroll:focus-visible{outline:2px solid var(--accent-soft);outline-offset:5px}
.comparison-scroll table{min-width:640px}
.comparison-scroll table caption{text-align:left}
.billing-switch button{min-height:44px;font-size:14px;padding-block:12px}
.billing-switch small{font-size:11px}
.billing-total{font-size:12px;line-height:1.6}
.plan-title{flex-wrap:wrap}
.plan-title>span{line-height:1.5;max-width:100%}
.plan li{line-height:1.6}
.plan-foot,.usage-assumptions{font-size:13px;line-height:1.75}
html:has(dialog[open]){overflow-y:hidden}
dialog{max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scroll-padding-block:72px 24px}
dialog .dialog-head{position:sticky;top:-1px;background:var(--bg);z-index:2;padding-block:8px}
dialog .dialog-head button{min-width:44px;min-height:44px;flex-shrink:0;font-size:14px}
#account-dialog .beta-close{min-width:44px;min-height:44px;width:44px;height:44px;display:grid;place-items:center}
#beta-request-form input,#beta-request-form textarea{font-size:16px;min-height:48px;line-height:1.5;user-select:text;-webkit-user-select:text;scroll-margin-block:80px 100px}
#beta-request-form label,#beta-request-form .beta-label,.beta-interest legend{font-size:14px;line-height:1.5}
#beta-request-form input:focus-visible,#beta-request-form textarea:focus-visible{outline:2px solid var(--accent-soft);outline-offset:4px;border-radius:2px}
#beta-request-form .beta-interest label{min-height:48px;padding:8px 0;align-items:center;gap:12px}
#beta-request-form .beta-interest input{width:22px;height:22px;min-height:0;flex-shrink:0}
.beta-interest>div{gap:20px;flex-wrap:wrap}
.beta-interest small{display:block;margin:2px 0 0;font-size:12px}
#beta-request-form .beta-submit .button{height:auto;min-height:52px;font-size:14px;line-height:1.5}
#account-dialog .beta-submit .beta-note,.beta-bottom,.beta-bottom small{font-size:12px;line-height:1.6}
.beta-bottom a{min-height:44px;display:inline-flex;align-items:center}
#beta-request-status{scroll-margin-block:90px 24px;padding:12px;border-left:2px solid var(--accent-soft);line-height:1.65;color:var(--text)!important}
#beta-request-status[data-state=error]{border-color:#f4a06a;background:#f4a06a0a}
#beta-request-status[data-state=success]{border-color:#acbd8b;background:#acbd8b0a}
.login-page{display:flex;flex-direction:column;min-height:100svh;min-height:100dvh}
.login-shell{flex:1;min-height:calc(100svh - 72px)}
.login-header{position:relative;inset:auto;padding:24px max(24px,3.4vw);min-height:80px}
.login-context{margin-top:-80px}
.login-form-panel{padding:48px clamp(24px,3vw,48px) 40px}
.login-form-wrap{width:100%;max-width:420px}
.login-form-panel input{font-size:18px;scroll-margin-block:24px 100px}
.password-field button{width:44px;height:44px;right:6px;top:6px}
.password-field input{padding-right:58px}
.password-help button,.login-account-note button,.login-footer button{min-height:44px;line-height:1.6;padding-block:10px}
.login-status{font-size:14px;line-height:1.6;min-height:24px}
.login-status:empty{display:block}
.login-footer{position:relative;inset:auto;margin-left:54.4%;padding:12px 24px max(20px,env(safe-area-inset-bottom));gap:20px}
@media(max-width:1100px){
 .header{height:72px;padding-inline:var(--page-gutter);gap:16px}
 .header .brand img{width:180px}
 .header-account{margin-left:auto}
 .header-account>button{display:none}
 .menu{display:block}
 .header nav{display:none;position:absolute;inset:100% 0 auto;margin:0;padding:12px var(--page-gutter);background:var(--nav);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;max-height:calc(100dvh - 80px);overflow-y:auto;overscroll-behavior:contain}
 .header nav.open{display:flex}
 .header nav a{padding:12px 8px;font-size:15px;min-height:48px;white-space:normal}
 .header nav a:after{bottom:4px;left:8px;right:auto;width:28px}
 .header nav .mobile-account{display:flex!important;color:var(--accent-soft);border-top:1px solid var(--line);margin-top:8px}
 .header nav .mobile-beta{border:0;background:transparent;text-align:left;min-height:48px;padding:12px 8px;color:var(--accent-soft);font-size:15px}
 .wrap{width:calc(100% - var(--page-gutter)*2)}
 .section-heading,.stager-heading{gap:32px;grid-template-columns:minmax(0,1fr) minmax(0,.8fr)}
 .hero-story-copy{margin-left:18px;padding-left:18px}
 .hero-story-copy>strong{font-size:30px}
 .continuity-grid{gap:36px}
}
@media(min-width:1101px){.header .mobile-beta{display:none}}
@media(max-width:900px){
 .feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
 .hero-story{grid-template-columns:repeat(2,minmax(0,1fr))}
 .hero-story-copy{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0 0;padding:20px 0 0;border-left:0;border-top:1px solid var(--line)}
 .hero-story-copy>small{margin:0}
 .hero-story-copy>div{margin:0;padding:0}
 .workflow-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 20px}
 .workflow-panel{grid-template-columns:minmax(0,1fr);gap:28px}
 .workflow-panel-copy>p{min-height:0;max-width:680px}
 .login-shell{grid-template-columns:1fr}
 .login-context{display:none}
 .login-footer{margin-left:0}
 .login-form-panel{align-items:flex-start;padding-top:36px}
}
@media(max-width:760px){
 html{scroll-padding-top:88px}
 .header{height:68px}
 .header .brand img{width:155px}
 .header-account{display:none}
 .menu{margin-left:auto}
 .hero{padding-top:28px}
 .hero h1{font-size:clamp(46px,12.3vw,76px);line-height:.98;letter-spacing:-.025em;margin:22px 0}
 .hero h1 span{width:auto}
 .hero-copy{font-size:17px;line-height:1.65}
 .hero .actions{gap:12px;margin-top:24px;flex-direction:column}
 .hero .actions .button{width:100%;min-height:52px;height:auto;font-size:15px;padding:14px 18px;gap:16px}
 .hero-story{margin-top:32px;grid-template-columns:repeat(2,minmax(0,1fr))}
 .hero-story figure{height:clamp(230px,65vw,360px)}
 .hero-story figure+figure{display:block;margin-left:8px}
 .hero-story figcaption{font-size:13px;padding:50px 12px 14px;line-height:1.5}
 .hero-story figcaption span{font-size:10px;line-height:1.6;letter-spacing:.07em}
 .hero-story-copy{display:flex;gap:0;padding-top:20px;margin-top:20px}
 .hero-story-copy>small{margin:16px 0 12px;font-size:10px}
 .hero-story-copy>strong{font-size:32px;line-height:1.1}
 .hero-story-copy>div{margin-top:20px;font-size:10px}
 .eyebrow{font-size:11px;letter-spacing:.12em}
 .section{padding-block:56px}
 .section-heading,.stager-heading{grid-template-columns:minmax(0,1fr);gap:18px;margin-bottom:28px}
 .section-heading h2,.stager-heading h2,.continuity-copy h2,.faq h2,.closing h2{font-size:clamp(34px,10vw,48px);line-height:1.05;letter-spacing:-.025em}
 :is(.section-heading,.stager-heading,.closing) h2 br{display:none}
 .section-heading>p,.stager-heading>p,.continuity-copy>p{font-size:16px;line-height:1.7}
 .workflow-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}
 .workflow-tabs button{min-height:60px;font-size:14px;gap:8px;border-bottom:1px solid var(--line)}
 .workflow-tabs button:last-child{grid-column:1/-1}
 .workflow-tabs button[aria-selected=true]{color:var(--accent-soft)}
 .workflow-panel-copy h3{font-size:34px;line-height:1.12}
 .workflow-panel-copy>p{font-size:16px}
 .script-preview{height:auto;min-height:0;padding:20px;font-size:12px;line-height:1.6}
 .document-title{flex-wrap:wrap;gap:10px;font-size:10px;line-height:1.5}
 .breakdown-tags{margin-top:18px}
 .script-preview small{font-size:11px;line-height:1.6}
 .workflow-image-window{height:auto;aspect-ratio:4/3}
 .workflow-image figcaption,.stager-media figcaption{font-size:10px;line-height:1.6;letter-spacing:.06em}
 .continuity-grid{grid-template-columns:minmax(0,1fr);gap:28px}
 .continuity-visual>img{height:auto;aspect-ratio:4/5;object-position:center 35%}
 .reference-card{padding:18px;left:12px;right:12px}
 .check-list li{font-size:15px;line-height:1.6}
 .reference-card>div>span{font-size:11px}
 .stager-controls{grid-template-columns:minmax(0,1fr)}
 .stager-controls article{padding:22px 0}
 .stager-controls h3{margin-top:14px;font-size:26px}
 .stager-controls p,.feature-grid p{font-size:16px;line-height:1.7}
 .feature-grid{grid-template-columns:minmax(0,1fr);gap:24px}
 .feature-grid article{padding-top:20px;min-height:0}
 .feature-grid h3{margin-top:16px;font-size:22px;line-height:1.3}
 .feature-number{font-size:11px;line-height:1.5;letter-spacing:.1em}
 .feature-note{font-size:13px;line-height:1.7}
 .screenshot-caption{flex-wrap:wrap;gap:8px;font-size:10px;line-height:1.6}
 .screenshot-open-label{font-size:12px!important;min-height:44px}
 .screenshot-button .screenshot-open-label{justify-content:space-between;padding:12px}
 .delivery{grid-template-columns:minmax(0,1fr);gap:24px;padding-block:36px}
 .delivery h2{font-size:34px;line-height:1.1}
 .delivery p{font-size:16px}
 .formats span{width:auto;max-width:100%;font-size:13px;padding:8px 12px}
 .faq{grid-template-columns:minmax(0,1fr);gap:24px}
 .faq details p{font-size:16px;line-height:1.7}
 summary{font-size:16px;line-height:1.6;gap:12px}
 .closing{padding-block:56px}
 .closing p{font-size:16px;line-height:1.7}
 footer{gap:12px;padding-bottom:max(24px,env(safe-area-inset-bottom))}
 footer a{min-height:44px;display:inline-flex;align-items:center;font-size:13px}
 .pricing-page{padding-top:28px}
 .pricing-intro{grid-template-columns:minmax(0,1fr);gap:22px;margin-bottom:28px}
 .pricing-intro h1{font-size:clamp(42px,12vw,64px);line-height:1.02;letter-spacing:-.025em;margin-top:18px}
 .pricing-intro h1 br{display:none}
 .pricing-intro-copy p{font-size:16px}
 .billing-switch{display:flex;gap:22px;flex-wrap:wrap;margin-top:18px}
 .billing-switch button{min-height:48px;font-size:15px}
 .pricing-trial{padding-block:24px 28px}
 .pricing-trial p{font-size:16px}
 .pricing-status{font-size:13px;line-height:1.6;gap:8px;padding-block:18px}
 .pricing-status strong{white-space:normal}
 .pricing-grid{grid-template-columns:minmax(0,1fr);gap:32px}
 .plan{display:flex;padding-top:24px}
 .plan header{min-height:0;padding:0 0 22px;border-right:0;border-bottom:1px solid var(--line)}
 .plan h2{font-size:44px;line-height:1.1}
 .plan header>p{font-size:16px;min-height:0}
 .price{flex-wrap:wrap;margin-top:24px;gap:6px 10px}
 .price strong{font-size:40px}
 .price span,.credits,.plan li{font-size:15px}
 .plan>h3{font-size:12px;line-height:1.6}
 .plan-estimate strong{font-size:17px}
 .plan-estimate small,.plan-estimate span{font-size:13px;line-height:1.6}
 .comparison{padding-block:48px}
 .comparison-heading h2{font-size:34px;line-height:1.1}
 .pricing-notes{grid-template-columns:minmax(0,1fr);gap:30px;padding-block:48px}
 .pricing-notes h2{font-size:32px;line-height:1.1}
 .pricing-notes p{font-size:16px}
 .pricing-faq{padding-block:48px}
 .pricing-close{gap:20px;padding-block:28px;flex-direction:column;align-items:stretch}
 .pricing-close h2{font-size:36px;line-height:1.1}
 .pricing-close .button{flex:auto;width:100%}
 .login-header{padding:16px var(--page-gutter);gap:12px;flex-wrap:wrap;min-height:72px}
 .login-header .brand img{width:160px}
 .login-header>a:last-child{font-size:13px;min-height:44px;display:flex;align-items:center}
 .login-shell{display:block;min-height:0}
 .login-form-panel{min-height:0;padding:24px var(--page-gutter) 16px}
 .login-form-wrap{max-width:420px;margin-inline:auto}
 .login-form-panel h2{font-size:40px;line-height:1.1}
 .login-intro{font-size:16px;margin-bottom:24px}
 .login-divider{margin-block:20px}
 .auth-provider{font-size:16px;gap:20px;height:auto;min-height:52px}
 .login-form-panel input{font-size:16px;height:52px}
 .password-label{margin-top:20px}
 .password-field button{top:4px}
 .login-submit{min-height:52px;height:auto;font-size:18px;margin-top:16px;padding-block:12px}
 .login-account-note{margin-top:8px}
 .login-footer{margin-left:0;padding-block:8px max(16px,env(safe-area-inset-bottom))}
 #account-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px);padding:20px;border-radius:8px}
 #account-dialog>h2{font-size:38px;line-height:1.08;letter-spacing:-.02em}
 #account-dialog>h2 br{display:none}
 #account-dialog .dialog-head{margin-bottom:14px;gap:12px}
 #account-dialog .dialog-head .eyebrow{font-size:10px;letter-spacing:.1em}
 #account-dialog .beta-intro{margin:14px 0 22px;font-size:16px;line-height:1.6}
 #beta-request-form{gap:20px}
 .beta-identity{grid-template-columns:minmax(0,1fr);gap:20px}
 #beta-request-form textarea{min-height:100px}
 #account-dialog .beta-bottom a{overflow-wrap:anywhere}
 #screenshot-dialog{width:calc(100% - 16px);padding:12px;max-height:calc(100dvh - 16px)}
 #screenshot-dialog .dialog-head{align-items:center;gap:12px}
 #screenshot-dialog img{width:auto;min-width:100%;max-width:100%;height:auto}
 .login-page dialog{width:calc(100% - 24px);padding:20px}
 .login-page dialog .dialog-head{gap:12px}
 .login-page dialog h2{font-size:22px;line-height:1.2}
}
@media(max-width:380px){.hero-story{grid-template-columns:minmax(0,1fr)}.hero-story figure{height:auto;aspect-ratio:1}.hero-story figure+figure{display:block;margin:12px 0 0;height:auto;aspect-ratio:4/3}.hero-story-copy{grid-column:auto}.brand img{max-width:100%}}
@media(max-height:600px){.login-form-panel{align-items:flex-start;padding-top:20px}.login-header{padding-block:12px}.login-context-copy{bottom:24px}dialog{max-height:calc(100dvh - 16px)}}
@media(hover:none),(prefers-reduced-motion:reduce){body,.login-page,.login-form-panel{background-attachment:scroll}}
@media(prefers-reduced-motion:reduce){html,*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Complete the incoming keyboard-viewport and expanded-workspace behaviors. */
.mobile-account-action{display:none}
@media(max-width:1100px){.header nav .mobile-account-action{display:block;min-height:48px;padding:12px 8px;border:0;background:transparent;color:var(--accent-soft);text-align:left;font:inherit;font-size:15px}}
dialog,#account-dialog{max-height:calc(min(100dvh,var(--visible-height,100dvh)) - 24px)}
.screenshot-detail{max-width:100%;overflow:auto;max-height:calc(min(100dvh,var(--visible-height,100dvh)) - 180px);overscroll-behavior:contain}
.screenshot-detail img{width:100%;max-width:none!important;height:auto}
.screenshot-detail-hint{font-size:13px;color:var(--text-2);line-height:1.6;margin-bottom:12px}
@media(max-width:760px){.screenshot-detail img{width:900px!important;min-width:100%}}

#beta-request-form .beta-required{margin:0;font-size:13px;color:var(--muted);line-height:1.6}

/* Vector arrows stay monochrome on iOS instead of using emoji glyphs. */
.marketing-arrow{display:inline-block;width:18px;height:18px;flex:0 0 18px;vertical-align:middle}
.button .marketing-arrow{width:20px;height:20px;flex-basis:20px;color:var(--accent-soft)}
