/* Landing page only. App and legal pages retain their own styles. */
.promo-page { --ink:#182b35; --muted:#586a75; --brand:#326c7d; --brand-dark:#214e5e; --line:#dde6e9; color:var(--ink); }
html:has(.promo-page) { scrollbar-gutter:stable; }
.promo-page [hidden] { display:none !important; }
.promo-page .section-inner { width:min(1160px,calc(100% - 64px)); margin-inline:auto; padding-block:64px; }
.promo-page #top { scroll-margin-top:90px; }
.promo-page h1,.promo-page h2,.promo-page h3,.promo-page p { overflow-wrap:break-word; }
.promo-page h2 { font-size:clamp(1.8rem,3vw,2.6rem); font-weight:650; line-height:1.12; letter-spacing:-.035em; }
.promo-page .eyebrow { margin:0 0 16px; color:var(--brand); font-size:.72rem; font-weight:650; letter-spacing:.12em; text-transform:uppercase; }
.promo-page .btn { border-radius:9px; min-height:44px; font-weight:600; }
.promo-page .btn-large { min-height:50px; padding-inline:22px; }
.promo-page :focus-visible { outline:3px solid #1684a0; outline-offset:4px; }
.promo-skip-link { position:fixed; left:16px; top:-100px; z-index:40; padding:12px 18px; background:#fff; border:2px solid var(--brand); border-radius:8px; }
.promo-skip-link:focus { top:12px; }
.promo-page .site-header { background:rgba(255,255,255,.94); }
.promo-page .nav { width:min(1280px,calc(100% - 64px)); gap:24px; min-height:78px; }
.promo-page .logo img { width:240px; }
.promo-page .nav-links { gap:26px; font-size:.88rem; font-weight:550; }
.promo-page .nav-links a { white-space:nowrap; }
.promo-page .nav-actions { gap:10px; flex-wrap:nowrap; }
.promo-page .nav-actions .btn { font-size:.85rem; padding-inline:16px; }
.promo-menu-toggle { display:none; }

/* A product-led hero with real desktop captures of the demo. */
.promo-hero { position:relative; background:radial-gradient(ellipse at 90% 65%,#dfeff0,transparent 55%),#f5f8f8; border-bottom:1px solid var(--line); overflow:hidden; }
.promo-page .promo-hero-layout { display:grid; grid-template-columns:1fr 1.16fr; align-items:center; gap:48px; width:min(1280px,calc(100% - 64px)); padding-block:76px; }
.promo-hero-copy { min-width:0; }
.promo-hero-copy > .eyebrow { display:flex; align-items:center; gap:9px; letter-spacing:.07em; }
.promo-status-dot { width:7px; height:7px; flex:0 0 7px; border-radius:50%; background:#3c8573; box-shadow:0 0 0 4px #e0eeea; }
.promo-page .promo-hero h1 { margin:0; font-size:clamp(2.5rem,3.7vw,3.6rem); font-weight:650; line-height:1.1; letter-spacing:-.045em; }
.promo-hero h1 > span { color:var(--brand); }
.promo-hero-description { max-width:470px; margin:24px 0 0; font-size:1.05rem; line-height:1.65; color:var(--muted); }
.promo-hero-workflow { margin:18px 0 0; font-size:.82rem; font-weight:600; line-height:1.6; color:var(--brand-dark); }
.promo-hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:20px; margin-top:30px; }
.promo-text-link { display:inline-flex; align-items:center; gap:10px; color:var(--brand-dark); font-size:.9rem; font-weight:600; line-height:1.5; }
.promo-text-link:hover { text-decoration:underline; text-underline-offset:4px; }
.promo-demo-note { margin:18px 0 0; color:var(--muted); font-size:.75rem; line-height:1.5; }
.promo-hero-visual { position:relative; min-width:0; margin:0; background:#fff; border:1px solid #cddce1; border-radius:14px; box-shadow:0 24px 56px -24px #39667955; overflow:hidden; }
.promo-window-bar { display:flex; align-items:center; justify-content:space-between; gap:12px; height:36px; padding-inline:13px; background:#fafcfc; border-bottom:1px solid var(--line); color:#6a7c85; font-size:.61rem; }
.promo-window-dots { display:flex; gap:5px; }
.promo-window-dots i { width:6px; height:6px; border-radius:50%; background:#d5dfe3; }
.promo-window-label { color:var(--brand); }
.promo-hero-image { position:relative; display:block; width:100%; padding:0; background:#f3f5f7; cursor:zoom-in; }
.promo-hero-image img { width:100%; height:auto; }
.promo-screenshot-crop,.promo-screenshot-crop picture { display:block; }
.promo-hero-visual figcaption { padding:11px 15px; color:var(--muted); font-size:.68rem; border-top:1px solid var(--line); background:#fff; }
.promo-example { background:#fff; border-bottom:1px solid var(--line); }
.promo-example-layout { display:grid; grid-template-columns:1fr 1.1fr; gap:64px; align-items:center; }
.promo-example-copy h2 { margin:0; }
.promo-example-copy > p:last-child { margin:20px 0 0; font-size:.98rem; line-height:1.7; color:var(--muted); }
.promo-example-card { min-width:0; border:1px solid #cddce1; border-radius:14px; padding:24px; background:#fbfdfd; }
.promo-example-table { width:100%; border-collapse:collapse; font-size:.9rem; font-variant-numeric:tabular-nums; }
.promo-example-table caption { text-align:left; margin-bottom:22px; }
.promo-example-table caption strong { display:block; font-size:1.08rem; }
.promo-example-table caption span { display:block; margin-top:7px; font-size:.76rem; line-height:1.5; color:var(--muted); }
.promo-example-table th,.promo-example-table td { padding:13px 7px; text-align:right; white-space:nowrap; border-bottom:1px solid var(--line); }
.promo-example-table thead th { font-size:.7rem; font-weight:500; color:var(--muted); }
.promo-example-table th:first-child { text-align:left; }
.promo-example-table tbody th { font-weight:600; }
.promo-example-table .promo-example-best { background:#e5f2ed; color:#1b5143; }
.promo-example-best th span { display:block; margin-top:4px; font-size:.62rem; font-weight:500; }
.promo-example-result { display:grid; gap:5px; margin:22px 0 0; font-size:.8rem; line-height:1.5; color:var(--muted); }
.promo-example-result strong { font-size:1.3rem; letter-spacing:-.025em; color:var(--brand-dark); }
.promo-example-note { margin:18px 0 0; color:var(--muted); font-size:.68rem; line-height:1.6; }
.promo-benefits { background:#fff; }
.promo-page .promo-benefit-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; padding-block:36px; }
.promo-benefit-grid > div { min-width:0; }
.promo-step-label { color:var(--brand); font-size:.67rem; letter-spacing:.06em; font-weight:600; }
.promo-page .promo-benefit-grid h2 { font-size:1.1rem; margin:10px 0 8px; line-height:1.3; letter-spacing:-.02em; font-weight:650; }
.promo-benefit-grid p { margin:0; color:var(--muted); font-size:.87rem; line-height:1.6; }

/* Four accessible tabs share one compact product area. */
.promo-product { position:relative; background:#f7f9fa; border-block:1px solid var(--line); }
.promo-anchor { position:absolute; top:0; scroll-margin-top:90px; }
.promo-product-heading { max-width:650px; margin-bottom:28px; }
.promo-product-heading h2 { margin:0; }
.promo-product-heading > p:last-child { color:var(--muted); font-size:.98rem; line-height:1.6; margin:14px 0 0; }
.promo-product-tabs { display:inline-grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:4px; padding:5px; border:1px solid #d5e1e6; border-radius:12px; background:#ecf1f3; margin-bottom:30px; }
.promo-product-tab { display:flex; align-items:center; justify-content:center; gap:9px; min-height:44px; padding:10px 24px; border-radius:8px; background:transparent; color:var(--muted); font-size:.88rem; font-weight:550; }
.promo-product-tab[aria-selected="true"] { background:#fff; color:var(--brand-dark); box-shadow:0 2px 7px #24495d12; }
.promo-product-tab:hover { color:var(--brand-dark); background:#ffffff80; }
.promo-product-tab svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; flex:0 0 18px; }
.promo-product-panel { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.8fr); align-items:center; gap:44px; min-height:470px; }
.promo-product-copy { min-width:0; padding-bottom:12px; }
.promo-product-number { margin:0 0 15px; color:var(--brand); font-size:.69rem; font-weight:600; text-transform:uppercase; letter-spacing:.08em; }
.promo-product-copy h3 { font-size:1.7rem; font-weight:600; letter-spacing:-.035em; line-height:1.2; margin:0; }
.promo-product-copy > p:not(.promo-product-number) { margin:16px 0 0; font-size:.92rem; line-height:1.65; color:var(--muted); }
.promo-product-points { list-style:none; padding:0; margin:24px 0; display:grid; gap:16px; }
.promo-product-points li { padding-left:15px; border-left:2px solid #b4d0d7; }
.promo-product-points strong { display:block; font-size:.85rem; font-weight:600; margin-bottom:5px; }
.promo-product-points span { display:block; font-size:.8rem; line-height:1.55; color:var(--muted); }
.promo-product-copy > .promo-text-link { font-size:.82rem; }
.promo-team-prices { display:flex; width:max-content; max-width:100%; margin-top:12px; }
.promo-product-figure { margin:0; min-width:0; }
.promo-product-image { display:block; width:100%; position:relative; padding:0; border:1px solid #cddbe1; border-radius:12px; background:#f2f5f7; overflow:hidden; cursor:zoom-in; box-shadow:0 18px 40px -28px #254d6170; }
.promo-product-image img { width:100%; height:auto; }
.promo-image-expand { display:inline-flex; position:absolute; right:12px; bottom:12px; padding:7px 10px; border:1px solid #d5e1e6; border-radius:6px; background:#fffffff2; color:var(--brand-dark); font-size:.67rem; font-weight:550; box-shadow:0 2px 10px #213f5010; }
.promo-product-figure figcaption { margin-top:12px; text-align:right; font-size:.66rem; line-height:1.5; color:var(--muted); }

/* Setup and pricing follow the complete product presentation. */
.promo-page .section-head { max-width:720px; margin:0 auto 30px; }
.promo-page .section-head h2 { margin:0; }
.promo-page .section-head > p:not(.eyebrow) { font-size:.95rem; font-weight:400; color:var(--muted); line-height:1.6; margin-top:14px; }
.promo-setup-steps { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
.promo-setup-steps li { display:grid; grid-template-columns:30px minmax(0,1fr); gap:12px; align-items:start; }
.promo-setup-steps li > span { display:grid; place-items:center; height:30px; border:1px solid #b9d2da; border-radius:9px; color:var(--brand); font-size:.85rem; font-weight:600; }
.promo-setup-steps h3 { margin:4px 0 9px; font-size:1rem; font-weight:600; }
.promo-setup-steps p { margin:0; color:var(--muted); font-size:.85rem; line-height:1.6; }
.promo-import-note { margin:26px 0 0; padding:16px 20px; border-radius:10px; background:#f4f7f8; font-size:.8rem; color:var(--muted); line-height:1.6; }
.promo-import-note a,.promo-pricing-terms a,.promo-page .faq a,.promo-trust-strip a { text-decoration:underline; text-underline-offset:3px; }
.promo-import-note strong { font-weight:600; }
.promo-page #preise { background:#f3f7f7; border-block:1px solid var(--line); }
.promo-page .pricing-toggle { border-radius:10px; margin-bottom:24px; }
.promo-page .pricing-toggle button { font-weight:600; min-height:40px; }
.promo-page .pricing-grid { max-width:840px; margin-inline:auto; gap:20px; }
.promo-page .price-card { padding:26px; min-height:0; border-radius:12px; box-shadow:none; }
.promo-page .price-card.featured { border-color:#85acb8; box-shadow:0 8px 28px #24495d08; }
.promo-page .price-card h3 { font-size:1.1rem; font-weight:600; }
.promo-page .price-card > p { min-height:3em; font-size:.88rem; font-weight:400; line-height:1.5; }
.promo-page .price { margin-top:18px; font-size:2.3rem; font-weight:650; letter-spacing:-.04em; }
.promo-page .price small { font-size:.85rem; font-weight:400; letter-spacing:0; }
.promo-page .price-gross { font-size:.78rem; font-weight:400; margin-top:7px; }
.promo-page .price-card ul { margin-block:24px; gap:10px; }
.promo-page .price-card li { font-size:.86rem; line-height:1.5; font-weight:400; }
.promo-page .price-card li::before { width:11px; height:7px; border-width:2px; margin-top:5px; }
.promo-page .pricing-tax-note,.promo-pricing-terms { font-size:.77rem; color:var(--muted); font-weight:400; line-height:1.6; text-align:center; }
.promo-pricing-terms { max-width:760px; margin:10px auto 0; }
.promo-trust-strip { display:flex; flex-wrap:wrap; justify-content:center; gap:12px 24px; margin-top:24px; font-size:.75rem; color:var(--muted); }
.promo-faq-layout { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:70px; align-items:start; }
.promo-page .feature-copy h2 { margin:0; font-size:2rem; font-weight:650; line-height:1.2; }
.promo-page .feature-copy > p:not(.eyebrow) { font-size:.92rem; line-height:1.6; font-weight:400; }
.promo-contact-link { display:inline-block; margin-top:20px; font-size:.9rem; font-weight:600; color:var(--brand); }
.promo-email { display:block; margin-top:10px; font-size:.8rem; color:var(--muted); overflow-wrap:anywhere; }
.promo-page .faq { gap:0; }
.promo-page .faq details { border:0; border-top:1px solid var(--line); border-radius:0; padding:0; }
.promo-page .faq details:last-child { border-bottom:1px solid var(--line); }
.promo-page .faq summary { justify-content:space-between; gap:18px; min-height:64px; padding-block:16px; font-size:.9rem; line-height:1.5; font-weight:550; }
.promo-page .faq summary::after { content:'+'; flex:0 0 auto; color:var(--brand); font-size:1.25rem; font-weight:400; }
.promo-page .faq details[open] summary::after { content:'−'; }
.promo-page .faq summary::-webkit-details-marker { display:none; }
.promo-page .faq p { font-size:.85rem; font-weight:400; line-height:1.65; margin:0 20px 20px 0; }
.promo-page .quote-band { background:#1e424f; }
.promo-page .quote-band .section-inner { padding-block:44px; gap:30px; }
.promo-page .quote-band h2 { font-size:1.9rem; max-width:650px; font-weight:600; letter-spacing:-.03em; }
.promo-page .quote-band p { font-size:.9rem; font-weight:400; }
.promo-page .quote-band .btn { background:#fff; color:#214e5e; white-space:normal; text-align:center; padding-block:12px; }
.promo-page .footer-inner { font-size:.78rem; width:min(1160px,calc(100% - 64px)); }
.promo-page .legal-links { font-weight:500; gap:18px; }

/* Keep the established account flow and shared focus management. */
.promo-page.promo-modal-open { overflow:hidden; }
.promo-page .modal { display:flex; flex-direction:column; max-height:calc(100dvh - 36px); overflow:hidden; border-radius:12px; }
.promo-page .modal-head { flex-shrink:0; background:#fff; }
.promo-page .modal h2 { font-size:1.35rem; line-height:1.25; letter-spacing:-.02em; }
.promo-page .modal-body { min-height:0; overflow:auto; overscroll-behavior:contain; }
.promo-page .modal-head > div { min-width:0; }
.promo-page .modal-head .icon-btn { flex:0 0 44px; width:44px; height:44px; }
.promo-page .modal .form-grid { grid-template-columns:minmax(0,1fr); }
.promo-page .modal .btn { white-space:normal; text-align:center; }
.promo-page .modal label,.promo-page .auth-tab { font-weight:600; }
.promo-page .modal .check-row input { flex:0 0 18px; }
.promo-page .password-input-wrap { position:relative; }
.promo-page .password-input-wrap input { padding-right:94px; }
.promo-page .password-toggle { position:absolute; top:1px; right:1px; bottom:1px; min-width:84px; padding:8px; border-radius:0 6px 6px 0; background:#f2f6f8; color:var(--brand-dark); font-size:.8rem; font-weight:600; }
.promo-page .password-toggle:hover { background:#e4edf1; }
.promo-image-dialog .modal { width:min(1320px,100%); }
.promo-image-dialog .modal-head { padding:16px 20px; }
.promo-image-dialog .modal-head h2 { font-size:1.15rem; letter-spacing:-.02em; }
.promo-image-dialog .modal-head p { font-size:.8rem; }
.promo-page .promo-image-dialog-body { padding:0; flex:1 1 auto; overflow:auto; background:#edf2f4; }
.promo-image-dialog-body img { width:100%; max-width:none; height:auto; }
.promo-image-dialog-body.is-readable img { min-width:1440px; }
.promo-image-controls { flex-shrink:0; padding:16px 20px; border-bottom:1px solid var(--line); background:#f7f9fa; }
.promo-image-toolbar { display:flex; flex-wrap:wrap; gap:12px; }
.promo-image-toolbar button { min-height:44px; padding:10px 16px; border:1px solid #cddce1; border-radius:8px; color:var(--brand-dark); background:#fff; font-size:.8rem; }
.promo-image-toolbar button[aria-pressed="true"] { background:var(--brand-dark); color:#fff; border-color:var(--brand-dark); }
.promo-image-dialog .promo-image-hint { margin:12px 0 0; font-size:.75rem; line-height:1.5; color:var(--muted); text-align:left; }
.promo-image-dialog .promo-image-footer { flex-shrink:0; padding:14px 20px; margin:0; font-size:.8rem; line-height:1.5; border-top:1px solid var(--line); }
.promo-image-footer a { color:var(--brand); text-decoration:underline; text-underline-offset:3px; }

@media (max-width:1100px) {
  .promo-page .nav { gap:16px; }
  .promo-page .logo img { width:210px; }
  .promo-page .nav-links { gap:18px; }
  .promo-page .promo-hero-layout { gap:30px; padding-block:56px; }
  .promo-product-panel { grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr); gap:28px; }
  .promo-product-copy h3 { font-size:1.5rem; }
}
@media (max-width:960px) {
  .promo-example-layout { gap:32px; }
  .promo-page .nav { grid-template-columns:minmax(0,1fr) auto auto; position:relative; }
  .promo-menu-toggle { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:42px; padding:8px 12px; border:1px solid var(--line); border-radius:8px; background:#fff; color:var(--ink); font-size:.85rem; }
  .promo-page .nav-links { display:none; }
  .promo-page .nav-links.is-open { display:flex; position:absolute; top:calc(100% + 6px); left:0; right:0; flex-direction:column; align-items:stretch; gap:0; padding:8px; max-height:calc(100dvh - 135px); overflow-y:auto; background:#fff; border:1px solid var(--line); border-radius:10px; box-shadow:0 16px 30px #24495d20; }
  .promo-page .nav-links a { padding:12px 14px; }
  .promo-page .promo-hero-layout { grid-template-columns:1fr 1fr; gap:24px; }
  .promo-page .promo-hero h1 { font-size:2.7rem; }
  .promo-hero-description { font-size:.95rem; line-height:1.6; margin-top:18px; }
  .promo-hero-actions { gap:16px; margin-top:22px; }
  .promo-hero-visual { transform:none; }
  .promo-product-panel { grid-template-columns:minmax(0,1fr) minmax(0,1.5fr); gap:24px; min-height:420px; }
  .promo-product-copy h3 { font-size:1.4rem; }
  .promo-product-points { margin-block:18px; gap:12px; }
  .promo-faq-layout { gap:36px; }
}
@media (max-width:760px) {
  .promo-example-layout { grid-template-columns:1fr; gap:28px; }
  .promo-page .promo-hero-layout { grid-template-columns:1fr; padding-block:44px; gap:32px; }
  .promo-hero-copy { max-width:560px; }
  .promo-hero-visual { max-width:600px; }
  .promo-page .promo-benefit-grid { gap:24px; }
  .promo-product-panel { grid-template-columns:1fr; gap:26px; }
  .promo-product-copy { max-width:600px; padding-bottom:0; }
  .promo-product-points { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
  .promo-product-figure { max-width:100%; }
  .promo-setup-steps { grid-template-columns:1fr; gap:24px; }
  .promo-faq-layout { grid-template-columns:1fr; gap:28px; }
}
@media (max-width:640px) {
  /* Desktop originals stay intact in the dialog; these windows show the useful details inline. */
  [data-product-zoom="comparison"] { --screenshot-width:500; --crop-x:0; --crop-y:0; --crop-width:500; --crop-height:540; }
  [data-product-zoom="history"] { --crop-x:1015; --crop-y:100; --crop-width:400; --crop-height:450; }
  [data-product-zoom="stats"] { --crop-x:940; --crop-y:204; --crop-width:476; --crop-height:244; }
  [data-product-zoom="team"] { --screenshot-width:500; --crop-x:0; --crop-y:30; --crop-width:500; --crop-height:382; }
  .promo-screenshot-crop { position:relative; aspect-ratio:var(--crop-width) / var(--crop-height); overflow:hidden; }
  .promo-screenshot-crop img { position:absolute; width:calc(100% * var(--screenshot-width,1440) / var(--crop-width)); max-width:none; height:auto; left:calc(-100% * var(--crop-x) / var(--crop-width)); top:calc(-100% * var(--crop-y) / var(--crop-height)); }
  .promo-page .nav { width:calc(100% - 32px); grid-template-columns:minmax(0,1fr) auto; gap:8px; min-height:0; padding-block:10px; }
  .promo-page .logo img { width:210px; max-width:100%; }
  .promo-page .nav-actions { grid-column:1 / -1; width:100%; }
  .promo-page .nav-actions .btn { flex:1; min-height:38px; }
  .promo-page #top,.promo-page main > section[id],.promo-anchor { scroll-margin-top:126px; }
  .promo-page .section-inner,.promo-page .promo-hero-layout { width:calc(100% - 40px); padding-block:40px; }
  .promo-page .promo-hero-layout { padding-top:36px; padding-bottom:32px; gap:28px; }
  .promo-page .promo-hero h1 { font-size:clamp(2.2rem,9vw,3.3rem); line-height:1.08; }
  .promo-hero-copy > .eyebrow { font-size:.62rem; letter-spacing:.05em; margin-bottom:20px; }
  .promo-hero-description { font-size:.96rem; margin-top:20px; }
  .promo-hero-actions { gap:12px 20px; }
  .promo-hero-actions .btn { font-size:.9rem; min-height:46px; padding-inline:18px; }
  .promo-hero-actions .promo-text-link { font-size:.82rem; }
  .promo-demo-note { font-size:.68rem; }
  .promo-hero-visual { border-radius:10px; }
  .promo-window-bar { height:28px; font-size:.53rem; }
  .promo-hero-workflow { font-size:.78rem; }
  .promo-example-copy > p:last-child { font-size:.9rem; }
  .promo-example-card { padding:18px 12px; }
  .promo-example-table { font-size:.8rem; }
  .promo-example-table th,.promo-example-table td { padding:12px 5px; }
  .promo-example-table caption { padding-inline:5px; }
  .promo-example-table caption strong { font-size:.98rem; }
  .promo-example-table caption span { font-size:.72rem; }
  .promo-example-table thead th { font-size:.64rem; }
  .promo-example-result,.promo-example-note { margin-inline:5px; }
  .promo-hero-visual figcaption { padding:9px 12px; font-size:.6rem; }
  .promo-page .promo-benefit-grid { grid-template-columns:1fr; gap:22px; padding-block:28px; }
  .promo-benefit-grid > div { padding-left:14px; border-left:2px solid #c4d9df; }
  .promo-page .promo-benefit-grid h2 { margin-block:7px; font-size:1rem; }
  .promo-benefit-grid p { font-size:.83rem; }
  .promo-page h2 { font-size:1.85rem; }
  .promo-product-heading { margin-bottom:22px; }
  .promo-product-heading > p:last-child { font-size:.9rem; }
  .promo-product-tabs { display:grid; width:100%; gap:2px; padding:4px; margin-bottom:24px; }
  .promo-product-tab { min-height:52px; padding:8px 2px; gap:5px; flex-direction:column; font-size:.72rem; }
  .promo-product-tab svg { width:16px; height:16px; flex-basis:16px; }
  .promo-product-panel { min-height:0; gap:16px; }
  .promo-product-copy { display:contents; }
  .promo-product-number { order:1; margin:8px 0 0; }
  .promo-product-copy h3 { order:2; font-size:1.5rem; max-width:340px; }
  .promo-product-copy > p:not(.promo-product-number) { order:3; font-size:.88rem; line-height:1.6; margin:0; }
  .promo-product-points { order:4; grid-template-columns:1fr; gap:14px; margin:0; }
  .promo-product-copy > .promo-text-link { order:5; }
  .promo-product-points strong { font-size:.82rem; }
  .promo-product-points span { font-size:.77rem; }
  .promo-product-figure { order:6; justify-self:stretch; width:100%; margin-top:8px; }
  .promo-product-image { border-radius:9px; }
  .promo-product-figure figcaption { text-align:left; font-size:.65rem; }
  .promo-image-expand { position:static; display:flex; align-items:center; justify-content:center; min-height:44px; border:0; border-top:1px solid var(--line); border-radius:0; font-size:.78rem; box-shadow:none; background:#fff; }
  .promo-page .section-head.centered { text-align:left; }
  .promo-page .section-head > p:not(.eyebrow) { font-size:.88rem; }
  .promo-import-note { padding:14px; font-size:.76rem; }
  .promo-page .pricing-grid { grid-template-columns:1fr; gap:16px; }
  .promo-page .price-card { padding:22px; }
  .promo-page .price-card > p { min-height:0; }
  .promo-page .price { font-size:2.1rem; }
  .promo-page .price small { font-size:.8rem; }
  .promo-page .price-card ul { margin-block:20px; }
  .promo-trust-strip { display:grid; grid-template-columns:1fr 1fr; text-align:center; font-size:.7rem; gap:14px 10px; }
  .promo-page .feature-copy h2 { font-size:1.85rem; }
  .promo-page .faq summary { font-size:.85rem; }
  .promo-page .faq p { font-size:.82rem; }
  .promo-page .quote-band .section-inner { padding-block:36px; gap:24px; }
  .promo-page .quote-band h2 { font-size:1.8rem; }
  .promo-page .quote-band .btn { width:100%; }
  .promo-page .footer-inner { width:calc(100% - 40px); padding-block:24px; }
  .promo-page .legal-links { justify-content:center; gap:12px 18px; }
  .promo-page .modal input,.promo-page .modal select { font-size:1rem; }
  .promo-page .promo-image-dialog { padding:10px; }
  .promo-image-dialog .modal { max-height:calc(100dvh - 20px); }
  .promo-image-dialog .modal-head { padding:16px; }
  .promo-image-controls { padding:16px; }
  .promo-image-toolbar { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .promo-image-toolbar button { padding:10px 8px; }
  .promo-image-dialog .promo-image-footer { padding:14px 16px; }
}
@media (prefers-reduced-motion:reduce) {
  html:has(.promo-page) { scroll-behavior:auto; }
  .promo-page *,.promo-page *::before,.promo-page *::after { transition:none !important; }
}
