/* Pine Flow reference design (transplanted from design-reference). Loaded after styles.css on home/pricing/download. */
body.pine-home,
body.pine-pricing,
body.pine-download {
  /* reference body defaults already in file */
}

/* Map existing shell header toward reference look when pine pages are active */
body.pine-home .global-header .brand,
body.pine-pricing .global-header .brand,
body.pine-download .global-header .brand {
  font-family: var(--display, Georgia, "Songti SC", serif);
  font-size: 34px;
  letter-spacing: -1.5px;
}
body.pine-home .global-header .desktop-nav a,
body.pine-pricing .global-header .desktop-nav a,
body.pine-download .global-header .desktop-nav a {
  position: relative;
  padding: 12px 0;
  margin: 0 10px;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--ink);
  font-size: 14px;
}
body.pine-home .global-header .desktop-nav a::after,
body.pine-pricing .global-header .desktop-nav a::after,
body.pine-download .global-header .desktop-nav a::after {
  content: "";
  position: absolute;
  bottom: 6px;
  left: 0;
  right: 100%;
  height: 1px;
  background: var(--pine);
  transition: right .2s;
}
body.pine-home .global-header .desktop-nav a:hover::after,
body.pine-home .global-header .desktop-nav a[aria-current]::after,
body.pine-pricing .global-header .desktop-nav a:hover::after,
body.pine-pricing .global-header .desktop-nav a[aria-current]::after,
body.pine-download .global-header .desktop-nav a:hover::after,
body.pine-download .global-header .desktop-nav a[aria-current]::after {
  right: 0;
}
body.pine-home .global-header .nav-primary,
body.pine-pricing .global-header .nav-primary,
body.pine-download .global-header .nav-primary {
  min-height: 42px;
  padding: 10px 20px;
  font-size: 13px;
}
/* Locale as plain text (not gray pill); quiet Account; Download icon */
body.pine-home .global-header .language-switch,
body.pine-pricing .global-header .language-switch,
body.pine-download .global-header .language-switch {
  min-width: 0;
  min-height: 0;
  padding: 10px 0;
  border: 0 !important;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 14px;
  font-weight: 500;
  color: var(--ink);
}
body.pine-home .global-header .account-chip.account-quiet,
body.pine-pricing .global-header .account-chip.account-quiet,
body.pine-download .global-header .account-chip.account-quiet {
  min-height: 36px;
  padding: 0 10px;
  background: transparent;
  color: var(--muted, #58645c);
  font-size: 13px;
  font-weight: 500;
  gap: 6px;
}
body.pine-home .global-header .account-chip.account-quiet .chip-label,
body.pine-pricing .global-header .account-chip.account-quiet .chip-label,
body.pine-download .global-header .account-chip.account-quiet .chip-label {
  display: none;
}
body.pine-home .global-header .nav-primary .icon,
body.pine-pricing .global-header .nav-primary .icon,
body.pine-download .global-header .nav-primary .icon,
body.pine-home .global-header .nav-primary svg,
body.pine-pricing .global-header .nav-primary svg,
body.pine-download .global-header .nav-primary svg {
  width: 16px;
  height: 16px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.75;
  stroke-linecap: round;
  stroke-linejoin: round;
}

body.pine-home .shell-footer,
body.pine-pricing .shell-footer,
body.pine-download .shell-footer {
  margin-top: 0;
}
/* Hide the header motion toggle; hero/footer control is the source of truth */
body.pine-home .global-header .motion-toggle { display: none !important; }
/* Promo bar: hide on pine pages so hero CTAs stay in the first viewport (ref has no strip). */
body.pine-home .promo-bar,
body.pine-pricing .promo-bar,
body.pine-download .promo-bar {
  display: none !important;
}
/* Ensure pine .btn wins over legacy .btn on these pages */
body.pine-home a.btn,
body.pine-home button.btn,
body.pine-pricing a.btn,
body.pine-pricing button.btn,
body.pine-download a.btn,
body.pine-download button.btn,
body.pine-download .download-card .action,
body.pine-download .download-choices .btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  min-height: 50px;
  padding: 13px 24px;
  border: 1px solid var(--pine, #183d35);
  border-radius: 999px;
  font-weight: 550;
  line-height: 1.3;
  background: var(--pine, #183d35);
  color: #fff;
  text-decoration: none;
  box-shadow: none;
}
body.pine-home a.btn:hover,
body.pine-download .download-card .action:hover {
  background: #255346;
  color: #fff;
}
body.pine-home .btn-outline,
body.pine-home a.btn-quiet {
  background: transparent;
  color: var(--pine, #183d35);
}
body.pine-home a.btn-quiet {
  border-color: transparent;
  padding-inline: 4px;
  min-height: auto;
}
body.pine-home a.btn-light,
body.pine-home .btn-light {
  background: var(--sage-light, #e7ece1);
  color: var(--pine, #183d35);
  border-color: var(--sage-light, #e7ece1);
}
/* Download page cards (get-started) */
body.pine-download .downloads-section {
  max-width: 1248px;
  margin: 0 auto;
  padding: 24px 48px 80px;
}
body.pine-download .download-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}
body.pine-download .download-card {
  padding: 38px;
  border: 1px solid var(--line, #d9ddd3);
  background: #fffefb;
  border-radius: 20px;
}
body.pine-download .download-card h3 {
  font-size: 30px;
  letter-spacing: -1px;
  margin: 0 0 8px;
  font-weight: 450;
}
body.pine-download .download-card .action {
  width: 100%;
  justify-content: space-between;
  margin-top: 18px;
}
body.pine-download .page-heading h1 {
  font-size: clamp(44px, 5vw, 72px);
  letter-spacing: -3.5px;
  line-height: 1.12;
}
body.pine-download .page-heading h1 em {
  color: var(--pine, #183d35);
  font-family: Georgia, "Songti SC", serif;
  font-weight: 400;
}
@media (max-width: 700px) {
  body.pine-download .download-grid { grid-template-columns: 1fr; }
  body.pine-download .downloads-section { padding-inline: 24px; }
  body.pine-home .global-header .brand { font-size: 30px; }
}
/* Pricing pine shell */
body.pine-pricing .page-hero,
body.pine-pricing .page-intro {
  text-align: center;
  padding-block: 64px 40px;
}
body.pine-pricing .page-hero h1,
body.pine-pricing .h1-page {
  font-size: clamp(44px, 5vw, 72px);
  letter-spacing: -3.5px;
  line-height: 1.12;
  font-weight: 450;
}
body.pine-pricing .page-hero h1 em,
body.pine-pricing .h1-page em {
  color: var(--pine, #183d35);
  font-family: Georgia, "Songti SC", serif;
  font-weight: 400;
}
body.pine-pricing .price-board .panel,
body.pine-pricing .licence-card-like,
body.pine-pricing .panel {
  background: #fffefb;
  border: 1px solid var(--line, #d9ddd3);
  border-radius: 20px;
  padding: 36px;
  box-shadow: 0 20px 60px -25px rgb(24 61 53 / 12%);
}
body.pine-pricing .seg label {
  border-radius: 999px;
}
html[lang^="zh"] body.pine-home h1 em,
html[lang^="zh"] body.pine-pricing h1 em,
html[lang^="zh"] body.pine-download h1 em {
  font-style: normal;
}

/* Parley Voice · Conversation in flow · Design reference v1.0 */
:root {
  --paper:#f5f3ed; --white:#fffefb; --ink:#202c28; --pine:#183d35;
  --muted:#58645c; --sage:#b7c7ad; --sage-light:#e7ece1; --amber:#d39a71;
  --line:#d9ddd3; --radius:20px; --pill:999px; --content:1248px;
  --gutter:48px; --header:80px; --ease:cubic-bezier(.2,.7,.2,1);
  --shadow:0 20px 60px -25px rgb(24 61 53 / 22%);
  --font:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
  --display:Georgia,"Iowan Old Style","Songti SC","Noto Serif CJK SC",serif;
}
* { box-sizing:border-box; }
html { scroll-padding-top:104px; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--font); font-size:16px; line-height:1.6; -webkit-font-smoothing:antialiased; }
button,input,select { font:inherit; }
button,a,input,summary { -webkit-tap-highlight-color:transparent; }
button { cursor:pointer; }
a { color:inherit; text-decoration:none; }
button { color:inherit; }
img { max-width:100%; display:block; height:auto; }
svg { display:block; }
button svg,a svg { flex-shrink:0; }
button:disabled { cursor:default; opacity:.55; }
:focus-visible { outline:3px solid var(--pine); outline-offset:5px; }
.dark :focus-visible { outline-color:var(--sage); }
[hidden] { display:none!important; }
::selection { background:var(--sage); color:var(--pine); }
.container { width:min(var(--content),calc(100% - var(--gutter)*2)); margin-inline:auto; }
.skip-link { position:fixed; top:12px; left:12px; transform:translateY(-180%); z-index:100; background:var(--white); padding:12px 24px; border:1px solid var(--pine); border-radius:8px; }
.skip-link:focus { transform:none; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.site-header { position:sticky; top:0; z-index:40; background:rgb(245 243 237 / 94%); border-bottom:1px solid rgb(32 44 40 / 10%); backdrop-filter:blur(16px); }
.header-inner { display:flex; align-items:center; gap:40px; min-height:var(--header); }
.brand { display:inline-flex; align-items:center; gap:10px; flex-shrink:0; font-family:var(--display); font-size:34px; letter-spacing:-1.5px; line-height:1; }
.brand img { width:26px; height:26px; border-radius:6px; }
.main-nav { display:flex; align-items:center; gap:28px; margin-left:auto; font-size:14px; }
.main-nav a { position:relative; padding:12px 0; }
.main-nav a::after { content:""; position:absolute; bottom:6px; left:0; right:100%; height:1px; background:var(--pine); transition:right .2s; }
.main-nav a:hover::after,.main-nav a[aria-current]::after { right:0; }
.header-actions { display:flex; align-items:center; gap:20px; font-size:14px; }
.locale-link { padding:10px 0; }
.menu-toggle { display:none; width:44px; height:44px; border:1px solid var(--line); background:transparent; border-radius:50%; align-items:center; justify-content:center; }
.mobile-nav { padding:8px var(--gutter) 24px; border-top:1px solid var(--line); }
.mobile-nav a { display:block; padding:12px 0; font-size:18px; }
.btn { display:inline-flex; justify-content:center; align-items:center; gap:12px; min-height:50px; padding:13px 24px; border:1px solid var(--pine); border-radius:var(--pill); font-weight:550; line-height:1.3; background:var(--pine); color:white; transition:background .2s,transform .2s,box-shadow .2s; }
.btn:hover { background:#255346; box-shadow:0 6px 18px rgb(24 61 53 / 12%); transform:translateY(-2px); }
.btn-small { min-height:42px; padding:10px 20px; font-size:13px; }
.btn-outline { background:transparent; color:var(--pine); border-color:#a1aca0; }
.btn-outline:hover { background:var(--sage-light); }
.btn-light { background:var(--sage-light); color:var(--pine); border-color:var(--sage-light); }
.btn-light:hover { background:#f0f4e8; }
.btn-quiet { background:transparent; color:var(--ink); border-color:transparent; padding-inline:4px; }
.btn-quiet:hover { background:transparent; box-shadow:none; }
.btn svg { width:18px; height:18px; }
.text-link { display:inline-flex; gap:12px; align-items:center; border-bottom:1px solid currentColor; padding-bottom:4px; font-size:14px; font-weight:550; }
.text-link svg { width:16px; height:16px; }
.eyebrow { display:flex; align-items:center; gap:9px; font-size:11px; font-weight:600; letter-spacing:1.9px; text-transform:uppercase; line-height:1.5; margin:0 0 24px; }
.eyebrow::before { content:""; width:6px; height:6px; border-radius:50%; background:var(--pine); }
.dark .eyebrow::before { background:var(--sage); }
.eyebrow.plain::before { display:none; }
.muted { color:var(--muted); }
.fine { font-size:12px; color:var(--muted); line-height:1.6; }
.hero { position:relative; overflow:hidden; isolation:isolate; }
.hero-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:70% 40%; z-index:-2; }
.hero::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(245,243,237,.94) 0%,rgba(245,243,237,.85) 29%,rgba(245,243,237,.1) 63%,transparent 100%); z-index:-1; pointer-events:none; }
.hero-inner { display:grid; grid-template-columns:1.05fr 1fr; align-items:center; min-height:700px; gap:48px; padding-block:74px 84px; }
.hero-copy { max-width:620px; }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { font-weight:450; }
.hero h1 { font-size:clamp(50px,5.7vw,82px); line-height:1.055; letter-spacing:-4.4px; margin-bottom:26px; }
.hero h1 em { display:block; color:var(--pine); font-family:var(--display); font-size:.90em; font-weight:400; letter-spacing:-4px; line-height:1.12; margin-top:10px; }
.hero-description { max-width:440px; font-size:17px; line-height:1.7; color:#4c5a51; margin-bottom:30px; }
.hero-actions { display:flex; flex-wrap:wrap; gap:18px; align-items:center; }
.availability { display:flex; align-items:center; gap:8px; font-size:12px; color:#4f5c54; margin-top:24px; }
.availability svg { width:14px; height:14px; }
.hero-art { position:relative; min-height:450px; overflow:visible; }
.voice-note { position:absolute; max-width:200px; padding:10px 12px; background:rgb(255 254 251 / 82%); border:1px solid rgb(255 255 255 / 60%); border-radius:12px; box-shadow:0 10px 32px -20px rgb(28 47 33 / 36%); backdrop-filter:blur(10px); }
/* Pin to laptop chassis / below video tiles — faces stay clear */
.voice-note.first { top:auto; left:-42%; bottom:10%; max-width:180px; }
.voice-note.second { top:auto; bottom:-36px; right:-4%; max-width:180px; }
.voice-note p { font-size:13px; line-height:1.45; }
.voice-note .label { margin-bottom:4px; font-size:9px; }
.voice-note .label { display:flex; gap:10px; align-items:center; color:#59665d; font-size:10px; letter-spacing:1px; text-transform:uppercase; margin-bottom:8px; }
.language-badge { font-size:10px; padding:2px 6px; border:1px solid #d2d9cd; border-radius:4px; background:#edf1e8; color:var(--pine); }
.voice-note p { font-size:16px; line-height:1.5; margin:0; }
.voice-note .mini-wave { display:flex; gap:3px; align-items:flex-end; height:18px; margin-top:10px; max-width:72px; }
.mini-wave i { display:block; background:var(--pine); width:3px; border-radius:2px; height:var(--h,10px); opacity:.7; flex:none; }
.voice-note.second .mini-wave i { background:#98643b; }
.art-caption { position:absolute; right:0; bottom:8px; z-index:2; margin:0; font-size:10px; color:#4c594f; background:rgb(245 243 237 / 80%); padding:3px 8px; border-radius:4px; }
.voice-note.first { top:auto; left:-42%; bottom:10%; max-width:180px; }
.voice-note.second { top:auto; bottom:-36px; right:-4%; max-width:180px; }
.hero-bottom { position:relative; display:flex; justify-content:space-between; padding-bottom:22px; font-size:11px; color:var(--muted); }
.motion-toggle { border:0; background:transparent; display:inline-flex; align-items:center; gap:7px; padding:4px; font-size:11px; }
.motion-toggle svg { width:14px; height:14px; }
.compatibility { padding:30px 0; border-block:1px solid var(--line); background:var(--white); }
.compatibility-inner { display:flex; align-items:center; gap:36px; flex-wrap:wrap; }
.compatibility p { margin:0; font-size:12px; color:var(--muted); max-width:180px; }
.platforms { display:flex; align-items:center; gap:40px; flex:1; justify-content:center; }
.platform { display:flex; align-items:center; gap:10px; font-size:19px; font-weight:550; letter-spacing:-.7px; color:#4a5a4f; }
.platform svg { width:21px; height:21px; }
.compatibility .fine { margin-left:auto; max-width:200px; font-size:10px; }
.section { padding-block:112px; }
.section-heading { display:flex; align-items:end; justify-content:space-between; gap:40px; margin-bottom:52px; }
.section-heading h2 { max-width:670px; margin:0; }
.section h2,.section-title { font-size:clamp(36px,4.1vw,58px); letter-spacing:-2.7px; line-height:1.12; margin-bottom:24px; }
h2 em,.section-title em { font-family:var(--display); font-weight:400; color:var(--pine); }
.section-heading .eyebrow { margin-bottom:18px; }
.section-heading p { max-width:340px; color:var(--muted); font-size:15px; margin:0; }
.section-heading .text-link { white-space:nowrap; }
.dark { background:var(--pine); color:var(--paper); }
.dark h2 em { color:var(--sage); }
.dark .muted,.dark .fine,.dark .section-heading p { color:#c0cfc5; }
.conversation { background:#eeeee5; }
.demo-stage { display:grid; grid-template-columns:1fr 1.45fr; gap:56px; align-items:center; }
.pill-tabs { display:inline-flex; gap:4px; background:#e0e5da; border:1px solid #d2d9cd; padding:5px; border-radius:var(--pill); margin-bottom:28px; }
.pill-tabs button { border:0; background:transparent; border-radius:var(--pill); padding:9px 20px; font-size:13px; line-height:1.5; }
.pill-tabs button[aria-selected=true] { background:var(--white); box-shadow:0 2px 6px rgb(32 44 40 / 8%); color:var(--pine); }
.demo-explainer h3 { font-size:30px; line-height:1.25; letter-spacing:-1px; margin-bottom:18px; }
.demo-explainer p { max-width:350px; color:var(--muted); font-size:15px; margin-bottom:24px; }
.demo-path { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin-bottom:28px; font-size:11px; }
.demo-path span { border:1px solid #c7cfc0; border-radius:7px; padding:6px 10px; background:#f7f7f1; }
.demo-path svg { width:14px; height:14px; }
.demo-console { border:1px solid #d8ded0; border-radius:var(--radius); background:var(--white); box-shadow:var(--shadow); overflow:hidden; }
.demo-console-header { padding:20px 24px; display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid var(--line); font-size:12px; }
.demo-brand { display:flex; align-items:center; gap:8px; font-weight:600; }
.demo-brand img { width:20px; height:20px; }
.status { display:inline-flex; gap:7px; align-items:center; font-size:11px; color:#4b6150; }
.status::before { content:""; width:6px; height:6px; border-radius:50%; background:#718c60; }
.demo-dialogue { padding:32px; min-height:300px; display:flex; flex-direction:column; gap:24px; }
.dialogue-item { max-width:85%; }
.dialogue-item.outgoing { align-self:flex-end; text-align:right; }
.dialogue-meta { font-size:10px; color:#667465; margin-bottom:7px; text-transform:uppercase; letter-spacing:.8px; }
.dialogue-bubble { padding:16px 20px; border-radius:14px 14px 14px 3px; background:#f0f1eb; text-align:left; }
.outgoing .dialogue-bubble { background:#e6edde; border-radius:14px 14px 3px 14px; }
.dialogue-bubble p { font-size:15px; margin:0; line-height:1.5; }
.dialogue-bubble .translation { border-top:1px solid rgb(32 44 40 / 10%); margin-top:10px; padding-top:10px; color:#56644f; font-size:13px; }
.demo-console-footer { border-top:1px solid var(--line); padding:16px 24px; display:flex; justify-content:space-between; gap:16px; align-items:center; }
.waveform { width:170px; height:30px; color:var(--pine); }
.waveform rect { transform-box:fill-box; transform-origin:center; }
.demo-console-footer .fine { margin:0; font-size:10px; max-width:210px; text-align:right; }
.proof-section { padding-bottom:92px; }
.proof-stage { position:relative; background:#dce5d7; border-radius:24px; padding:50px 70px 0; overflow:hidden; }
.proof-stage::before { content:""; position:absolute; width:500px; height:500px; left:-240px; top:40px; border:1px solid rgb(24 61 53 / 15%); border-radius:50%; box-shadow:0 0 0 42px rgb(24 61 53 / 4%),0 0 0 84px rgb(24 61 53 / 3%); }
.proof-tabs { display:flex; justify-content:center; gap:8px; margin-bottom:30px; position:relative; }
.proof-tabs button { padding:9px 18px; border:1px solid #aebfa6; border-radius:var(--pill); background:transparent; color:#345341; font-size:12px; }
.proof-tabs button[aria-selected=true] { background:var(--pine); color:var(--paper); border-color:var(--pine); }
.proof-screenshot { width:100%; border-radius:14px 14px 0 0; border:1px solid #a6b4a0; border-bottom:0; box-shadow:0 16px 56px rgb(28 55 35 / 12%); position:relative; }
.proof-caption { display:flex; justify-content:space-between; gap:24px; font-size:11px; color:var(--muted); margin:16px 0 0; }
.benefit-row { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; margin-top:40px; }
.benefit-row article { display:flex; gap:16px; }
.benefit-row svg { flex-shrink:0; width:22px; height:22px; color:var(--pine); margin-top:2px; }
.benefit-row h3 { font-size:15px; font-weight:550; margin:0 0 6px; }
.benefit-row p { margin:0; color:var(--muted); font-size:13px; }
.lifestyle { display:grid; grid-template-columns:1.15fr 1fr; gap:0; padding:0; }
.lifestyle-photo { width:100%; height:100%; object-fit:cover; min-height:540px; }
.lifestyle-copy { padding:76px 64px; display:flex; justify-content:center; flex-direction:column; }
.lifestyle-copy h2 { font-size:48px; letter-spacing:-2px; }
.lifestyle-copy p { max-width:400px; font-size:15px; color:#c0cfc5; }
.lifestyle-copy .text-link { align-self:start; margin-top:12px; }
.mode-row { display:grid; grid-template-columns:1fr 1fr; gap:40px; margin-top:40px; }
.mode-card { padding-top:24px; border-top:1px solid var(--line); }
.mode-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:18px; }
.mode-top svg { width:28px; height:28px; color:var(--pine); }
.mode-label { font-size:10px; color:#5f6c61; letter-spacing:1px; text-transform:uppercase; }
.mode-card h3 { font-size:27px; letter-spacing:-.8px; margin-bottom:12px; }
.mode-card p { font-size:14px; color:var(--muted); max-width:460px; margin-bottom:22px; }
.model-section { padding-top:0; }
.model-layout { display:grid; grid-template-columns:1fr 1.3fr; gap:100px; align-items:start; }
.model-layout h2 { font-size:44px; }
.model-layout p { max-width:360px; color:var(--muted); font-size:14px; }
.model-list { border-top:1px solid var(--line); }
.model-item { display:grid; grid-template-columns:110px 1fr; gap:32px; padding:28px 0; border-bottom:1px solid var(--line); }
.model-name { font-size:22px; color:var(--pine); font-weight:500; }
.model-detail h3 { font-size:16px; font-weight:500; margin-bottom:6px; }
.model-detail p { font-size:13px; margin:0; }
.setup-section { background:#e7ece1; }
.steps { display:grid; grid-template-columns:repeat(3,1fr); gap:40px; }
.step { border-top:1px solid #bac7b3; padding-top:24px; }
.step-num { font-family:var(--display); font-size:40px; color:#879c7b; line-height:1; margin-bottom:42px; }
.step h3 { font-size:20px; letter-spacing:-.4px; margin-bottom:14px; }
.step p { color:#55624f; max-width:300px; font-size:14px; margin:0; }
.price-layout { display:grid; grid-template-columns:1fr 1.2fr; gap:100px; align-items:center; }
.price-copy p { max-width:340px; color:var(--muted); font-size:15px; }
.price-box { padding:36px; background:var(--white); border:1px solid var(--line); border-radius:var(--radius); }
.price-box label { display:flex; justify-content:space-between; flex-wrap:wrap; font-size:13px; font-weight:550; margin-bottom:20px; gap:8px 16px; }
.price-box label output { color:var(--pine); white-space:nowrap; }
.price-box input[type=range],
.pricing-estimate input[type=range] {
  -webkit-appearance:none; appearance:none;
  width:100%; accent-color:var(--pine); margin:8px 0 12px; height:28px; cursor:pointer;
  background:transparent; touch-action:none; position:relative; z-index:2;
}
.price-box input[type=range]::-webkit-slider-runnable-track,
.pricing-estimate input[type=range]::-webkit-slider-runnable-track {
  height:6px; border-radius:999px; background:#d5ddd0;
}
.price-box input[type=range]::-moz-range-track,
.pricing-estimate input[type=range]::-moz-range-track {
  height:6px; border-radius:999px; background:#d5ddd0;
}
.price-box input[type=range]::-webkit-slider-thumb,
.pricing-estimate input[type=range]::-webkit-slider-thumb {
  -webkit-appearance:none; appearance:none;
  width:22px; height:22px; margin-top:-8px; border-radius:50%;
  background:var(--pine); border:2px solid #fff; box-shadow:0 1px 4px rgb(24 61 53 / 35%);
  cursor:grab;
}
.price-box input[type=range]::-moz-range-thumb,
.pricing-estimate input[type=range]::-moz-range-thumb {
  width:22px; height:22px; border-radius:50%;
  background:var(--pine); border:2px solid #fff; box-shadow:0 1px 4px rgb(24 61 53 / 35%);
  cursor:grab;
}
.price-box input[type=range]:disabled,
.pricing-estimate input[type=range]:disabled { cursor:not-allowed; opacity:.55; }

.range-labels { display:flex; justify-content:space-between; color:#737c70; font-size:10px; margin-bottom:26px; }
.price-totals { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; border-top:1px solid var(--line); padding-block:24px; }
.price-total { min-width:0; }
.price-total + .price-total { border-left:1px solid var(--line); padding-left:24px; }
.price-total span { font-size:12px; color:var(--muted); display:block; }
.price-total strong { display:block; font-size:40px; font-weight:450; line-height:1.4; letter-spacing:-1.7px; color:var(--pine); font-variant-numeric:tabular-nums; }
.price-total small { font-size:10px; color:var(--muted); }
.price-box .fine { margin-bottom:0; font-size:11px; }
.faq-section { padding-top:0; }
.faq-layout { display:grid; grid-template-columns:.75fr 1.25fr; gap:100px; }
.faq-layout h2 { font-size:44px; }
.faq-list { border-top:1px solid var(--line); }
.faq-list details { border-bottom:1px solid var(--line); }
.faq-list summary { list-style:none; display:flex; align-items:center; justify-content:space-between; gap:28px; padding:24px 0; font-size:16px; cursor:pointer; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary::after { content:"+"; font-size:23px; font-weight:300; line-height:1; color:var(--pine); }
.faq-list details[open] summary::after { content:"−"; }
.faq-list details p { font-size:14px; color:var(--muted); max-width:590px; margin-bottom:24px; }
.final-cta { text-align:center; padding:100px 24px; background:var(--pine); color:var(--paper); position:relative; overflow:hidden; }
.final-cta::before,.final-cta::after { content:""; position:absolute; width:520px; height:520px; border-radius:50%; border:1px solid #547061; transform:rotate(-32deg) scaleY(.45); opacity:.5; pointer-events:none; }
.final-cta::before { left:-150px; top:0; box-shadow:0 0 0 28px rgb(84 112 97 / 25%),0 0 0 56px rgb(84 112 97 / 15%); }
.final-cta::after { right:-140px; top:60px; }
.final-cta > * { position:relative; }
.final-cta h2 { font-size:clamp(40px,5vw,72px); line-height:1.12; letter-spacing:-3px; font-weight:400; margin-bottom:22px; }
.final-cta h2 em { font-family:var(--display); font-weight:400; color:var(--sage); }
.final-cta p { font-size:15px; color:#c0cfc5; margin-bottom:30px; }
.site-footer { padding-block:64px 24px; }
.footer-top { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:40px; padding-bottom:56px; }
.footer-brand p { font-size:12px; color:var(--muted); margin-top:22px; }
.footer-col h3 { font-size:11px; text-transform:uppercase; letter-spacing:1px; font-weight:600; margin-bottom:16px; }
.footer-col a { display:block; color:var(--muted); font-size:12px; margin-bottom:12px; }
.footer-col a:hover { color:var(--pine); text-decoration:underline; }
.footer-bottom { display:flex; justify-content:space-between; align-items:center; padding-top:20px; border-top:1px solid var(--line); color:var(--muted); font-size:10px; gap:20px; }
.footer-bottom a { text-decoration:underline; text-underline-offset:3px; }
.page-intro { text-align:center; padding-block:82px 64px; }
.page-intro .eyebrow { justify-content:center; }
.page-intro h1 { font-size:clamp(44px,5vw,72px); letter-spacing:-3.5px; line-height:1.12; margin:0 0 22px; }
.page-intro h1 em { color:var(--pine); font-family:var(--display); font-weight:400; }
.page-intro p { max-width:580px; margin:0 auto; color:var(--muted); }
.pricing-main { max-width:920px; margin:0 auto; }
.pricing-main .price-box { padding:48px; }
.pricing-main .price-total strong { font-size:64px; }
.pricing-main .price-total span { font-size:17px; }
.pricing-main .price-total small { font-size:12px; }
.price-actions { display:flex; justify-content:space-between; gap:24px; align-items:center; margin-top:28px; }
.price-actions p { font-size:12px; color:var(--muted); margin:0; max-width:470px; }
.licence-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.licence-card { border:1px solid var(--line); border-radius:var(--radius); padding:36px; background:var(--white); }
.licence-card h3 { font-size:26px; letter-spacing:-1px; margin-bottom:12px; }
.licence-card p { font-size:14px; color:var(--muted); }
.licence-card .licence-price { font-size:38px; color:var(--pine); letter-spacing:-1px; margin-block:24px; }
.licence-price small { font-size:12px; letter-spacing:0; color:var(--muted); }
.rule-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:36px; }
.rule-grid h3 { font-size:19px; }
.rule-grid p { font-size:14px; color:var(--muted); }
.download-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
.download-card { padding:38px; border:1px solid var(--line); background:var(--white); border-radius:var(--radius); }
.download-card svg { width:28px; height:28px; margin-bottom:26px; }
.download-card h2 { font-size:30px; letter-spacing:-1px; margin-bottom:8px; }
.download-card p { font-size:14px; color:var(--muted); margin-bottom:28px; }
.download-choices { display:flex; flex-direction:column; gap:12px; }
.download-choices .btn { justify-content:space-between; }
.download-notes { margin:26px 0 0; font-size:12px; color:var(--muted); max-width:980px; }
.setup-layout { display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start; }
.setup-layout img { border-radius:12px; border:1px solid #bcc8b7; box-shadow:var(--shadow); }
.setup-list { margin:0; padding-left:22px; }
.setup-list li { padding:0 0 18px 6px; font-size:14px; }
.setup-list strong { display:block; margin-bottom:4px; }
.components-heading { font-size:32px; letter-spacing:-1px; margin-bottom:32px; }
.swatches { display:grid; grid-template-columns:repeat(6,1fr); gap:16px; }
.swatch { height:100px; border-radius:12px; border:1px solid #cbd2c8; display:flex; align-items:end; padding:12px; font-size:12px; }
.component-buttons { display:flex; gap:18px; flex-wrap:wrap; margin-block:24px; }
.component-note { max-width:760px; font-size:15px; color:var(--muted); }
.mobile-preview-frame { width:390px; max-width:100%; height:800px; border:1px solid #c1cbbb; border-radius:20px; background:var(--paper); }
.prototype-label { text-align:center; color:var(--muted); font-size:10px; padding:12px 20px; border-top:1px solid var(--line); }

/* M1: no cross-face stream — bubble waveform + soft pulse only */
.sound-stream { display:none !important; }
.hero-art .voice-note { z-index:2; }
/* M3 hero bilingual cycle defaults (final bilingual state without JS/motion) */
/* M3 bilingual cycle */
.hero-art .voice-note.second { opacity:1; transform:none; }
.hero-art[data-hero-cycle=source] .voice-note.second { opacity:0; transform:translateY(8px); }
.hero-art[data-hero-cycle=both] .voice-note.second { opacity:1; transform:none; transition:opacity .7s var(--ease), transform .7s var(--ease); }
.hero-art[data-hero-cycle=source] .voice-note.first { opacity:1; }
/* M4 stagger children */
[data-reveal] .mode-card,
[data-reveal] .step,
[data-reveal].mode-row .mode-card,
[data-reveal].steps .step { transition:opacity .55s var(--ease), transform .55s var(--ease); }
html[data-motion=on] [data-reveal].reveal-ready .mode-card,
html[data-motion=on] [data-reveal].reveal-ready .step { opacity:0; transform:translateY(16px); }
html[data-motion=on] [data-reveal].reveal-ready.is-visible .mode-card,
html[data-motion=on] [data-reveal].reveal-ready.is-visible .step { opacity:1; transform:none; }
html[data-motion=on] [data-reveal].is-visible .mode-card:nth-child(1),
html[data-motion=on] [data-reveal].is-visible .step:nth-child(1) { transition-delay:0ms; }
html[data-motion=on] [data-reveal].is-visible .mode-card:nth-child(2),
html[data-motion=on] [data-reveal].is-visible .step:nth-child(2) { transition-delay:80ms; }
html[data-motion=on] [data-reveal].is-visible .mode-card:nth-child(3),
html[data-motion=on] [data-reveal].is-visible .step:nth-child(3) { transition-delay:160ms; }
html[data-motion=on] [data-reveal].is-visible .mode-card:nth-child(4),
html[data-motion=on] [data-reveal].is-visible .step:nth-child(4) { transition-delay:240ms; }
/* M4 one-shot range thumb nudge */
@keyframes range-thumb-nudge {
  0% { transform: scale(1); }
  35% { transform: scale(1.28); }
  70% { transform: scale(.92); }
  100% { transform: scale(1); }
}
html[data-motion=on] .price-box.range-nudge input[type=range]::-webkit-slider-thumb { animation: range-thumb-nudge .7s var(--ease) 1; }
html[data-motion=on] .price-box.range-nudge input[type=range]::-moz-range-thumb { animation: range-thumb-nudge .7s var(--ease) 1; }
html[data-motion=on] .pricing-estimate.range-nudge input[type=range]::-webkit-slider-thumb { animation: range-thumb-nudge .7s var(--ease) 1; }
html[data-motion=on] .pricing-estimate.range-nudge input[type=range]::-moz-range-thumb { animation: range-thumb-nudge .7s var(--ease) 1; }

/* Static by default; motion is an optional enhancement. */
@media (prefers-reduced-motion:no-preference) {
  html { scroll-behavior:smooth; }
  html[data-motion=on] .hero-image { animation:art-drift 16s ease-in-out infinite alternate; }
  html[data-motion=on] .voice-note.first { animation:none; }
  html[data-motion=on] .voice-note.second { animation:none; }
  html[data-motion=on] .demo-console.is-playing .waveform rect { animation:voice-bar .9s ease-in-out var(--delay,0s) infinite alternate; }
  html[data-motion=on] .reveal-ready { opacity:0; transform:translateY(18px); transition:opacity .55s var(--ease),transform .55s var(--ease); }
  html[data-motion=on] .reveal-ready.is-visible { opacity:1; transform:none; }
  html[data-motion=on] .sound-stream-path { animation:sound-flow 2.4s linear infinite; }
  html[data-motion=on] .voice-note.first .mini-wave i { animation:mini-bar .7s ease-in-out infinite alternate; transform-origin:center bottom; }
  html[data-motion=on] .voice-note.first .mini-wave i:nth-child(1) { animation-delay:0s; }
  html[data-motion=on] .voice-note.first .mini-wave i:nth-child(2) { animation-delay:.05s; }
  html[data-motion=on] .voice-note.first .mini-wave i:nth-child(3) { animation-delay:.1s; }
  html[data-motion=on] .voice-note.first .mini-wave i:nth-child(4) { animation-delay:.15s; }
  html[data-motion=on] .voice-note.first .mini-wave i:nth-child(5) { animation-delay:.2s; }
  html[data-motion=on] .voice-note.first .mini-wave i:nth-child(6) { animation-delay:.25s; }
  html[data-motion=on] .voice-note.first .mini-wave i:nth-child(7) { animation-delay:.3s; }
  html[data-motion=on] .voice-note.first .mini-wave i:nth-child(8) { animation-delay:.35s; }
  html[data-motion=on] .voice-note.second .mini-wave i { animation:mini-bar .7s ease-in-out .35s infinite alternate; transform-origin:center bottom; }
  html[data-motion=on] .hero-art[data-hero-cycle=source] .voice-note.second { animation:none; }
}
@keyframes sound-flow { from { stroke-dashoffset: 0; } to { stroke-dashoffset: -24; } }
@keyframes mini-bar { from { transform:scaleY(.35); opacity:.45; } to { transform:scaleY(1); opacity:1; } }
html[data-motion=off] { scroll-behavior:auto; }
html[data-motion=off] *,html[data-visibility=hidden] *,[data-offscreen=true] * { animation-play-state:paused!important; }
html[data-motion=off] .reveal-ready { opacity:1; transform:none; transition:none; }
@keyframes art-drift { from { transform:scale(1.015) translateY(0); } to { transform:scale(1.035) translateY(-8px); } }
@keyframes note-drift { from { transform:translateY(0); } to { transform:translateY(-4px); } }
@keyframes voice-bar { from { transform:scaleY(.28); opacity:.45; } to { transform:scaleY(1); opacity:1; } }
@media (min-width:1536px) { :root { --gutter:64px; } }
@media (max-width:1100px) {
  :root { --gutter:32px; }
  .header-inner { gap:24px; }
  .main-nav { gap:20px; }
  .header-actions { gap:14px; }
  .hero-inner { gap:20px; min-height:670px; }
  .hero h1 { font-size:65px; letter-spacing:-3.8px; }
  .hero h1 em { letter-spacing:-3.5px; }
  .voice-note { max-width:275px; }
  .voice-note.first { top:auto; left:-42%; bottom:10%; max-width:180px; }
  .voice-note.second { top:auto; bottom:-36px; right:-4%; max-width:180px; }
  .compatibility-inner { gap:24px; }
  .platforms { gap:26px; }
  .compatibility .fine { display:none; }
  .demo-stage { gap:32px; }
  .model-layout,.price-layout,.faq-layout { gap:56px; }
  .lifestyle-copy { padding:48px 40px; }
  .lifestyle-copy h2 { font-size:40px; }
  .benefit-row { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
  .proof-stage { padding-inline:40px; }
}
@media (max-width:900px) {
  :root { --header:72px; }
  .main-nav { display:none; }
  .header-actions { margin-left:auto; }
  .menu-toggle { display:flex; }
  .hero h1 { font-size:56px; letter-spacing:-3px; }
  .hero h1 em { letter-spacing:-3px; }
  .hero-inner { min-height:650px; padding-block:60px; }
  .hero-description { font-size:15px; }
  .hero-art { min-height:420px; }
  .voice-note { padding:15px 17px; max-width:245px; }
  .voice-note p { font-size:14px; }
  .hero-actions { gap:12px; }
  .hero-actions .btn { padding-inline:18px; font-size:13px; }
  .section { padding-block:80px; }
  .section-heading { margin-bottom:36px; }
  .section-heading h2 { font-size:43px; }
  .section-heading p { font-size:13px; max-width:260px; }
  .demo-stage { grid-template-columns:1fr 1.25fr; gap:28px; }
  .demo-dialogue { padding:24px; }
  .demo-path { gap:7px; font-size:10px; }
  .demo-path span { padding:4px 7px; }
  .demo-explainer h3 { font-size:25px; }
  .lifestyle { grid-template-columns:1fr 1fr; padding:0; }
  .lifestyle-photo { min-height:480px; }
  .lifestyle-copy { padding:44px 32px; }
  .lifestyle-copy h2 { font-size:36px; }
  .lifestyle-copy p { font-size:13px; }
  .model-section,.faq-section { padding-top:0; }
  .model-layout,.price-layout,.faq-layout { gap:40px; }
  .model-layout h2,.faq-layout h2 { font-size:36px; }
  .price-box { padding:28px; }
  .price-total strong { font-size:34px; }
  .footer-top { gap:28px; }
}
@media (max-width:700px) {
  :root { --gutter:24px; --header:68px; }
  .brand { font-size:30px; }
  .brand img { width:24px; height:24px; }
  .header-inner { gap:16px; }
  .header-actions { gap:16px; }
  .header-actions > .btn { display:none; }
  .locale-link { font-size:12px; }
  .hero-inner { grid-template-columns:1fr; padding:52px 0 0; gap:8px; min-height:0; }
  .hero-copy { max-width:540px; }
  .hero h1 { font-size:clamp(44px,10vw,62px); letter-spacing:-2.6px; margin-bottom:22px; line-height:1.08; }
  .hero h1 em { letter-spacing:-2.3px; margin-top:2px; }
  .hero .eyebrow { font-size:10px; letter-spacing:1.5px; margin-bottom:20px; }
  .hero-description { font-size:15px; max-width:390px; margin-bottom:24px; }
  .hero-image { top:auto; height:390px; bottom:45px; object-position:85% center; }
  .hero::after { background:linear-gradient(180deg,var(--paper) 0%,var(--paper) 46%,transparent 70%); }
  .hero-art { min-height:300px; max-width:500px; width:100%; margin-inline:auto; overflow:visible; }
  .voice-note.first { top:auto; left:0; bottom:2%; max-width:170px; }
  .voice-note.second { top:auto; bottom:2%; right:0; max-width:170px; }
  .voice-note { max-width:245px; padding:14px 17px; }
  .voice-note.first { top:auto; left:-42%; bottom:10%; max-width:180px; }
  .voice-note.second { top:auto; bottom:-36px; right:-4%; max-width:180px; }
  .voice-note p { font-size:14px; }
  .voice-note .mini-wave { margin-top:6px; height:15px; }
  .art-caption { bottom:6px; font-size:9px; }
  .availability { margin-top:20px; font-size:11px; }
  .hero-bottom { align-items:center; margin-top:12px; font-size:10px; padding-bottom:15px; }
  .hero-bottom > span { max-width:180px; }
  .compatibility { padding:24px 0; }
  .compatibility-inner { gap:18px; justify-content:center; }
  .compatibility p { max-width:none; width:100%; text-align:center; font-size:11px; }
  .platforms { flex-basis:100%; gap:24px; }
  .platform { font-size:16px; gap:7px; letter-spacing:-.5px; }
  .platform svg { width:18px; height:18px; }
  .section { padding-block:64px; }
  .section h2,.section-title,.section-heading h2 { font-size:37px; letter-spacing:-1.7px; line-height:1.15; }
  .section-heading { display:block; margin-bottom:30px; }
  .section-heading p { font-size:14px; max-width:440px; margin-top:20px; }
  .section-heading .text-link { margin-top:24px; }
  .eyebrow { font-size:10px; letter-spacing:1.5px; margin-bottom:18px; }
  .demo-stage { grid-template-columns:1fr; gap:30px; }
  .pill-tabs { margin-bottom:22px; }
  .demo-explainer h3 { font-size:25px; }
  .demo-explainer p { max-width:100%; font-size:14px; }
  .demo-path { margin-bottom:18px; }
  .demo-console-header { padding:16px 18px; }
  .demo-dialogue { padding:24px 18px; min-height:288px; gap:20px; }
  .dialogue-item { max-width:95%; }
  .dialogue-bubble { padding:14px 16px; }
  .dialogue-bubble p { font-size:14px; }
  .demo-console-footer { padding:14px 18px; }
  .waveform { width:120px; }
  .demo-console-footer .fine { max-width:160px; font-size:9px; }
  .proof-stage { padding:24px 14px 0; border-radius:16px; }
  .proof-tabs { gap:5px; margin-bottom:20px; }
  .proof-tabs button { font-size:11px; padding:8px 12px; }
  .proof-screenshot { border-radius:7px 7px 0 0; }
  .proof-caption { display:block; font-size:10px; }
  .proof-caption span { display:block; margin-bottom:8px; }
  .benefit-row { grid-template-columns:1fr; gap:24px; margin-top:30px; }
  .benefit-row p { max-width:450px; }
  .lifestyle { display:flex; flex-direction:column; padding:0; }
  .lifestyle-photo { min-height:0; height:auto; aspect-ratio:1.4; object-fit:cover; }
  .lifestyle-copy { padding:48px 24px; }
  .lifestyle-copy h2 { max-width:400px; }
  .lifestyle-copy p { font-size:14px; }
  .mode-row { grid-template-columns:1fr; gap:32px; margin-top:0; }
  .mode-card h3 { font-size:25px; }
  .model-section,.faq-section { padding-top:0; }
  .model-layout,.price-layout,.faq-layout { grid-template-columns:1fr; gap:30px; }
  .model-layout h2 { max-width:400px; }
  .model-layout p { max-width:none; }
  .model-item { gap:24px; grid-template-columns:90px 1fr; }
  .steps { grid-template-columns:1fr; gap:32px; }
  .step { display:grid; grid-template-columns:42px 1fr; gap:20px; padding-top:22px; }
  .step-num { font-size:32px; margin:0; }
  .step h3 { font-size:18px; }
  .step p { max-width:none; font-size:13px; }
  .price-box { padding:24px; }
  .price-box label > span { flex-basis:100%; }
  .price-total strong { font-size:36px; }
  .faq-list summary { font-size:15px; padding:22px 0; gap:18px; }
  .faq-list details p { font-size:13px; }
  .final-cta { padding:72px 24px; }
  .final-cta h2 { font-size:43px; letter-spacing:-2px; }
  .final-cta p { font-size:14px; }
  .final-cta::before { left:-350px; }
  .final-cta::after { right:-350px; }
  .site-footer { padding-top:48px; }
  .footer-top { grid-template-columns:1fr 1fr; gap:32px 24px; padding-bottom:32px; }
  .footer-brand { grid-column:1/-1; }
  .footer-brand p { margin-top:16px; }
  .footer-bottom { flex-wrap:wrap; gap:12px; }
  .page-intro { padding-block:56px 40px; text-align:left; }
  .page-intro .eyebrow { justify-content:start; }
  .page-intro h1 { font-size:45px; letter-spacing:-2px; }
  .page-intro p { font-size:15px; }
  .pricing-main .price-box { padding:24px; }
  .pricing-main .price-total strong { font-size:42px; }
  .pricing-main .price-total span { font-size:14px; }
  .pricing-main .price-total small { font-size:10px; }
  .price-actions { display:block; margin-top:22px; }
  .price-actions .btn { margin-top:20px; }
  .licence-grid,.rule-grid,.download-grid,.setup-layout { grid-template-columns:1fr; gap:24px; }
  .licence-card,.download-card { padding:28px; }
  .licence-card h3 { font-size:24px; }
  .download-card h2 { font-size:28px; }
  .swatches { grid-template-columns:repeat(2,1fr); }
}
/* Localized copy gets its own line lengths rather than compressed Latin spacing. */
:lang(zh-Hans) .hero h1 { letter-spacing:-1.5px; font-size:clamp(42px,4.8vw,68px); line-height:1.2; }
:lang(zh-Hans) .hero h1 em { font-style:normal; letter-spacing:-1px; font-family:var(--display); }
:lang(zh-Hans) .section h2,:lang(zh-Hans) .section-title { letter-spacing:-1px; }
:lang(zh-Hans) .section h2 em,:lang(zh-Hans) .final-cta h2 em,:lang(zh-Hans) .page-intro h1 em { font-style:normal; }
@media (max-width:700px) {
  :lang(zh-Hans) .hero h1 { font-size:clamp(38px,10vw,54px); }
  :lang(zh-Hans) .page-intro h1 { font-size:clamp(29px,8.4vw,38px); letter-spacing:-.8px; line-height:1.25; }
  :lang(zh-Hans) .section h2 { font-size:34px; line-height:1.25; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
  .reveal-ready { opacity:1!important; transform:none!important; }
}
@media (max-width:360px) {
  .price-totals { grid-template-columns:1fr; gap:16px; }
  .price-total + .price-total { padding-left:0; padding-top:16px; border-left:0; border-top:1px solid var(--line); }
  .hero h1 { font-size:40px; }
  .platforms { gap:16px; }
  .platform { font-size:14px; }
}
@media print {
  .site-header,.motion-toggle,.prototype-label { display:none; }
  .section { padding-block:36px; }
  .reveal-ready { opacity:1!important; transform:none!important; }
  body { background:white; }
  .dark,.final-cta { print-color-adjust:exact; }
}

/* Pricing: session estimator hero above real top-up */
body.pine-pricing .pricing-estimate {
  max-width: 640px;
  margin: 0 auto 48px;
  text-align: center;
}
body.pine-pricing .pricing-estimate .price-box {
  text-align: left;
  margin-top: 28px;
  padding: 36px;
  background: var(--white, #fffefb);
  border: 1px solid var(--line, #d9ddd3);
  border-radius: 20px;
  box-shadow: 0 20px 60px -25px rgb(24 61 53 / 22%);
}
body.pine-pricing .pricing-estimate label {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px 16px;
  font-size: 13px;
  font-weight: 550;
  margin-bottom: 12px;
}
body.pine-pricing .pricing-estimate label output { color: var(--pine); }
body.pine-pricing .pricing-estimate input[type=range] {
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  accent-color: var(--pine);
  margin: 8px 0 12px;
  height: 28px;
  cursor: pointer;
  background: transparent;
  touch-action: none;
  position: relative;
  z-index: 2;
}
body.pine-pricing .pricing-estimate .range-labels {
  display: flex;
  justify-content: space-between;
  color: #737c70;
  font-size: 10px;
  margin-bottom: 22px;
}
body.pine-pricing .pricing-estimate .price-totals {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  border-top: 1px solid var(--line);
  padding-block: 24px;
}
body.pine-pricing .pricing-estimate .price-total + .price-total {
  border-left: 1px solid var(--line);
  padding-left: 24px;
}
body.pine-pricing .pricing-estimate .price-total span {
  display: block;
  font-size: 12px;
  color: var(--muted);
}
body.pine-pricing .pricing-estimate .price-total strong {
  display: block;
  font-size: 36px;
  font-weight: 450;
  letter-spacing: -1.5px;
  color: var(--pine);
  font-variant-numeric: tabular-nums;
}
body.pine-pricing .pricing-estimate .price-total small {
  font-size: 10px;
  color: var(--muted);
}
body.pine-pricing .page-hero {
  text-align: center;
  max-width: 720px;
  margin-inline: auto;
}
body.pine-pricing .page-hero .lede { margin-inline: auto; }

/* Standalone /download hero: two OS cards in first viewport */
body.pine-download .download-hero {
  text-align: center;
  padding: 64px 0 24px;
  max-width: 900px;
  margin-inline: auto;
}
body.pine-download .download-hero h1 {
  font-size: clamp(42px, 5vw, 68px);
  letter-spacing: -2.8px;
  line-height: 1.08;
  margin-bottom: 18px;
}
body.pine-download .download-hero h1 em {
  display: block;
  font-family: var(--display);
  color: var(--pine);
  font-weight: 400;
  font-size: 0.92em;
}
body.pine-download .download-hero .lede {
  max-width: 520px;
  margin: 0 auto 36px;
  color: var(--muted);
  font-size: 16px;
}
body.pine-download .download-os-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  max-width: 860px;
  margin: 0 auto 28px;
}
body.pine-download .download-os-card {
  text-align: left;
  padding: 28px 28px 24px;
  background: var(--white, #fffefb);
  border: 1px solid var(--line);
  border-radius: 20px;
  box-shadow: 0 16px 48px -28px rgb(24 61 53 / 28%);
}
body.pine-download .download-os-card h2 {
  font-size: 28px;
  letter-spacing: -0.8px;
  margin: 12px 0 6px;
}
body.pine-download .download-os-card > p {
  color: var(--muted);
  font-size: 14px;
  margin: 0 0 18px;
}
body.pine-download .download-os-card .download-choices {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
body.pine-download .download-os-card .btn-outline {
  background: transparent;
  color: var(--pine);
  border-color: #a1aca0;
}
body.pine-download .download-os-card .download-checksum {
  display: inline-block;
  margin-top: 6px;
  font-size: 12px;
  color: var(--muted);
}
@media (max-width: 700px) {
  body.pine-download .download-os-grid { grid-template-columns: 1fr; }
}

