/* Phone fixes from the review (loaded last, phones only). */
@media(max-width:700px){
.nav-links a{ display:inline-block; padding-block:10px; margin-block:-10px; }
#grammar .demo > *{ min-width:0; }
#grammar .toggle button{ min-height:40px; padding-block:8px; }
.mbh-figure.mbf{ display:grid; grid-template-columns:minmax(0,1fr) auto; column-gap:10px; align-items:center; }
.mbf-rows{ grid-column:1 / -1; grid-row:1; padding-bottom:14px; border-bottom:1px dashed var(--rule); }
.mbf-natural{ grid-column:1; grid-row:2; margin:14px 0 0; padding:0; border-top:0; font-size:20px; }
.mbf-top{ grid-column:2; grid-row:2; position:static; margin:14px 0 0; align-self:center; }
.mbf-replay{ min-height:40px; padding:6px 14px 7px; font-size:14px; }
.mbf-row[data-step="0"] .mbf-name{ min-height:0; }
.mbf-row{ opacity:.66; }
.mbf-row.is-active{ opacity:1; }
.mbf-gloss{ font-size:10px; color:var(--ink-soft); }
.mbf-phrase .mbf-gloss{ color:var(--cinnabar); }
.mbm-note{ min-height:0; }
.handoff-copy,.hero-grid .cta-row .text-link{ padding-block:12px; margin-block:-8px; }
.footer-links a{ display:inline-block; padding-block:10px; margin-block:-10px; }
.site-footer a{ padding-block:6px; }
#features a, #get-started a.text-link, #get-started .start-grid article a:not(.cta){ display:inline-block; padding-block:12px; margin-block:-12px; }
}
}


@media(max-width:700px){
  .journey-navigation { align-items:center; }
  .journey-navigation .journey-arrow { width:40px; height:44px; padding:0; border:0; background:transparent; box-shadow:none; font-size:0; position:relative; top:auto; left:auto; right:auto; color:#8f867b; }
  .journey-navigation .journey-arrow::before { content:""; position:absolute; left:50%; top:50%; width:9px; height:9px; border-top:2.5px solid currentColor; border-right:2.5px solid currentColor; border-radius:1px; }
  .journey-navigation .journey-arrow[data-step="1"]::before { transform:translate(-65%,-50%) rotate(45deg); }
  .journey-navigation .journey-arrow[data-step="-1"]::before { transform:translate(-35%,-50%) rotate(-135deg); }
  .journey-navigation .journey-arrow:hover,.journey-navigation .journey-arrow:active { color:var(--ink); }
  .journey-progress button { justify-content:center; padding-block:0; }
  .learning-journey [data-play] { color:#8f867b; font-size:14px; padding:0; }

  /* note pill sits on the bottom of the picture instead of floating above the controls */
  .journey-callouts { position:absolute; left:10px; right:10px; top:calc(var(--frame-height,310px) - 52px); height:auto; padding:0; overflow:visible; z-index:3; pointer-events:none; }
  .journey-callout { background:rgba(250,246,238,.94); border:0; box-shadow:0 4px 14px -6px rgba(0,0,0,.5); }
}

/* Hero rows: characters never wrap inside a tile. The type size is worked out from the room in the row (about 8 characters per row), so every row fits on one line at any phone width. */
@media(max-width:700px){
.mbf-chunks{ gap:3px; }
.mbf-tile{ flex:0 0 auto; min-width:0; padding-inline:3px; }
.mbf-zh{ white-space:nowrap; font-size:clamp(14px, calc((100cqw - 96px) / 8.3), 26px); }
.mbf-gloss{ font-size:10px; white-space:nowrap; }
}
:root{--maxw:1400px;--sec-y:56px}
@media(max-width:900px){
:root{--sec-y:44px}}
@media(max-width:620px){
:root{--sec-y:30px}}
#problem,#method,#teaches,#get-started.final{padding-top:var(--sec-y);padding-bottom:var(--sec-y)}
.th-hero-intro{background:linear-gradient(180deg,var(--paper-light) 0%,var(--paper) 100%)}
main > section:nth-of-type(odd):not(#get-started){background:var(--paper-warm)}
.th-hero{position:relative;z-index:1;padding:calc(78px + 48px) 0 16px;}
.th-hero-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);column-gap:clamp(36px,5vw,72px);row-gap:32px;align-items:start}
.th-hero h1{grid-column:auto;font-size:clamp(44px,4.5vw,66px);line-height:1.02;max-width:11em;margin:0;text-wrap:balance}
.th-hero h1 em{font-style:italic;color:var(--cinnabar)}
.th-hero-sub{margin-top:18px;font-size:clamp(18px,1.6vw,21px);line-height:1.55;max-width:31em;color:var(--ink-soft)}
.th-hero-ctas{margin-top:32px;gap:14px 24px}
.th-hero .handoff-detail{margin-top:10px}
.th-rotate{margin-top:20px;font-family:var(--display);font-size:clamp(20px,1.7vw,25px);line-height:1.3;color:var(--ink)}
.th-rot-tail{white-space:nowrap}
.th-rotate.is-stacked .th-rot-tail{display:block}
.th-rot{--rot-px:.42em;--rot-py:.06em;position:relative;display:inline-block;vertical-align:baseline;padding:var(--rot-py) var(--rot-px);border-radius:.5em;background:rgba(163,48,42,.085);box-shadow:inset 0 0 0 1px rgba(163,48,42,.13);clip-path:inset(0 round .5em);transition:width .32s ease}
.th-rot-size{visibility:hidden;font-style:italic;font-weight:600}
.th-rot-word{position:absolute;left:var(--rot-px);top:var(--rot-py);white-space:nowrap;font-style:italic;font-weight:600;color:var(--cinnabar);opacity:0;transform:translateY(.32em);transition:opacity .32s ease,transform .32s ease}
.th-rot-word.is-on{opacity:1;transform:none}
.th-rot-word.is-out{opacity:0;transform:translateY(-.32em)}
.th-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.th-hero-meta{margin-top:20px;font-size:13px;color:var(--ink-muted)}
.th-hero-shot{margin:0;min-width:0}
/* Hero widget (assets/js/hero-scene.js): Míngbai on a real Netflix scene. The picture and panel draw inside the
   widget's shadow root (assets/css/hero-live-stage.css); this styles the page around it. The overlay's Chinese face is Noto Sans SC subset to the scene's characters. */
@font-face{font-family:'Mingbai Hero Sans SC';font-style:normal;font-weight:100 900;font-display:swap;src:url('../fonts/hero-scene/noto-sans-sc-hero.woff2?v=1dff369e1f') format('woff2')}
.hlw-try{margin:10px 0 0;font-family:var(--display);font-style:italic;font-size:15px;line-height:1.3;color:var(--cinnabar)}
.hlw-try-text{display:inline-flex;align-items:flex-start;gap:5px}
.hlw-try-text>span{text-wrap:balance}
.hlw-arrow{flex:none;width:22px;height:31px;margin:1px 0 -18px;overflow:visible;pointer-events:none}
.hlw-arrow path{fill:none;stroke-linecap:round;stroke-linejoin:round}
.hlw-arrow .hlw-halo{stroke:rgba(250,246,238,.92);stroke-width:4.6}
.hlw-arrow .hlw-ink{stroke:var(--cinnabar,#a8392a);stroke-width:1.9}
.hlw.is-live:not(.is-touched) .hlw-arrow{animation:hlw-nudge 2.8s ease-in-out 1s infinite}
@keyframes hlw-nudge{0%,100%{transform:translate(0,0)}50%{transform:translate(1px,3px)}}
.hlw.is-live .hlw-try{margin:0;font-size:14.5px;line-height:1.12}
.hlw-stage{position:relative;min-height:220px;border-radius:14px;background:#111}
.hlw-fallback{display:block;width:100%;height:auto;border-radius:12px}
.hlw-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;margin-top:12px}
.hlw-label{margin:0;font-size:14px;line-height:1.4;color:var(--ink-muted)}
.hlw-controls{display:flex;align-items:center;gap:6px;margin-left:auto}
.hlw-controls button{min-height:34px;padding:5px 12px;border-radius:999px;border:1px solid rgba(26,22,20,.3);background:transparent;color:var(--ink);font:500 14px/1 "Mingbai Alegreya Sans","Trebuchet MS",sans-serif;cursor:pointer}
.hlw-controls .hlw-prev,.hlw-controls .hlw-next,.hlw-controls .hlw-play{width:34px;padding:0;font-size:18px}
.hlw-controls .hlw-play{font-size:13px}
.hlw-controls button:hover{background:rgba(26,22,20,.06)}
.hlw-controls button[aria-disabled=true]{opacity:.4;cursor:default}
.hlw-controls .hlw-play{background:var(--ink);border-color:var(--ink);color:var(--paper-light,#faf6ee)}
.hlw-controls .hlw-play:hover{background:var(--cinnabar,#a8392a);border-color:var(--cinnabar,#a8392a)}
.hlw-count{min-width:3.2em;text-align:right;font-size:13px;color:var(--ink-muted)}
.hlw-end{margin:10px 0 0;font-family:var(--display);font-style:italic;font-size:17px;line-height:1.45}
.hlw-end a{color:var(--cinnabar);text-decoration:underline;text-underline-offset:3px;transition:color .3s ease}
.hlw.is-end .hlw-end a{font-weight:600}
/* Computers: the widget column gets a little more room for the player beside the panel. */
@media(min-width:901px){
.th-hero-grid{grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr)}}
@media(prefers-reduced-motion:reduce){
.hlw-end a{transition:none}
.hlw .hlw-arrow{animation:none!important}}
.th-hero-shot figcaption{margin-top:14px;font-family:var(--display);font-style:italic;font-size:16px;line-height:1.45;color:var(--ink-muted)}
.th-works{position:relative;z-index:2;padding:28px 0 44px;text-align:center}
.th-works-label{margin:0 0 16px;font:700 12px/1.2 var(--serif);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-muted)}
.th-works-note{margin:14px 0 0;font-size:12px;line-height:1.4;color:var(--ink-muted)}
.th-logos{list-style:none;margin:0;padding:0;display:flex;justify-content:center;align-items:center;flex-wrap:nowrap;gap:clamp(22px,6vw,72px)}
.th-logos{--mark:clamp(19px,2vw,27px)}
.th-logo img{display:block;width:auto;height:var(--mark)}
.th-logo-youtube img{height:calc(var(--mark) * 1.98)}
.th-logo-netflix img{height:calc(var(--mark) * 1.02)}
.th-logo-iqiyi img{height:calc(var(--mark) * .9)}
.th-logo-viki img{height:calc(var(--mark) * 1.18)}
#method .section-head{grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);margin-bottom:40px}
#method .section-head h2{font-size:clamp(34px,4.4vw,60px);max-width:14em;text-wrap:balance}
#method .demo-wrap{margin-top:0}
.mbm-note{max-width:38em}
.mbm-cap-tag{max-width:100%;border-radius:1.1em;line-height:1.35}
.th-teach-head .eyebrow{margin-bottom:10px}
.th-teach-head h2{font-size:clamp(34px,4.4vw,60px);text-wrap:balance}
.th-teach-sub{margin:6px 0 0;font:italic 400 clamp(20px,1.8vw,26px)/1.3 var(--display);color:var(--ink-soft)}
.th-follow{margin:10px 0 0;font:italic 400 clamp(16px,1.3vw,18px)/1.35 var(--display);color:var(--ink-soft)}
.th-follow span{font-family:var(--han);font-style:normal;color:var(--ink)}
.th-word{display:none}
.th-steps{list-style:none;margin:0;padding:0;display:grid;gap:22px}
.th-step{background:var(--paper-light);border:1px solid var(--rule);border-radius:18px;padding:26px;scroll-margin-top:calc(var(--th-head,78px) + 110px)}
.th-step-text{display:grid;gap:4px 36px;margin-bottom:20px}
.th-step-when{display:flex;align-items:center;gap:10px;margin:0 0 10px;font:700 12px/1.2 var(--serif);letter-spacing:.16em;text-transform:uppercase;color:var(--cinnabar)}
.th-step-when span{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;border:1px solid var(--cinnabar-pale);font:italic 400 16px/1 var(--display);letter-spacing:0}
.th-step h3{font-size:clamp(25px,2.2vw,30px);margin:0}
.th-step-text p:not(.th-step-when){margin:0;font-size:17px;line-height:1.55;max-width:34em}
.th-step-link{justify-self:start;margin-top:6px;font:500 14px "Mingbai Alegreya Sans","Trebuchet MS",sans-serif;color:var(--cinnabar);border-bottom:1px solid var(--cinnabar-pale)}
.th-step-link:hover{border-bottom-color:var(--cinnabar)}
.th-teach-close{margin:36px 0 0;max-width:34em;font:italic 400 clamp(20px,1.8vw,24px)/1.45 var(--display);color:var(--ink)}
.th-shot{position:relative;margin:0;aspect-ratio:16 / 10;overflow:hidden;border-radius:12px;background:#17120f;border:1px solid rgba(26,22,20,.28);box-shadow:0 34px 80px -50px rgba(26,22,20,.55)}
.th-shot + .th-shot{margin-top:14px}
.th-shot-zoom{position:absolute;inset:0;transform-origin:var(--ox,50%) var(--oy,50%);transition:transform 1.8s cubic-bezier(.33,0,.2,1)}
.th-shot-zoom img{display:block;width:100%;height:100%;max-width:none}
.th-shot-veil{position:absolute;inset:0;filter:blur(1.5px) brightness(.94);-webkit-mask:var(--veil) 0 0/100% 100% no-repeat;mask:var(--veil) 0 0/100% 100% no-repeat;opacity:0;transition:opacity .7s ease .9s;pointer-events:none}
.th-shot.is-zoomed .th-shot-veil{opacity:1}
@media(max-width:620px){
.th-shot-veil{filter:blur(.8px) brightness(.94)}}
.th-shot-ring{position:absolute;left:var(--rx);top:var(--ry);width:var(--rw);height:var(--rh);box-sizing:border-box;border:2px solid rgba(168,57,42,.85);border-radius:10px;box-shadow:0 0 0 5px rgba(168,57,42,.14),0 0 34px 6px rgba(168,57,42,.22);opacity:0;transition:opacity .7s ease .9s;pointer-events:none}
.th-shot.is-zoomed .th-shot-zoom{transform:scale(var(--zoom,1))}
.th-shot.is-zoomed .th-shot-ring{opacity:1}
.th-shot-bb{position:absolute;box-sizing:border-box;border-radius:3px 6px 4px 7px;background:rgba(255,196,36,.62);mix-blend-mode:multiply;rotate:-.6deg;opacity:0;transition:opacity .7s ease 1.1s;pointer-events:none}
.th-shot.is-zoomed .th-shot-bb{opacity:1}
.th-now{margin:0;font:600 14px/1.35 "Mingbai Alegreya Sans","Trebuchet MS",sans-serif;color:var(--ink)}
.th-now-word{display:block;margin-top:2px;font-weight:500;color:var(--ink-soft)}
.th-now-word [lang]{font-family:var(--han);color:var(--ink)}
.th-now-status{color:var(--cinnabar);font-weight:600}
.th-line{position:relative}
.th-line-track{position:absolute;background:var(--cinnabar-pale)}
.th-line-fill{position:absolute;inset:0;background:var(--cinnabar);transition:transform .5s ease}
.th-line-points{list-style:none;margin:0;padding:0}
.th-line-point{position:relative;display:flex;align-items:center;padding:0;border:0;background:none;cursor:pointer;color:var(--ink-soft);font:600 19px/1.2 "Mingbai Alegreya Sans","Trebuchet MS",sans-serif;text-align:left;transition:color .2s ease}
.th-line-pip{position:relative;z-index:1;flex:none;width:18px;height:18px;box-sizing:border-box;border-radius:50%;background:var(--paper-light);border:2px solid var(--cinnabar-pale);transition:background .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease}
.th-line-num{margin-right:4px;font:italic 400 19px/1 var(--display);color:var(--ink-muted)}
.th-line-point:hover .th-line-pip{border-color:var(--cinnabar)}
.th-line-point.is-done .th-line-pip{background:var(--cinnabar);border-color:var(--cinnabar)}
.th-line-point.is-current .th-line-pip{background:var(--cinnabar);border-color:var(--cinnabar);transform:scale(1.3);box-shadow:0 0 0 4px var(--cinnabar-soft)}
.th-line-point.is-current{color:var(--cinnabar)}

@media(min-width:900px){
.th-flow{display:grid;grid-template-columns:minmax(290px,330px) minmax(0,1fr);column-gap:clamp(36px,4vw,64px);align-items:start}
.th-side{grid-column:1;grid-row:1 / span 2;position:sticky;top:calc(var(--th-head,78px) + 20px);height:calc(100vh - var(--th-head,78px) - 40px);max-height:880px;display:flex;flex-direction:column}
.th-teach-head h2{font-size:clamp(36px,3.3vw,48px);line-height:1.05}
.th-teach-sub{font-size:clamp(20px,1.6vw,24px)}
.th-follow{display:none}
.th-word{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:12px;margin:clamp(12px,2.2vh,20px) 0 0}
.th-word-zh{font:500 clamp(40px,6vh,52px)/1.05 var(--han);color:var(--ink)}
.th-word-status{justify-self:start;padding:3px 12px 5px;border-radius:999px;background:var(--cinnabar-soft);border:1px solid var(--cinnabar-pale);font:600 clamp(17px,2.6vh,20px)/1.2 "Mingbai Alegreya Sans","Trebuchet MS",sans-serif;color:var(--cinnabar);white-space:nowrap}
.th-word-gloss{grid-column:1 / -1;margin-top:2px;font:italic 400 15px/1.3 var(--display);color:var(--ink-muted)}
.th-guide{flex:1;min-height:0;display:flex;flex-direction:column;margin-top:clamp(14px,2.6vh,28px)}
.th-steps,.th-teach-close{grid-column:2}
.th-flow{padding-bottom:48px}
.th-step{padding:28px 30px 30px;scroll-margin-top:calc(var(--th-head,78px) + 24px)}
.th-step-text{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start}
/* Keep Ask’s heading close to its step label when the adjacent copy is taller. */
.th-step[data-shot="2"] .th-step-text{grid-template-rows:min-content 1fr}
.th-step-text .th-step-when,.th-step-text h3{grid-column:1}
.th-step-text p:not(.th-step-when){grid-column:2;grid-row:1 / span 2;align-self:center}
.th-step-link{grid-column:2;grid-row:3}
.th-line{flex:1;min-height:0;max-height:340px}
.th-line-points{display:flex;flex-direction:column;justify-content:space-between;height:100%}
.th-line-point{gap:14px;min-height:32px}
.th-line-track{left:8px;width:2px;top:16px;bottom:16px}
.th-line-fill{transform-origin:top;transform:scaleY(var(--line-fill,0))}
.th-now{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
}
/* Short computer screens: a smaller title, so the guide keeps its room. */
@media(min-width:900px) and (max-height:800px){
.th-teach-head h2{font-size:clamp(32px,2.8vw,40px)}
.th-teach-sub{font-size:20px}
}
/* Phones and tablets: the title scrolls away; the line is a one-row card pinned under the header, above the cards: five dots, then
   "Step 2 of 5: Notice", then where 宝贝 is as a small chip. */
@media(max-width:899px){
.th-side{display:contents}
.th-guide{position:sticky;top:var(--th-head,0px);z-index:5;display:flex;align-items:center;gap:10px;margin:22px 0 18px;padding:6px 12px;border:1px solid var(--rule);border-radius:14px;background:var(--paper-light);box-shadow:0 14px 30px -24px rgba(26,22,20,.45)}
.th-step-text p:not(.th-step-when){margin-top:10px}
.th-line{flex:none;width:108px}
.th-line-points{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}
.th-line-point{justify-content:center;width:100%;height:30px}
.th-line-pip{width:13px;height:13px}
.th-line-point.is-current .th-line-pip{box-shadow:0 0 0 3px var(--cinnabar-soft)}
.th-line-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.th-line-track{left:10%;right:10%;top:14px;height:2px}
.th-line-fill{transform-origin:left;transform:scaleX(var(--line-fill,0))}
.th-teach .th-now{position:static;flex:1;display:flex;align-items:center;justify-content:space-between;gap:8px;width:auto;height:auto;margin:0;padding:0;overflow:visible;clip:auto;white-space:normal;min-width:0;font-size:13px;line-height:1.2}
.th-teach .th-now-word{position:static;flex:none;display:inline-flex;align-items:center;gap:4px;width:auto;height:auto;margin:0;overflow:visible;clip:auto;white-space:nowrap;padding:3px 8px 4px;border-radius:999px;background:var(--cinnabar-soft);border:1px solid var(--cinnabar-pale);font-size:12px}
.th-now-sep{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
}
@media(max-width:359px){
.th-teach .th-now-word{position:absolute;width:1px;height:1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0)}}
/* Reduced motion: the guides change state and the pictures show their ring with no zoom and no animation. */
@media(prefers-reduced-motion:reduce){
.th-shot.is-zoomed .th-shot-zoom{transform:none}
.th-shot-zoom,.th-shot-ring,.th-shot-veil,.th-shot-bb,.th-line-fill,.th-line-pip,.th-line-point,.th-rot-word,.th-rot{transition:none}
}

/* ===== Narrower windows and phones ===== */
@media(max-width:900px){
.th-hero{padding:44px 0 16px}
.th-hero-grid{grid-template-columns:1fr;gap:24px}
.th-hero-shot{max-width:none}
#method .section-head{grid-template-columns:1fr}
}
@media(max-width:620px){
.th-hero{padding:28px 0 20px}
.th-hero h1{font-size:clamp(38px,11vw,50px)}
.th-hero-sub{font-size:17px;margin-top:16px}
.th-hero-ctas{margin-top:22px;gap:14px 18px}
.th-hero-ctas .cta{width:100%}
.th-rotate{font-size:21px;margin-top:14px}
.th-works{padding:22px 0 34px}
.th-logos{display:grid;grid-template-columns:repeat(2,auto);justify-content:center;justify-items:center;gap:20px 44px}
.th-hero-shot figcaption{font-size:15px}
.th-step{padding:22px 20px 24px}
.th-step h3{font-size:25px}
.th-step p{font-size:16px}
}
.mbm-define{max-width:46em;margin:26px auto 0;text-align:center;font-size:19px;line-height:1.55;color:var(--ink-soft)}
.th-faq .container{max-width:884px}
.th-faq .eyebrow,.th-faq h2{text-align:center}
.th-faq h2{margin-bottom:30px}
.th-faq-list{max-width:820px}
.th-faq-item{border-bottom:1px solid var(--rule)}
.th-faq-item:first-child{border-top:1px solid var(--rule)}
.th-faq-item summary{display:grid;grid-template-columns:1fr auto;align-items:center;gap:20px;min-height:44px;padding:18px 0;cursor:pointer;list-style:none;color:var(--ink);font:600 clamp(20px,2.1vw,24px)/1.2 "Mingbai Alegreya",Georgia,serif}
.th-faq-item summary::-webkit-details-marker{display:none}
.th-faq-item summary::after{content:'+';width:28px;color:var(--cinnabar);font-size:26px;font-weight:400;line-height:1;text-align:center}
.th-faq-item[open] summary::after{content:'−'}
.th-faq-item p{max-width:42em;padding:0 48px 20px 0;font-size:17px}
.th-faq-more{margin-top:24px}
@media(max-width:600px){
.th-faq-item summary{gap:12px;padding:16px 0;font-size:20px}
.th-faq-item p{padding-right:0;font-size:16px}
.mbm-define{margin-top:20px;font-size:17px;text-align:left}
}
.hlw{position:relative;container-type:inline-size}
.hlw-try-out{display:none}
@container (min-width:621px){
.hlw-try[slot]{display:none}
.hlw-try-out{display:block;position:absolute;right:0;bottom:calc(100% + 12px);margin:0;white-space:nowrap}
.hlw-try-out .hlw-arrow{width:26px;height:37px;margin-bottom:-24px}
}
@media(min-width:1720px){
.hlw-try-out{right:auto;bottom:auto;left:calc(100% + 6px);top:159px;width:200px;white-space:normal}
.hlw-try-out .hlw-arrow{rotate:90deg;margin:0}
}
.thv-frame{position:relative;overflow:hidden;border-radius:14px;background:#111;box-shadow:0 34px 80px -50px rgba(26,22,20,.55)}
.thv-video{display:block;width:100%;height:auto;aspect-ratio:936/800;background:#111}
.thv-start{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:72px;height:72px;margin:-36px 0 0 -36px;padding:0 0 0 5px;border:0;border-radius:50%;background:rgba(26,22,20,.82);color:var(--paper-light,#faf6ee);font-size:26px;line-height:1;cursor:pointer;box-shadow:0 0 0 1px rgba(250,246,238,.45)}
.thv-start:hover{background:var(--cinnabar,#a8392a)}
.thv-start[hidden]{display:none}
.thv-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;margin-top:12px}
.th-hero-shot .thv-label{margin:0;font-family:inherit;font-style:normal;font-size:14px;line-height:1.4;color:var(--ink-muted)}
.thv-controls{display:flex;align-items:center;gap:6px}
.thv:not(.is-live) .thv-controls{display:none}
.thv-controls button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:5px 12px;border-radius:999px;border:1px solid rgba(26,22,20,.3);background:transparent;color:var(--ink);font:500 14px/1 "Mingbai Alegreya Sans","Trebuchet MS",sans-serif;cursor:pointer}
.thv-controls button:hover{background:rgba(26,22,20,.06)}
.thv-controls .thv-play{width:34px;padding:0;font-size:13px;background:var(--ink);border-color:var(--ink);color:var(--paper-light,#faf6ee)}
.thv-controls .thv-play:hover{background:var(--cinnabar,#a8392a);border-color:var(--cinnabar,#a8392a)}
.thv-controls .thv-sound[aria-pressed=true]{border-color:var(--ink)}
.thv-sound-icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.thv-sound-icon .thv-speaker{fill:currentColor;stroke:none}
.thv-sound[aria-pressed=false] .thv-waves,.thv-sound[aria-pressed=true] .thv-mute{display:none}
.thv-controls button:focus-visible,.thv-start:focus-visible{outline:2px solid var(--cinnabar,#a8392a);outline-offset:2px}
.th-try .container{max-width:1240px}
.th-try-head{margin-bottom:28px}
.th-try-head h2{font-size:clamp(34px,4.4vw,60px)}
.th-try-head h2 em{font-style:italic;color:var(--cinnabar)}
.th-try-head p{margin-top:10px;font-size:clamp(18px,1.6vw,21px);line-height:1.5;color:var(--ink-soft)}
@media(max-width:620px){
.th-try-head{margin-bottom:22px}}
@media(max-width:620px){
.thv-start{width:52px;height:52px;margin:-26px 0 0 -26px;padding-left:4px;font-size:19px}}
.thv-frame .thv-controls{position:absolute;right:10px;bottom:10px;gap:5px;padding:5px;border-radius:999px;background:rgba(250,246,238,.94);box-shadow:0 2px 12px rgba(26,22,20,.2)}
.thv.is-live .thv-controls{display:flex}
.thv-frame .thv-controls button{width:34px;height:34px;min-height:34px;padding:0;background:transparent;color:var(--ink);border-color:rgba(26,22,20,.25)}
.thv-frame .thv-controls button:hover{background:rgba(26,22,20,.1)}
.thv-fullscreen svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.thv-frame:fullscreen{width:100%;height:100%;border-radius:0;box-shadow:none;background:#111}
.thv-frame:fullscreen .thv-video{width:100%;height:100%;object-fit:contain}
.thv-controls [hidden]{display:none}

.thv-frame .thv-controls .thv-fullscreen{width:auto;gap:7px;padding:0 12px;background:var(--cinnabar,#a8392a);border-color:var(--cinnabar,#a8392a);color:#fff}
.thv-frame .thv-controls .thv-fullscreen:hover{background:#8d2f24}
.thv-fullscreen-label{font-size:14px;white-space:nowrap}
.thv-frame:fullscreen .thv-video{object-position:center}

.thv-frame .thv-controls{top:10px;bottom:auto}

/* Approved homepage hero: natural recording, left copy/CTA, platform row under the demo. */
.th-hero{padding-top:96px}.th-hero-grid{align-items:start}.th-hero-demo-column{min-width:0}.th-hero-sub-second{margin-top:12px}.thv-video{aspect-ratio:auto}.thv-frame .thv-controls{left:10px;right:auto;top:auto;bottom:48px}.thv-fullscreen-hint{font:italic 15px/1.35 "Mingbai Alegreya",Georgia,serif;color:#f4efe6;padding:0 12px}.thv-fullscreen-hint span{display:inline-block}.thv-fullscreen-arrow{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.th-hero-emphasis{text-decoration:none;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%20240%208'%20preserveAspectRatio%3D'none'%3E%3Cpath%20d%3D'M1%205.3C42%203.8%2078%204.7%20116%204.1S193%203.6%20239%204.5L233%206.2C181%205.7%20151%206.1%20116%206.4S41%206.1%206%206.9Z'%20fill%3D'%23b4372a'%2F%3E%3Cpath%20d%3D'M5%204.8C61%203.5%20121%204.2%20174%203.7S217%204%20235%204.1'%20fill%3D'none'%20stroke%3D'%23b4372a'%20stroke-width%3D'.8'%20stroke-linecap%3D'round'%20opacity%3D'.65'%2F%3E%3Cpath%20d%3D'M28%206.2L59%205.8M158%205.5L181%205.6M209%205.9L226%205.7'%20stroke%3D'%23f4efe6'%20stroke-width%3D'.35'%20opacity%3D'.5'%2F%3E%3C%2Fsvg%3E");background-repeat:no-repeat;background-size:100% 8px;background-position:0 100%;padding-bottom:6px;box-decoration-break:clone;-webkit-box-decoration-break:clone}.th-hero-demo-column .th-works{padding:20px 0 0}.th-hero-demo-column .th-works>.container{display:block;max-width:none;width:100%;padding:0}.th-hero-demo-column .th-works-label{margin:0 0 12px;text-align:center}.th-hero-demo-column .th-logos{--mark:28px;display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:clamp(10px,1.2vw,18px)}.th-hero-demo-column .th-works-note{margin:10px 0 0;text-align:center}@media(max-width:900px){.th-hero{padding-top:18px}}@media(max-width:700px){.th-hero-demo-column .th-logos{--mark:clamp(20px,5.7vw,24px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));justify-items:center;gap:18px 26px}}
.thv-video-window{position:relative;overflow:hidden}.thv-frame:fullscreen .thv-video-window{width:100%;height:100%}.thv-frame{padding-bottom:40px}.thv-frame .thv-controls{bottom:48px!important;transition:opacity .2s ease}.thv-video-seek{position:absolute;left:12px;right:12px;bottom:12px;z-index:6;display:flex;align-items:center;gap:10px;margin:0;font:11px/1.3 system-ui;color:#f4efe6;transition:opacity .2s ease}.thv-frame:fullscreen{box-sizing:border-box;padding-bottom:40px}.thv-video-seek input{appearance:none;-webkit-appearance:none;flex:1;min-width:0;height:14px;background:transparent;cursor:pointer;accent-color:#a8392a}.thv-video-seek input::-webkit-slider-runnable-track{height:3px;border-radius:3px;background:linear-gradient(to right,#a8392a 0%,#a8392a var(--seek-progress,0%),#b9aca0 var(--seek-progress,0%),#b9aca0 100%)}.thv-video-seek input::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:10px;height:10px;margin-top:-3.5px;border:0;border-radius:50%;background:#a8392a}.thv-video-seek input::-moz-range-track{height:3px;border-radius:3px;background:#b9aca0}.thv-video-seek input::-moz-range-progress{height:3px;background:#a8392a}.thv-video-seek input::-moz-range-thumb{width:10px;height:10px;border:0;border-radius:50%;background:#a8392a}.thv-frame:not(.thv-started) .thv-video-seek{opacity:0!important;pointer-events:none!important}.thv-frame:not(:hover):not(:has(:focus-visible)):not(.thv-touch-reveal) .thv-video-seek{opacity:0;pointer-events:none}@media(pointer:coarse){.thv-frame:not(:has(:focus-visible)):not(.thv-touch-reveal) .thv-video-seek{opacity:0;pointer-events:none}}.thv-video-seek output{white-space:nowrap;font-variant-numeric:tabular-nums}.thv-fullscreen-hint{position:absolute;left:0;right:0;bottom:4px;margin:0!important;min-height:28px!important;padding-right:0!important;pointer-events:none}.thv-fullscreen-hint span{max-width:none!important;color:#f4efe6}.thv-fullscreen-arrow path{stroke:#e27d69}.thv-fullscreen-arrow.has-nudged .thv-fullscreen-path{animation:thv-arrow-nudge 1.55s ease-in-out 2}.thv-has-played .thv-fullscreen-hint,.thv-has-played .thv-fullscreen-arrow{opacity:0;visibility:hidden}.thv-frame.is-playing:not(:hover):not(:has(:focus-visible)):not(.thv-touch-reveal) .thv-controls,.thv-frame.is-playing:not(:hover):not(:has(:focus-visible)):not(.thv-touch-reveal) .thv-video-seek{opacity:0;pointer-events:none}@media(pointer:coarse){.thv-frame.is-playing:not(:has(:focus-visible)):not(.thv-touch-reveal) .thv-controls,.thv-frame.is-playing:not(:has(:focus-visible)):not(.thv-touch-reveal) .thv-video-seek{opacity:0;pointer-events:none}}@keyframes thv-arrow-nudge{0%,100%{transform:translateY(0)}45%{transform:translateY(-4px)}}@media(prefers-reduced-motion:reduce){.thv-fullscreen-arrow.has-nudged .thv-fullscreen-path{animation:none}.thv-video-seek,.thv-frame .thv-controls{transition:none}}

/* Approved desktop breathing room below the hero video. */
@media(min-width:901px){.th-hero-demo-column .th-works{padding-top:34px}.th-hero-demo-column .th-works-label{margin-bottom:18px}.th-hero-demo-column .th-works-note{margin-top:16px}}
