*{box-sizing:border-box;margin:0;padding:0;}
:root{--pro:#F3E3DE;--border-2:rgba(26,22,18,0.20);--toggle-gap:40px;}
body{background:var(--surface-chrome);font-family:var(--font-ui);color:var(--ink);}
a{color:inherit;}
.page-header{padding:40px 44px 0;text-align:center;}
.page-title{font-family:var(--font-heading);font-size:clamp(37px,4.67vw,64px);font-weight:var(--weight-regular);letter-spacing:0.015em;line-height:0.94;}
.page-title em{display:block;font-family:var(--font-serif-display);font-size:clamp(22px,2.62vw,35px);line-height:1.45;font-style:italic;font-weight:var(--weight-bold);color:var(--red);}
.toggle-wrap{display:flex;justify-content:center;padding:var(--toggle-gap) 44px;}
.toggle{display:inline-flex;background:rgba(var(--ink-rgb), 0.04);border:1px solid var(--border);}
.toggle button{background:none;border:none;padding:var(--gap-row) var(--space-lg);font-family:var(--font-mono);font-size:var(--type-badge);letter-spacing:0.14em;text-transform:uppercase;color:var(--muted);cursor:pointer;transition:background 0.15s,color 0.15s;}
.toggle button.active{background:var(--ink);color:var(--on-ink-warm);}
.renewal-notice{max-width:760px;margin:var(--gap-tight) auto var(--gap-block);padding:0 44px;text-align:center;}
.renewal-notice a{color:inherit;text-decoration:underline;}
.billing-error{max-width:760px;margin:var(--gap-tight) auto 0;}
.plans{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap-block);padding:0 44px;max-width:100%;}
.plan{padding:44px var(--space-lg) 32px;border:1px solid var(--border);display:flex;flex-direction:column;gap:var(--inset-panel);background:var(--card-hi);min-width:0;}
.plan.featured{background:var(--card-warm);position:relative;border-color:var(--red);border-width:2px;padding-top:43px;}
.plan.featured::before{content:"Most chosen";position:absolute;top:0;left:0;background:var(--red);color:var(--on-red-warm);font-family:var(--font-mono);font-size:var(--type-micro);letter-spacing:0.2em;text-transform:uppercase;padding:var(--gap-tight) var(--inset-box);}
.plan-name{font-family:var(--font-heading);font-size:var(--type-display-m);letter-spacing:0.04em;color:var(--ink);line-height:1;}
.plan-price{position:relative;display:flex;align-items:baseline;gap:var(--gap-tight);margin-top:var(--space-lg);min-height:50px;}
.plan-price .amt{font-family:var(--font-heading);font-size:var(--type-display-xl);letter-spacing:0.02em;color:var(--ink);line-height:1;}
.plan-price .per{font-family:var(--font-mono);font-size:var(--type-badge);letter-spacing:0.14em;text-transform:uppercase;color:var(--muted);}
.plan-price .from{position:absolute;left:0;bottom:100%;margin-bottom:var(--nudge);font-family:var(--font-mono);font-size:var(--type-micro);letter-spacing:0.14em;text-transform:uppercase;color:var(--muted);}
.plan-price .custom{font-family:var(--font-serif-display);font-size:var(--type-panel-title);font-style:italic;color:var(--ink);line-height:1;}
.plan-price-note{font-family:var(--font-body);font-size:var(--type-label);line-height:1.4;color:var(--muted);margin-top:-8px;}
.plan-trial{font-family:var(--font-mono);font-size:var(--type-micro);letter-spacing:0.12em;text-transform:uppercase;color:var(--red);}
.plan-cta{margin-top:var(--gap-tight);}
.plan-cta button,.plan-cta a,.plan-cta span,.cta{display:block;width:100%;padding:var(--inset-box) var(--inset-panel);text-align:center;background:transparent;color:var(--ink);border:1px solid var(--ink);font-family:var(--font-body);font-size:var(--type-prose);letter-spacing:0.1em;cursor:pointer;text-decoration:none;transition:opacity 0.15s;}
.plan-cta button:hover,.plan-cta a:hover,.cta:hover{opacity:0.85;}
.plan.featured .plan-cta button,.plan.featured .plan-cta a,.plan.featured .plan-cta span,.cta.solid{background:var(--ink);color:var(--on-ink-warm);}
.plan-cta span.disabled,.cta.disabled{cursor:default;}
.plan-card-features{margin-top:var(--inset-panel);display:flex;flex-direction:column;gap:var(--inset-control);}
.plan-card-features-eyebrow{display:block;font-family:var(--font-heading);font-size:var(--type-card-name);letter-spacing:0.06em;line-height:1.2;color:var(--ink);}
.plan-card-features-eyebrow .mark{margin-right:0.22em;}
.plan-card-features-headline{display:block;margin-top:var(--nudge);font-family:var(--font-heading);font-size:var(--type-card-name);letter-spacing:0.06em;line-height:1.2;color:var(--ink);}
.plan-card-features-headline .accent{color:var(--red);}
.plan-card-features-headline .connector{color:var(--ink);}
.plan-card-feature-list{list-style:none;margin:0;padding:0;}
.plan-card-feature-list li{font-family:var(--font-body);font-size:var(--type-field);line-height:1.4;color:var(--ink);text-align:left;padding:var(--inset-panel) 0;overflow-wrap:break-word;min-width:0;}
.plan-card-feature-list li:last-child{padding-bottom:0;}
.assurance-body{margin-top:var(--gap-row);font-family:var(--font-body);font-size:var(--type-field);line-height:1.5;color:var(--muted);}
.plan-card-feature-list li{display:flex;align-items:flex-start;gap:var(--gap-row);}
.plan-card-feature-list li::before{content:"";flex:0 0 auto;width:7px;height:7px;margin-top:0.5em;background:var(--red);}
.page-terms{margin-top:var(--inset-panel);text-align:center;padding:0 44px;}
.page-terms a{font-family:var(--font-body);font-size:var(--type-field);color:var(--ink);text-decoration:underline;text-underline-offset:3px;}
.page-terms a:hover,.page-terms a:focus-visible{color:var(--red);}
.feature-grid{padding:48px 44px 80px;}
.feature-grid h2{font-family:var(--font-heading);font-size:var(--type-section-title);letter-spacing:0.06em;text-align:center;margin-bottom:28px;}
.cmp{width:100%;border-collapse:collapse;table-layout:fixed;}
.cmp col.c-label{width:min(38%,440px);}
.cmp thead th{background:var(--card-hi);border-bottom:1px solid var(--border-2);padding:var(--space-lg) var(--inset-panel) var(--space-lg);text-align:center;vertical-align:bottom;font-weight:var(--weight-regular);}
.cmp thead th.c-label{background:var(--surface-chrome);}
.cmp thead th.hero{background:var(--pro);box-shadow:inset 1px 0 0 var(--red),inset -1px 0 0 var(--red),inset 0 1px 0 var(--red);}
.chip{display:inline-block;font-family:var(--font-mono);font-size:var(--type-micro);letter-spacing:0.2em;text-transform:uppercase;background:var(--red);color:var(--on-red-warm);padding:3px 9px;margin-bottom:var(--gap-row);}
.pname{font-family:var(--font-heading);font-size:var(--type-display-s);letter-spacing:0.05em;line-height:1;}
.cta{margin-top:15px;white-space:nowrap;}
.cmp tr.section td{background:var(--card-warm);border-top:1px solid var(--border-2);border-bottom:1px solid var(--border-2);padding:var(--inset-box) 0 11px var(--inset-panel);font-family:var(--font-heading);font-size:var(--type-prose);letter-spacing:0.08em;text-align:left;}
.cmp tr.section td.hero{background:var(--pro);box-shadow:inset 1px 0 0 var(--red),inset -1px 0 0 var(--red);}
.cmp tbody td{background:var(--card-hi);border-bottom:1px solid var(--border);padding:var(--inset-panel) var(--inset-box);text-align:center;vertical-align:middle;font-family:var(--font-body);font-size:var(--type-field);line-height:1.35;}
.cmp tbody td.c-label{background:var(--surface-chrome);text-align:left;padding-left:0;padding-right:var(--space-lg);color:var(--pricing-ink-2);}
.cmp tbody td.hero{background:var(--pro);box-shadow:inset 1px 0 0 var(--red),inset -1px 0 0 var(--red);}
.cmp tbody tr:not(.section):hover td{background:var(--surface-raised);}
.cmp tbody tr:not(.section):hover td.c-label{background:var(--surface-chrome);}
.cmp tbody tr:not(.section):hover td.hero{background:var(--surface-warm-hover);}
.fig{font-family:var(--font-heading);font-size:var(--type-display-s);letter-spacing:0.02em;line-height:1;}
.yes::before{content:"\25CF";color:var(--red);font-size:var(--type-badge);line-height:1;vertical-align:2px;}
.no::before{content:"\25CB";color:var(--grey-2);font-size:var(--type-badge);line-height:1;vertical-align:2px;}
.cmp tfoot td{background:var(--card-warm);border-top:1px solid var(--border-2);padding:var(--space-lg) var(--inset-panel) var(--space-lg);vertical-align:top;}
.cmp tfoot td.c-label{background:var(--surface-chrome);}
.cmp tfoot td.hero{background:var(--pro);box-shadow:inset 1px 0 0 var(--red),inset -1px 0 0 var(--red),inset 0 -1px 0 var(--red);}
.cmp tfoot .cta{margin-top:0;}
.c-label sup{margin-left:1px;color:var(--muted);}
.table-note{margin-top:28px;}
.getplan{padding:0 44px 80px;}
.getplan h2{font-family:var(--font-heading);font-size:var(--type-section-title);letter-spacing:0.06em;text-align:center;margin-bottom:var(--toggle-gap);}
.getplan-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap-block);}
.gp{position:relative;display:flex;flex-direction:column;gap:var(--inset-panel);background:var(--card-hi);border:1px solid var(--border);padding:44px var(--space-lg) 32px;min-width:0;}
.gp.featured{background:var(--pro);border-color:var(--red);border-width:2px;padding-top:43px;}
.gp .chip{position:absolute;top:0;left:0;margin-bottom:0;}
.gp-name{font-family:var(--font-heading);font-size:var(--type-display-m);letter-spacing:0.04em;line-height:1;}
.gp .cta,.gp form{margin-top:var(--gap-tight);}
.gp form .cta{margin-top:0;}
@media(max-width:900px){
  .cmp col.c-label{width:32%;}
  .cmp tbody td{font-size:var(--type-label);padding:11px 7px;}
  .cmp tbody td.c-label{padding-right:var(--inset-panel);}
  .cmp tr.section td{font-size:var(--type-field);}
  .pname{font-size:var(--type-panel-title);}
  .cta{font-size:var(--type-badge);padding:9px var(--inset-tag);letter-spacing:0.02em;}
  .getplan-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:1024px){
  .plans{
    display:flex;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    scroll-padding-left:44px;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
  }
  .plan{flex:0 0 82%;min-width:0;scroll-snap-align:start;}
}
@media(max-width:600px){
  .plans{padding:0 var(--gap-block);scroll-padding-left:20px;}
  .plan{flex-basis:86%;}
  .page-header{padding:32px var(--gap-block) 0;}
  .feature-grid{padding:32px var(--gap-block) 60px;}
  .getplan{padding:0 var(--gap-block) 60px;}
  .cmp tbody td{font-size:var(--type-caption);padding:var(--gap-row) var(--nudge);overflow-wrap:break-word;}
  .cmp tbody td.c-label{padding-right:var(--gap-row);}
  .cmp col.c-label{width:30%;}
  .fig{font-size:var(--type-card-name);}
  .cmp thead th{padding:var(--inset-panel) 5px var(--inset-panel);}
  .cmp tfoot td{padding:var(--inset-panel) 5px var(--inset-panel);}
  .pname{font-size:var(--type-prose);}
  .cmp thead .cta,
  .cmp tfoot .cta{display:none;}
  .gp .cta{font-size:var(--type-prose);letter-spacing:0.1em;padding:var(--inset-box) var(--inset-panel);}
  .getplan-grid{grid-template-columns:1fr;}
  .gp .chip,.cmp thead .chip{display:none;}
}
