/* Typewave product page — uses the Typewave sub-brand's own design tokens
   (loaded separately, see ds/), independent of the main site's --c-* tokens
   and its own light/dark toggle. This page is intentionally fixed-theme,
   matching the original design. */

.tw-page{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text)}
.tw-page a:not(.tw-btn):not(.tw-btn-outline){color:var(--color-primary);text-decoration:none}
.tw-page a:not(.tw-btn):not(.tw-btn-outline):hover{color:var(--color-primary-hover);text-decoration:underline}
.tw-page ::selection{background:var(--color-primary-tint)}
.tw-page *{box-sizing:border-box}
.tw-page img{max-width:100%;display:block}

.tw-btn{display:inline-flex;align-items:center;justify-content:center;background:var(--color-primary);color:#fff;border-radius:var(--radius-md);padding:14px 26px;font-size:var(--text-base);font-weight:var(--weight-medium);text-decoration:none}
.tw-btn:hover{background:var(--color-primary-hover);color:#fff;text-decoration:none}
.tw-btn-outline{display:inline-flex;align-items:center;justify-content:center;background:var(--ink-300);color:var(--ink-900);border:1px solid var(--ink-300);border-radius:var(--radius-md);padding:14px 26px;font-size:var(--text-base);font-weight:var(--weight-medium);text-decoration:none}
.tw-btn-outline:hover{text-decoration:none;filter:brightness(0.97)}

/* Hero */
.tw-hero{background:var(--ink-900);color:#fff;padding:88px 48px 0;display:flex;flex-direction:column;align-items:center;text-align:center}
.tw-eyebrow-dark{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--green-500);background:rgba(158,228,147,0.12);padding:5px 12px;border-radius:var(--radius-pill)}
.tw-hero h1{font-size:var(--text-4xl);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight);margin:22px 0 16px;max-width:760px;line-height:var(--leading-tight)}
.tw-hero-sub{font-size:var(--text-md);color:var(--ink-300);max-width:600px;line-height:var(--leading-relaxed);margin:0}
.tw-hero-ctas{display:flex;gap:14px;margin-top:28px;flex-wrap:wrap;justify-content:center}
.tw-hero-ctas .tw-btn{flex-direction:column;gap:2px}
.tw-hero-ctas .tw-btn small{font-size:11px;font-weight:var(--weight-regular);color:#fff}
.tw-platforms{display:flex;gap:24px;margin:22px 0 0;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);color:var(--ink-400);text-transform:uppercase;flex-wrap:wrap;justify-content:center}
.tw-hero-shot{margin:48px 0 0;width:100%;max-width:1040px;border-radius:var(--radius-lg) var(--radius-lg) 0 0;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,0.35);border:1px solid var(--ink-700);line-height:0}

/* Section shells */
.tw-section{padding:88px 48px;max-width:1140px;margin:0 auto}
.tw-section-sunken{background:var(--color-surface-sunken)}
.tw-section-sunken>.tw-section,
.tw-section-sunken .tw-section-inner{padding-top:80px;padding-bottom:80px}
.tw-section-head{text-align:center;margin-bottom:48px}
.tw-section-head h2{font-size:var(--text-2xl);font-weight:var(--weight-semibold);margin:0 0 10px}
.tw-section-head p{color:var(--color-text-muted);margin:0;max-width:560px;margin-left:auto;margin-right:auto}

/* Feature grid */
.tw-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.tw-feature-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:28px;display:flex;flex-direction:column;gap:12px}
.tw-feature-card svg{color:var(--color-primary)}
.tw-feature-card .tw-feature-title{font-weight:var(--weight-semibold);font-size:var(--text-md)}
.tw-feature-card p{color:var(--color-text-muted);font-size:var(--text-sm);line-height:var(--leading-normal);margin:0}
.tw-pill-row{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:32px}
.tw-pill{display:flex;align-items:center;gap:8px;background:var(--color-surface-sunken);border-radius:var(--radius-pill);padding:9px 18px;font-size:var(--text-sm);color:var(--color-text-muted)}
.tw-pill svg{color:var(--color-primary)}

/* Deep dives */
.tw-dive{max-width:1140px;margin:0 auto;display:flex;gap:56px;align-items:center;flex-wrap:wrap}
.tw-dive-reverse{flex-wrap:wrap-reverse}
.tw-dive-copy{flex:1;min-width:320px}
.tw-dive-media{flex:1.2;min-width:360px;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);border:1px solid var(--color-border);line-height:0}
.tw-dive-eyebrow{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-primary)}
.tw-dive-copy h3{font-size:var(--text-2xl);font-weight:var(--weight-semibold);margin:12px 0 14px}
.tw-dive-copy p{color:var(--color-text-muted);line-height:var(--leading-relaxed);margin:0 0 16px}
.tw-dive-copy p:last-child{margin-bottom:0}
.tw-dive-copy code{font-family:var(--font-mono);background:var(--color-surface-sunken);padding:2px 6px;border-radius:4px}

.tw-code-mock{flex:1.2;min-width:360px;background:var(--ink-900);border-radius:var(--radius-lg);padding:40px;position:relative;min-height:260px;box-shadow:var(--shadow-lg)}
.tw-code-mock pre{font-family:var(--font-mono);font-size:12px;color:#7d909c;line-height:2;margin:0}
.tw-code-mock .tw-code-indent{padding-left:16px}
.tw-code-mock .tw-code-highlight{padding-left:16px;background:rgba(0,95,166,0.25);border-radius:3px}
.tw-param-dialog{position:absolute;top:56px;left:46%;background:#fff;border-radius:var(--radius-md);box-shadow:0 12px 32px rgba(0,0,0,0.4);width:230px;overflow:hidden}
.tw-param-dialog-head{background:var(--color-surface-sunken);padding:8px 14px;font-size:12px;font-weight:var(--weight-medium);color:var(--color-text)}
.tw-param-dialog-body{padding:14px;display:flex;flex-direction:column;gap:10px}
.tw-param-label{font-size:10px;color:var(--color-text-muted);margin-bottom:4px}
.tw-param-value{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:6px 8px;font-size:11px}
.tw-swatch{width:16px;height:16px;border-radius:4px;background:#eef2f4;border:1px solid var(--color-border);display:inline-block}

/* Comparison table */
.tw-compare-wrap{max-width:900px;margin:0 auto}
.tw-compare-table{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}
.tw-compare-row{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;font-size:var(--text-sm)}
.tw-compare-row>div{padding:14px 12px;border-top:1px solid var(--color-border);text-align:center}
.tw-compare-row .tw-compare-label{padding:14px 20px;text-align:left;color:var(--color-text);border-top:1px solid var(--color-border)}
.tw-compare-head{font-weight:var(--weight-medium);color:var(--color-text-muted)}
.tw-compare-head-label{padding:16px 20px !important;border-top:none !important}
.tw-compare-head.tw-compare-primary{font-weight:var(--weight-semibold);background:var(--color-primary-tint);color:var(--color-primary);border-top:none !important}
.tw-compare-yes{background:var(--color-primary-tint)}
.tw-compare-yes svg{color:var(--color-primary)}
.tw-compare-no{color:var(--color-text-faint)}

/* Testimonial */
.tw-testimonial{max-width:720px;margin:0 auto;text-align:center}
.tw-testimonial svg{color:var(--color-primary-tint)}
.tw-testimonial p{font-size:var(--text-lg);line-height:var(--leading-relaxed);color:var(--color-text);margin:18px 0 20px;font-weight:var(--weight-medium)}
.tw-testimonial-attr{font-size:var(--text-sm);color:var(--color-text-muted)}

/* Pricing */
.tw-pricing{background:var(--ink-900);color:#fff;padding:88px 48px}
.tw-pricing-inner{max-width:480px;margin:0 auto;text-align:center}
.tw-pricing-eyebrow{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--green-500)}
.tw-pricing h2{font-size:var(--text-2xl);font-weight:var(--weight-semibold);margin:14px 0 6px}
.tw-pricing>.tw-pricing-inner>p{color:var(--ink-300);margin:0 0 32px}
.tw-price-card{background:var(--ink-800);border:1px solid var(--ink-600);border-radius:var(--radius-lg);padding:40px 32px}
.tw-price{font-size:44px;font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight)}
.tw-price-note{color:var(--ink-400);font-size:var(--text-sm);margin-bottom:24px}
.tw-price-features{display:flex;flex-direction:column;gap:10px;text-align:left;margin-bottom:28px}
.tw-price-features span{display:flex;gap:8px;align-items:center;font-size:var(--text-sm);color:var(--ink-200)}
.tw-price-features svg{color:var(--green-500);flex:none}
.tw-price-card .tw-btn{display:block;width:100%;padding:14px 0}

@media (max-width:900px){
  .tw-feature-grid{grid-template-columns:1fr 1fr}
  .tw-compare-row{grid-template-columns:1.2fr 1fr 1fr 1fr;font-size:12px}
}
@media (max-width:640px){
  .tw-hero,.tw-section,.tw-pricing{padding-left:24px;padding-right:24px}
  .tw-feature-grid{grid-template-columns:1fr}
  .tw-dive{gap:32px}
}
