/* Shared reading, spacing and control sizes for the public site. */
:root{--header-height:80px;--font-body:16px;--font-small:14px;--font-meta:12px}
body{font-size:var(--font-body);line-height:1.75}
html{scroll-padding-top:calc(var(--header-height) + 24px)}
.wrap{width:min(1160px,calc(100% - 64px))}
.site-header{height:var(--header-height)}
.header-inner{gap:48px}
.site-header .logo{flex-shrink:0;height:44px}
.site-header .logo img{width:160px;height:auto;max-width:none}
.site-header .header-actions{gap:8px}
.site-header .header-actions .btn.small{min-height:40px;height:40px;padding:10px 14px;border-radius:8px;font-size:13px;font-weight:600;line-height:18px;gap:8px;white-space:nowrap}
.site-header .header-actions .btn.small .arrow{width:14px;height:14px;flex-basis:14px}
.site-header .header-actions .btn.small .arrow svg{width:14px;height:14px}
.site-header .menu-toggle{border-color:transparent;border-radius:8px;color:var(--text)}
.site-header .menu-toggle:hover{background:var(--surface)}
.site-header .menu-toggle svg{width:20px;height:20px}
.site-nav{font-size:14px;gap:28px}
.btn{min-height:46px;padding:12px 20px;font-size:15px;line-height:1.45;gap:12px;vertical-align:middle}
.btn.small{min-height:42px;padding:10px 14px;font-size:13px;gap:10px}
.btn .arrow,.text-link .arrow,.header-actions a>span[aria-hidden],.output-foot a>span[aria-hidden]{display:inline-flex;align-items:center;justify-content:center;flex:0 0 18px;width:18px;height:18px;line-height:1}
.arrow svg{display:block;width:18px;height:18px;flex-shrink:0}
.btn>svg{width:18px;height:18px;flex-shrink:0}
.text-link{font-size:14px;line-height:1.5;gap:14px}
.eyebrow{font-size:11px;line-height:1.6;letter-spacing:.11em}
.hero{padding-top:64px}
.hero h1{font-size:clamp(48px,5vw,68px);line-height:1.25;letter-spacing:-.055em;margin:22px 0}
.hero .intro{font-size:16px;line-height:1.85;max-width:620px}
.hero .cta-row{margin-top:28px}
.hero-visual{width:min(1160px,100%);margin-top:40px}
.hero-visual-mobile{display:none}
.visual-caption{font-size:11px;line-height:1.7;letter-spacing:.05em;gap:24px}
.section{padding:88px 0}
.section-top{gap:48px;margin-bottom:36px;align-items:flex-end}
.section-top h2,.usecase-section h2,.demo-teaser h2{font-size:34px;line-height:1.4;font-weight:600;letter-spacing:-.045em}
.section-top>p{padding-top:0;max-width:360px;font-size:15px;line-height:1.85}
.feature{padding:28px}
.feature .index{font-size:11px}
.feature h3{font-size:20px;font-weight:600;line-height:1.45;margin:12px 0}
.feature p{font-size:14px;line-height:1.85}
.caption{font-size:12px;line-height:1.85;margin-top:18px}
.usecase-section{gap:72px;grid-template-columns:1fr 1.1fr}
.usecase-section .lead{font-size:15px;line-height:1.85;max-width:380px}
.usecase{gap:20px;padding:24px 0}
.usecase h3{font-size:18px;line-height:1.5}
.usecase p{font-size:14px;line-height:1.8}
.usecase-icon{width:48px;height:48px}
.demo-teaser{gap:56px}
.demo-teaser p{font-size:15px;line-height:1.85;max-width:430px}
.teaser-audio{padding:28px}
.mini-label{font-size:11px;line-height:1.6;letter-spacing:.08em}
.sample-text{font-size:18px;line-height:1.9}
.audio-foot{font-size:12px;line-height:1.7}
.closing{padding:80px 0}
.closing h2{font-size:36px;line-height:1.4;letter-spacing:-.045em}
.closing p{font-size:15px;line-height:1.85}
.site-footer{padding:32px 0 28px}
.footer-top p{font-size:13px}
.footer-bottom{font-size:11px;line-height:1.7;letter-spacing:.02em;margin-top:24px}
.footer-bottom>span:last-of-type{max-width:none}
.theme-switch button{width:36px;height:36px}
.page-heading{padding:44px 0 28px}
.page-heading h1{font-size:36px;line-height:1.4;font-weight:600;margin:12px 0}
.page-heading .desc{font-size:15px;line-height:1.85}
.step-trail{font-size:12px;gap:14px;line-height:1.6}
.prototype-note{font-size:13px;line-height:1.8;padding:12px 16px}
.studio>.prototype-note{gap:24px;margin-bottom:24px}
.studio-grid{gap:24px;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr)}
.panel-head{padding:20px 24px}
.panel-head h2{font-size:16px;font-weight:600;line-height:1.5}
.panel-head .meta{font-size:11px}
.form-section{padding:24px}
.field-title{font-size:14px;line-height:1.65;gap:16px;margin-bottom:14px}
.field-title span{font-size:12px;line-height:1.5}
.field>label{font-size:14px;line-height:1.6}
.field label small{font-size:12px}
.field-grid{gap:16px}
input,select,textarea{font-size:16px;line-height:1.5;min-height:48px;padding:12px 14px}
input[type=checkbox]{min-height:0}
.field-help,.reading-status,.speed-note,.output-caption{font-size:12px;line-height:1.8}
.mode-tabs{gap:24px;margin-bottom:22px}
.mode-tabs button{font-size:14px;min-height:40px;padding-bottom:10px}
.segmented button{font-size:14px;min-height:40px;line-height:1.5}
.read-preview{padding:16px;margin-top:20px}
.read-preview .mini-label{font-size:10px}
.read-preview p{font-size:15px;line-height:1.85}
.advanced summary,.advanced.sc-ui,.check-line{font-size:13px;line-height:1.8}
.generate-row{gap:20px;margin-top:24px;align-items:center}
.generate-row .btn{gap:12px}
.generate-row .field-help{max-width:230px}
.output-top{padding:24px}
.output-voice{margin:24px 0}
.voice-name strong{font-size:14px}
.voice-name small{font-size:12px;line-height:1.7}
.voice-avatar{width:40px;height:40px;font-size:13px}
.status-tag{font-size:11px;line-height:1.5;padding:5px 8px;white-space:nowrap}
.metric{font-size:12px;line-height:1.7}
.metric strong{font-size:14px;line-height:1.6}
.metric strong span{font-size:12px!important}
.output-download{gap:12px}
.output-download .btn{font-size:13px;gap:8px;padding:12px 8px}
.output-foot{padding:20px 24px}
.output-foot p{font-size:13px;line-height:1.85}
.output-foot a{font-size:14px;align-items:center;gap:12px;margin-top:12px;line-height:1.5}
.output-state{font-size:13px;line-height:1.85}
.contact-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:64px;padding:56px 0 80px}
.contact-copy h1{font-size:44px;line-height:1.4;font-weight:600;letter-spacing:-.05em;margin:20px 0}
.contact-copy>.intro{font-size:16px;line-height:1.85;max-width:380px}
.contact-art{height:160px;margin:24px 0}
.contact-steps{max-width:380px}
.contact-step{gap:16px;padding:14px 0}
.contact-step>span{font-size:12px}
.contact-step strong{font-size:14px}
.contact-step p{font-size:13px;line-height:1.8}
.contact-form .panel-head{padding:20px 24px}
.contact-form .panel-head h2{font-size:17px}
.contact-form form{padding:24px}
.contact-form .field-grid,.contact-form .field+.field,.contact-form .form-gap{margin-top:20px}
.contact-form .field-grid:first-child,.contact-form .field-grid .field+.field{margin-top:0}
.contact-form textarea{min-height:144px;font-size:16px}
.contact-form .prototype-note{font-size:12px;margin:20px 0}
.privacy{padding-top:20px;margin-top:24px}
.privacy .check-line{font-size:13px;line-height:1.8;gap:10px;align-items:flex-start}
.privacy p,.privacy details,.privacy .sc-details{font-size:12px;line-height:1.85}
.privacy p{margin:10px 0 0 26px}
.privacy .sc-details{margin:10px 0 0 26px}
.error{font-size:12px;line-height:1.7}
.contact-form .submit{margin-top:24px;gap:14px}
.direct-head{font-size:13px;line-height:1.7;gap:16px}
.direct-head button{font-size:12px;line-height:1.7}
.success-panel{padding:40px 24px}
.success-panel p{font-size:14px;line-height:1.85}
.success-panel h2{font-size:26px;line-height:1.45}
.toast{font-size:13px;line-height:1.7;padding:14px 18px}
.ch-title{font-size:13px;line-height:1.6}
.ch-preview-badge{font-size:10px}
.ch-track-label{font-size:11px}
.ch-ticks{font-size:10px;padding-block:8px 12px}
.ch-controls{row-gap:16px;padding-top:14px}
.ch-buttons{gap:2px}
.ch-buttons button{width:36px;height:40px}
.ch-buttons .ch-play{width:42px;height:42px}
.ch-clock,.ch-rate,.ch-rate output{font-size:12px;line-height:1.6}
.ch-rate output{width:42px}
.ch-player-note{font-size:11px;line-height:1.8}
.menu-toggle{align-items:center;justify-content:center;padding:0;min-width:44px;width:44px;height:44px}
.menu-toggle svg{width:22px;height:22px}
.menu-scrim{position:fixed;inset:var(--header-height) 0 0;background:#03070b32;z-index:19;backdrop-filter:blur(2px)}
@media(min-width:1500px){.hero{padding-top:76px}.hero h1{font-size:72px}.hero-visual{margin-top:48px}}
@media(max-width:1050px){.header-inner{gap:28px}.site-nav{gap:22px}.contact-grid{gap:40px}.contact-copy h1{font-size:40px}.demo-teaser{gap:36px}.section-top{gap:36px}.field-grid.three{grid-template-columns:1fr 1fr}.field-grid.three .field:last-child{grid-column:1/-1}}
@media(max-width:760px){
  :root{--header-height:72px}
  .wrap{width:calc(100% - 40px)}
  .header-inner{gap:16px}
  .site-header .logo img{width:144px}
  .site-header .header-actions .btn.small{height:44px;min-height:44px;padding:10px 12px}
  .header-actions{gap:8px}
  .header-actions .btn.small{font-size:12px;min-height:44px;padding:10px 12px;gap:8px}
  .header-actions .btn.small>span[aria-hidden]{width:16px;flex-basis:16px}
  .header-actions .btn.small svg{width:16px;height:16px}
  .menu-toggle:not([hidden]){display:inline-flex}
  .site-nav{top:calc(100% + 8px);left:16px;right:16px;max-height:calc(100dvh - 104px);overflow-y:auto;border:1px solid var(--line);border-radius:14px;padding:8px;background:var(--surface);box-shadow:0 18px 48px #0003;gap:4px;z-index:21;align-items:stretch}
  .site-nav a{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:50px;font-size:16px;line-height:1.5;padding:13px 16px;border-radius:8px;color:var(--text)}
  .site-nav a:hover,.site-nav a[aria-current=page]{background:color-mix(in srgb,var(--blue) 9%,var(--bg));color:var(--text)}
  .site-nav a:after{content:'›';font-size:23px;line-height:1;color:var(--muted)}
  .hero{padding-top:44px}
  .hero h1{font-size:clamp(31px,9.1vw,42px);line-height:1.3;margin:20px 0;letter-spacing:-.06em}
  .hero .eyebrow{font-size:10px;letter-spacing:.1em}
  .hero .intro{font-size:15px;line-height:1.85;max-width:350px}
  .hero .cta-row{gap:12px;margin-top:26px}
  .hero .cta-row .btn{font-size:14px;padding:12px 16px;gap:10px;min-height:48px}
  .hero-visual{width:100%;left:auto;transform:none;margin-top:28px}
  .hero-visual>svg{display:none}
  .hero-visual .hero-visual-mobile{display:block;width:100%;max-width:440px;height:auto;margin:auto}
  .visual-caption{font-size:10px;gap:12px;letter-spacing:.02em;padding-bottom:20px;justify-content:center}
  .section{padding:56px 0}
  .section-top{display:block;margin-bottom:28px}
  .section-top h2,.usecase-section h2,.demo-teaser h2{font-size:28px;line-height:1.45;margin-top:14px}
  .section-top>p{font-size:14px;line-height:1.85;padding-top:16px;max-width:100%}
  .feature{padding-block:26px!important;grid-template-columns:minmax(0,1fr) 100px;column-gap:16px}
  .feature h3{font-size:18px;line-height:1.5;margin:10px 0}
  .feature .index{font-size:10px}
  .feature p{font-size:14px;line-height:1.8}
  .feature-art{height:110px}
  .caption{font-size:12px;line-height:1.85}
  .usecase-section{grid-template-columns:1fr;gap:32px}
  .usecase-section .lead,.demo-teaser p{font-size:15px;line-height:1.85}
  .usecase{gap:16px;padding:22px 0}
  .usecase h3{font-size:17px}
  .usecase p{font-size:14px;line-height:1.8}
  .usecase-icon{width:44px;height:44px}
  .demo-teaser{grid-template-columns:1fr;gap:28px}
  .teaser-audio{padding:22px}
  .sample-text{font-size:17px;line-height:1.85}
  .audio-foot{font-size:11px}
  .closing{padding:56px 0}
  .closing h2{font-size:28px;line-height:1.45}
  .closing p{font-size:15px;max-width:330px}
  .footer-top{gap:20px;align-items:center}
  .footer-top p{font-size:12px;line-height:1.7;max-width:190px}
  .footer-bottom{font-size:11px;gap:16px;line-height:1.7;margin-top:24px}
  .footer-tools{justify-content:flex-start}
  .theme-switch button{width:40px;height:40px}
  .page-heading{padding-top:32px;padding-bottom:24px}
  .page-heading h1{font-size:29px;line-height:1.4;margin:12px 0}
  .page-heading .desc{font-size:15px;max-width:none;line-height:1.85}
  .studio>.prototype-note{font-size:13px;line-height:1.85;margin-bottom:20px}
  .studio-grid{grid-template-columns:1fr;gap:24px}
  .panel-head,.contact-form .panel-head{padding:18px 20px;gap:16px}
  .panel-head h2{font-size:16px}
  .panel-head .meta{font-size:10px}
  .form-section,.output-top,.contact-form form{padding:20px}
  .field-title{font-size:14px;flex-wrap:wrap;gap:6px 12px;align-items:flex-start}
  .field-title span{font-size:12px}
  .field>label,.contact-form .field>label{font-size:14px}
  .field label small,.contact-form .field label small{font-size:12px}
  .generate-row{display:flex;flex-direction:column-reverse;align-items:stretch;gap:14px}
  .generate-row .btn{width:100%;justify-content:space-between;font-size:15px}
  .generate-row .field-help{font-size:12px;max-width:none}
  .generate-row .field-help br{display:none}
  .status-tag{font-size:10px}
  .output-voice{gap:10px}
  .output-download{gap:10px}
  .output-foot{padding:20px}
  .contact-grid{grid-template-columns:1fr;gap:32px;padding:32px 0 56px}
  .contact-copy h1{font-size:36px;line-height:1.35;margin:16px 0}
  .contact-copy>.intro{font-size:15px;line-height:1.85;max-width:none}
  .contact-art{display:none}
  .contact-form .panel-head h2{font-size:17px}
  .contact-form .prototype-note{font-size:12px}
  .privacy .check-line{font-size:13px;line-height:1.8}
  .contact-form .submit{font-size:15px;min-height:48px}
  .ch-buttons{gap:2px}
  .ch-buttons button{width:38px;height:40px}
  .ch-buttons .ch-play{width:42px;height:42px;margin-inline:3px}
  .ch-clock{font-size:12px}
  .ch-ticks{font-size:10px}
  .ch-track-label{font-size:11px}
  .ch-player-note{font-size:11px}
}
@media(max-width:600px){.studio-grid .field-grid:not(.three){grid-template-columns:1fr}.contact-form .field-grid{grid-template-columns:1fr;gap:20px}.contact-form .field-grid .field+.field{margin-top:0}}
@media(max-width:370px){
  .wrap{width:calc(100% - 32px)}
  .logo img{width:108px}
  .site-header .logo img{width:126px}
  .site-header .header-actions .btn.small{font-size:12px;padding-inline:10px}
  .header-inner{gap:12px}
  .header-actions{gap:8px}
  .header-actions .btn.small{font-size:12px;padding-inline:10px;gap:6px}
  .hero .cta-row{flex-direction:column;align-items:stretch;max-width:300px;margin-inline:auto}
  .hero .cta-row .btn{width:100%;justify-content:center}
  .feature{grid-template-columns:1fr;gap:0}
  .feature-art{display:none}
  .feature .index,.feature h3,.feature p{grid-column:1;grid-row:auto}
  .contact-copy h1{font-size:32px}
  .field-grid.three{grid-template-columns:1fr}
  .ch-clock{width:100%;text-align:left}
}
@media(prefers-reduced-motion:reduce){.menu-scrim{backdrop-filter:none}}

.arrow{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;line-height:1;flex-shrink:0;vertical-align:middle}
.audio-foot a{display:inline-flex;align-items:center;gap:8px;line-height:1.6}
.sample-settings{display:grid;gap:6px;margin:0 0 22px;font-size:13px;line-height:1.7}
.sample-settings>div{display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px}
.sample-settings dt{color:var(--art-label,#75859a)}
.sample-settings dd{margin:0}
.teaser-audio .audio-foot{justify-content:flex-end;flex-wrap:wrap}

@media(min-width:761px) and (max-width:1000px){
  .studio-grid,.contact-grid{grid-template-columns:minmax(0,1fr)}
  .contact-grid{gap:32px;padding-top:40px}
  .contact-copy h1{font-size:38px}
  .contact-copy>.intro{max-width:none}
  .contact-art,.contact-steps{display:none}
  .studio-grid{max-width:760px;margin-inline:auto}
  .contact-grid{max-width:760px;margin-inline:auto}
}
