@import url("styles/tokens.generated.css");
:root {
  color-scheme:light;

}

@media (prefers-color-scheme:dark) {
  :root {
    color-scheme:dark;

  }
}

:root[data-theme="dark"] {
  color-scheme:dark;

}

.tm-card-elevated { border-radius: 24px; background: var(--tm-semantic-surface-raised, #fff); box-shadow: 0 10px 40px -12px rgba(15,17,21,.12), 0 2px 8px -2px rgba(15,17,21,.06); border: 1px solid rgba(15,17,21,.06); }
@media (prefers-color-scheme:dark) { .tm-card-elevated { background: var(--tm-semantic-surface-panel); box-shadow: 0 10px 40px -12px rgba(0,0,0,.4), 0 2px 8px -2px rgba(0,0,0,.25); border-color: rgba(255,255,255,.08); } }
:root[data-theme="dark"] .tm-card-elevated { background: var(--tm-semantic-surface-panel); box-shadow: 0 10px 40px -12px rgba(0,0,0,.4), 0 2px 8px -2px rgba(0,0,0,.25); border-color: rgba(255,255,255,.08); }

* { box-sizing:border-box; }

html { overflow-x:clip; scroll-behavior:smooth; background:var(--tm-semantic-surface-canvas); }

body { min-width:320px; margin:0; overflow-x:clip; color:var(--tm-semantic-text-primary); background:var(--tm-semantic-surface-canvas); font-size:var(--tm-semantic-size-text-body); -webkit-font-smoothing:antialiased; }

a { color:inherit; }

button,a,input,summary { -webkit-tap-highlight-color:transparent; }

button,input { font:inherit; }

/* T-22 : anneau de focus unique du design system. */
button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible { outline:none; box-shadow:var(--tm-semantic-shadow-focus); }

h1,h2,h3,p { text-wrap:pretty; }

img { max-width:100%; }

/* Le header appartient à site-header.css : plus aucun doublon de marque ni de CTA ici (T-26/T-27). */

/* T-11 : recette de CTA unique — même hauteur, même rayon, même remplissage que le header
 * et que le tiroir mobile. L'icône est à droite partout. */
.button { display:inline-flex; align-items:center; justify-content:center; gap:calc(var(--tm-semantic-spacing-inline-xs) * 2); min-height:52px; padding:calc(var(--tm-semantic-spacing-inline-xs) * 1.75) calc(var(--tm-semantic-spacing-inline-xs) * 6); border:1px solid var(--tm-semantic-action-primary-bg); border-radius:var(--tm-semantic-radius-control); color:var(--tm-semantic-action-primary-fg); background:var(--tm-semantic-action-primary-bg); font-size:var(--tm-semantic-size-text-body); font-weight:700; text-decoration:none; white-space:nowrap; cursor:pointer; transition:background var(--tm-semantic-motion-standard) var(--tm-semantic-motion-ease-out),box-shadow var(--tm-semantic-motion-standard) var(--tm-semantic-motion-ease-out); }

.button i { display:grid; place-items:center; color:inherit; background:transparent; font-size:var(--tm-semantic-size-icon-md); }

/* T-23 : --tm-semantic-shadow-raised contient déjà une ombre complète ; la composer
 * produisait une déclaration invalide et le site n'avait plus aucune élévation au survol. */
.button:hover { border-color:var(--tm-semantic-action-primary-hover); background:var(--tm-semantic-action-primary-hover); box-shadow:var(--tm-semantic-shadow-overlay); }

.button:active { border-color:var(--tm-semantic-action-primary-active); background:var(--tm-semantic-action-primary-active); }


main { overflow:clip; }

/* W-02 : le hero était centré dans 100dvh et laissait 370 px de vide au-dessus du titre. */
.hero { display:grid; grid-template-columns:minmax(380px,.85fr) minmax(0,1.15fr); align-items:start; gap:calc(var(--tm-semantic-spacing-inline-xs) * 16); width:100%; margin:auto; padding:var(--tm-runtime-section-space) 0; }

.hero-copy { padding-left:0; }

/* T-13 : sur-titre unique — 12px, majuscules, interlettrage 0.08em. */
.hero-label { margin:0 0 calc(var(--tm-semantic-spacing-inline-xs) * 5); color:var(--tm-semantic-text-secondary); font:var(--tm-semantic-type-meta); letter-spacing:var(--tm-runtime-tracking-eyebrow); text-transform:uppercase; }

.hero h1 { max-width:20ch; margin:0; font-size:var(--tm-runtime-display-xl); font-weight:700; line-height:var(--tm-runtime-leading-display); letter-spacing:var(--tm-runtime-tracking-display); }

.hero-copy>p:not(.hero-label) { max-width:52ch; margin:calc(var(--tm-semantic-spacing-inline-xs) * 7) 0 0; color:var(--tm-semantic-text-secondary); font-size:var(--tm-runtime-lede); line-height:var(--tm-runtime-leading-lede); }

/* W-04 : une seule ligne de base, une seule hauteur pour toutes les actions du hero. */
.hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:calc(var(--tm-semantic-spacing-inline-xs) * 4); margin-top:calc(var(--tm-semantic-spacing-inline-xs) * 8); }

.primary-button { min-width:210px; }

.text-link { display:inline-flex; align-items:center; min-height:52px; font-size:var(--tm-semantic-size-text-body); font-weight:700; text-decoration-color:var(--tm-semantic-action-primary-bg); text-decoration-thickness:3px; text-underline-offset:6px; }

.product-frame { position:relative; margin:0; padding:calc(var(--tm-semantic-spacing-inline-xs) * 2); border:1px solid rgba(15,17,21,.06); border-radius:28px; background:var(--tm-semantic-surface-panel); box-shadow: 0 40px 120px -40px rgba(15,17,21,.28), 0 12px 40px -12px rgba(15,17,21,.10), 0 2px 6px rgba(15,17,21,.04); max-width:100%; overflow:hidden; }

.product-frame::before { position:absolute; top:calc(var(--tm-semantic-spacing-inline-xs) * -6.5); right:11%; width:78px; height:11px; border-radius:var(--tm-semantic-radius-control); background:var(--tm-semantic-action-primary-bg); content:""; transform:rotate(-2deg); }

.product-frame img { display:block; width:100%; height:auto; max-width:100%; object-fit:contain; border-radius:22px; background:var(--tm-semantic-surface-raised); }

.product-frame figcaption { display:flex; align-items:center; justify-content:space-between; gap:calc(var(--tm-semantic-spacing-inline-xs) * 6); padding:calc(var(--tm-semantic-spacing-inline-xs) * 3.5) calc(var(--tm-semantic-spacing-inline-xs) * 2.75) calc(var(--tm-semantic-spacing-inline-xs) * 2); }

.product-frame figcaption strong { font-size:var(--tm-semantic-size-text-meta); }

.product-frame figcaption span { color:var(--tm-semantic-text-secondary); font-size:var(--tm-semantic-size-text-body); text-align:right; }


.source-section { display:grid; grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr); gap:clamp(calc(var(--tm-semantic-spacing-inline-xs) * 10.5),calc(var(--tm-semantic-spacing-inline-xs) * 17.5),calc(var(--tm-semantic-spacing-inline-xs) * 26)); align-items:end; width:100%; margin:0 auto; padding:var(--tm-runtime-section-space) 0; }

.source-intro p { margin:0 0 calc(var(--tm-semantic-spacing-inline-xs) * 4.5); color:var(--tm-semantic-text-secondary); font:750 var(--tm-semantic-size-text-body) ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.14em; }

.source-intro h2 { margin:0; font-size:var(--tm-runtime-display-lg); font-weight:700; line-height:var(--tm-runtime-leading-display); letter-spacing:var(--tm-runtime-tracking-display); }

.source-intro>span { display:block; max-width:48ch; margin-top:calc(var(--tm-semantic-spacing-inline-xs) * 5.5); color:var(--tm-semantic-text-secondary); font-size:var(--tm-runtime-body-lg); line-height:var(--tm-runtime-leading-body); }

.source-wall { display:grid; grid-template-columns:repeat(2,1fr); gap:8px; padding:16px; border-radius:24px; background:var(--tm-semantic-surface-raised); box-shadow:0 10px 40px -12px rgba(15,17,21,.12), 0 2px 8px -2px rgba(15,17,21,.06); border:1px solid rgba(15,17,21,.06); }

.source-wall span { display:flex; align-items:center; gap:calc(var(--tm-semantic-spacing-inline-xs) * 3); min-height:56px; padding:14px 18px; border-radius:14px; background:var(--tm-semantic-surface-subtle); color:var(--tm-semantic-text-primary); font-size:var(--tm-semantic-size-text-code); font-weight:650; }

.source-wall span:last-child { grid-column:1/-1; }

.source-wall img { width:25px; height:25px; object-fit:contain; }


.integration-section { width:100%; margin:0 auto; padding:var(--tm-runtime-section-space-lg) 0; }

.integration-heading { max-width:820px; }

.integration-heading h2 { margin:0; font-size:var(--tm-runtime-display-lg); font-weight:700; line-height:var(--tm-runtime-leading-display); letter-spacing:var(--tm-runtime-tracking-display); }

.integration-heading p { max-width:62ch; margin:calc(var(--tm-semantic-spacing-inline-xs) * 6) 0 0; color:var(--tm-semantic-text-secondary); font-size:var(--tm-runtime-lede); line-height:var(--tm-runtime-leading-lede); }

.marketing-integration-summary { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:calc(var(--tm-semantic-spacing-inline-xs) * 14.5); padding:24px; border-radius:24px; background:var(--tm-semantic-surface-raised); box-shadow:0 10px 40px -12px rgba(15,17,21,.12), 0 2px 8px -2px rgba(15,17,21,.06); border:1px solid rgba(15,17,21,.06); }

.marketing-integration-summary span { min-height:100px; padding:calc(var(--tm-semantic-spacing-inline-xs) * 4) calc(var(--tm-semantic-spacing-inline-xs) * 4); color:var(--tm-semantic-text-secondary); font-size:var(--tm-semantic-size-text-meta); }

.marketing-integration-summary b { display:block; margin-bottom:calc(var(--tm-semantic-spacing-inline-xs) * 4.25); color:var(--tm-semantic-text-primary); font:650 var(--tm-semantic-size-text-display) ui-monospace,SFMono-Regular,Menlo,monospace; }

.marketing-integrations { display:grid; grid-template-columns:1.35fr 1fr; gap:clamp(calc(var(--tm-semantic-spacing-inline-xs) * 9.5),calc(var(--tm-semantic-spacing-inline-xs) * 17.5),calc(var(--tm-semantic-spacing-inline-xs) * 25)); margin-top:calc(var(--tm-semantic-spacing-inline-xs) * 11.5); }

.marketing-integrations article { min-width:0; padding:calc(var(--tm-semantic-spacing-inline-xs) * 6) calc(var(--tm-semantic-spacing-inline-xs) * 6); border-top:2px solid var(--tm-semantic-action-primary-bg); border-radius:20px; background:var(--tm-semantic-surface-raised); box-shadow:0 10px 40px -12px rgba(15,17,21,.12), 0 2px 8px -2px rgba(15,17,21,.06); }

.marketing-integrations h3 { display:flex; justify-content:space-between; gap:calc(var(--tm-semantic-spacing-inline-xs) * 3); margin:0; font-size:var(--tm-semantic-size-text-body); }

.marketing-integrations h3 b { color:var(--tm-semantic-text-secondary); font:650 var(--tm-semantic-size-text-meta) ui-monospace,SFMono-Regular,Menlo,monospace; }

.marketing-integrations ul { display:grid; gap:0; margin:calc(var(--tm-semantic-spacing-inline-xs) * 5.5) 0 0; padding:0; list-style:none; }

.marketing-integrations li { display:grid; gap:calc(var(--tm-semantic-spacing-inline-xs) * 1); min-height:52px; padding:calc(var(--tm-semantic-spacing-inline-xs) * 3) 0; font-size:var(--tm-semantic-size-text-code); font-weight:650; }

.marketing-integrations small { overflow:hidden; color:var(--tm-semantic-text-secondary); font-size:var(--tm-semantic-size-text-body); font-weight:500; text-overflow:ellipsis; white-space:nowrap; }


.product-section,.handoff-section,.uses-section,.pricing-section,.faq-section { width:100%; margin:0 auto; padding:var(--tm-runtime-section-space-lg) 0; }

.product-heading,.uses-heading,.pricing-heading { max-width:800px; }

.product-heading h2,.handoff-heading h2,.uses-heading h2,.pricing-heading h2,.faq-section>h2 { margin:0; font-size:var(--tm-runtime-display-lg); font-weight:700; line-height:var(--tm-runtime-leading-display); letter-spacing:var(--tm-runtime-tracking-display); }

.product-heading p,.handoff-heading p,.uses-heading p,.pricing-heading p { max-width:58ch; margin:calc(var(--tm-semantic-spacing-inline-xs) * 6) 0 0; color:var(--tm-semantic-text-secondary); font-size:var(--tm-runtime-lede); line-height:var(--tm-runtime-leading-lede); }

.product-showcase { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(340px,.7fr); gap:calc(var(--tm-semantic-spacing-inline-xs) * 3.5); margin-top:calc(var(--tm-semantic-spacing-inline-xs) * 14.5); }

.product-detail-image { display:flex; align-items:center; justify-content:center; min-height:560px; padding:calc(var(--tm-semantic-spacing-inline-xs) * 4); overflow:hidden; border:1px solid rgba(15,17,21,.06); border-radius:28px; background:var(--tm-semantic-surface-subtle); box-shadow:0 10px 40px -12px rgba(15,17,21,.12), 0 2px 8px -2px rgba(15,17,21,.06); }

.product-detail-image img { display:block; width:100%; height:auto; max-width:100%; max-height:100%; object-fit:contain; object-position:center; }

.product-proof { display:grid; border:1px solid rgba(15,17,21,.06); border-radius:28px; background:var(--tm-semantic-surface-raised); box-shadow:0 10px 40px -12px rgba(15,17,21,.12), 0 2px 8px -2px rgba(15,17,21,.06); }

.product-proof article { display:grid; grid-template-columns:42px 1fr; gap:calc(var(--tm-semantic-spacing-inline-xs) * 4.5); align-content:center; padding:calc(var(--tm-semantic-spacing-inline-xs) * 7.5); border-bottom:1px solid rgba(15,17,21,.05); }

.product-proof article:last-child { border-bottom:0; }

.product-proof i { display:grid; place-items:center; width:42px; height:42px; border-radius:var(--tm-semantic-radius-panel); color:var(--tm-semantic-text-on-accent); background:var(--tm-semantic-action-primary-bg); font-size:var(--tm-semantic-size-text-title); }

.product-proof h3 { margin:calc(var(--tm-semantic-spacing-inline-xs) * 0.25) 0 0; font-size:var(--tm-semantic-size-text-title); line-height:var(--tm-runtime-leading-title); letter-spacing:var(--tm-runtime-tracking-display); }

.product-proof p { margin:calc(var(--tm-semantic-spacing-inline-xs) * 2.25) 0 0; color:var(--tm-semantic-text-secondary); font-size:var(--tm-semantic-size-text-body); line-height:var(--tm-runtime-leading-body); }


.handoff-section { }

.handoff-heading { max-width:910px; }

.handoff-story { display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,.7fr) minmax(0,1fr); align-items:stretch; gap:calc(var(--tm-semantic-spacing-inline-xs) * 4); margin-top:calc(var(--tm-semantic-spacing-inline-xs) * 14.5); background:transparent; border:0; box-shadow:none; border-radius:0; overflow:visible; }

.handoff-story > * { border-radius:24px; background:var(--tm-semantic-surface-panel); box-shadow:0 12px 40px -16px rgba(15,17,21,.14), 0 2px 6px -2px rgba(15,17,21,.06); border:1px solid rgba(15,17,21,.05); overflow:hidden; }

.handoff-story article { display:flex; flex-direction:column; min-height:330px; padding:calc(var(--tm-semantic-spacing-inline-xs) * 8.5); }

.handoff-story article header { display:flex; align-items:center; gap:calc(var(--tm-semantic-spacing-inline-xs) * 3); color:var(--tm-semantic-text-secondary); font-size:var(--tm-semantic-size-text-body); font-weight:800; }

.handoff-story article header img { width:30px; height:30px; object-fit:contain; }

.handoff-story blockquote { margin:auto 0; font-size:var(--tm-runtime-display-md); font-weight:650; line-height:var(--tm-runtime-leading-title); letter-spacing:var(--tm-runtime-tracking-display); }

.handoff-story article small { max-width:38ch; color:var(--tm-semantic-text-secondary); font-size:var(--tm-semantic-size-text-meta); line-height:1.55; }

.handoff-story .handoff-memory { display:flex; flex-direction:column; justify-content:center; gap:calc(var(--tm-semantic-spacing-inline-xs) * 2.5); padding:calc(var(--tm-semantic-spacing-inline-xs) * 7.5) calc(var(--tm-semantic-spacing-inline-xs) * 6.25); color:var(--tm-semantic-text-on-accent); background:var(--tm-semantic-action-primary-bg); }

.handoff-story .handoff-memory i { margin-bottom:calc(var(--tm-semantic-spacing-inline-xs) * 3.75); font-size:var(--tm-semantic-size-text-display); }

.handoff-story .handoff-memory strong { margin-bottom:calc(var(--tm-semantic-spacing-inline-xs) * 2.5); font-size:var(--tm-semantic-size-text-body); line-height:1.15; letter-spacing:-.04em; }

.handoff-story .handoff-memory span { margin-top:calc(var(--tm-semantic-spacing-inline-xs) * 2.5); font:700 var(--tm-semantic-size-text-body) ui-monospace,SFMono-Regular,Menlo,monospace; opacity:.85; }

.handoff-story .handoff-target { background:var(--tm-semantic-surface-panel); }

.handoff-truth { display:grid; grid-template-columns:42px minmax(0,1fr); gap:calc(var(--tm-semantic-spacing-inline-xs) * 4.5); align-items:center; max-width:760px; margin:calc(var(--tm-semantic-spacing-inline-xs) * 7.5) 0 0 auto; }

.handoff-truth i { display:grid; place-items:center; width:42px; height:42px; border:1px solid var(--tm-semantic-border-strong); border-radius:var(--tm-semantic-radius-panel); font-size:var(--tm-semantic-size-text-title); }

.handoff-truth p { margin:0; color:var(--tm-semantic-text-secondary); font-size:var(--tm-semantic-size-text-code); line-height:1.65; }

.handoff-truth strong { color:var(--tm-semantic-text-primary); }


.uses-section { padding-top:calc(var(--tm-semantic-spacing-inline-xs) * 21.5); }

.uses-grid { display:grid; grid-template-columns:1.15fr .85fr .9fr; grid-template-rows:240px 240px; gap:calc(var(--tm-semantic-spacing-inline-xs) * 3.5); margin-top:calc(var(--tm-semantic-spacing-inline-xs) * 15); }

.uses-grid article { display:flex; flex-direction:column; justify-content:flex-end; min-height:230px; padding:calc(var(--tm-semantic-spacing-inline-xs) * 7); overflow:hidden; border:1px solid rgba(15,17,21,.06); border-radius:28px; background:var(--tm-semantic-surface-raised); box-shadow:0 10px 40px -12px rgba(15,17,21,.12), 0 2px 8px -2px rgba(15,17,21,.06); }

.uses-grid .use-main { grid-row:span 2; color:var(--tm-semantic-text-on-accent); background:var(--tm-semantic-action-primary-bg); }

.uses-grid .use-visual { padding:0; display:flex; align-items:center; justify-content:center; background:var(--tm-semantic-surface-subtle); }

.uses-grid .use-visual img { width:100%; height:100%; object-fit:contain; object-position:center; padding:8px; }

.uses-grid .use-wide { grid-column:2/4; }

.uses-grid .use-account { display:none; }

.uses-grid article>i { font-size:var(--tm-semantic-size-text-title); }

.uses-grid h3 { margin:calc(var(--tm-semantic-spacing-inline-xs) * 15.5) 0 0; font-size:var(--tm-runtime-display-md); line-height:var(--tm-runtime-leading-title); letter-spacing:var(--tm-runtime-tracking-display); }

.uses-grid .use-main h3 { margin-top:auto; font-size:var(--tm-runtime-display-md); }

.uses-grid p { max-width:42ch; margin:calc(var(--tm-semantic-spacing-inline-xs) * 2.75) 0 0; color:var(--tm-semantic-text-secondary); font-size:var(--tm-semantic-size-text-body); line-height:1.6; }

.uses-grid .use-main p { color:color-mix(in srgb,var(--tm-semantic-text-primary) 68%,transparent); }


.privacy-section { display:grid; grid-template-columns:auto minmax(0,1fr) minmax(280px,.7fr); align-items:center; gap:calc(var(--tm-semantic-spacing-inline-xs) * 12.5); width:100%; margin:calc(var(--tm-semantic-spacing-inline-xs) * 10.5) auto 0; padding:calc(var(--tm-semantic-spacing-inline-xs) * 12) calc(var(--tm-semantic-spacing-inline-xs) * 12); border-radius:28px; background:var(--tm-semantic-surface-raised); box-shadow:0 10px 40px -12px rgba(15,17,21,.12), 0 2px 8px -2px rgba(15,17,21,.06); border:1px solid rgba(15,17,21,.06); }

.privacy-symbol { display:grid; place-items:center; width:112px; height:112px; border-radius:var(--tm-semantic-radius-dialog); color:var(--tm-semantic-text-on-accent); background:var(--tm-semantic-action-primary-bg); transform:rotate(-3deg); }

.privacy-symbol i { font-size:var(--tm-semantic-size-text-display); }

.privacy-section h2 { margin:0; font-size:var(--tm-runtime-display-md); line-height:var(--tm-runtime-leading-title); letter-spacing:var(--tm-runtime-tracking-display); }

.privacy-section p { max-width:58ch; margin:calc(var(--tm-semantic-spacing-inline-xs) * 4.25) 0 0; color:var(--tm-semantic-text-secondary); font-size:var(--tm-runtime-body-lg); line-height:var(--tm-runtime-leading-body); }

.privacy-facts { display:grid; gap:calc(var(--tm-semantic-spacing-inline-xs) * 2.75); }

.privacy-facts span { display:flex; align-items:center; gap:calc(var(--tm-semantic-spacing-inline-xs) * 2.75); color:var(--tm-semantic-text-secondary); font-size:var(--tm-semantic-size-text-code); }

.privacy-facts i { color:var(--tm-semantic-text-primary); font-size:var(--tm-semantic-size-text-title); }


.pricing-heading { max-width:830px; }

.pricing-heading h2 { font-size:clamp(2rem, 1.5rem + 2vw, 2.5rem); text-wrap:balance; max-width:880px; }

.free-line { display:grid; grid-template-columns:1fr auto auto; align-items:center; gap:calc(var(--tm-semantic-spacing-inline-xs) * 8.5); min-height:98px; margin-top:calc(var(--tm-semantic-spacing-inline-xs) * 14.5); padding:24px 32px; border-radius:24px; background: color-mix(in srgb, var(--tm-semantic-action-primary-bg) 12%, var(--tm-semantic-surface-raised)); box-shadow:0 10px 40px -12px rgba(15,17,21,.12), 0 2px 8px -2px rgba(15,17,21,.06); border:1px solid rgba(15,17,21,.06); }

.free-line strong,.free-line span { display:block; }

.free-line strong { font-size:var(--tm-semantic-size-text-body); }

.free-line span { margin-top:calc(var(--tm-semantic-spacing-inline-xs) * 1.25); color:var(--tm-semantic-text-secondary); font-size:var(--tm-semantic-size-text-meta); }

.free-line>b { font:650 var(--tm-semantic-size-text-title) ui-monospace,SFMono-Regular,Menlo,monospace; }

.free-line>a { font-size:var(--tm-semantic-size-text-meta); font-weight:700; text-decoration-color:var(--tm-semantic-action-primary-bg); text-decoration-thickness:3px; text-underline-offset:5px; }

.pricing-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:calc(var(--tm-semantic-spacing-inline-xs) * 3.5); margin-top:calc(var(--tm-semantic-spacing-inline-xs) * 3.5); }

.pricing-grid article { display:flex; flex-direction:column; min-height:480px; padding:calc(var(--tm-semantic-spacing-inline-xs) * 8.5); border:1px solid var(--tm-semantic-border-default); border-radius:var(--tm-semantic-radius-dialog); background:var(--tm-semantic-surface-raised); }

.pricing-grid .price-pro { color:var(--tm-semantic-text-on-accent); background:var(--tm-semantic-action-primary-bg); }

.pricing-grid .price-cloud { color:var(--tm-semantic-text-inverse); border-color:var(--tm-semantic-surface-inverse); background:var(--tm-semantic-surface-inverse); }

.pricing-grid .price-cloud p,.pricing-grid .price-cloud li,.pricing-grid .price-cloud span,.pricing-grid .price-cloud small { color:color-mix(in srgb,var(--tm-semantic-text-inverse) 78%,var(--tm-semantic-surface-inverse)); }

.pricing-grid article>div:first-child>span { font:750 var(--tm-semantic-size-text-body) ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.13em; }

.pricing-grid h3 { margin:calc(var(--tm-semantic-spacing-inline-xs) * 4.5) 0 0; font-size:var(--tm-runtime-display-md); line-height:var(--tm-runtime-leading-title); letter-spacing:var(--tm-runtime-tracking-display); }

.pricing-grid p { max-width:46ch; margin:calc(var(--tm-semantic-spacing-inline-xs) * 3.5) 0 0; color:var(--tm-semantic-text-secondary); font-size:var(--tm-semantic-size-text-body); line-height:1.62; }

.pricing-grid .price-pro p,.pricing-grid .price-pro li,.pricing-grid .price-pro small { color:color-mix(in srgb,var(--tm-semantic-text-on-accent) 78%,var(--tm-semantic-action-primary-bg)); }

.price { margin:auto 0 calc(var(--tm-semantic-spacing-inline-xs) * 6.75); }

.price b,.price small { display:block; }

.price b { font-size:var(--tm-runtime-display-md); font-weight:650; line-height:var(--tm-runtime-leading-title); letter-spacing:var(--tm-runtime-tracking-display); }

.price small { margin-top:calc(var(--tm-semantic-spacing-inline-xs) * 1.75); color:var(--tm-semantic-text-secondary); font-size:var(--tm-semantic-size-text-body); }

.price-cloud .billing-switch { border-color:color-mix(in srgb,var(--tm-semantic-text-inverse) 32%,var(--tm-semantic-surface-inverse)); }

.price-cloud .billing-switch button { color:var(--tm-semantic-text-inverse); }

.price-cloud .billing-switch button.active { color:var(--tm-semantic-surface-inverse); background:var(--tm-semantic-text-inverse); }

.price-cloud .button { color:var(--tm-semantic-surface-inverse); border-color:var(--tm-semantic-text-inverse); background:var(--tm-semantic-text-inverse); }

.plan-button { width:100%; }

.billing-switch { display:flex; align-items:center; align-self:flex-start; gap:calc(var(--tm-semantic-spacing-inline-xs) * 1.25); margin-top:calc(var(--tm-semantic-spacing-inline-xs) * 7); padding:calc(var(--tm-semantic-spacing-inline-xs) * 1); border:1px solid color-mix(in srgb,var(--tm-semantic-text-primary) 28%,transparent); border-radius:var(--tm-semantic-radius-control); }
.billing-switch .billing-badge { display:inline-flex; align-items:center; margin-left:8px; padding:4px 10px; border-radius:999px; background:#E7F5EA; color:#1E7A3A; font-size:11px; font-weight:800; letter-spacing:.02em; text-transform:uppercase; white-space:nowrap; }
.price-pro .billing-switch .billing-badge { background:rgba(255,255,255,.9); color:#1E7A3A; }
.price-cloud .billing-switch .billing-badge { background:rgba(255,255,255,.14); color:#8DE0A1; border:1px solid rgba(141,224,161,.4); }
.price-cloud-button { color:var(--tm-semantic-action-primary-fg); background:var(--tm-semantic-action-primary-bg); border-color:var(--tm-semantic-action-primary-bg); }
.price-cloud-button i { color:var(--tm-semantic-action-primary-fg); }
.pricing-grid .price-cloud .price-cloud-button { color:var(--tm-semantic-action-primary-fg); background:var(--tm-semantic-action-primary-bg); border-color:var(--tm-semantic-action-primary-bg); }
.pricing-grid .price-cloud .price-cloud-button:hover { background:var(--tm-semantic-action-primary-hover); border-color:var(--tm-semantic-action-primary-hover); }

.billing-switch button { padding:calc(var(--tm-semantic-spacing-inline-xs) * 2) calc(var(--tm-semantic-spacing-inline-xs) * 3); border:0; border-radius:var(--tm-semantic-radius-control); color:color-mix(in srgb,var(--tm-semantic-text-primary) 68%,transparent); background:transparent; font-size:var(--tm-semantic-size-text-body); font-weight:650; cursor:pointer; }

.billing-switch button.active { color:var(--tm-semantic-action-primary-fg); background:var(--tm-semantic-action-primary-bg); }

.price-pro .billing-switch { border-color:color-mix(in srgb,var(--tm-semantic-text-on-accent) 34%,var(--tm-semantic-action-primary-bg)); }

.price-pro .billing-switch button { color:var(--tm-semantic-text-primary); }

.price-pro .billing-switch button:hover { color:var(--tm-semantic-text-primary); background:var(--tm-semantic-surface-subtle); }

.price-pro .billing-switch button.active { color:var(--tm-semantic-text-inverse); background:var(--tm-semantic-surface-inverse); }

.billing-status { margin:calc(var(--tm-semantic-spacing-inline-xs) * 4.5) 0 0; color:var(--tm-semantic-text-secondary); font-size:var(--tm-semantic-size-text-body); text-align:center; }

.restore-form { display:grid; gap:calc(var(--tm-semantic-spacing-inline-xs) * 2.25); max-width:570px; margin:calc(var(--tm-semantic-spacing-inline-xs) * 7) auto 0; padding:calc(var(--tm-semantic-spacing-inline-xs) * 5); border:1px solid var(--tm-semantic-border-default); border-radius:var(--tm-semantic-radius-dialog); background:var(--tm-semantic-surface-raised); }

.restore-form label { font-size:var(--tm-semantic-size-text-meta); font-weight:800; }

.restore-form>div { display:grid; grid-template-columns:1fr auto; gap:calc(var(--tm-semantic-spacing-inline-xs) * 2); }

.restore-form input { min-width:0; padding:calc(var(--tm-semantic-spacing-inline-xs) * 3) calc(var(--tm-semantic-spacing-inline-xs) * 3.25); border:1px solid var(--tm-semantic-border-strong); border-radius:var(--tm-semantic-radius-control); color:var(--tm-semantic-text-primary); background:var(--tm-semantic-surface-canvas); font-size:var(--tm-semantic-size-text-code); }

.restore-form input::placeholder { color:var(--tm-semantic-text-tertiary); }

.restore-form input:focus { border-color:var(--tm-semantic-action-primary-bg); outline:3px solid var(--tm-semantic-surface-selected); }

.restore-form button,.text-link-button { padding:calc(var(--tm-semantic-spacing-inline-xs) * 2.5) calc(var(--tm-semantic-spacing-inline-xs) * 3.5); border:1px solid var(--tm-semantic-border-strong); border-radius:var(--tm-semantic-radius-control); color:var(--tm-semantic-text-primary); background:var(--tm-semantic-surface-canvas); font-size:var(--tm-semantic-size-text-meta); font-weight:650; cursor:pointer; }

.restore-form small { color:var(--tm-semantic-text-secondary); font-size:var(--tm-semantic-size-text-body); line-height:1.5; }


.faq-section { display:grid; grid-template-columns:.7fr 1.3fr; gap:calc(var(--tm-semantic-spacing-inline-xs) * 24); }

.faq-list { display:grid; gap:12px; }

.faq-list details { padding:6px 24px; border:1px solid rgba(15,17,21,.06); border-radius:20px; background:var(--tm-semantic-surface-raised); box-shadow:0 6px 24px -12px rgba(15,17,21,.10), 0 2px 6px -2px rgba(15,17,21,.05); transition:box-shadow .24s ease, transform .24s ease; }

.faq-list details[open] { box-shadow:0 14px 44px -14px rgba(15,17,21,.18), 0 4px 12px -4px rgba(15,17,21,.08); }

.faq-list summary { display:grid; grid-template-columns:1fr auto; align-items:center; padding:20px 0; font-size:var(--tm-runtime-body-lg); font-weight:700; list-style:none; cursor:pointer; }

.faq-list summary::-webkit-details-marker { display:none; }

.faq-list summary i { transition:transform var(--tm-semantic-motion-slow) var(--tm-semantic-motion-ease-out); }

.faq-list details[open] summary i { transform:rotate(45deg); }

.faq-list p { max-width:62ch; margin:calc(var(--tm-semantic-spacing-inline-xs) * -0.75) 0 calc(var(--tm-semantic-spacing-inline-xs) * 6); color:var(--tm-semantic-text-secondary); font-size:var(--tm-semantic-size-text-body); line-height:var(--tm-runtime-leading-body); }

.final-cta { width:100%; margin:0 auto calc(var(--tm-semantic-spacing-inline-xs) * 20); padding:calc(var(--tm-semantic-spacing-inline-xs) * 21) calc(var(--tm-semantic-spacing-inline-xs) * 14.5); border-radius:28px; color:var(--tm-semantic-text-on-accent); background:var(--tm-semantic-action-primary-bg); box-shadow:0 20px 60px -20px rgba(15,17,21,.25); }

.final-cta .button, .final-cta .primary-button, .final-cta .tm-button--primary { color:var(--tm-semantic-action-primary-fg); background:var(--tm-semantic-surface-canvas); border-color:var(--tm-semantic-surface-canvas); }
.final-cta .button i, .final-cta .primary-button i, .final-cta .tm-button--primary i { color:var(--tm-semantic-action-primary-fg); }
.final-cta .button:hover, .final-cta .primary-button:hover, .final-cta .tm-button--primary:hover { background:color-mix(in srgb, var(--tm-semantic-surface-canvas) 90%, transparent); border-color:color-mix(in srgb, var(--tm-semantic-surface-canvas) 90%, transparent); }

.final-cta>div { display:flex; align-items:center; justify-content:space-between; gap:calc(var(--tm-semantic-spacing-inline-xs) * 11); }

.final-cta h2 { max-width:24ch; margin:0; font-size:var(--tm-runtime-display-lg); line-height:var(--tm-runtime-leading-display); letter-spacing:var(--tm-runtime-tracking-display); }



.checkout-notice { position:fixed; right:calc(var(--tm-semantic-spacing-inline-xs) * 5); bottom:calc(var(--tm-semantic-spacing-inline-xs) * 5); z-index:20; max-width:390px; padding:calc(var(--tm-semantic-spacing-inline-xs) * 4) calc(var(--tm-semantic-spacing-inline-xs) * 4.5); border:1px solid var(--tm-semantic-border-strong); border-radius:var(--tm-semantic-radius-panel); color:var(--tm-semantic-text-primary); background:var(--tm-semantic-surface-raised); box-shadow:var(--tm-semantic-shadow-overlay); font-size:var(--tm-semantic-size-text-code); line-height:1.5; }

.license-delivery { width:min(640px,calc(100% - 28px)); padding:calc(var(--tm-semantic-spacing-inline-xs) * 10); border:1px solid var(--tm-semantic-border-strong); border-radius:var(--tm-semantic-radius-dialog); color:var(--tm-semantic-text-primary); background:var(--tm-semantic-surface-raised); box-shadow:0 30px 90px color-mix(in srgb,var(--tm-semantic-text-primary) 28%,transparent); }

.license-delivery::backdrop { background:color-mix(in srgb,var(--tm-semantic-text-primary) 74%,transparent); backdrop-filter:blur(8px); }

.license-delivery>form { position:absolute; top:calc(var(--tm-semantic-spacing-inline-xs) * 3.5); right:calc(var(--tm-semantic-spacing-inline-xs) * 3.5); }

.license-close { width:38px; height:38px; border:1px solid var(--tm-semantic-border-default); border-radius:var(--tm-semantic-radius-control); color:var(--tm-semantic-text-primary); background:var(--tm-semantic-surface-subtle); cursor:pointer; }

.license-delivery>p { margin:0 0 calc(var(--tm-semantic-spacing-inline-xs) * 3.5); color:var(--tm-semantic-text-primary); font:750 var(--tm-semantic-size-text-body) ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.14em; }

.license-delivery h2 { margin:0; font-size:var(--tm-semantic-size-text-display); letter-spacing:-.06em; }

.license-delivery>span,.license-delivery>small { display:block; margin-top:calc(var(--tm-semantic-spacing-inline-xs) * 2.75); color:var(--tm-semantic-text-secondary); font-size:var(--tm-semantic-size-text-meta); line-height:1.5; }

.license-delivery label { display:block; margin-top:calc(var(--tm-semantic-spacing-inline-xs) * 7); font-size:var(--tm-semantic-size-text-meta); font-weight:700; }

.license-delivery textarea { width:100%; margin-top:calc(var(--tm-semantic-spacing-inline-xs) * 2); padding:calc(var(--tm-semantic-spacing-inline-xs) * 3.25); border:1px solid var(--tm-semantic-border-strong); border-radius:var(--tm-semantic-radius-panel); color:var(--tm-semantic-text-primary); background:var(--tm-semantic-surface-canvas); font:var(--tm-semantic-size-text-body)/1.5 ui-monospace,SFMono-Regular,Menlo,monospace; resize:none; }

.license-delivery>div { display:flex; align-items:center; gap:calc(var(--tm-semantic-spacing-inline-xs) * 3.5); margin-top:calc(var(--tm-semantic-spacing-inline-xs) * 3.5); }

.consent-dialog { width:min(520px, calc(100% - 32px)); padding:32px; border:0; border-radius:20px; background:var(--tm-semantic-surface-raised); color:var(--tm-semantic-text-primary); box-shadow:0 30px 80px -20px rgba(15,17,21,.35), 0 8px 24px -6px rgba(15,17,21,.12); }
.consent-dialog::backdrop { background:rgba(0,0,0,.5); backdrop-filter:blur(4px); }
.consent-dialog > form:first-of-type { position:absolute; top:12px; right:12px; }
.consent-dialog .license-close { width:32px; height:32px; border-radius:999px; border:0; background:transparent; color:var(--tm-semantic-text-secondary); font-size:20px; line-height:1; cursor:pointer; opacity:.55; transition:opacity .18s, background .18s; }
.consent-dialog .license-close:hover { opacity:1; background:rgba(15,17,21,.06); }
.consent-dialog > p { margin:0 0 8px; font:800 12px ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.14em; color:var(--tm-semantic-text-secondary); }
.consent-dialog h2 { margin:0 0 8px; font-size:22px; line-height:1.25; letter-spacing:-.02em; }
.consent-dialog > span { display:block; margin-bottom:20px; color:var(--tm-semantic-text-secondary); font-size:14px; line-height:1.5; }
.consent-dialog #purchase-consent-form { position:static; display:grid; gap:12px; margin-top:0; }
.consent-dialog #purchase-consent-form label { display:grid; grid-template-columns:auto 1fr; gap:12px; align-items:start; padding:16px; border:1px solid rgba(15,17,21,.06); border-radius:12px; background:rgba(15,17,21,.02); font-size:14px; line-height:1.55; cursor:pointer; transition:background .16s ease, border-color .16s ease; }
.consent-dialog #purchase-consent-form label:hover { background:rgba(15,17,21,.04); border-color:rgba(15,17,21,.1); }
.consent-dialog #purchase-consent-form input { width:18px; height:18px; margin-top:2px; accent-color:var(--tm-semantic-action-primary-bg); }
.consent-dialog #purchase-consent-form a { color:inherit; text-decoration:underline; text-underline-offset:3px; font-weight:600; }
.consent-dialog #purchase-consent-form .button { display:inline-flex; align-items:center; justify-content:center; gap:8px; width:100%; height:48px; margin-top:8px; padding:0 20px; border:0; border-radius:12px; background:var(--tm-semantic-action-primary-bg); color:var(--tm-semantic-action-primary-fg); font-size:15px; font-weight:800; cursor:pointer; transition:background .16s ease; }
.consent-dialog #purchase-consent-form .button:hover { background:var(--tm-semantic-action-primary-hover); }
.consent-dialog #purchase-consent-form .button i { color:var(--tm-semantic-action-primary-fg); }


.reveal { opacity:1; transform:none; }

@media (prefers-reduced-motion:no-preference) {
  .js .reveal { opacity:0; transform:translateY(12px); transition:opacity .32s var(--tm-semantic-motion-ease-out),transform .32s var(--tm-semantic-motion-ease-out); }
  .js .reveal.visible { opacity:1; transform:translateY(0); }
  .js .hero .reveal { opacity:1; transform:none; }
}


@media (max-width:1040px) {
  .hero { grid-template-columns:1fr; gap:calc(var(--tm-semantic-spacing-inline-xs) * 16); min-height:0; padding:calc(var(--tm-semantic-spacing-inline-xs) * 22.5) 0 calc(var(--tm-semantic-spacing-inline-xs) * 17.5); }
  .hero-copy { padding-left:0; }
  .product-frame { width:94%; margin-left:auto; }
  .product-showcase { grid-template-columns:1fr; }
  .product-detail-image { min-height:440px; }
  .product-proof { grid-template-columns:repeat(3,1fr); }
  .product-proof article { grid-template-columns:1fr; align-content:start; border-right:1px solid rgba(15,17,21,.05); border-bottom:0; }
  .product-proof article:last-child { border-right:0; }
  .handoff-story { grid-template-columns:1fr 190px 1fr; }
  .handoff-story article { min-height:310px; padding:calc(var(--tm-semantic-spacing-inline-xs) * 6.75); }
  .faq-section { grid-template-columns:1fr; gap:calc(var(--tm-semantic-spacing-inline-xs) * 13.5); }
  .privacy-section { grid-template-columns:auto minmax(0,1fr); }
  .privacy-facts { grid-column:2; }
  .marketing-integrations { grid-template-columns:repeat(2,1fr); row-gap:calc(var(--tm-semantic-spacing-inline-xs) * 12); }
  .pricing-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .price-cloud { grid-column:1/-1; }
}


@media (max-width:760px) {
  .hero { width:100%; gap:calc(var(--tm-semantic-spacing-inline-xs) * 13.5); padding:calc(var(--tm-semantic-spacing-inline-xs) * 18) 0 calc(var(--tm-semantic-spacing-inline-xs) * 16); }
  .hero-actions { align-items:flex-start; flex-direction:column; }
  .product-frame { width:100%; box-shadow:var(--tm-semantic-shadow-raised); }
  .product-frame::before { display:none; }
  .product-frame figcaption { align-items:flex-start; flex-direction:column; gap:calc(var(--tm-semantic-spacing-inline-xs) * 1.25); }
  .product-frame figcaption span { text-align:left; }
  .source-section { grid-template-columns:1fr; gap:calc(var(--tm-semantic-spacing-inline-xs) * 9.5); width:100%; padding:calc(var(--tm-semantic-spacing-inline-xs) * 16) 0; }
  .source-wall { grid-template-columns:repeat(2,1fr); width:auto; }
  .source-wall span { justify-content:flex-start; min-height:56px; padding-left:calc(var(--tm-semantic-spacing-inline-xs) * 3.5); }
  .source-wall span:last-child { grid-column:1/-1; }
  .integration-section { width:100%; padding:calc(var(--tm-semantic-spacing-inline-xs) * 20.5) 0 calc(var(--tm-semantic-spacing-inline-xs) * 17); }
  .marketing-integration-summary { grid-template-columns:repeat(2,1fr); }
  .marketing-integrations { grid-template-columns:1fr; }
  .product-section,.handoff-section,.uses-section,.pricing-section,.faq-section { width:100%; padding:calc(var(--tm-semantic-spacing-inline-xs) * 20.5) 0; }
  .product-showcase { margin-top:calc(var(--tm-semantic-spacing-inline-xs) * 10.5); }
  .product-detail-image { min-height:300px; }
  .product-proof { grid-template-columns:1fr; }
  .product-proof article { grid-template-columns:42px 1fr; border-right:0; border-bottom:1px solid rgba(15,17,21,.05); }
  .product-proof article:last-child { border-bottom:0; }
  .handoff-story { grid-template-columns:1fr; }
  .handoff-story article { min-height:270px; padding:calc(var(--tm-semantic-spacing-inline-xs) * 7) calc(var(--tm-semantic-spacing-inline-xs) * 5); }
  .handoff-story .handoff-memory { min-height:250px; }
  .handoff-truth { margin-top:calc(var(--tm-semantic-spacing-inline-xs) * 6); }
  .uses-grid { grid-template-columns:1fr; grid-template-rows:auto; }
  .uses-grid .use-main,.uses-grid .use-wide,.uses-grid .use-visual { grid-column:auto; grid-row:auto; min-height:290px; }
  .privacy-section { grid-template-columns:1fr; width:100%; margin-top:calc(var(--tm-semantic-spacing-inline-xs) * 7.5); }
  .privacy-facts { grid-column:auto; }
  .pricing-grid { grid-template-columns:1fr; }
  .price-cloud { grid-column:auto; }
  .free-line { grid-template-columns:1fr auto; }
  .free-line>a { grid-column:1/-1; }
  .pricing-grid article { min-height:430px; padding:calc(var(--tm-semantic-spacing-inline-xs) * 6.75); }
  .restore-form>div { grid-template-columns:1fr; }
  .license-delivery { padding:calc(var(--tm-semantic-spacing-inline-xs) * 8.5) calc(var(--tm-semantic-spacing-inline-xs) * 5.5) calc(var(--tm-semantic-spacing-inline-xs) * 6); }
  .license-delivery>div { align-items:stretch; flex-direction:column; }
  .faq-section { grid-template-columns:1fr; gap:calc(var(--tm-semantic-spacing-inline-xs) * 11); }
  .final-cta { width:100%; padding:calc(var(--tm-semantic-spacing-inline-xs) * 15) calc(var(--tm-semantic-spacing-inline-xs) * 6); }
  .final-cta>div { align-items:flex-start; flex-direction:column; }
}


@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
}


/* Dark mode: soften card borders + shadows for all elevated sections. */
@media (prefers-color-scheme:dark) {
  .product-frame,
  .source-wall,
  .marketing-integration-summary,
  .marketing-integrations article,
  .product-detail-image,
  .product-proof,
  .handoff-story,
  .uses-grid article,
  .privacy-section,
  .free-line,
  .faq-list details {
    border-color: rgba(255,255,255,.08);
    box-shadow: 0 10px 40px -12px rgba(0,0,0,.4), 0 2px 8px -2px rgba(0,0,0,.25);
  }
  .product-frame { box-shadow: 0 30px 80px -30px rgba(0,0,0,.55), 0 8px 24px -8px rgba(0,0,0,.3); }
  .faq-list details[open] { box-shadow: 0 14px 44px -14px rgba(0,0,0,.5), 0 4px 12px -4px rgba(0,0,0,.3); }
  .product-proof article { border-bottom-color: rgba(255,255,255,.06); }
  .final-cta { box-shadow: 0 20px 60px -20px rgba(0,0,0,.5); }
}

:root[data-theme="dark"] .product-frame,
:root[data-theme="dark"] .source-wall,
:root[data-theme="dark"] .marketing-integration-summary,
:root[data-theme="dark"] .marketing-integrations article,
:root[data-theme="dark"] .product-detail-image,
:root[data-theme="dark"] .product-proof,
:root[data-theme="dark"] .handoff-story,
:root[data-theme="dark"] .uses-grid article,
:root[data-theme="dark"] .privacy-section,
:root[data-theme="dark"] .free-line,
:root[data-theme="dark"] .faq-list details {
  border-color: rgba(255,255,255,.08);
  box-shadow: 0 10px 40px -12px rgba(0,0,0,.4), 0 2px 8px -2px rgba(0,0,0,.25);
}
:root[data-theme="dark"] .product-frame { box-shadow: 0 30px 80px -30px rgba(0,0,0,.55), 0 8px 24px -8px rgba(0,0,0,.3); }
:root[data-theme="dark"] .faq-list details[open] { box-shadow: 0 14px 44px -14px rgba(0,0,0,.5), 0 4px 12px -4px rgba(0,0,0,.3); }
:root[data-theme="dark"] .product-proof article { border-bottom-color: rgba(255,255,255,.06); }
:root[data-theme="dark"] .final-cta { box-shadow: 0 20px 60px -20px rgba(0,0,0,.5); }

/* Home story redesign — the shared header remains canonical so navigation and theme
 * controls behave identically on every public page. */
.tm-home { overflow:hidden; }
.tm-home .reveal { opacity:1; transform:none; }
.tm-home .hero { align-items:center; min-height:620px; padding-top:calc(var(--tm-semantic-spacing-inline-xs) * 24); }
.tm-home .hero-copy h1 { max-width:11ch; font-size:clamp(3.25rem,2.05rem + 4.1vw,5.25rem); }
.tm-home .hero-copy>p:not(.hero-label) { max-width:49ch; }
.hero-platforms { display:block; margin-top:calc(var(--tm-semantic-spacing-inline-xs) * 5); color:var(--tm-semantic-text-tertiary); font:var(--tm-semantic-type-meta); }
.tm-home .product-frame { transform:none; border-radius:var(--tm-semantic-radius-dialog); background:var(--tm-semantic-surface-panel); }
.tm-home .product-frame img { aspect-ratio:16 / 10; object-fit:cover; object-position:center; }
.tm-trust-strip { display:grid; grid-template-columns:repeat(3,1fr); width:var(--tm-runtime-rail); margin:0 auto; border-block:var(--tm-semantic-border-width-default) solid var(--tm-semantic-border-default); }
.tm-trust-strip span { display:flex; align-items:center; justify-content:center; gap:var(--tm-semantic-spacing-inline-sm); min-height:72px; color:var(--tm-semantic-text-secondary); font:var(--tm-semantic-type-label); }
.tm-trust-strip span + span { border-left:var(--tm-semantic-border-width-default) solid var(--tm-semantic-border-default); }
.tm-trust-strip i { color:var(--tm-semantic-action-primary-bg); font-size:var(--tm-semantic-size-icon-lg); }
.tm-home .handoff-section { display:grid; grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr); align-items:center; gap:calc(var(--tm-semantic-spacing-inline-xs) * 18); padding-block:var(--tm-runtime-section-space-lg); }
.tm-home .handoff-heading { max-width:32rem; }
.tm-home .handoff-heading>p,.tm-keeps>div>p,.pricing-heading>p,.privacy-section>div>p { margin:0 0 var(--tm-semantic-spacing-stack-lg); color:var(--tm-semantic-action-primary-bg); font:var(--tm-semantic-type-meta); font-weight:800; letter-spacing:var(--tm-runtime-tracking-eyebrow); text-transform:uppercase; }
.tm-home .handoff-heading h2,.tm-keeps h2 { margin:0; font-size:var(--tm-runtime-display-lg); line-height:var(--tm-runtime-leading-display); }
.tm-home .handoff-heading>span { display:block; max-width:38ch; margin-top:var(--tm-semantic-spacing-stack-xl); color:var(--tm-semantic-text-secondary); font-size:var(--tm-runtime-body-lg); line-height:var(--tm-runtime-leading-body); }
.tm-agent-flow { display:grid; grid-template-columns:180px minmax(0,1fr); gap:var(--tm-semantic-spacing-inline-xl); padding:var(--tm-semantic-spacing-inline-xl); border:var(--tm-semantic-border-width-default) solid var(--tm-semantic-border-default); border-radius:var(--tm-semantic-radius-dialog); background:var(--tm-semantic-surface-panel); box-shadow:var(--tm-semantic-shadow-raised); }
.tm-worktree { display:grid; align-content:start; gap:var(--tm-semantic-spacing-inline-sm); padding:var(--tm-semantic-spacing-inline-lg); border:var(--tm-semantic-border-width-default) solid var(--tm-semantic-border-default); border-radius:var(--tm-semantic-radius-panel); color:var(--tm-semantic-text-secondary); font:var(--tm-semantic-type-meta); }
.tm-worktree strong { margin-bottom:var(--tm-semantic-spacing-inline-sm); color:var(--tm-semantic-text-primary); font:var(--tm-semantic-type-label); }
.tm-agent-flow__stages { display:grid; grid-template-columns:repeat(3,1fr); align-items:start; gap:var(--tm-semantic-spacing-inline-md); }
.tm-agent-flow__stages article { display:grid; justify-items:center; gap:var(--tm-semantic-spacing-inline-sm); text-align:center; }
.tm-agent-flow__stages article b { color:var(--tm-semantic-action-primary-bg); font:var(--tm-semantic-type-meta); }
.tm-agent-flow__stages article img { width:48px; height:48px; margin-top:var(--tm-semantic-spacing-inline-xl); padding:var(--tm-semantic-spacing-inline-sm); border:var(--tm-semantic-border-width-default) solid var(--tm-semantic-border-default); border-radius:var(--tm-semantic-radius-circular); }
.tm-agent-flow__stages article span { color:var(--tm-semantic-text-secondary); font:var(--tm-semantic-type-meta); }
.tm-memory-rail { grid-column:1 / -1; display:flex; align-items:center; justify-content:center; gap:var(--tm-semantic-spacing-inline-sm); margin-top:var(--tm-semantic-spacing-inline-xl); padding:var(--tm-semantic-spacing-inline-md); border:var(--tm-semantic-border-width-default) solid var(--tm-semantic-border-selected); border-radius:var(--tm-semantic-radius-control); color:var(--tm-semantic-action-primary-bg); font:var(--tm-semantic-type-meta); font-weight:800; }
.tm-keeps { display:grid; grid-template-columns:.9fr 1.1fr; gap:calc(var(--tm-semantic-spacing-inline-xs) * 18); align-items:start; padding-block:var(--tm-runtime-section-space-lg); overflow:hidden; border-top:var(--tm-semantic-border-width-default) solid var(--tm-semantic-border-default); }
.tm-keeps__list { display:grid; gap:var(--tm-semantic-spacing-inline-sm); }
.tm-keeps__list details { overflow:hidden; border:var(--tm-semantic-border-width-default) solid var(--tm-semantic-border-default); border-radius:var(--tm-semantic-radius-panel); background:var(--tm-semantic-surface-panel); box-shadow:var(--tm-semantic-shadow-raised); transition:border-color var(--tm-semantic-motion-standard) var(--tm-semantic-motion-ease-out),background var(--tm-semantic-motion-standard) var(--tm-semantic-motion-ease-out),box-shadow var(--tm-semantic-motion-standard) var(--tm-semantic-motion-ease-out); }
.tm-keeps__list details:hover,.tm-keeps__list details[open] { border-color:var(--tm-semantic-border-strong); background:var(--tm-semantic-surface-raised); box-shadow:var(--tm-semantic-shadow-overlay); }
.tm-keeps__list summary { display:grid; grid-template-columns:40px minmax(0,1fr) auto; gap:var(--tm-semantic-spacing-inline-sm); align-items:center; width:100%; min-height:68px; padding:0 var(--tm-semantic-spacing-inline-lg); overflow:hidden; color:var(--tm-semantic-text-primary); font:var(--tm-semantic-type-title); cursor:pointer; list-style:none; box-sizing:border-box; }
.tm-keeps__list summary::-webkit-details-marker { display:none; }
.tm-keeps__list summary b { color:var(--tm-semantic-action-primary-bg); font:var(--tm-semantic-type-meta); }
.tm-keeps__list summary i { color:var(--tm-semantic-text-secondary); font-size:var(--tm-semantic-size-icon-md); }
.tm-keeps__list details[open] summary i { transform:rotate(45deg); }
.tm-keeps__list p { margin:0 var(--tm-semantic-spacing-inline-lg) var(--tm-semantic-spacing-inline-lg) calc(var(--tm-semantic-spacing-inline-xl) + var(--tm-semantic-spacing-inline-sm)); color:var(--tm-semantic-text-secondary); font:var(--tm-semantic-type-body); }
.tm-home .integration-section { padding-block:var(--tm-runtime-section-space-lg); border-top:var(--tm-semantic-border-width-default) solid var(--tm-semantic-border-default); }
.tm-home .integration-heading { display:flex; align-items:end; justify-content:space-between; gap:var(--tm-semantic-spacing-inline-xl); }
.tm-home .integration-heading h2 { margin:0; font-size:var(--tm-runtime-display-lg); line-height:var(--tm-runtime-leading-display); }
.tm-home .integration-heading p { max-width:27ch; margin:0; color:var(--tm-semantic-text-secondary); font-size:var(--tm-runtime-body-lg); line-height:var(--tm-runtime-leading-body); }
.tm-source-wall--wide { grid-template-columns:repeat(3,minmax(0,1fr)); width:100%; gap:var(--tm-semantic-spacing-inline-sm); margin-top:calc(var(--tm-semantic-spacing-inline-xs) * 12); padding:var(--tm-semantic-spacing-inline-sm); border:var(--tm-semantic-border-width-default) solid var(--tm-semantic-border-default); border-radius:var(--tm-semantic-radius-panel); background:var(--tm-semantic-surface-panel); box-shadow:none; }
.tm-source-wall--wide span { min-height:76px; padding:var(--tm-semantic-spacing-inline-md); border:var(--tm-semantic-border-width-default) solid var(--tm-semantic-border-default); border-radius:var(--tm-semantic-radius-control); color:var(--tm-semantic-text-primary); background:var(--tm-semantic-surface-raised); font:var(--tm-semantic-type-label); }
.tm-source-wall--wide span + span { border-left:var(--tm-semantic-border-width-default) solid var(--tm-semantic-border-default); }
.tm-source-wall--wide span:last-child { grid-column:auto; }
.tm-source-wall--wide img,.tm-source-wall--wide i { width:28px; height:28px; color:var(--tm-semantic-action-primary-bg); font-size:28px; object-fit:contain; }
.tm-inline-link { display:inline-flex; align-items:center; gap:var(--tm-semantic-spacing-inline-sm); margin-top:var(--tm-semantic-spacing-inline-xl); color:var(--tm-semantic-action-primary-bg); font:var(--tm-semantic-type-label); text-decoration:none; }
.tm-home .privacy-section { grid-template-columns:.75fr 1.1fr 1.15fr; margin-top:var(--tm-runtime-section-space); border:0; border-radius:0; background:var(--tm-semantic-action-primary-bg); box-shadow:none; }
.tm-home .privacy-section,.tm-home .privacy-section :is(h2,p,b,span,i) { color:var(--tm-semantic-text-on-accent); }
.tm-home .privacy-symbol { flex-direction:column; width:150px; height:150px; transform:none; border:var(--tm-semantic-border-width-default) solid var(--tm-semantic-surface-inverse); color:var(--tm-semantic-text-inverse); background:var(--tm-semantic-surface-inverse); box-shadow:var(--tm-semantic-shadow-overlay); }
.tm-home .privacy-symbol strong { color:inherit; font:var(--tm-semantic-type-title); text-align:center; }
.tm-home .privacy-facts { gap:var(--tm-semantic-spacing-inline-lg); }
.tm-home .privacy-facts span { display:grid; grid-template-columns:32px 1fr; column-gap:var(--tm-semantic-spacing-inline-sm); font:var(--tm-semantic-type-meta); }
.tm-home .privacy-facts i { grid-row:span 2; font-size:var(--tm-semantic-size-icon-lg); }
.tm-home .privacy-facts b { font:var(--tm-semantic-type-label); }
.tm-home .pricing-section { padding-block:var(--tm-runtime-section-space-lg); }
.tm-home .pricing-heading h2 { margin:0; font-size:var(--tm-runtime-display-lg); line-height:var(--tm-runtime-leading-display); }
.tm-home .free-line { margin-top:calc(var(--tm-semantic-spacing-inline-xs) * 11); }
.tm-home .pricing-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.tm-home .pricing-grid article { min-height:400px; }
.tm-home .pricing-grid .price-lifetime { border-color:var(--tm-semantic-border-selected); background:var(--tm-semantic-action-primary-bg); color:var(--tm-semantic-text-on-accent); }
.tm-home .price-lifetime :is(.tm-pricing-card__name,h3,p,b,small) { color:var(--tm-semantic-text-on-accent); }
.tm-home .price-lifetime .button { color:var(--tm-semantic-action-secondary-fg); border-color:var(--tm-semantic-action-secondary-bg); background:var(--tm-semantic-action-secondary-bg); }
.tm-home .price-pro { color:var(--tm-semantic-text-primary); background:var(--tm-semantic-surface-panel); }
.tm-home .price-pro :is(h3,b,span) { color:var(--tm-semantic-text-primary); }
.tm-home .price-pro :is(p,li,small) { color:var(--tm-semantic-text-secondary); }
.tm-home .price-pro .price small { color:var(--tm-semantic-text-secondary); }
.tm-home .price-cloud .plan-button { color:var(--tm-semantic-action-primary-fg); border-color:var(--tm-semantic-action-primary-bg); background:var(--tm-semantic-action-primary-bg); }
.tm-home .faq-section { padding-top:var(--tm-runtime-section-space-lg); border-top:var(--tm-semantic-border-width-default) solid var(--tm-semantic-border-default); }
.tm-home .final-cta { margin-top:var(--tm-runtime-section-space-lg); margin-bottom:0; padding:calc(var(--tm-semantic-spacing-inline-xs) * 12); border:var(--tm-semantic-border-width-default) solid var(--tm-semantic-border-selected); border-radius:var(--tm-semantic-radius-dialog); color:var(--tm-semantic-text-primary); background:var(--tm-semantic-surface-panel); box-shadow:none; }
.tm-home .final-cta>div { align-items:center; }
.tm-home .final-cta h2 { margin-top:var(--tm-semantic-spacing-inline-sm); max-width:44ch; font-size:var(--tm-runtime-display-md); }
.tm-home .final-cta p { margin:0; color:var(--tm-semantic-action-primary-bg); font:var(--tm-semantic-type-label); }
.tm-home .final-cta .tm-button--primary { color:var(--tm-semantic-action-primary-fg); border-color:var(--tm-semantic-action-primary-bg); background:var(--tm-semantic-action-primary-bg); }

@media (max-width:900px) {
  .tm-home .handoff-section,.tm-keeps { grid-template-columns:1fr; gap:var(--tm-runtime-section-space); }
  .tm-home .privacy-section { grid-template-columns:1fr 1fr; }
  .tm-home .privacy-facts { grid-column:1 / -1; grid-template-columns:repeat(3,1fr); }
  .tm-source-wall--wide { grid-template-columns:repeat(3,1fr); }
  .tm-source-wall--wide span:nth-child(3n+1) { border-left:0; }
}
@media (max-width:640px) {
  .tm-marketing .site-header { position:sticky; top:0; width:100%; margin:0; padding-inline:var(--tm-semantic-spacing-inline-md); border-bottom:var(--tm-semantic-border-width-default) solid var(--tm-semantic-border-default); background:var(--tm-semantic-surface-canvas); }
  .tm-home .hero { min-height:0; padding-top:calc(var(--tm-semantic-spacing-inline-xs) * 18); }
  .tm-home .product-frame { transform:none; }
  .tm-trust-strip { grid-template-columns:1fr; }
  .tm-trust-strip span { justify-content:flex-start; padding-inline:var(--tm-semantic-spacing-inline-md); }
  .tm-trust-strip span + span { border-top:var(--tm-semantic-border-width-default) solid var(--tm-semantic-border-default); border-left:0; }
  .tm-agent-flow { grid-template-columns:1fr; padding:var(--tm-semantic-spacing-inline-md); }
  .tm-agent-flow__stages { gap:var(--tm-semantic-spacing-inline-xs); }
  .tm-agent-flow__stages article img { width:38px; height:38px; margin-top:var(--tm-semantic-spacing-inline-lg); }
  .tm-memory-rail { font-size:11px; text-align:center; }
  .tm-home .integration-heading { display:grid; align-items:start; }
  .tm-source-wall--wide { grid-template-columns:repeat(2,1fr); }
  .tm-source-wall--wide span:nth-child(n) { border-left:var(--tm-semantic-border-width-default) solid var(--tm-semantic-border-default); }
  .tm-source-wall--wide span:nth-child(odd) { border-left:0; }
  .tm-home .privacy-section { grid-template-columns:1fr; padding:var(--tm-semantic-spacing-inline-xl); }
  .tm-home .privacy-facts { grid-column:auto; grid-template-columns:1fr; }
  .tm-home .pricing-grid { grid-template-columns:1fr; }
  .tm-home .final-cta>div { align-items:flex-start; }
}

/* Editorial refinement: one visual language from the first promise to pricing. */
.tm-home .hero {
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  align-items:start;
  min-height:0;
  gap:clamp(var(--tm-semantic-spacing-inline-xl),4vw,calc(var(--tm-semantic-spacing-inline-xs) * 20));
  padding-top:clamp(calc(var(--tm-semantic-spacing-inline-xs) * 8),4vw,calc(var(--tm-semantic-spacing-inline-xs) * 13));
  padding-bottom:clamp(calc(var(--tm-semantic-spacing-inline-xs) * 12),5vw,calc(var(--tm-semantic-spacing-inline-xs) * 18));
}
.tm-home .hero-copy h1 {
  max-width:10ch;
  font-size:clamp(3.5rem,2.4rem + 3.1vw,4.85rem);
  line-height:.97;
}
.tm-home .hero-copy>p:not(.hero-label) { max-width:43ch; font-size:var(--tm-runtime-body-lg); }
.tm-home .product-frame { overflow:hidden; border-radius:var(--tm-semantic-radius-panel); box-shadow:none; }
.tm-home .product-frame img { aspect-ratio:16 / 10; }
.tm-home .product-frame figcaption { padding:var(--tm-semantic-spacing-inline-md) var(--tm-semantic-spacing-inline-lg); border-top:var(--tm-semantic-border-width-default) solid var(--tm-semantic-border-default); }

.tm-home .handoff-section {
  grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  gap:clamp(var(--tm-semantic-spacing-inline-xl),5vw,calc(var(--tm-semantic-spacing-inline-xs) * 18));
  padding-block:clamp(calc(var(--tm-semantic-spacing-inline-xs) * 18),10vw,var(--tm-runtime-section-space-lg));
}
.tm-home .handoff-heading h2,.tm-keeps h2,.tm-home .integration-heading h2,.tm-home .pricing-heading h2 { font-size:var(--tm-runtime-display-md); }
.tm-agent-flow {
  grid-template-columns:minmax(155px,.65fr) minmax(0,1.35fr);
  gap:var(--tm-semantic-spacing-inline-lg);
  padding:var(--tm-semantic-spacing-inline-lg);
  border-radius:var(--tm-semantic-radius-panel);
  box-shadow:none;
}
.tm-worktree { padding:var(--tm-semantic-spacing-inline-md); border-radius:var(--tm-semantic-radius-control); }
.tm-agent-flow__stages { gap:var(--tm-semantic-spacing-inline-sm); }
.tm-agent-flow__stages article { position:relative; gap:var(--tm-semantic-spacing-inline-xs); }
.tm-agent-flow__stages article:not(:last-of-type)::after {
  position:absolute;
  top:calc(var(--tm-semantic-spacing-inline-xs) * 8);
  left:calc(50% + var(--tm-semantic-spacing-inline-xl));
  width:calc(100% - var(--tm-semantic-spacing-inline-xl));
  border-top:var(--tm-semantic-border-width-default) dashed var(--tm-semantic-border-selected);
  content:"";
}
.tm-agent-flow__stages article img { width:42px; height:42px; margin-top:var(--tm-semantic-spacing-inline-lg); }
.tm-memory-rail { margin-top:var(--tm-semantic-spacing-inline-lg); padding:var(--tm-semantic-spacing-inline-sm) var(--tm-semantic-spacing-inline-md); }

.tm-keeps { grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr); padding-block:clamp(calc(var(--tm-semantic-spacing-inline-xs) * 18),10vw,var(--tm-runtime-section-space-lg)); }
.tm-keeps__list summary { min-height:58px; }
.tm-keeps__list p { max-width:48ch; }

.tm-home .integration-section { padding-block:clamp(calc(var(--tm-semantic-spacing-inline-xs) * 18),10vw,var(--tm-runtime-section-space-lg)); }
.tm-source-wall--wide { margin-top:calc(var(--tm-semantic-spacing-inline-xs) * 8); }
.tm-source-wall--wide span { min-height:76px; padding:var(--tm-semantic-spacing-inline-sm); font-size:var(--tm-semantic-size-text-meta); }
.tm-source-wall--wide img { width:26px; height:26px; }

.tm-home .privacy-section {
  grid-template-columns:minmax(400px,.98fr) minmax(480px,1.34fr) minmax(220px,.68fr);
  align-items:center;
  width:100vw;
  margin-top:0;
  margin-left:calc(50% - 50vw);
  gap:clamp(var(--tm-semantic-spacing-inline-lg),3vw,calc(var(--tm-semantic-spacing-inline-xs) * 14));
  padding:clamp(calc(var(--tm-semantic-spacing-inline-xs) * 14),7vw,calc(var(--tm-semantic-spacing-inline-xs) * 22)) max(var(--tm-semantic-spacing-inline-xl),calc((100vw - var(--tm-runtime-rail)) / 2));
  color:var(--tm-semantic-text-primary);
  background:var(--tm-semantic-surface-canvas);
}
.tm-home .tm-privacy__copy { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.tm-home .tm-privacy__copy>p { margin:0 0 var(--tm-semantic-spacing-inline-md); color:var(--tm-semantic-action-primary-bg); font:var(--tm-semantic-type-meta); letter-spacing:var(--tm-runtime-tracking-wide); text-transform:uppercase; }
.tm-home .privacy-section h2 { max-width:none; color:var(--tm-semantic-text-primary); font-size:clamp(2.3rem,1.8rem + 1vw,3.45rem); line-height:1; }
.tm-home .privacy-section h2 span { color:var(--tm-semantic-action-primary-bg); }
.tm-home .tm-privacy__copy .tm-longform>p { max-width:37ch; margin-top:var(--tm-semantic-spacing-inline-lg); color:var(--tm-semantic-text-secondary); }
.tm-home .privacy-section span.tm-privacy__note { display:inline-flex; align-items:center; gap:var(--tm-semantic-spacing-inline-sm); margin-top:var(--tm-semantic-spacing-inline-lg); color:var(--tm-semantic-text-secondary); font:var(--tm-semantic-type-meta); }
.tm-home .privacy-section span.tm-privacy__note i { color:var(--tm-semantic-action-primary-bg); font-size:var(--tm-semantic-size-icon-md); }
.tm-privacy-vault__visual { width:100%; margin:0; }
.tm-privacy-vault__visual img { display:block; width:min(100%,680px); height:auto; margin:auto; }
.tm-home .privacy-facts { align-self:center; gap:var(--tm-semantic-spacing-inline-xl); }
.tm-home .privacy-facts span { position:relative; display:block; min-height:0; padding:0 0 0 calc(var(--tm-semantic-spacing-inline-xs) * 9); border:0; border-radius:0; background:none; }
.tm-home .privacy-facts span::before { position:absolute; top:var(--tm-semantic-spacing-inline-sm); left:0; width:calc(var(--tm-semantic-spacing-inline-xs) * 5); border-top:var(--tm-semantic-border-width-default) dashed var(--tm-semantic-action-primary-bg); content:""; }
.tm-home .privacy-facts i { position:absolute; top:calc(var(--tm-semantic-spacing-inline-xs) * -.5); left:calc(var(--tm-semantic-spacing-inline-xs) * 5.5); color:var(--tm-semantic-action-primary-bg); font-size:var(--tm-semantic-size-icon-md); }
.tm-home .privacy-facts b { display:block; color:var(--tm-semantic-text-primary); font:var(--tm-semantic-type-label); }
.tm-home .privacy-facts em { display:block; margin-top:calc(var(--tm-semantic-spacing-inline-xs) * 1.5); color:var(--tm-semantic-text-secondary); font:var(--tm-semantic-type-meta); font-style:normal; line-height:1.45; }

/* Desktop follows the approved composition exactly; the semantic HTML fallback is used on small screens. */
.tm-home .tm-privacy-approved {
  display:block;
  width:100%;
  max-width:1672px;
  margin:0 auto;
  padding:clamp(var(--tm-semantic-spacing-inline-xl),5vw,calc(var(--tm-semantic-spacing-inline-xs) * 20)) 0;
  background:var(--tm-semantic-surface-canvas);
}
.tm-privacy-approved__desktop { display:block; width:100%; margin:0; }
.tm-privacy-approved__desktop img { display:block; width:100%; height:auto; }
.tm-privacy-approved__fallback { display:none; }

.tm-home .pricing-section { padding-block:clamp(calc(var(--tm-semantic-spacing-inline-xs) * 18),10vw,var(--tm-runtime-section-space-lg)); }
.tm-home .free-line { align-items:center; padding:var(--tm-semantic-spacing-inline-lg); border-radius:var(--tm-semantic-radius-panel); box-shadow:none; }
.tm-home .pricing-grid { gap:var(--tm-semantic-spacing-inline-md); }
.tm-home .pricing-grid article { min-height:360px; padding:var(--tm-semantic-spacing-inline-lg); border-radius:var(--tm-semantic-radius-panel); box-shadow:none; }
.tm-home .pricing-grid .price-lifetime { background:var(--tm-semantic-action-primary-bg); }
.tm-home .pricing-grid .price-pro,.tm-home .pricing-grid .price-cloud { background:var(--tm-semantic-surface-panel); }
.tm-home .price-cloud { color:var(--tm-semantic-text-primary); border-color:var(--tm-semantic-border-default); }
.tm-home .price-cloud :is(h3,b,span) { color:var(--tm-semantic-text-primary); }
.tm-home .price-cloud :is(p,li,small) { color:var(--tm-semantic-text-secondary); }
.tm-home .price-cloud .billing-switch { border-color:var(--tm-semantic-border-default); }
.tm-home .price-cloud .billing-switch button { color:var(--tm-semantic-text-primary); }
.tm-home .price-cloud .billing-switch button.active { color:var(--tm-semantic-text-inverse); background:var(--tm-semantic-surface-inverse); }
.tm-home .price-pro .plan-button {
  color:var(--tm-semantic-text-on-accent);
  border-color:var(--tm-semantic-action-primary-bg);
  background:var(--tm-semantic-action-primary-bg);
}
.tm-home .price-pro .plan-button i { color:var(--tm-semantic-text-on-accent); }
.tm-home .price-pro .plan-button span { color:var(--tm-semantic-text-on-accent); }
.tm-home .price-cloud .plan-button { color:var(--tm-semantic-text-primary); border-color:var(--tm-semantic-border-selected); background:transparent; }
.tm-home .price-cloud .plan-button:hover { color:var(--tm-semantic-action-primary-fg); background:var(--tm-semantic-action-primary-bg); }

.tm-home .faq-section { padding-top:clamp(calc(var(--tm-semantic-spacing-inline-xs) * 18),10vw,var(--tm-runtime-section-space-lg)); }
.tm-home .final-cta { margin-top:clamp(calc(var(--tm-semantic-spacing-inline-xs) * 18),10vw,var(--tm-runtime-section-space-lg)); padding:clamp(var(--tm-semantic-spacing-inline-xl),5vw,calc(var(--tm-semantic-spacing-inline-xs) * 18)); }

/* The homepage starts immediately under the floating header on desktop. */
@media (min-width:641px) {
  .tm-home { padding-top:0; }
  .tm-home .hero { padding-top:calc(var(--tm-semantic-spacing-inline-xs) * 5); }
}

@media (max-width:900px) {
  .tm-home .hero { grid-template-columns:1fr; min-height:0; }
  .tm-home .product-frame { max-width:760px; }
  .tm-home .privacy-section { grid-template-columns:minmax(0,1fr) minmax(320px,.9fr); }
  .tm-home .privacy-facts { grid-column:1 / -1; grid-template-columns:repeat(3,minmax(0,1fr)); }
  .tm-privacy-vault__visual { grid-row:span 2; }
  .tm-home .tm-privacy-approved { width:100%; margin:0; padding:var(--tm-runtime-section-space) var(--tm-semantic-spacing-inline-xl); }
  .tm-privacy-approved__desktop { display:none; }
  .tm-privacy-approved__fallback { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.8fr); align-items:center; gap:var(--tm-semantic-spacing-inline-xl); }
  .tm-privacy-approved__fallback .tm-privacy-facts { grid-column:1 / -1; }
}

@media (max-width:640px) {
  .tm-home .hero-copy h1 { font-size:clamp(3rem,13vw,4rem); }
  .tm-agent-flow { grid-template-columns:1fr; }
  .tm-agent-flow__stages article:not(:last-of-type)::after { display:none; }
  .tm-home .privacy-section { grid-template-columns:1fr; width:100%; margin-left:0; padding:calc(var(--tm-semantic-spacing-inline-xs) * 14) var(--tm-semantic-spacing-inline-xl); }
  .tm-home .privacy-facts { grid-column:auto; grid-template-columns:1fr; }
  .tm-privacy-vault__visual { grid-row:auto; order:-1; max-width:340px; margin-inline:auto; }
  .tm-privacy-approved__fallback { grid-template-columns:1fr; }
  .tm-privacy-approved__fallback .tm-privacy-facts { grid-column:auto; }
  .tm-home .free-line { align-items:flex-start; }
}

/* Composant tarifs de la home : markup identique à /pricing (public/pricing.html).
   marketing-secondary.css porte tout le système .tm-pricing-* (grid 4 colonnes,
   cartes, features, toolbar, audience). On complète ici uniquement les
   propriétés que seo.css apporte sur /pricing via les classes .price-* et qui
   gagnent la cascade (spécificité > .tm-pricing-*), afin d'obtenir un rendu
   identique sans charger seo.css (qui force color-scheme:light). Scopé .tm-home. */
.tm-home .price-card { min-height: 590px; }
.tm-home .price-card.featured { box-shadow: var(--tm-semantic-shadow-raised); }
.tm-home .price-card h2 { margin-block-start: calc(var(--tm-semantic-spacing-inline-xs) * 6); }
.tm-home .price-card > p { min-height: 72px; }
@media (max-width: 900px) {
  .tm-home .price-card { min-height: 0; }
  .tm-home .price-card > p { min-height: 0; }
}
