:root,[data-theme="light"]{
  --text-xs:clamp(.75rem,.7rem + .25vw,.875rem);
  --text-sm:clamp(.875rem,.8rem + .35vw,1rem);
  --text-base:clamp(1rem,.95rem + .25vw,1.125rem);
  --text-lg:clamp(1.125rem,1rem + .75vw,1.5rem);
  --text-xl:clamp(1.5rem,1.2rem + 1.25vw,2.25rem);
  --text-2xl:clamp(2rem,1.2rem + 2.5vw,3.5rem);
  --space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;
  --space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;
  --space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;
  --color-bg:#f7f6f2;--color-surface:#f9f8f5;--color-surface-2:#fbfbf9;
  --color-surface-offset:#f3f0ec;--color-surface-offset-2:#edeae5;
  --color-divider:#dcd9d5;--color-border:#d4d1ca;
  --color-text:#28251d;--color-text-muted:#6a6960;--color-text-faint:#bab9b4;
  --color-text-inverse:#f9f8f4;
  --color-primary:#01696f;--color-primary-hover:#0c4e54;--color-primary-active:#0f3638;
  --color-primary-light:#e8f2f1;--color-primary-mid:#cedcd8;
  --color-amber:#c8620a;--color-amber-bg:#fdf3ea;
  --color-slate:#3d5a72;--color-slate-bg:#eef2f6;
  --radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-full:9999px;
  --transition-interactive:180ms cubic-bezier(.16,1,.3,1);
  --shadow-sm:0 1px 2px oklch(.2 .01 80/.06);
  --shadow-md:0 4px 12px oklch(.2 .01 80/.08),0 1px 3px oklch(.2 .01 80/.05);
  --shadow-lg:0 12px 32px oklch(.2 .01 80/.12),0 4px 8px oklch(.2 .01 80/.06);
  /* Breakpoint tokens (for reference & future container queries) */
  --bp-sm:480px;--bp-md:640px;--bp-lg:768px;--bp-xl:1024px;--bp-2xl:1280px;--bp-3xl:1536px;
  /* Container widths */
  --content-narrow:640px;--content-default:1120px;--content-wide:1280px;--content-prose:72ch;
  /* Fluid horizontal gutter — scales 16px → 48px between 320px and 1280px viewports */
  --gutter:clamp(1rem, 0.5rem + 2.5vw, 3rem);
  --font-display:'Cabinet Grotesk','Helvetica Neue',sans-serif;
  --font-body:'General Sans','Helvetica Neue',sans-serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;scroll-behavior:smooth;scroll-padding-top:var(--space-20);}
body{min-height:100dvh;line-height:1.6;font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text);background-color:var(--color-bg);}
img{display:block;max-width:100%;height:auto;}
h1,h2,h3,h4{text-wrap:balance;line-height:1.15;font-family:var(--font-display);}
p,li{text-wrap:pretty;}
button{cursor:pointer;background:none;border:none;font:inherit;color:inherit;}
a,button,[role="button"]{transition:color var(--transition-interactive),background var(--transition-interactive),border-color var(--transition-interactive),box-shadow var(--transition-interactive),transform var(--transition-interactive),opacity var(--transition-interactive);}
:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px;border-radius:var(--radius-sm);}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;}}
.container{width:100%;max-width:var(--content-default);margin-inline:auto;padding-inline:var(--gutter);}
.container--narrow{max-width:var(--content-narrow);}
.container--prose{max-width:var(--content-prose);}
.container--wide{max-width:var(--content-wide);}
.container--full{max-width:none;}
.skip-link{position:absolute;top:-100%;left:var(--space-4);background:var(--color-primary);color:var(--color-text-inverse);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:600;text-decoration:none;z-index:200;}
.skip-link:focus{top:var(--space-2);}
.fade-in{opacity:1;}
@supports(animation-timeline:scroll()){.fade-in{opacity:0;animation:reveal-fade linear both;animation-timeline:view();animation-range:entry 0% entry 80%;}}
@keyframes reveal-fade{to{opacity:1;}}

/* HEADER */
.header{position:sticky;top:0;z-index:50;background:oklch(from var(--color-bg) l c h/.92);backdrop-filter:blur(16px);border-bottom:1px solid oklch(from var(--color-text) l c h/.07);transition:box-shadow var(--transition-interactive);}
.header--scrolled{box-shadow:var(--shadow-sm);}
.header__inner{display:flex;align-items:center;justify-content:space-between;padding-block:var(--space-4);}
.logo{display:flex;align-items:center;text-decoration:none;color:var(--color-primary);}
.logo svg{flex-shrink:0;}
.header__actions{display:flex;align-items:center;gap:var(--space-3);}
.header__nav{display:flex;align-items:center;gap:var(--space-6);margin-inline:auto;}
.header__nav-link{font-size:var(--text-sm);font-weight:500;color:var(--color-text-muted);text-decoration:none;position:relative;padding-block:var(--space-1);}
.header__nav-link:hover{color:var(--color-text);}
.header__nav-link::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--color-primary);transform:scaleX(0);transform-origin:center;transition:transform var(--transition-interactive);}
.header__nav-link:hover::after{transform:scaleX(1);}
.btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-5);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:600;text-decoration:none;white-space:nowrap;cursor:pointer;border:none;}
.btn--primary{background:var(--color-primary);color:var(--color-text-inverse);}
.btn--primary:hover{background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md);}
.btn--primary:active{transform:translateY(0);box-shadow:var(--shadow-sm);}
.btn--ghost{background:transparent;color:var(--color-text);border:1px solid oklch(from var(--color-text) l c h/.18);}
.btn--ghost:hover{background:var(--color-surface-offset);transform:translateY(-1px);box-shadow:var(--shadow-sm);}
.btn--large{padding:var(--space-3) var(--space-8);font-size:var(--text-base);font-weight:700;}

/* HERO */
.hero{padding-block:clamp(var(--space-16),10vw,var(--space-24));overflow:hidden;}
.hero__inner{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(var(--space-8),5vw,var(--space-16));align-items:flex-start;}
.hero__copy{display:flex;flex-direction:column;align-items:flex-start;}
.hero__visual{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-4);}
.hero__sample-badge{position:absolute; z-index:10; display:inline-flex;align-items:center;gap:var(--space-2);background:var(--color-surface-2);color:var(--color-text);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.08em;padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);border:1px solid var(--color-divider);box-shadow:var(--shadow-sm);}
.hero__sample-badge svg{color:var(--color-primary);flex-shrink:0;}
.hero__eyebrow{display:inline-flex;align-items:center;gap:var(--space-2);background:var(--color-primary-light);color:var(--color-primary);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.08em;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);margin-bottom:var(--space-5);border:1px solid oklch(from var(--color-primary) l c h/.2);}
.hero__heading{font-size:var(--text-2xl);font-weight:800;letter-spacing:-.03em;color:var(--color-text);margin-bottom:var(--space-5);line-height:1.1;}
.hero__heading em{font-style:normal;color:var(--color-primary);}
.hero__sub{font-size:var(--text-lg);color:var(--color-text-muted);line-height:1.6;margin-bottom:var(--space-8);max-width:48ch;}
.hero__cta-group{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4);margin-bottom:var(--space-6);}
.hero__cta-note{font-size:var(--text-xs);color:var(--color-text-muted);display:flex;align-items:center;gap:var(--space-1);}
.hero__trust-strip{display:flex;flex-wrap:wrap;gap:var(--space-4) var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--color-divider);margin-top:var(--space-6);}
.trust-item{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted);}
.trust-item__icon{width:16px;height:16px;color:var(--color-primary);flex-shrink:0;}
.hero__image-wrap{position:relative;border-radius:var(--radius-xl);overflow:hidden;width:100%;}
.hero__image-wrap img{width:100%;height:auto;display:block;}
.hero__image-badge{position:absolute;bottom:var(--space-4);left:var(--space-4);background:oklch(from var(--color-bg) l c h/.95);backdrop-filter:blur(10px);border:1px solid oklch(from var(--color-text) l c h/.1);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);box-shadow:var(--shadow-md);}
.badge-label{font-size:var(--text-xs);color:var(--color-text-muted);margin-bottom:var(--space-1);}
.badge-value{font-family:var(--font-display);font-size:var(--text-lg);font-weight:800;color:var(--color-primary);}

/* PAIN */
.pain{background:var(--color-surface);padding-block:clamp(var(--space-12),7vw,var(--space-20));}
.pain__header{max-width:60ch;margin-bottom:var(--space-12);}
.section-label{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted);margin-bottom:var(--space-3);}
.section-heading{font-size:var(--text-xl);font-weight:800;letter-spacing:-.025em;line-height:1.15;color:var(--color-text);margin-bottom:var(--space-4);}
.section-body{font-size:var(--text-base);color:var(--color-text-muted);line-height:1.7;max-width:55ch;}
.pain__cards{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5);}
.pain-card{background:transparent;border:none;border-radius:0;padding:0 0 var(--space-6);box-shadow:none;}
.pain-card__number{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:800;color:var(--color-primary-mid);letter-spacing:-.04em;margin-bottom:var(--space-3);line-height:1;}
[data-theme="dark"] .pain-card__number{color:var(--color-primary);opacity:.5;}
.pain-card__title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;color:var(--color-text);margin-bottom:var(--space-2);}
.pain-card__body{font-size:var(--text-base);color:var(--color-text-muted);line-height:1.65;}

/* SOLUTION */
.solution{padding-block:clamp(var(--space-12),7vw,var(--space-20));}
.solution__inner{display:grid;grid-template-columns:1fr 1fr;gap:clamp(var(--space-8),6vw,var(--space-20));align-items:center;}
.solution__image{width:100%;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);}
.solution__checklist{list-style:none;display:flex;flex-direction:column;gap:var(--space-4);margin-top:var(--space-6);}
.checklist-item{display:flex;gap:var(--space-3);align-items:flex-start;}
.checklist-item__icon{width:22px;height:22px;flex-shrink:0;color:var(--color-primary);margin-top:2px;}
.checklist-item__text{font-size:var(--text-base);color:var(--color-text);line-height:1.5;}
.checklist-item__text strong{font-weight:600;}

/* LENSES */
.lenses{background:var(--color-surface);padding-block:clamp(var(--space-12),7vw,var(--space-20));}
.lenses__header{max-width:60ch;margin-bottom:var(--space-12);}
.lenses__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5);}
.lens-card{background:var(--color-bg);border-radius:var(--radius-xl);padding:var(--space-6) var(--space-6) var(--space-8);display:flex;flex-direction:column;box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-interactive),transform var(--transition-interactive);border:1px solid oklch(from var(--color-text) l c h/.06);border-left-width:4px;}
.lens-card--teal{border-left-color:oklch(from var(--color-primary) l c h/.6);}
.lens-card--amber{border-left-color:oklch(from var(--color-amber) l c h/.65);}
.lens-card--slate{border-left-color:oklch(from var(--color-slate) l c h/.6);}
.lens-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);}
.lens-card__tag{display:inline-flex;align-items:center;font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);margin-bottom:var(--space-5);width:fit-content;}
.lens-card__tag--teal{background:var(--color-primary-light);color:var(--color-primary);border:1px solid oklch(from var(--color-primary) l c h/.2);}
.lens-card__tag--amber{background:var(--color-amber-bg);color:var(--color-amber);border:1px solid oklch(from var(--color-amber) l c h/.25);}
.lens-card__tag--slate{background:var(--color-slate-bg);color:var(--color-slate);border:1px solid oklch(from var(--color-slate) l c h/.25);}
.lens-card__title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:800;color:var(--color-text);letter-spacing:-.02em;margin-bottom:var(--space-1);}
.lens-card__when{font-size:var(--text-xs);color:var(--color-text-muted);font-weight:500;margin-bottom:var(--space-4);}
.lens-card__desc{font-size:var(--text-base);color:var(--color-text-muted);line-height:1.65;margin-bottom:var(--space-5);flex-grow:1;}
.lens-card__catches{list-style:none;display:flex;flex-direction:column;gap:var(--space-2);}
.lens-catch{display:flex;gap:var(--space-2);align-items:flex-start;font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.4;}
.lens-catch::before{content:"→";color:var(--color-primary);font-size:var(--text-sm);flex-shrink:0;}

/* TRUST */
.trust-block{padding-block:clamp(var(--space-12),6vw,var(--space-16));}
.trust-block__inner{padding:0;background:transparent;border:none;border-radius:0;box-shadow:none;}

.trust-block__quote-mark{display:none;}
.trust-block__content{max-width:62ch;}
.trust-block__headline{display:none;}
.trust-block__body{display:none;}
.trust-pills{display:none;}
.trust-pill{display:none;}
.trust-pill svg{width:14px;height:14px;flex-shrink:0;}

/* PRICING */
.pricing{padding-block:clamp(var(--space-12),7vw,var(--space-20));background:var(--color-surface-2);}
.pricing__header{max-width:72ch;margin-bottom:var(--space-12);}
.pricing__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5);margin-bottom:var(--space-8);}
.pricing-card{background:var(--color-bg);border:1px solid oklch(from var(--color-text) l c h/.08);border-radius:var(--radius-xl);padding:var(--space-6) var(--space-6) var(--space-8);position:relative;box-shadow:var(--shadow-sm);}
.pricing-card--featured{border-color:var(--color-primary);border-width:2px;box-shadow:var(--shadow-md);}
.pricing-card__badge{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:var(--color-primary);color:#fff;font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:var(--space-1) var(--space-4);border-radius:var(--radius-full);white-space:nowrap;}
.pricing-card__name{font-family:var(--font-display);font-size:var(--text-base);font-weight:700;color:var(--color-text-muted);margin-bottom:var(--space-3);}
.pricing-card__price{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:800;color:var(--color-text);letter-spacing:-.04em;line-height:1;margin-bottom:var(--space-1);}
.pricing-card__price sup{font-size:var(--text-lg);font-weight:700;vertical-align:super;line-height:1;}
.pricing-card__billing{font-size:var(--text-xs);color:var(--color-text-muted);margin-bottom:var(--space-5);}
.pricing-card__divider{height:1px;background:var(--color-divider);margin-bottom:var(--space-5);}
.pricing-card__features{list-style:none;display:flex;flex-direction:column;gap:var(--space-3);}
.pricing-feature{display:flex;gap:var(--space-2);align-items:flex-start;font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.45;}
.pricing-feature svg{width:16px;height:16px;flex-shrink:0;color:var(--color-primary);margin-top:2px;}
.pricing__free-banner{background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-xl);padding:var(--space-5) var(--space-6);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-4);box-shadow:var(--shadow-sm);}
.free-banner__text{font-size:var(--text-base);color:#0f3638;line-height:1.5;}
[data-theme="dark"] .free-banner__text{color:var(--color-primary);}
.free-banner__text strong{font-weight:700;display:block;font-size:var(--text-lg);}

/* CTA */
.cta-section{padding-block:clamp(var(--space-12),8vw,var(--space-24));}
.cta-section__inner{text-align:left;max-width:var(--content-narrow);margin-inline:auto;}
.cta-section__heading{font-size:var(--text-2xl);font-weight:800;letter-spacing:-.03em;line-height:1.1;color:var(--color-text);margin-bottom:var(--space-4);}
.cta-section__sub{font-size:var(--text-base);color:var(--color-text-muted);line-height:1.65;margin-bottom:var(--space-8);max-width:50ch;margin-inline:auto;}
.cta-section__form{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:center;margin-bottom:var(--space-4);}
.cta-input{flex:1 1 52px;max-width:360px;padding:var(--space-3) var(--space-5);border:1.5px solid var(--color-border);border-radius:var(--radius-full);font-size:var(--text-base);background:var(--color-surface-2);color:var(--color-text);outline:none;}
.cta-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px oklch(from var(--color-primary) l c h/.15);}
.cta-input::placeholder{color:var(--color-text-faint);}
.cta-section__fine{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:var(--space-3);}
.cta-section__secondary{margin-top:var(--space-5);display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-sm);color:var(--color-text-muted);}
.cta-section__secondary a{color:var(--color-primary);text-decoration:none;font-weight:600;}
.cta-section__secondary a:hover{text-decoration:underline;}

/* FOOTER */
.footer{background:var(--color-surface);padding-block:var(--space-8);}
.footer__inner{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--space-4);}
.footer__logo{display:flex;align-items:center;gap:var(--space-2);color:var(--color-primary);}
.footer__copy{font-size:var(--text-xs);color:var(--color-text-muted);}
.footer__disclaimer{font-size:var(--text-xs);color:var(--color-text-faint);max-width:68ch;text-align:center;margin-top:var(--space-4);padding-top:var(--space-2);}
.footer__bottom{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);margin-top:var(--space-4);}

/* MODAL */
.modal-overlay{position:fixed;inset:0;z-index:100;background:oklch(.1 0 0/.55);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:var(--space-4);opacity:0;pointer-events:none;transition:opacity 250ms cubic-bezier(.16,1,.3,1);}
.modal-overlay.is-open{opacity:1;pointer-events:auto;}
.modal{background:var(--color-surface-2);border:1px solid oklch(from var(--color-text) l c h/.1);border-radius:var(--radius-xl);padding:clamp(var(--space-6),4vw,var(--space-10));max-width:480px;width:100%;box-shadow:var(--shadow-lg);transform:scale(.95) translateY(12px);transition:transform 300ms cubic-bezier(.16,1,.3,1);}
.modal-overlay.is-open .modal{transform:scale(1) translateY(0);}
.modal__close{position:absolute;top:0;right:0;width:36px;height:36px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);background:transparent;}
.modal__close:hover{background:var(--color-surface-offset);color:var(--color-text);}
.modal__wrap{position:relative;}
.modal__title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:800;color:var(--color-text);letter-spacing:-.02em;margin-bottom:var(--space-2);}
.modal__sub{font-size:var(--text-base);color:var(--color-text-muted);margin-bottom:var(--space-6);}
.modal__form{display:flex;flex-direction:column;gap:var(--space-4);}
.form-label{display:block;font-size:var(--text-sm);font-weight:600;color:var(--color-text);margin-bottom:var(--space-2);}
.form-input{width:100%;padding:var(--space-3) var(--space-4);border:1.5px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-base);background:var(--color-surface);color:var(--color-text);outline:none;transition:border-color var(--transition-interactive),box-shadow var(--transition-interactive);}
.form-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px oklch(from var(--color-primary) l c h/.15);}
.form-input::placeholder{color:var(--color-text-faint);}
.modal__note{font-size:var(--text-xs);color:var(--color-text-muted);text-align:center;margin-top:var(--space-3);}
.success-state{text-align:center;padding:var(--space-6) 0;display:none;}
.success-state.is-visible{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);}
.success-icon{width:56px;height:56px;border-radius:var(--radius-full);background:var(--color-primary-light);color:var(--color-primary);display:flex;align-items:center;justify-content:center;}
.success-icon svg{width:28px;height:28px;}
.success-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:800;color:var(--color-text);}
.success-body{font-size:var(--text-base);color:var(--color-text-muted);max-width:36ch;line-height:1.6;}

.cta-steps{padding:var(--space-3) 0;margin-bottom:var(--space-6);}
.cta-section__heading{font-size:var(--text-xl);text-align:center;}

.trust-inline{margin-top:var(--space-5);display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-5);font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.6;}
.trust-inline span{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-text-muted);}

.cta-section__secondary-label{color:var(--color-text-muted);}
.cta-section__secondary-link{display:inline-flex;align-items:center;color:var(--color-primary);text-decoration:none;font-weight:600;}
.cta-section__secondary-link:hover{text-decoration:underline;}

.trust-inline svg{color:var(--color-primary);flex-shrink:0;}



/* PRICING */
.pricing {
  padding-block: clamp(var(--space-12), 7vw, var(--space-20));
  background: var(--color-surface-2);
}

.pricing__header {
  max-width: 72ch;
  margin-bottom: var(--space-12);
}

.pricing__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-5);
  margin-bottom: var(--space-8);
}

.pricing-card {
  background: var(--color-bg);
  border: 1px solid oklch(from var(--color-text) l c h/.08);
  border-radius: var(--radius-xl);
  padding: var(--space-6) var(--space-6) var(--space-8);
  position: relative;
  box-shadow: var(--shadow-sm);
}

.pricing-card--featured {
  border-color: var(--color-primary);
  border-width: 2px;
  box-shadow: var(--shadow-md);
}

.pricing-card__badge {
  position: absolute;
  top: -14px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--color-primary);
  color: #fff;
  font-size: var(--text-xs);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  padding: var(--space-1) var(--space-4);
  border-radius: var(--radius-full);
  white-space: nowrap;
}

.pricing-card__name {
  font-family: var(--font-display);
  font-size: var(--text-base);
  font-weight: 700;
  color: var(--color-text-muted);
  margin-bottom: var(--space-3);
}

.pricing-card__price {
  font-family: var(--font-display);
  font-size: var(--text-2xl);
  font-weight: 800;
  color: var(--color-text);
  letter-spacing: -.04em;
  line-height: 1;
  margin-bottom: var(--space-1);
}

.pricing-card__price sup {
  font-size: var(--text-lg);
  font-weight: 700;
  vertical-align: super;
  line-height: 1;
}

.pricing-card__billing {
  font-size: var(--text-xs);
  color: var(--color-text-muted);
  margin-bottom: var(--space-5);
}

.pricing-card__divider {
  height: 1px;
  background: var(--color-divider);
  margin-bottom: var(--space-5);
}

.pricing-card__features {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.pricing-feature {
  display: flex;
  gap: var(--space-2);
  align-items: flex-start;
  font-size: var(--text-sm);
  color: var(--color-text-muted);
  line-height: 1.45;
}

.pricing-feature svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  color: var(--color-primary);
  margin-top: 2px;
}

.pricing__free-banner {
  background: var(--color-surface);
  border: 1px solid var(--color-divider);
  border-radius: var(--radius-xl);
  padding: var(--space-5) var(--space-6);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  box-shadow: var(--shadow-sm);
}

/* ============================================================
   RESPONSIVE — mobile-first cascade.
   Placed last so breakpoints override base + duplicate rules.

   Breakpoints (max-width):
     1024px  tablet         drop 3-col grids → 2-col, tighten nav
      768px  small tablet   stack hero + solution, hide nav
      640px  large phone    drop all multi-col grids → 1-col
      480px  phone          stack CTAs and free-banner
      360px  small phone    tighten gutters and headings
   ============================================================ */

@media(max-width:1024px){
  .pricing__grid{grid-template-columns:repeat(2,1fr);}
  .lenses__grid{grid-template-columns:repeat(2,1fr);}
  .pain__cards{grid-template-columns:repeat(2,1fr);}
  .header__nav{gap:var(--space-4);}
}

@media(max-width:768px){
  .hero__inner{grid-template-columns:1fr;}
  .hero__visual{order:-1;align-items:center;}
  .hero__sample-badge{align-self:center;}
  .hero__sub{max-width:100%;}
  .solution__inner{grid-template-columns:1fr;}
  .trust-block__inner{padding:0;background:transparent;border:none;border-radius:0;box-shadow:none;}
  .trust-block__quote-mark{display:none;}
  .header__actions .btn--ghost{display:none;}
  .header__nav{display:none;}
}

@media(max-width:640px){
  .pain__cards{grid-template-columns:1fr;}
  .lenses__grid{grid-template-columns:1fr;}
  .pricing__grid{grid-template-columns:1fr;}
  .cta-steps{grid-template-columns:1fr;}
  .footer__inner{flex-direction:column;align-items:flex-start;text-align:left;gap:var(--space-3);}
}

@media(max-width:480px){
  .hero__cta-group{flex-direction:column;align-items:stretch;}
  .hero__cta-group .btn--large{width:100%;justify-content:center;}
  .cta-section__form{flex-direction:column;}
  .cta-input{max-width:100%;}
  .pricing__free-banner{flex-direction:column;align-items:flex-start;}
  .hero__trust-strip{gap:var(--space-3);}
}

@media(max-width:360px){
  :root{--gutter:0.875rem;}
  .hero__heading{font-size:var(--text-xl);}
  .section-heading{font-size:var(--text-lg);}
  .pricing-card,.lens-card{padding:var(--space-5);}
  .modal{padding:var(--space-5);}
}
