.products-page{max-width:1180px;margin:0 auto;padding:56px 24px 88px}.products-hero{text-align:center;max-width:820px;margin:0 auto 34px}.products-hero .eyebrow{font-weight:800;letter-spacing:.13em;font-size:12px;color:#153147}.products-hero h1{font-size:clamp(38px,6vw,64px);line-height:1.02;letter-spacing:-.045em;margin:12px 0 18px;color:#182b3b}.products-hero p{font-size:19px;color:#19374b;margin:0 auto 12px}.products-status{min-height:24px;text-align:center;color:#405b51;font-weight:650;margin:14px 0 24px}.plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:stretch;width:100%}.plan-card{position:relative;display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid #ede9df;border-radius:18px;padding:clamp(15px,1.4vw,21px);box-shadow:0 10px 30px rgba(20,47,40,.05);overflow-wrap:anywhere}.plan-card[data-featured="true"]{border:2px solid #153147;box-shadow:0 14px 36px rgba(20,95,68,.12)}.plan-badge{position:absolute;right:18px;top:16px;border-radius:99px;padding:5px 10px;background:#e6f4ed;color:#1f634b;font-size:11px;font-weight:800;letter-spacing:.05em}.plan-card h2{margin:0 0 6px;font-size:clamp(21px,2vw,24px);color:#182b3b}.plan-audience{color:#5d686e;min-height:44px;margin:0;font-size:14px;line-height:1.45}.plan-price{display:flex;align-items:flex-end;gap:5px;margin:20px 0 6px}.plan-price strong{font-size:clamp(32px,3.3vw,38px);line-height:1;color:#182b3b}.plan-price span{color:#5d686e;margin-bottom:4px}.plan-limit{font-weight:750;color:#153147;margin:0 0 15px;font-size:14px;line-height:1.4}.plan-features{list-style:none;padding:0;margin:0 0 20px;display:grid;gap:9px;font-size:14px;line-height:1.4}.plan-features li{position:relative;padding-left:24px;color:#153147}.plan-features li::before{content:"✓";position:absolute;left:0;color:#153147;font-weight:900}.plan-spacer{flex:1}.plan-action{display:flex;align-items:center;justify-content:center;min-height:46px;border-radius:11px;padding:10px 9px;text-decoration:none;font-weight:800;border:1px solid #153147;background:#153147;color:#fff;cursor:pointer;font:inherit;font-size:14px;line-height:1.25;text-align:center;white-space:normal;max-width:100%}.plan-action.secondary{background:#fff;color:#153147}.plan-action:disabled{opacity:.55;cursor:not-allowed}.plan-note{font-size:12px;color:#5d686e;margin:10px 0 0}.products-compare{margin-top:34px;background:#fff;border:1px solid #ede9df;border-radius:20px;padding:24px}.products-compare h2{margin-top:0}.compare-scroll{overflow-x:auto}.products-compare table{width:100%;border-collapse:collapse;min-width:560px}.products-compare th,.products-compare td{padding:13px 12px;border-bottom:1px solid #ede9df;text-align:center}.products-compare th:first-child,.products-compare td:first-child{text-align:left}.products-compare th{color:#182b3b}.products-faq{max-width:880px;margin:34px auto 0}.products-faq details{background:#fff;border:1px solid #ede9df;border-radius:14px;padding:16px 18px;margin:12px 0}.products-faq summary{font-weight:800;cursor:pointer;color:#182b3b}.products-faq p{color:#19374b}.products-footnote{text-align:center;color:#5d686e;font-size:13px;max-width:850px;margin:28px auto 0}@media(max-width:820px){.plan-grid{grid-template-columns:1fr;gap:12px}}@media(max-width:540px){.products-page{padding:36px 14px 64px}.plan-grid{grid-template-columns:1fr}.plan-card{padding:22px}.products-hero{text-align:left}.products-hero p{font-size:17px}.products-compare{padding:16px}}
.plus-offer{background:linear-gradient(180deg,#f5f2e9 0%,#ffffff 58%);border:3px solid #153147!important;box-shadow:0 22px 55px rgba(20,95,68,.18)!important;transform:translateY(-6px)}
.plus-offer .plan-badge{background:#173d31;color:#fff;box-shadow:0 6px 18px rgba(23,61,49,.18)}
.offer-kicker{margin:36px 0 8px;font-size:10px;letter-spacing:.12em;font-weight:900;color:#153147}
.plan-price-promo{align-items:center;flex-wrap:wrap;margin-top:14px}
.plan-price-promo strong{font-size:clamp(46px,5vw,58px);color:#153147}
.plan-price-promo del{font-size:14px;color:#5d686e;margin-left:4px}
.offer-value{background:#f5f2e9;border:1px solid #c8c8be;border-radius:11px;padding:10px 12px;margin:0 0 16px;color:#153147;font-size:13px;font-weight:750;line-height:1.45}
.plan-action-hero{min-height:54px;font-size:16px;background:#153147;border-color:#153147;box-shadow:0 10px 24px rgba(15,118,84,.2)}
.plus-offer .plan-limit{font-size:17px;color:#153147}
.plus-offer .plan-features{font-size:14px}
@media(max-width:820px){.plus-offer{order:initial;transform:none}.offer-kicker{margin-top:34px}}

.analysis-upgrade{display:grid;gap:3px;margin:2px 0 16px;padding:13px 14px;border-radius:13px;background:#f5f2e9;border:1px solid #c8c8be;text-align:center}
.analysis-upgrade del{font-size:13px;color:#5d686e;font-weight:700;text-decoration-thickness:2px}
.analysis-upgrade strong{font-size:21px;line-height:1.2;color:#153147}
.analysis-upgrade span{font-size:11px;font-weight:850;letter-spacing:.04em;text-transform:uppercase;color:#19374b}


.product-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0 0 28px}.product-option{display:flex;flex-direction:column;min-width:0;padding:22px;border:1px solid #c8c8be;border-radius:18px;background:#fff}.product-option h2{margin:7px 0;font-size:23px;line-height:1.2;color:#182b3b}.product-option>p{margin:0 0 14px;color:#19374b}.product-option .plan-action{margin-top:auto}.option-kicker{font-size:11px;font-weight:850;letter-spacing:.09em;color:#153147}.product-option .option-price{font-size:16px;color:#153147}.option-price strong{font-size:28px;color:#153147}.product-option .plan-note{font-size:12px;margin:10px 0 0}.product-option:target{outline:3px solid #153147;outline-offset:3px}@media(max-width:600px){.product-options{grid-template-columns:1fr}.product-option{padding:18px}.product-option h2{font-size:22px}}

/* 2026-10-09 plans: comparison first, readable mobile table, Free → Plus → Pro. */
.products-page{max-width:1120px;padding:42px 22px 84px}
.products-hero{max-width:810px;margin:0 auto 18px}
.products-hero h1{font-size:clamp(35px,5vw,56px);letter-spacing:-.04em;line-height:1.08;margin:10px 0 14px}
.products-hero p{font-size:16px;line-height:1.62;max-width:750px}
.products-status{min-height:0;padding:11px 14px;margin:13px 0 24px;border:1px solid #d9e7df;border-radius:12px;background:#f5faf7;font-size:13px;line-height:1.55}
.products-compare{margin:0 0 28px;padding:24px 26px;box-shadow:0 9px 28px rgba(24,59,47,.045);border-radius:20px}
.compare-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px}
.compare-heading h2{font-size:clamp(23px,2.5vw,29px);margin:5px 0 3px;color:#182b3b}
.compare-heading p{color:#5d686e;margin:0;font-size:14px;line-height:1.5}
.compare-jump{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-height:42px;padding:9px 13px;border:1px solid #ede9df;border-radius:10px;background:#f5f2e9;color:#153147;text-decoration:none;font-size:13px;font-weight:800}
.compare-jump:hover,.compare-jump:focus-visible{background:#f5f2e9;outline-color:#153147}
.products-compare table{min-width:0;table-layout:fixed;width:100%}
.products-compare th:first-child{width:37%}
.products-compare th:not(:first-child){width:21%}
.products-compare thead th{font-size:14px;font-weight:850;background:#f5f2e9}
.products-compare th,.products-compare td{padding:11px 10px;vertical-align:middle;line-height:1.42;overflow-wrap:anywhere}
.products-compare tbody th{font-size:13px;font-weight:750;color:#153147}
.products-compare tbody td{font-size:13px;color:#153147}
.products-compare tbody td:nth-of-type(2){background:#f5f2e9}
.products-compare tbody tr:nth-child(even)>th{background:#f5f2e9}
.products-compare tbody tr:last-child>th,.products-compare tbody tr:last-child>td{border-bottom:0}
.products-compare td small{font-size:11px;color:#5d686e}
.compare-disclaimer{font-size:12px;line-height:1.5;margin-top:13px}
.products-section-label{margin:32px 0 17px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;font-weight:900;color:#153147;scroll-margin-top:30px}
.plan-grid{gap:16px;align-items:stretch}
.plan-card{border-radius:20px;padding:clamp(18px,1.8vw,25px)}
.plan-card[data-featured="true"]{box-shadow:0 11px 32px rgba(19,99,66,.12)}
.plus-offer{transform:none}
.plan-features{gap:11px}
.offer-value{padding:8px 11px;font-size:12px;margin-bottom:15px}
.products-coverage{margin:14px 0 0;color:#5d686e;font-size:12px;line-height:1.5}
.products-coverage a{font-weight:750;color:#153147}
.products-extras{margin-top:39px}
.products-section-intro{margin-bottom:14px}
.products-section-intro h2{font-size:clamp(22px,3vw,28px);margin:7px 0;color:#182b3b}
.products-section-intro p{margin:0;color:#19374b;line-height:1.55;font-size:14px}
.products-extras .product-options{margin-bottom:0;gap:16px}
.products-extras .product-option{border-color:#ede9df;padding:23px}
@media(max-width:820px){.plan-grid{grid-template-columns:1fr;gap:16px}.plus-offer{order:initial}.products-compare{padding:20px}}
@media(max-width:640px){
.products-page{padding:29px 14px 64px}
.products-hero{margin-bottom:12px}
.products-hero h1{font-size:clamp(30px,8vw,39px);line-height:1.13}
.products-hero p{font-size:15px;line-height:1.55}
.products-status{margin:11px 0 20px;padding:10px 12px;text-align:left}
.products-compare{padding:17px 14px 14px;margin-bottom:24px;border-radius:17px}
.compare-heading{display:block;margin-bottom:12px}
.compare-heading h2{font-size:23px}
.compare-heading p{font-size:13px}
.compare-jump{margin-top:10px;min-height:39px;font-size:12px}
.compare-disclaimer{font-size:11px;line-height:1.5}
.products-section-label{margin-top:29px;font-size:12px}
.plan-grid{gap:13px}
.plan-card{padding:20px 19px;border-radius:18px}
.plan-card h2{font-size:23px}
.plan-audience{min-height:0;font-size:14px}
.plan-price{margin-top:15px}
.plus-offer .plan-badge{position:static;align-self:flex-start;margin:0 0 8px}
.offer-kicker{margin:8px 0 8px}
.plan-features{gap:9px}
.products-extras{margin-top:30px}
.products-extras .product-option{padding:19px}
}

/* Classic comparison table: aligned feature rows and Free | Plus | Pro columns.
   subscription-ui.css also styles table cells and loads later; ID selectors and
   important widths are intentional so member billing UI cannot override layout. */
#compare-plans .compare-scroll{
  display:block;
  max-width:100%;
  overflow-x:auto!important;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
}
#compare-plans .compare-scroll>table{
  display:table!important;
  width:100%!important;
  min-width:0!important;
  table-layout:fixed!important;
  border-collapse:collapse!important;
  white-space:normal!important;
}
#compare-plans .compare-scroll>table>thead{
  display:table-header-group!important;
  position:static!important;
  width:auto!important;
  height:auto!important;
  overflow:visible!important;
  clip:auto!important;
  clip-path:none!important;
  white-space:normal!important;
}
#compare-plans .compare-scroll>table>tbody{display:table-row-group!important;width:auto!important;}
#compare-plans .compare-scroll>table tr{display:table-row!important;width:auto!important;}
#compare-plans .compare-scroll>table tr>th,
#compare-plans .compare-scroll>table tr>td{
  display:table-cell!important;
  box-sizing:border-box;
  min-width:0!important;
  width:20%!important;
  padding:11px 8px!important;
  vertical-align:middle!important;
  border:0;
  border-bottom:1px solid #ede9df;
  border-radius:0!important;
  background:transparent;
  text-align:center!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
  line-height:1.5!important;
}
#compare-plans .compare-scroll>table tr>th:first-child{
  width:40%!important;
  text-align:left!important;
}
#compare-plans .compare-scroll>table thead th{
  font-weight:850;
  font-size:14px;
  color:#153147;
  background:#f5f2e9;
  border-bottom:2px solid #c8c8be;
}
#compare-plans .compare-scroll>table tbody th{
  color:#153147;
  font-weight:750;
  font-size:13px;
}
#compare-plans .compare-scroll>table tbody td{
  font-size:13px!important;
  color:#153147;
}
#compare-plans .compare-scroll>table tbody td:nth-of-type(2){
  background:#f5f2e9;
}
#compare-plans .compare-scroll>table tbody tr:last-child>th,
#compare-plans .compare-scroll>table tbody tr:last-child>td{border-bottom:0}
#compare-plans .compare-scroll>table td::before{
  content:none!important;
  display:none!important;
}
@media(max-width:640px){
  #compare-plans{padding:16px 12px!important}
  #compare-plans .compare-scroll>table{min-width:320px!important}
  #compare-plans .compare-scroll>table tr>th,
  #compare-plans .compare-scroll>table tr>td{
    padding:10px 5px!important;
    line-height:1.4!important;
    letter-spacing:normal!important;
    white-space:normal!important;
  }
  #compare-plans .compare-scroll>table thead th{font-size:12px!important}
  #compare-plans .compare-scroll>table tbody th{font-size:11.5px!important}
  #compare-plans .compare-scroll>table tbody td{font-size:11.5px!important}
  #compare-plans .compare-scroll>table td small{font-size:10px}
}
@media(max-width:350px){
  #compare-plans .compare-scroll{border-right:1px solid #ede9df}
}
