
/* Fonts are self-hosted: the site makes no requests to third-party servers. */
@font-face{font-family:'Atkinson Hyperlegible';font-style:italic;font-weight:400;font-display:swap;src:url("/fonts/atkinson-hyperlegible-400-italic.woff2") format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Atkinson Hyperlegible';font-style:normal;font-weight:400;font-display:swap;src:url("/fonts/atkinson-hyperlegible-400.woff2") format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Atkinson Hyperlegible';font-style:normal;font-weight:700;font-display:swap;src:url("/fonts/atkinson-hyperlegible-700.woff2") format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:700;font-display:swap;src:url("/fonts/plus-jakarta-sans-700.woff2") format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:800;font-display:swap;src:url("/fonts/plus-jakarta-sans-800.woff2") format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

/* Layout: wide hero with a floating product cluster, then alternating white / sky-soft / navy bands.
   Palette comes from the Lunovus logo (deep blue, sky, tagline green) plus macular gold for Autoship.
   Body is Atkinson Hyperlegible (built for low-vision readers); headings are Plus Jakarta Sans at heavy weight. */
:root{
  --bg:#FFFFFF; --bg-soft:#F0F6FB; --bg-soft2:#E3EFF8;
  --ink:#0F2240; --ink-soft:#44546A; --line:#CBD7E4; --line-soft:#E4ECF4;
  --blue:#0C5C9F; --blue-hover:#094A80; --blue-ink:#FFFFFF; --blue-soft:#E3EFF9;
  --sky:#66C2E0; --sky-soft:#D9EEF7;
  --green:#4F7A1E; --green-soft:#EAF3DE;
  --gold:#F2B705; --gold-ink:#2A2100; --gold-soft:#FFF3CC;
  --band:#0F2240; --band-2:#163561; --band-ink:#FFFFFF; --band-muted:#B8C7DA; --band-btn:#66C2E0; --band-btn-ink:#0F2240;
  --focus:#D99A00;
  --fee:#8A5600; --fee-soft:#FFF3CC;
  --photo-bg:radial-gradient(circle at 50% 35%,#FFFFFF 0%,#E9F1F8 72%);
  --t-macular:#E3EFF9; --t-dry:#DDF0F7; --t-lid:#E8F3DF; --t-dia:#FBE8E3; --t-every:#FFF1D6;
  --shadow:0 2px 10px rgba(15,34,64,.08); --shadow-lg:0 16px 44px rgba(15,34,64,.16);
  --drop:drop-shadow(0 14px 18px rgba(15,34,64,.28)); --drop-sm:drop-shadow(0 8px 12px rgba(15,34,64,.22));
  --logo-filter:none;
  --font-display:"Plus Jakarta Sans","Segoe UI",Arial,sans-serif;
  --font-body:"Atkinson Hyperlegible","Segoe UI",Arial,sans-serif;
  --radius:16px;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#0B1626; --bg-soft:#122238; --bg-soft2:#172C47;
    --ink:#F1F5F9; --ink-soft:#B9C6D6; --line:#2E4360; --line-soft:#1F3350;
    --blue:#7CC7EA; --blue-hover:#9FD6F0; --blue-ink:#07192E; --blue-soft:#163252;
    --sky:#66C2E0; --sky-soft:#173A52;
    --green:#9BD36A; --green-soft:#1E3220;
    --gold:#F6C84A; --gold-ink:#2A2100; --gold-soft:#3B2F0F;
    --band:#060F1C; --band-2:#0F2240; --band-ink:#F1F5F9; --band-muted:#9FB0C5; --band-btn:#66C2E0; --band-btn-ink:#0F2240;
    --focus:#F6C84A;
    --fee:#F6C84A; --fee-soft:#3B2F0F;
    --photo-bg:radial-gradient(circle at 50% 35%,#1E3350 0%,#122238 72%);
    --t-macular:#163252; --t-dry:#133846; --t-lid:#1E3220; --t-dia:#3A2420; --t-every:#3B2F0F;
    --shadow:0 2px 10px rgba(0,0,0,.4); --shadow-lg:0 16px 44px rgba(0,0,0,.5);
    --drop:drop-shadow(0 14px 18px rgba(0,0,0,.55)); --drop-sm:drop-shadow(0 8px 12px rgba(0,0,0,.5));
    --logo-filter:brightness(1.55) contrast(1.05);
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#0B1626; --bg-soft:#122238; --bg-soft2:#172C47;
  --ink:#F1F5F9; --ink-soft:#B9C6D6; --line:#2E4360; --line-soft:#1F3350;
  --blue:#7CC7EA; --blue-hover:#9FD6F0; --blue-ink:#07192E; --blue-soft:#163252;
  --sky:#66C2E0; --sky-soft:#173A52;
  --green:#9BD36A; --green-soft:#1E3220;
  --gold:#F6C84A; --gold-ink:#2A2100; --gold-soft:#3B2F0F;
  --band:#060F1C; --band-2:#0F2240; --band-ink:#F1F5F9; --band-muted:#9FB0C5; --band-btn:#66C2E0; --band-btn-ink:#0F2240;
  --focus:#F6C84A;
  --fee:#F6C84A; --fee-soft:#3B2F0F;
  --photo-bg:radial-gradient(circle at 50% 35%,#1E3350 0%,#122238 72%);
  --t-macular:#163252; --t-dry:#133846; --t-lid:#1E3220; --t-dia:#3A2420; --t-every:#3B2F0F;
  --shadow:0 2px 10px rgba(0,0,0,.4); --shadow-lg:0 16px 44px rgba(0,0,0,.5);
  --drop:drop-shadow(0 14px 18px rgba(0,0,0,.55)); --drop-sm:drop-shadow(0 8px 12px rgba(0,0,0,.5));
  --logo-filter:brightness(1.55) contrast(1.05);
  color-scheme:dark;
}

/* Base type: 18px on desktop, 17px on tablets, 16px on phones. Everything else is in rem, so browser zoom scales the whole page. */
html{font-size:18px;scroll-behavior:smooth;overflow-x:clip}
@media (max-width:900px){ html{font-size:17px} }
@media (max-width:520px){ html{font-size:16px} }
@media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto} *{transition:none!important;animation:none!important} }

*{box-sizing:border-box}
body{margin:0;font-family:var(--font-body);background:var(--bg);color:var(--ink);line-height:1.55;-webkit-text-size-adjust:100%;overflow-x:clip}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--band)}
img{max-width:100%;height:auto}
[hidden]{display:none!important}
h1,h2,h3,h4{font-family:var(--font-display);line-height:1.12;text-wrap:balance;margin:0 0 .5rem;font-weight:800;letter-spacing:-.015em}
h1{font-size:clamp(1.9rem,1.3rem + 2.2vw,3rem)}
h2{font-size:clamp(1.5rem,1.15rem + 1.3vw,2.2rem)}
h3{font-size:1.3rem;letter-spacing:-.01em}
p{margin:0 0 1rem;max-width:36rem}
.lead{font-size:1.125rem;color:var(--ink-soft)}
a{color:var(--blue);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:2px}
a:hover{color:var(--blue-hover)}
:focus-visible{outline:4px solid var(--focus);outline-offset:3px;border-radius:4px}
html{scroll-padding-top:8.5rem}
:focus{scroll-margin-top:8.5rem}
small{font-size:max(.85em,13px)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
h1[tabindex="-1"]:focus{outline:none}
ul.clean{list-style:none;margin:0;padding:0}
.eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--blue);margin-bottom:.7rem}
.eyebrow::before{content:"";width:1.6rem;height:3px;background:var(--gold);border-radius:2px}
.muted{color:var(--ink-soft)}
.num{font-variant-numeric:tabular-nums}
.center{text-align:center}
.center p{margin-inline:auto}
.center .eyebrow{justify-content:center}

.wrap{max-width:1180px;margin-inline:auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.skip{position:absolute;left:-999px;top:0;background:var(--gold);color:var(--gold-ink);padding:.8rem 1.2rem;font-weight:700;z-index:100;text-decoration:none}
.skip:focus{left:16px;top:calc(env(safe-area-inset-top,0px) + 8px)}

/* Buttons: every tap target is at least 3rem (60px) tall */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:2.9rem;padding:.55rem 1.3rem;border-radius:999px;font:inherit;font-weight:700;font-size:1rem;text-decoration:none;border:3px solid transparent;cursor:pointer;line-height:1.2;text-align:center;transition:background .15s,color .15s,border-color .15s,transform .15s,box-shadow .15s}
.btn:hover{transform:translateY(-1px)}
.btn svg{width:1.3em;height:1.3em;flex:none}
.btn-primary{background:var(--blue);color:var(--blue-ink);border-color:var(--blue);box-shadow:0 6px 18px rgba(12,92,159,.25)}
.btn-primary:hover{background:var(--blue-hover);border-color:var(--blue-hover);color:var(--blue-ink)}
.btn-secondary{background:var(--bg);color:var(--blue);border-color:var(--blue)}
.btn-secondary:hover{background:var(--blue-soft);color:var(--blue)}
.btn-gold{background:var(--gold);color:var(--gold-ink);border-color:var(--gold)}
.btn-gold:hover{color:var(--gold-ink)}
.btn-band{background:var(--band-btn);color:var(--band-btn-ink);border-color:var(--band-btn)}
.btn-band:hover{color:var(--band-btn-ink);filter:brightness(1.06)}
.btn-ghost{background:transparent;color:var(--band-ink);border-color:var(--band-ink)}
.btn-ghost:hover{background:rgba(255,255,255,.1);color:var(--band-ink)}
.btn-big{font-size:1.1rem;min-height:3.4rem;padding:.75rem 1.6rem}
.btn-block{width:100%}
.btn-row{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.2rem}

/* Header */
.topline{background:var(--band);color:var(--band-ink);font-size:.95rem}
.topline .wrap{display:flex;flex-wrap:wrap;gap:.4rem 2rem;align-items:center;min-height:2.4rem;padding-block:.3rem}
.topline span{display:inline-flex;align-items:center;gap:.4rem}
.topline svg{width:1.1em;height:1.1em;color:var(--gold)}
.topline a{color:var(--band-ink);font-weight:700}
/* the top line holds: free shipping · phone · the doctors' link at the right. "Made in the USA · guarantee" moved out (round 25): with the doctors' link it no longer fits on one row, and the trust card under the hero says both. */
.topline .wrap{gap:.4rem 1.4rem}
.topline .usa{display:none}
@media (max-width:900px){ .topline .hide-sm{display:none} }
header.site{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:var(--bg);border-bottom:1px solid var(--line-soft);box-shadow:var(--shadow)}
.bar{display:flex;align-items:center;gap:.8rem;min-height:4.6rem;padding-block:.55rem}
.logo{display:inline-flex;align-items:center;margin-right:.4rem;flex:none}
.logo img{height:2.3rem;width:auto;max-width:none;filter:var(--logo-filter)} /* 2.6rem until round 28; smaller so the one-row bar has slack */
@media (max-width:1000px){ .logo img{height:2.6rem} .logo{margin-right:.6rem} }
nav.main{display:flex;flex-wrap:nowrap;justify-content:flex-start;gap:.1rem;margin-left:auto;min-width:0;overflow-x:auto;scrollbar-width:none;padding-block:.25rem;margin-block:-.25rem} /* one row always (round 28): if a fallback font makes it too wide it scrolls, it never wraps under the logo */
nav.main::-webkit-scrollbar{display:none}
nav.main a{text-decoration:none;color:var(--ink);font-weight:700;padding:.5rem .65rem;border-radius:999px;min-height:3rem;display:inline-flex;align-items:center;font-size:1rem;white-space:nowrap}
nav.main a:hover{background:var(--bg-soft);color:var(--ink)}
nav.main a[aria-current="page"]{background:var(--blue-soft);color:var(--blue)}
.phone-btn{white-space:nowrap}
.menu-btn{display:none;font:inherit;font-weight:700;background:var(--bg);border:3px solid var(--blue);color:var(--blue);border-radius:999px;min-height:3rem;padding:.5rem 1rem;cursor:pointer;align-items:center;gap:.5rem}
.menu-btn svg{width:1.3em;height:1.3em}
@media (min-width:1001px) and (max-width:1240px){
  nav.main a{padding:.5rem .5rem;font-size:.95rem}
  .phone-btn{font-size:.95rem;padding:.5rem .8rem}
  .cart-btn .cb-text{display:none} .cart-btn{padding:.5rem .7rem} /* icon-only Account/Cart button; the count badge stays */
  nav.main a.cta{display:none} /* professional section: the Get-started pill drops out, the phone button and hero buttons remain */
  .bar{gap:.55rem}
}
@media (max-width:1000px){
  nav.main{display:none}
  .menu-btn{display:inline-flex;margin-left:auto}
  .bar{gap:.5rem}
  .phone-btn{display:none}
}
#menu{border-top:2px solid var(--line-soft);background:var(--bg)}
#menu a{display:flex;align-items:center;justify-content:space-between;text-decoration:none;color:var(--ink);font-weight:700;font-size:1.25rem;padding:1rem .5rem;border-bottom:1px solid var(--line-soft);min-height:3.6rem}
#menu a[aria-current="page"]{color:var(--blue)}
#menu a svg{width:1.2em;height:1.2em;color:var(--blue)}
@media (min-width:1001px){ #menu{display:none!important} }

/* Mobile bottom bar */
.mobile-bar{position:fixed;left:0;right:0;bottom:0;display:none;background:var(--bg);border-top:1px solid var(--line);z-index:55;padding-bottom:env(safe-area-inset-bottom,0px);padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));box-shadow:0 -6px 18px rgba(0,0,0,.1)}
.mobile-bar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;text-decoration:none;color:var(--ink);font-weight:700;font-size:.9rem;min-height:3.8rem;padding:.4rem 0}
.mobile-bar a svg{width:1.6rem;height:1.6rem;color:var(--blue)}
.mobile-bar a.call{color:var(--blue)}
.mobile-bar a[aria-current="page"]{color:var(--blue)}
@media (max-width:1000px){ .mobile-bar{display:grid;grid-template-columns:1fr 1fr 1fr} body{padding-bottom:5rem} }

/* Sections */
main{min-height:60vh}
section{padding-block:3.5rem}
@media (max-width:700px){ section{padding-block:2.5rem} }
.band{background:var(--bg-soft)}
.band-gold{background:var(--gold-soft)}
.band-navy{background:linear-gradient(135deg,var(--band) 0%,var(--band-2) 100%);color:var(--band-ink)}
.band-navy h2,.band-navy h3,.band-navy .eyebrow{color:var(--band-ink)}
.band-navy .eyebrow::before{background:var(--gold)}
.band-navy p,.band-navy .lead{color:var(--band-muted)}
.band-navy a:not(.btn){color:var(--band-btn)}
.section-head{margin-bottom:1.8rem}
.section-head p{max-width:40rem}
.grid{display:grid;gap:1.2rem}
.g2{grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr))}
.g4{grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr))}
.tiles{grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr))}
.grid > *{min-width:0}

/* Hero */
.hero{position:relative;overflow:hidden;padding-block:2.5rem 4.5rem;background:linear-gradient(180deg,var(--sky-soft) 0%,var(--bg) 100%)}
.hero::before{content:"";position:absolute;right:-12rem;top:-10rem;width:36rem;height:36rem;border-radius:50%;background:radial-gradient(circle,var(--sky) 0%,transparent 65%);opacity:.35;pointer-events:none}
.hero .wrap{position:relative}
.hero-grid{display:grid;gap:2.5rem;grid-template-columns:1.05fr 1fr;align-items:center}
@media (max-width:900px){ .hero-grid{grid-template-columns:1fr;gap:1.6rem} .hero{padding-block:1.8rem 4rem} }
.hero h1{margin-bottom:.9rem}
.hero .lead{font-size:1.2rem;max-width:30rem}
.hero-call{display:flex;align-items:center;gap:.8rem;margin-top:1.6rem;flex-wrap:wrap}
.hero-call .label{font-weight:700;color:var(--ink-soft)}
.hero-call a.bigphone{font-family:var(--font-display);font-weight:800;font-size:1.5rem;text-decoration:none;display:inline-flex;align-items:center;gap:.4rem;color:var(--blue)}
.hero-call a.bigphone svg{width:1em;height:1em}
.cluster{position:relative;aspect-ratio:1/1;max-width:32rem;margin-inline:auto;width:100%}
.cluster .glow{position:absolute;inset:10%;border-radius:50%;background:radial-gradient(circle at 50% 45%,var(--bg) 0%,var(--sky-soft) 55%,transparent 72%)}
.cluster img{position:absolute;filter:var(--drop);object-fit:contain}
.cluster .c1{left:2%;top:26%;width:42%;animation:float 7s ease-in-out infinite}
.cluster .c2{left:28%;top:4%;width:46%;z-index:2;animation:float 6s ease-in-out infinite .6s}
.cluster .c3{right:0;top:30%;width:40%;animation:float 8s ease-in-out infinite 1.2s}
.chip{position:absolute;z-index:3;background:var(--bg);color:var(--ink);border-radius:999px;padding:.45rem .9rem;font-weight:700;font-size:.9rem;box-shadow:var(--shadow-lg);display:inline-flex;gap:.4rem;align-items:center;white-space:nowrap}
.chip svg{width:1.1em;height:1.1em;color:var(--green)}
.chip.a{left:0;bottom:12%}
.chip.b{right:0;bottom:4%}
.chip.b svg{color:var(--gold)}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@media (max-width:900px){ .cluster{max-width:24rem} .chip.b{bottom:auto;top:0} }

/* Person-led hero visual: photo with a floating product card */
.hero-visual{position:relative;max-width:28rem;margin-inline:auto;width:100%;padding-bottom:2.2rem}
@media (max-width:900px){ .hero-visual{max-width:22rem} }
.hero-photo{display:block;width:100%;aspect-ratio:5/6;object-fit:cover;border-radius:28px;box-shadow:var(--shadow-lg);max-width:100%}
.hero-photo.sq{aspect-ratio:1/1}
.float-card{position:absolute;left:-1.6rem;bottom:0;background:var(--bg);border-radius:18px;padding:.7rem 1.1rem .7rem .7rem;display:flex;gap:.8rem;align-items:center;box-shadow:var(--shadow-lg);text-decoration:none;color:var(--ink);max-width:min(20rem,92%);border:1px solid var(--line-soft);transition:transform .2s}
.float-card:hover{transform:translateY(-3px);color:var(--ink)}
.float-card img{width:4.4rem;height:4.4rem;object-fit:contain;filter:var(--drop-sm);flex:none}
.float-card .k{display:block;font-size:.82rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--blue)}
.float-card strong{display:block;line-height:1.15;font-size:1rem}
.float-card .p{display:block;font-size:.9rem;color:var(--ink-soft)}
.hero-visual .chip{left:auto;right:-.6rem;top:1.2rem;bottom:auto}
@media (max-width:900px){ .float-card{left:.8rem} .hero-visual .chip{right:.6rem} }

/* "Good vision is for…" photo band */
/* Eyelid-mite videos (home, eyelid care, Blephadex pages) */
.video-band{padding-block:3rem}
.video-band .videos{display:grid;gap:1.2rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr))}
.video{margin:0;min-width:0}
.video .frame{position:relative;aspect-ratio:16/9;background:var(--band);border-radius:18px;overflow:hidden;box-shadow:var(--shadow-lg)}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-band .video-note{font-size:.9rem;margin:.9rem 0 0}
.video-band .btn-row{margin-top:1.2rem}
.life{display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}
@media (min-width:900px){ .life{grid-template-columns:repeat(4,1fr)} }
@media (max-width:480px){ .life{grid-template-columns:1fr} }
.life figure{margin:0;position:relative;border-radius:20px;overflow:hidden;box-shadow:var(--shadow);min-width:0;aspect-ratio:4/3;max-width:100%}
.life img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s}
.life figure:hover img{transform:scale(1.04)}
.life figcaption{position:absolute;left:0;right:0;bottom:0;padding:2.4rem 1.1rem .9rem;background:linear-gradient(180deg,rgba(15,34,64,0) 0%,rgba(15,34,64,.82) 100%);color:#FFFFFF;font-family:var(--font-display);font-weight:800;font-size:1.1rem;letter-spacing:-.01em}

/* Autoship visual: photo with the example delivery card overlapping it */
.auto-visual{position:relative;max-width:26rem;margin-inline:auto;width:100%}
.auto-visual .hero-photo{aspect-ratio:1/1;margin-bottom:-4rem}
.auto-visual .delivery{position:relative;margin-inline:1rem;max-width:none;width:auto}
@media (max-width:900px){ .auto-visual .delivery{margin-inline:.5rem} }

/* Simple two-column page header with a photo */
.page-head{display:grid;gap:2rem;grid-template-columns:1.3fr 1fr;align-items:center}
@media (max-width:860px){ .page-head{grid-template-columns:1fr} }
.page-head .hero-photo{max-width:22rem;margin-inline:auto}

/* Trust card overlapping the hero */
.trust-card{background:var(--bg);border-radius:20px;box-shadow:var(--shadow-lg);padding:1.2rem 1.4rem;margin-top:-3.2rem;position:relative;z-index:3;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));gap:1rem 1.4rem;border:1px solid var(--line-soft)}
.trust-card li{display:flex;align-items:center;gap:.8rem;min-width:0}
.trust-card .icon{width:2.8rem;height:2.8rem;border-radius:50%;background:var(--green-soft);color:var(--green);display:grid;place-items:center;flex:none}
.trust-card .icon svg{width:1.5rem;height:1.5rem}
.trust-card strong{display:block;line-height:1.2}
.trust-card span{font-size:.9rem;color:var(--ink-soft)}

/* Concern tiles with a product photo */
.tile{display:grid;grid-template-columns:1fr auto;align-items:center;gap:1rem;text-decoration:none;color:var(--ink);border-radius:20px;padding:1.4rem 1.2rem 1.4rem 1.5rem;min-height:11rem;transition:transform .2s,box-shadow .2s;min-width:0;border:1px solid transparent}
.tile:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);color:var(--ink)}
.tile h3{margin:0 0 .3rem;font-size:1.25rem}
.tile p{margin:0;color:var(--ink-soft);font-size:.98rem}
.tile .go{display:inline-flex;align-items:center;gap:.3rem;margin-top:.7rem;color:var(--blue);font-weight:700}
.tile .go svg{width:1.1em;height:1.1em}
.tile img{width:6.8rem;height:6.8rem;object-fit:contain;filter:var(--drop-sm);transition:transform .25s}
.tile:hover img{transform:scale(1.06) rotate(-3deg)}
.tile.macular{background:var(--t-macular)} .tile.dry-eye{background:var(--t-dry)} .tile.eyelid{background:var(--t-lid)} .tile.diabetic{background:var(--t-dia)} .tile.everyday{background:var(--t-every)}
.tile.find{background:var(--bg);border:2px dashed var(--line)}
.tile.find .icon{width:6.8rem;height:6.8rem;border-radius:50%;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center}
.tile.find .icon svg{width:3rem;height:3rem}

/* Product cards */
.card{display:flex;flex-direction:column;gap:.45rem;text-decoration:none;color:var(--ink);background:var(--bg);border:1px solid var(--line-soft);border-radius:20px;padding:1rem;transition:transform .2s,box-shadow .2s,border-color .2s;min-width:0;position:relative;box-shadow:var(--shadow)}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--line);color:var(--ink)}
.card .photo{aspect-ratio:1/1;background:var(--photo-bg);border-radius:14px;display:grid;place-items:center;padding:.8rem;position:relative;max-width:100%}
.card .photo img{width:80%;height:80%;object-fit:contain;filter:var(--drop-sm);transition:transform .25s}
.card:hover .photo img{transform:translateY(-4px) scale(1.04)}
.newbadge,.card .photo img.newbadge{position:absolute;top:.5rem;right:.5rem;width:3.4rem;height:auto;filter:none;transform:rotate(8deg);object-fit:contain}
.product .photo img.newbadge{width:5rem;height:auto;top:1rem;right:1rem}
.card h3{font-size:1.12rem;margin:.4rem 0 0;line-height:1.2}
.card .tag{font-size:.95rem;color:var(--ink-soft);margin:0}
.card .price{margin-top:auto;padding-top:.5rem;display:flex;flex-direction:column;gap:.1rem}
.card .price .now{font-family:var(--font-display);font-size:1.35rem;font-weight:800}
.card .price .auto{font-size:.88rem;font-weight:700;color:var(--green)}
.card .see{display:inline-flex;align-items:center;gap:.3rem;color:var(--blue);font-weight:700;margin-top:.3rem}
.card .see svg{width:1.1em;height:1.1em}
.badges{display:flex;flex-wrap:wrap;gap:.35rem}
.badge{display:inline-block;font-size:.82rem;font-weight:700;padding:.15rem .6rem;border-radius:999px;background:var(--blue-soft);color:var(--blue);letter-spacing:.02em}
.badge.new{background:var(--gold);color:var(--gold-ink)}

/* Spotlight (navy) */
.spot{display:grid;gap:2.5rem;grid-template-columns:1fr 1.1fr;align-items:center}
@media (max-width:900px){ .spot{grid-template-columns:1fr} }
.spot .stage{position:relative;aspect-ratio:1/1;max-width:28rem;margin-inline:auto;width:100%}
.spot .stage::before{content:"";position:absolute;inset:6%;border-radius:50%;background:radial-gradient(circle,rgba(102,194,224,.55) 0%,rgba(102,194,224,0) 70%)}
.spot .stage img{position:absolute;inset:8%;width:84%;height:84%;object-fit:contain;filter:drop-shadow(0 24px 30px rgba(0,0,0,.5))}
.spot ul.checks li strong{color:var(--band-ink)}
.spot ul.checks li span{color:var(--band-muted)}
.inside{display:flex;flex-wrap:wrap;gap:.6rem;margin:1rem 0 .4rem}
.inside span{display:inline-flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:.4rem .9rem;font-weight:700;color:var(--band-ink)}
.inside img{width:1.5rem;height:1.5rem}

/* Photo band */
.photo-band{position:relative;color:#FFFFFF;background:linear-gradient(90deg,rgba(15,34,64,.95) 0%,rgba(15,34,64,.86) 48%,rgba(15,34,64,.35) 100%),url("/images/people/eye-exam.webp") center 30%/cover no-repeat;padding-block:4.5rem}
.photo-band h2,.photo-band .eyebrow{color:#FFFFFF}
.photo-band p{color:#D6E0EC}
.stats{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));margin-top:2rem;max-width:44rem}
.stat{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);border-radius:16px;padding:1.1rem 1.2rem;backdrop-filter:blur(6px);min-width:0}
.stat strong{display:block;font-family:var(--font-display);font-size:1.9rem;font-weight:800;line-height:1.1;color:var(--gold)}
.stat span{color:#E6EDF5}

/* Checklist */
.checks{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr))}
.checks li{display:flex;gap:.7rem;align-items:flex-start;min-width:0}
.checks svg{width:1.6rem;height:1.6rem;color:var(--green);flex:none;margin-top:.15rem}
.checks strong{display:block}
.checks span{color:var(--ink-soft)}
.checks.one{grid-template-columns:1fr}

/* Autoship */
.auto-grid{display:grid;gap:2.5rem;grid-template-columns:1.1fr 1fr;align-items:center}
@media (max-width:900px){ .auto-grid{grid-template-columns:1fr} }
.delivery{background:var(--bg);border-radius:22px;box-shadow:var(--shadow-lg);padding:1.4rem;max-width:26rem;margin-inline:auto;width:100%;border:1px solid var(--line-soft);position:relative}
.delivery .ex{position:absolute;top:-.8rem;left:1.4rem;background:var(--gold);color:var(--gold-ink);font-size:.82rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:.2rem .7rem}
.delivery .row{display:flex;gap:1rem;align-items:center;padding-block:.9rem;border-bottom:1px solid var(--line-soft)}
.delivery .row:last-child{border-bottom:0;padding-bottom:0}
.delivery .thumb{width:4.6rem;height:4.6rem;border-radius:12px;background:var(--photo-bg);display:grid;place-items:center;flex:none}
.delivery .thumb img{width:80%;height:80%;object-fit:contain;filter:var(--drop-sm)}
.delivery .k{font-size:.85rem;color:var(--ink-soft);display:block}
.delivery .v{font-weight:700}
.delivery .was{text-decoration:line-through;color:var(--ink-soft);font-weight:400;margin-right:.4rem}
.delivery .save{color:var(--green);font-weight:700}

/* Ways to order */
.way{background:var(--bg);border:1px solid var(--line-soft);border-radius:20px;padding:1.5rem;min-width:0;box-shadow:var(--shadow)}
.way .icon{width:3.4rem;height:3.4rem;border-radius:14px;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center;margin-bottom:.9rem}
.way .icon svg{width:1.9rem;height:1.9rem}
.way p{margin-bottom:.6rem}
.way .btn{margin-top:.5rem}

/* Brand strip */
.brands{display:flex;flex-wrap:wrap;gap:.8rem 1.6rem;align-items:center;justify-content:center}
.brands span{font-family:var(--font-display);font-weight:800;font-size:1.25rem;color:var(--ink-soft);letter-spacing:-.01em;opacity:.85}

/* Shop layout */
.shop{display:grid;gap:2rem;grid-template-columns:17rem 1fr;align-items:start}
@media (max-width:900px){ .shop{grid-template-columns:1fr;gap:1.2rem} }
.rail{position:sticky;top:calc(env(safe-area-inset-top,0px) + 5.6rem)}
@media (max-width:900px){ .rail{position:static} }
.search{display:flex;flex-direction:column;gap:.5rem}
.search label{font-weight:700;font-size:1.05rem}
.search .box{position:relative}
.search .box svg{position:absolute;left:1rem;top:50%;transform:translateY(-50%);width:1.3rem;height:1.3rem;color:var(--ink-soft)}
.search input{font:inherit;font-size:1.1rem;padding:.75rem 1rem .75rem 2.9rem;border:3px solid var(--line);border-radius:999px;background:var(--bg);color:var(--ink);width:100%;min-height:3.4rem}
.search input:focus{border-color:var(--blue);outline:none;box-shadow:0 0 0 4px var(--blue-soft)}
.search .hint{color:var(--ink-soft);font-size:.92rem;margin:0}
.filters{display:flex;flex-direction:column;gap:.5rem;margin-top:1.4rem}
.filters .rail-h{font-size:.85rem;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-soft);margin:.4rem 0 .2rem;font-family:var(--font-body)}
.filters button{font:inherit;font-weight:700;font-size:1rem;min-height:3rem;padding:.5rem 1rem;border-radius:999px;border:2px solid var(--line);background:var(--bg);color:var(--ink);cursor:pointer;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:.6rem}
.filters button small{font-weight:400;color:var(--ink-soft)}
.filters button:hover{border-color:var(--blue)}
.filters button[aria-pressed="true"]{background:var(--blue);border-color:var(--blue);color:var(--blue-ink)}
.filters button[aria-pressed="true"] small{color:var(--blue-ink);opacity:.85}
@media (max-width:900px){
  .filters{flex-direction:row;flex-wrap:wrap}
  .filters .rail-h{width:100%}
  .filters button{display:inline-flex}
}
.count{font-weight:700;margin:0 0 1rem}
.empty{background:var(--bg-soft);border-radius:var(--radius);padding:1.6rem;max-width:36rem}

/* Breadcrumb / back */
.back{display:inline-flex;align-items:center;gap:.4rem;font-weight:700;margin-bottom:1.2rem;min-height:2.6rem;text-decoration:none}
.back:hover{text-decoration:underline}
.back svg{width:1.1em;height:1.1em}

/* Product page */
.product{display:grid;gap:2.5rem;grid-template-columns:1fr 1.15fr;align-items:start}
@media (max-width:860px){ .product{grid-template-columns:1fr} }
.product .photo{background:var(--photo-bg);border-radius:24px;display:grid;place-items:center;padding:1.5rem;aspect-ratio:1/1;max-width:100%;position:relative;border:1px solid var(--line-soft);box-shadow:var(--shadow)}
.product .photo img{width:84%;height:84%;object-fit:contain;filter:var(--drop)}
.product .photo .newbadge{width:5rem;top:1rem;right:1rem}
.product .brand{color:var(--ink-soft);font-weight:700;margin-bottom:.3rem}
.pricebox{background:var(--bg-soft);border-radius:20px;padding:1.4rem;margin:1.2rem 0;border:1px solid var(--line-soft)}
.pricebox .now{font-family:var(--font-display);font-size:2.4rem;font-weight:800;line-height:1}
.pricebox .now small{font-family:var(--font-body);font-size:1rem;font-weight:400;color:var(--ink-soft);margin-left:.4rem}
.pricebox .auto{display:flex;align-items:center;gap:.6rem;margin-top:.8rem;background:var(--gold-soft);border-radius:14px;padding:.7rem 1rem;color:var(--ink)}
.pricebox .auto svg{width:1.5rem;height:1.5rem;color:var(--gold);flex:none}
.pricebox .auto strong{color:var(--ink)}
.pricebox .btn-row{margin-top:1.1rem}
.pricebox .btn{flex:1 1 14rem}
.help-box{border:2px dashed var(--line);border-radius:var(--radius);padding:1.2rem;margin-top:1.2rem}
.help-box p{margin:0}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.4rem}
.chips span{display:inline-flex;align-items:center;gap:.4rem;background:var(--blue-soft);color:var(--blue);border-radius:999px;padding:.35rem .85rem;font-weight:700;font-size:.95rem}
.chips span svg{width:1em;height:1em}
.detail{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));margin-top:2.5rem}
.detail h2{font-size:1.3rem;margin-bottom:.5rem}
.detail ul{padding-left:1.2rem;margin:0}
.detail li{margin-bottom:.4rem}

/* FAQ */
.faq-group{margin-bottom:2.2rem}
details{border:1px solid var(--line);border-radius:var(--radius);margin-bottom:.8rem;background:var(--bg);box-shadow:var(--shadow)}
details[open]{border-color:var(--blue)}
summary{cursor:pointer;list-style:none;font-weight:700;font-size:1.15rem;padding:1rem 3.2rem 1rem 1.2rem;position:relative;min-height:3.4rem;display:flex;align-items:center}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";position:absolute;right:1.1rem;top:50%;transform:translateY(-50%);font-size:1.8rem;line-height:1;color:var(--blue);font-weight:700}
details[open] summary::after{content:"–"}
details .ans{padding:0 1.2rem 1.2rem;color:var(--ink-soft)}
details .ans p{margin-bottom:.6rem}

/* Contact */
.contact-grid{display:grid;gap:2rem;grid-template-columns:1fr 1fr;align-items:start}
@media (max-width:860px){ .contact-grid{grid-template-columns:1fr} }
.contact-item{display:flex;gap:.9rem;align-items:flex-start;margin-bottom:1.4rem}
.contact-item .icon{width:3rem;height:3rem;border-radius:12px;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center;flex:none}
.contact-item .icon svg{width:1.7rem;height:1.7rem}
.contact-item strong{display:block;font-size:1.1rem}
.contact-item a.big{font-family:var(--font-display);font-size:1.7rem;font-weight:800;text-decoration:none}
.contact-item p{margin:0;color:var(--ink-soft)}
.contact-photo{border-radius:22px;overflow:hidden;box-shadow:var(--shadow-lg);margin-top:1rem;max-width:100%}
.contact-photo img{display:block;width:100%;height:auto}
form.simple{display:grid;gap:1rem;background:var(--bg-soft);padding:1.5rem;border-radius:22px;border:1px solid var(--line-soft)}
form.simple label{font-weight:700;display:block;margin-bottom:.3rem}
form.simple input,form.simple textarea,form.simple select{font:inherit;font-size:1.05rem;width:100%;padding:.7rem .9rem;border:3px solid var(--line);border-radius:12px;background:var(--bg);color:var(--ink);min-height:3.2rem}
form.simple textarea{min-height:7rem;resize:vertical}
form.simple input:focus,form.simple textarea:focus,form.simple select:focus{border-color:var(--blue);outline:none;box-shadow:0 0 0 4px var(--blue-soft)}
.notice{border-radius:12px;padding:1rem 1.2rem;font-weight:700}
.notice.ok{background:var(--blue-soft);color:var(--blue)}
.notice.err{background:var(--gold-soft);color:var(--gold-ink)}

/* About */
.story{display:grid;gap:2.5rem;grid-template-columns:1.15fr 1fr;align-items:start}
@media (max-width:860px){ .story{grid-template-columns:1fr} }
.about-hero{display:grid;gap:2.5rem;grid-template-columns:1.1fr 1fr;align-items:center}
@media (max-width:860px){ .about-hero{grid-template-columns:1fr} }
.about-hero img{width:100%;max-width:26rem;height:auto;margin-inline:auto;display:block;filter:var(--drop-sm)}
.gallery{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));margin:2rem 0}
.gallery img{width:100%;height:14rem;object-fit:cover;border-radius:18px;box-shadow:var(--shadow);display:block}
.fact{background:var(--bg-soft);border-radius:18px;padding:1.3rem;border-left:6px solid var(--gold)}
.fact strong{font-family:var(--font-display);font-size:1.6rem;font-weight:800;display:block;line-height:1.1;margin-bottom:.3rem}
.fact p{margin:0;color:var(--ink-soft)}
.facts{display:grid;gap:1rem}
blockquote{font-family:var(--font-display);font-weight:700;font-size:1.35rem;line-height:1.3;margin:1.5rem 0;padding-left:1.2rem;border-left:4px solid var(--gold);color:var(--ink)}

/* Doctors band */
.docs{display:grid;gap:2rem;grid-template-columns:1.3fr 1fr;align-items:center}
@media (max-width:860px){ .docs{grid-template-columns:1fr} }
.docs img{width:100%;max-width:22rem;border-radius:18px;display:block;margin-inline:auto;box-shadow:0 14px 40px rgba(0,0,0,.4)}

/* Contact lens liquidation (private page) */
.lens-layout{display:grid;gap:2rem;grid-template-columns:1fr 22rem;align-items:start}
@media (max-width:960px){ .lens-layout{grid-template-columns:1fr} }
.lens{background:var(--bg);border:1px solid var(--line-soft);border-radius:20px;box-shadow:var(--shadow);padding:1.3rem;margin-bottom:1.2rem;min-width:0}
.lens.out{background:var(--bg-soft)} .lens.out h2{color:var(--ink-soft)}
.lens-head{display:flex;flex-wrap:wrap;gap:.6rem 1.2rem;align-items:flex-start;justify-content:space-between}
.lens-head h2{font-size:1.3rem;margin:0 0 .2rem}
.lens-head .tag{margin:0;color:var(--ink-soft)}
.lens-head .price{font-family:var(--font-display);font-size:1.5rem;font-weight:800;white-space:nowrap}
.lens-head .price small{font-family:var(--font-body);font-size:.85rem;font-weight:400;color:var(--ink-soft)}
.stock{display:inline-flex;align-items:center;gap:.4rem;border-radius:999px;padding:.25rem .75rem;font-weight:700;font-size:.9rem;background:var(--green-soft);color:var(--green)}
.stock.low{background:var(--gold-soft);color:var(--gold-ink)}
.stock.out{background:var(--bg-soft);color:var(--ink-soft)}
.stock::before{content:"";width:.55rem;height:.55rem;border-radius:50%;background:currentColor}
.lens-pick{display:flex;flex-wrap:wrap;gap:.8rem;align-items:flex-end;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line-soft)}
.lens-pick label{display:flex;flex-direction:column;gap:.3rem;font-weight:700;font-size:.95rem;min-width:0}
.lens-pick select,.lens-pick input{font:inherit;font-size:1rem;padding:.55rem .8rem;border:2px solid var(--line);border-radius:12px;background:var(--bg);color:var(--ink);min-height:2.9rem}
.lens-pick select{min-width:12rem}
.lens-pick input{width:6rem}
.lens-pick select:focus,.lens-pick input:focus{border-color:var(--blue);outline:none;box-shadow:0 0 0 4px var(--blue-soft)}
.powers{margin-top:.9rem}
.powers summary{font-size:1rem;min-height:2.6rem;padding:.5rem 2.6rem .5rem .8rem}
.powers .ans{padding:0 .8rem .9rem}
.pgrid{display:grid;gap:.35rem;grid-template-columns:repeat(auto-fill,minmax(5.2rem,1fr))}
.pgrid span{display:flex;flex-direction:column;align-items:center;border:1px solid var(--line-soft);border-radius:10px;padding:.35rem .2rem;font-size:.85rem;background:var(--bg-soft)}
.pgrid span b{font-size:1rem}
.pgrid span.out{opacity:.45;text-decoration:line-through}
.pgrid span.low{border-color:var(--gold)}
.order{position:sticky;top:calc(env(safe-area-inset-top,0px) + 5.4rem);background:var(--bg);border:1px solid var(--line-soft);border-radius:20px;box-shadow:var(--shadow-lg);padding:1.3rem;min-width:0}
@media (max-width:960px){ .order{position:static} }
.order h2{font-size:1.25rem;margin-bottom:.8rem}
.order .line{display:grid;grid-template-columns:1fr auto auto;gap:.5rem;align-items:center;padding:.55rem 0;border-bottom:1px solid var(--line-soft);font-size:.95rem}
.order .line strong{display:block;line-height:1.2}
.order .line small{color:var(--ink-soft)}
.order .line button{font:inherit;background:none;border:2px solid var(--line);border-radius:999px;min-width:2.4rem;min-height:2.4rem;cursor:pointer;color:var(--ink);font-weight:700}
.order .line button:hover{border-color:var(--blue);color:var(--blue)}
.order .total{display:flex;justify-content:space-between;font-family:var(--font-display);font-weight:800;font-size:1.3rem;padding:.9rem 0 .4rem}
.order .empty-note{color:var(--ink-soft);margin:0 0 .5rem}
.order form.simple{padding:0;background:none;border:0;margin-top:.8rem;gap:.7rem}
.order form.simple input,.order form.simple textarea{font-size:1rem;min-height:2.8rem;padding:.5rem .8rem}
.order form.simple textarea{min-height:4.5rem}
.order .line{display:block}
.order .line .ltop{display:grid;grid-template-columns:1fr auto auto;gap:.5rem;align-items:center}
.order .line .lqty{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-top:.35rem}
.order .line .step{display:inline-flex;align-items:center;gap:.35rem}
.order .line .step .num{min-width:4.6rem;text-align:center;font-weight:700}
.order .line .step button{font-size:1.2rem;line-height:1}
.order .line button:disabled{opacity:.35;cursor:not-allowed;border-color:var(--line);color:var(--ink-soft)}
.order .ship-row{display:flex;justify-content:space-between;font-weight:700;padding:.7rem 0 0;color:var(--green)}
.order .min-note{font-size:.9rem;font-weight:700;color:var(--ink-soft);margin:0 0 .4rem}
.lens-pick .pick-hint{flex-basis:100%;margin:-.2rem 0 0}
/* every power with its expiration dates (lens page) */
.lgrid{display:grid;gap:.35rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,19rem),1fr))}
.lrow{display:flex;gap:.6rem;align-items:baseline;border:1px solid var(--line-soft);border-radius:10px;padding:.4rem .6rem;font-size:.88rem;background:var(--bg-soft)}
.lrow b{min-width:3.4rem;font-size:1rem}
.lrow span{display:flex;flex-wrap:wrap;gap:.15rem .7rem}
.lrow em{font-style:normal;color:var(--ink-soft);margin-right:.25rem}
.lens-lines small,.lens-confirm small{color:var(--ink-soft);font-size:.85em}
.order form.simple .fsec{font-family:var(--font-display);font-size:1.02rem;margin:.5rem 0 -.2rem;padding-top:.7rem;border-top:1px solid var(--line-soft)}
.addr-row{display:grid;gap:.7rem;grid-template-columns:1fr}
@media (min-width:480px){ .addr-row{grid-template-columns:2fr 1fr 1.2fr} }
.order form.simple .check label{display:flex;gap:.6rem;align-items:flex-start;cursor:pointer;margin:0}
.order form.simple .check input{width:1.5rem;height:1.5rem;min-height:0;margin:.1rem 0 0;flex:none;accent-color:var(--blue)}
.shipto{border:2px solid var(--blue);border-radius:16px;padding:1rem;margin:0;display:grid;gap:.7rem;background:var(--bg-soft);min-width:0}
.shipto legend{font-family:var(--font-display);font-weight:800;padding:0 .4rem;color:var(--blue)}
.shipto .hint-small{margin:0}
.ship-flag{display:inline-block;background:var(--gold-soft);color:var(--gold-ink);border-radius:999px;padding:.1rem .6rem;font-weight:700;font-size:.82rem}
.done{background:var(--green-soft);border-radius:16px;padding:1.2rem}
/* ---- Store (cart, checkout, account): see store.js ---- */
/* Header button: "Account" when the cart is empty, a bright "Cart" with a count once something is in it */
.cart-btn{display:inline-flex;align-items:center;gap:.45rem;text-decoration:none;color:var(--blue);font-weight:700;border:3px solid var(--blue);border-radius:999px;min-height:3rem;padding:.5rem 1rem;white-space:nowrap;flex:none;font-size:1.02rem}
.cart-btn svg{width:1.3em;height:1.3em}
.cart-btn:hover,.cart-btn[aria-current="page"]{background:var(--blue-soft)}
.cart-btn.has-items{background:var(--gold);border-color:var(--gold);color:var(--gold-ink);font-size:1.1rem;padding:.5rem 1.1rem .5rem 1rem;box-shadow:0 6px 18px rgba(242,183,5,.35);animation:cart-pop .5s ease-out}
.cart-btn.has-items:hover{filter:brightness(1.06)}
.cart-btn.has-items .cb-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.7rem;height:1.7rem;padding:0 .4rem;border-radius:999px;background:var(--gold-ink);color:#fff;font-size:.95rem;line-height:1}
@keyframes cart-pop{0%{transform:scale(.92)}60%{transform:scale(1.06)}100%{transform:scale(1)}}
@media (prefers-reduced-motion:reduce){ .cart-btn.has-items{animation:none} }
@media (max-width:1000px){ .mobile-bar{grid-template-columns:repeat(4,1fr)} }
.mob-cart{position:relative;display:inline-flex}
.mob-cart b{position:absolute;top:-.55rem;right:-.9rem;background:var(--gold);color:var(--gold-ink);border:2px solid var(--bg);border-radius:999px;font-size:.82rem;font-weight:800;min-width:1.45rem;height:1.45rem;display:inline-flex;align-items:center;justify-content:center;padding:0 .3rem}
.mobile-bar a.cart-link.has-items{color:var(--gold-ink);background:var(--gold-soft);border-radius:14px 14px 0 0}
.mobile-bar a.cart-link.has-items svg{color:var(--gold-ink)}
.btn.busy{opacity:.7;pointer-events:none}
.added-panel{margin-top:1rem;background:var(--green-soft);border-radius:16px;padding:1.1rem 1.2rem}
.added-panel .ap-head{display:flex;gap:.6rem;align-items:flex-start;margin-bottom:.8rem}
.added-panel .ap-head svg{width:1.5rem;height:1.5rem;color:var(--green);flex:none;margin-top:.1rem}
.added-panel .btn-row{margin-top:0}
.store-layout{display:grid;gap:2rem;grid-template-columns:1fr 22rem;align-items:start;margin-top:1.2rem}
@media (max-width:960px){ .store-layout{grid-template-columns:1fr} }
.wrap.narrow{max-width:52rem}
.cart-main .order{position:static}
.order .lines .line .ltop{grid-template-columns:auto 1fr auto}
.order .lines .line img{width:3.5rem;height:3.5rem;object-fit:contain;border-radius:10px;background:var(--bg-soft)}
.order .lines .line .step .rm{font-size:.85rem;min-width:0;padding:.3rem .7rem;margin-left:.4rem;border-radius:999px}
.order .tot{display:flex;justify-content:space-between;padding:.5rem 0 0;font-weight:700}
.order .tot.disc{color:var(--green)} .order .tot.ship{color:var(--green)}
.order .lines .empty-note{margin:.5rem 0}
.promo-form{margin-top:1rem}
.promo-row{display:flex;gap:.6rem;flex-wrap:wrap}
.promo-row input{flex:1 1 10rem;text-transform:uppercase}
.checkout-box .btn-block{margin-top:.4rem}
.linkbtn{font:inherit;font-weight:700;color:var(--blue);background:none;border:0;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.steps{display:grid;gap:1.2rem}
.cstep{background:var(--bg);border:1px solid var(--line-soft);border-radius:20px;box-shadow:var(--shadow);padding:1.3rem 1.4rem}
.cstep h2{display:flex;align-items:center;gap:.7rem;font-size:1.3rem;margin:0 0 .8rem}
.num-badge{display:inline-flex;align-items:center;justify-content:center;width:2.2rem;height:2.2rem;border-radius:50%;background:var(--blue);color:var(--blue-ink);font-size:1.05rem;flex:none}
.num-badge svg{width:1.2rem;height:1.2rem}
.cstep.is-done .num-badge{background:var(--green)}
.cstep.is-done h2{margin-bottom:.4rem}
.step-summary{color:var(--ink);line-height:1.7}
.step-summary strong{font-weight:700}
.cstep .simple{padding:0;background:none;border:0}
.auth-links{text-align:center;margin-top:.2rem}
.auth-alt{margin-top:1.4rem;padding-top:1.2rem;border-top:1px solid var(--line-soft)}
.auth-alt p{margin:0 0 .6rem}
.auth-alt .btn-row{margin-top:0}
.addr-row.two{grid-template-columns:1fr 1fr}
@media (max-width:480px){ .addr-row.two{grid-template-columns:1fr} }
.finder{background:var(--blue-soft);border-radius:16px;padding:.9rem 1rem .8rem}
.finder label{color:var(--blue)}
.finder input{background:var(--bg)}
.finder .hint-small{margin:.35rem 0 0}
.finder-note{display:flex;gap:.4rem;align-items:flex-start;margin:.5rem 0 0;font-weight:700;color:var(--green);font-size:.95rem}
.finder-note:empty{display:none}
.finder-note svg{width:1.2rem;height:1.2rem;flex:none;margin-top:.15rem}
/* Google's suggestion list, made bigger and easier to tap */
.pac-container{font-family:inherit;border-radius:14px;border:2px solid var(--blue);box-shadow:var(--shadow);margin-top:.3rem;z-index:1200 !important}
.pac-item{font-size:1rem;line-height:1.5;padding:.6rem .9rem;cursor:pointer;border-top:1px solid var(--line-soft)}
.pac-item:hover,.pac-item-selected{background:var(--blue-soft)}
.pac-item-query{font-size:1.05rem;font-weight:700;color:var(--ink)}
.pac-icon{display:none}
.doctor-box{margin:0 0 1rem}
.doctor-box select{font:inherit;font-size:1.05rem;width:100%;padding:.7rem .9rem;border:3px solid var(--line);border-radius:12px;background:var(--bg);color:var(--ink);margin-top:.3rem}
.order-detail{background:var(--bg);border:1px solid var(--line-soft);border-radius:20px;box-shadow:var(--shadow);padding:1.2rem 1.4rem;margin-top:1.2rem}
.order-detail .line{padding:.55rem 0;border-bottom:1px solid var(--line-soft)}
.order-detail .line .ltop{display:grid;grid-template-columns:1fr auto;gap:.5rem;align-items:center}
.order-detail .line strong{display:block;line-height:1.2} .order-detail .line small{color:var(--ink-soft)}
.order-detail .tot{display:flex;justify-content:space-between;padding:.5rem 0 0;font-weight:700}
.order-detail .total{display:flex;justify-content:space-between;font-family:var(--font-display);font-weight:800;font-size:1.3rem;padding:.9rem 0 .2rem}
.acct-nav{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 1.4rem}
.acct-nav a{text-decoration:none;color:var(--ink);font-weight:700;padding:.5rem .9rem;border-radius:999px;border:2px solid var(--line-soft);min-height:2.8rem;display:inline-flex;align-items:center}
.acct-nav a[aria-current="page"]{background:var(--blue-soft);color:var(--blue);border-color:var(--blue-soft)}
.acct-nav a:last-child{margin-left:auto}
.acct-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr))}
.acct-tile{display:block;text-decoration:none;color:var(--ink);background:var(--bg);border:1px solid var(--line-soft);border-radius:18px;box-shadow:var(--shadow);padding:1.2rem}
.acct-tile strong{display:block;font-family:var(--font-display);font-size:1.2rem;color:var(--blue);margin-bottom:.3rem}
.acct-tile:hover{border-color:var(--blue)}
.as-card{background:var(--bg);border:1px solid var(--line-soft);border-radius:18px;box-shadow:var(--shadow);padding:1.1rem 1.2rem;margin-bottom:1rem}
.as-card small{display:block;color:var(--ink-soft)}
.as-row{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin-top:.8rem}
.as-row input[type="date"]{font:inherit;font-size:1rem;padding:.55rem .8rem;border:2px solid var(--line);border-radius:12px;background:var(--bg);color:var(--ink);min-height:2.9rem}
.btn.danger{color:var(--gold-ink);border-color:var(--gold)}
.simple-box{background:var(--bg-soft);padding:1.2rem 1.5rem;border-radius:22px;border:1px solid var(--line-soft)}
.cstep .fsec,.simple .fsec{font-family:var(--font-display);font-size:1.05rem;margin:.4rem 0 -.2rem;padding-top:.6rem;border-top:1px solid var(--line-soft)}
.cstep .simple > .fsec:first-child,.simple > .fsec:first-child{border-top:0;padding-top:0;margin-top:0}
.done strong{font-family:var(--font-display);font-size:1.4rem;display:block;margin-bottom:.4rem}
.lens-note{background:var(--gold-soft);border-radius:14px;padding:.8rem 1rem;font-size:.95rem;margin:1rem 0}
.lens-note p{margin:0}
/* admin */
.adm-key{display:flex;flex-wrap:wrap;gap:.6rem;align-items:flex-end;margin:1rem 0 1.5rem}
.adm-key label{display:flex;flex-direction:column;gap:.3rem;font-weight:700}
.adm-key input{font:inherit;padding:.55rem .8rem;border:2px solid var(--line);border-radius:12px;background:var(--bg);color:var(--ink);min-height:2.9rem;min-width:16rem}
.adm{background:var(--bg);border:1px solid var(--line-soft);border-radius:18px;padding:1.1rem;margin-bottom:1rem;box-shadow:var(--shadow)}
.adm .fields{display:grid;gap:.6rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr))}
.adm label{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;font-weight:700;min-width:0}
.adm input{font:inherit;font-size:.95rem;padding:.45rem .6rem;border:2px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);min-height:2.6rem;width:100%}
.adm .fields label.wide{grid-column:span 2}
.agrid{display:grid;gap:.3rem;grid-template-columns:repeat(auto-fill,minmax(5.6rem,1fr));margin-top:.8rem}
.agrid label{font-size:.85rem;text-align:center;font-weight:700}
.agrid input{text-align:center;padding:.3rem;min-height:2.2rem}
/* admin: one row per power + expiration date */
.ltable{width:100%;border-collapse:collapse;font-size:.92rem;margin-top:.6rem}
.ltable th,.ltable td{text-align:left;padding:.3rem .5rem;border-bottom:1px solid var(--line-soft);vertical-align:middle}
.ltable th{font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}
.ltable input{width:auto;min-width:7rem;min-height:2.3rem}
.ltable input[type=number]{min-width:5.5rem;text-align:right}
.ltable tr.expired td{background:var(--gold-soft,#fff6d6)}
.ltable button{font:inherit;border-radius:999px;border:2px solid var(--line);background:var(--bg);min-width:2.2rem;min-height:2.2rem;cursor:pointer}
.ltable button:hover{border-color:var(--blue);color:var(--blue)}
.lot-add{align-items:flex-end}
.lot-add label{font-size:.85rem;font-weight:700;display:flex;flex-direction:column;gap:.25rem}
.lot-add select,.lot-add input{font:inherit;font-size:.95rem;padding:.45rem .6rem;border:2px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);min-height:2.6rem}
.adm .tools{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.8rem}
.adm .tools button,.adm-tools button{font:inherit;font-weight:700;border-radius:999px;border:2px solid var(--line);background:var(--bg);color:var(--ink);min-height:2.6rem;padding:.4rem 1rem;cursor:pointer}
.adm .tools button:hover,.adm-tools button:hover{border-color:var(--blue);color:var(--blue)}
.adm-tools{display:flex;flex-wrap:wrap;gap:.6rem;margin:1rem 0}
.otable{width:100%;border-collapse:collapse;font-size:.92rem}
.otable th,.otable td{text-align:left;padding:.5rem .6rem;border-bottom:1px solid var(--line-soft);vertical-align:top}
.otable th{font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}
.tscroll{overflow-x:auto;max-width:100%}

/* Cards with Add to cart */
.card-link{text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:.45rem;min-width:0}
.card-link:hover{color:inherit}
.card-link h3{text-decoration:none}
.card:hover .card-link h3{color:var(--blue)}
.card .price .aslow{font-size:.82rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft)}
.card .price .auto.out{color:var(--ink-soft)}
.card.soldout .photo img{opacity:.55}
.card-actions{display:flex;flex-wrap:wrap;gap:.5rem .9rem;align-items:center;margin-top:.5rem}
.card-actions .btn{min-height:2.7rem;padding:.45rem 1rem;font-size:.95rem}
.tile-price{margin:.5rem 0 .2rem!important;color:var(--ink)!important}
.tile-price .aslow{font-size:.82rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft)}
.tile-price .feat{display:block;font-size:.9rem;font-weight:700;color:var(--ink)}
.tile-price strong{font-family:var(--font-display);font-size:1.4rem;font-weight:800}
.tile-actions{display:flex;flex-wrap:wrap;gap:.5rem .9rem;align-items:center;margin-top:.5rem}
.tile-actions .btn{min-height:2.7rem;padding:.45rem 1rem;font-size:.95rem}
.tile h3 a{text-decoration:none;color:inherit}
.tile h3 a:hover{color:var(--blue)}
.tile .go{margin-top:0}
.tile-img{display:block;line-height:0}
.tile-img:focus-visible{outline-offset:6px}
.aslow{font-weight:700}
/* Product page: gallery, variants, facts */
.gallery .photo img{transition:opacity .2s}
.thumbs{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.7rem}
.thumb{position:relative;width:4.4rem;height:4.4rem;border:2px solid var(--line);border-radius:12px;background:var(--photo-bg);padding:.25rem;cursor:pointer;display:grid;place-items:center;overflow:hidden}
.thumb img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.thumb.on{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft)}
.thumb span{position:absolute;left:0;right:0;bottom:0;background:var(--blue);color:var(--blue-ink);font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:.1rem}
.pricebox .now .aslow{font-family:var(--font-body);font-size:.85rem;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft);display:block;margin-bottom:.1rem}
.stockline{display:inline-flex;align-items:center;gap:.4rem;font-weight:700;margin:.6rem 0 0;font-size:.95rem}
.stockline.in{color:var(--green)} .stockline.out{color:var(--ink-soft)}
.stockline svg{width:1.1em;height:1.1em}
.vh{font-size:.85rem;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-soft);margin:1rem 0 .4rem;font-family:var(--font-body)}
.variants{display:grid;gap:.5rem}
.variant{background:var(--bg);border:2px solid var(--line-soft);border-radius:14px;font-size:.95rem;transition:border-color .15s,box-shadow .15s}
.variant label{display:grid;grid-template-columns:auto 1fr auto;gap:.2rem .7rem;align-items:center;padding:.7rem .9rem;cursor:pointer;margin:0;font-weight:400}
.variant input{width:1.45rem;height:1.45rem;margin:0;accent-color:var(--blue);flex:none;cursor:pointer}
.variant .vmain{min-width:0}
.variant .vtags{grid-column:2 / -1;display:flex;gap:.4rem;flex-wrap:wrap}
.variant .vtags:empty{display:none}
.variant.on{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft);background:var(--bg)}
.variant:focus-within{outline:3px solid var(--blue);outline-offset:2px}
.variant:hover:not(.out){border-color:var(--blue)}
.variant.out{background:var(--bg-soft)} .variant.out label{cursor:not-allowed} .variant.out strong,.variant.out .vprice{color:var(--ink-soft)}
@media (max-width:560px){ .variant label{grid-template-columns:auto 1fr} .variant .vprice{grid-column:2;justify-self:start;white-space:normal} }
.buyrow{display:flex;flex-wrap:wrap;gap:.6rem 1.2rem;align-items:center;margin-top:1rem}
.buyrow .qty{display:flex;align-items:center;gap:.6rem;font-weight:700}
.buyrow .step{display:inline-flex;align-items:center;gap:.3rem}
.buyrow .step button{font:inherit;font-size:1.2rem;line-height:1;background:var(--bg);border:2px solid var(--line);border-radius:999px;min-width:2.6rem;min-height:2.6rem;cursor:pointer;color:var(--ink)}
.buyrow .step button:hover{border-color:var(--blue);color:var(--blue)}
.buyrow .step input{font:inherit;font-weight:700;width:3.6rem;min-height:2.6rem;text-align:center;border:2px solid var(--line);border-radius:12px;background:var(--bg);color:var(--ink)}
.buyrow .step input:focus{border-color:var(--blue);outline:none;box-shadow:0 0 0 4px var(--blue-soft)}
.buyrow .picked{margin:0;flex:1 1 14rem;font-size:.95rem;color:var(--ink-soft)}
.buyrow .picked strong{color:var(--ink)}
.vprice{font-family:var(--font-display);font-weight:800;font-size:1.1rem;white-space:nowrap}
.vprice small{font-family:var(--font-body);font-weight:400;font-size:.85rem;color:var(--ink-soft)}
.vtag{display:inline-block;font-size:.82rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;border-radius:999px;padding:.12rem .55rem;background:var(--gold);color:var(--gold-ink)}
.vtag.save{background:var(--green);color:var(--bg)} .vtag.out{background:var(--bg-soft);color:var(--ink-soft)}
.prose p,.prose li{max-width:40rem}
.prose h2{font-size:1.35rem;margin-top:1.4rem}
.prose ul,.prose ol{padding-left:1.3rem}
.legal p{margin-bottom:.8rem}
.inside-grid{display:grid;gap:2rem;grid-template-columns:1fr 1fr;align-items:start}
@media (max-width:860px){ .inside-grid{grid-template-columns:1fr} }
.facts{background:var(--bg-soft);border-radius:18px;padding:1.2rem;min-width:0}
.facts h3{margin-bottom:.6rem}
.facts img{display:block;width:100%;max-width:30rem;height:auto;border-radius:10px;background:#fff}
.transcript{margin-top:.8rem}
.transcript summary{font-size:1rem;min-height:2.6rem;padding:.5rem 2.6rem .5rem .8rem}
.transcript pre{white-space:pre-wrap;font:inherit;font-size:.9rem;line-height:1.4;margin:0 0 .6rem;max-width:36rem}
.disclaimer{font-size:.85rem;color:var(--ink-soft);max-width:44rem;margin:1.4rem 0 0;line-height:1.45}
.disclaimer.tight{margin-top:.9rem}
.band-navy .disclaimer{color:var(--band-muted)}
.warn{background:var(--gold-soft);border-radius:12px;padding:.7rem .9rem;font-size:.92rem;margin-top:.8rem}
.faq-sec{padding-block:2.5rem}
.faq-sec h2{margin-bottom:1rem}
.faq-sec details{max-width:46rem}
.hint-small{font-size:.85rem;color:var(--ink-soft);margin:.35rem 0 0}
.added-note{margin:.7rem 0 0;background:var(--green-soft);color:var(--ink);border-radius:12px;padding:.7rem .9rem;font-size:.95rem;display:flex;gap:.5rem;align-items:flex-start}
.added-note svg{width:1.2rem;height:1.2rem;color:var(--green);flex:none;margin-top:.1rem}

/* Footer */
footer{background:var(--band);color:var(--band-ink);padding-block:1.5rem .9rem;margin-top:1.5rem;font-size:.85rem;line-height:1.3}
footer a{color:var(--band-btn)}
footer .fh{color:var(--band-ink);font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;margin:0 0 .3rem;font-family:var(--font-display)}
footer .fh + .fh,footer p + .fh,footer ul + .fh{margin-top:.7rem}
footer .cols{display:grid;gap:.8rem 1.6rem;grid-template-columns:1.4fr 1fr 1fr 1.2fr}
@media (max-width:900px){ footer .cols{grid-template-columns:1fr 1fr} }
@media (max-width:560px){ footer .cols{grid-template-columns:1fr} }
footer .cols > *{min-width:0}
footer ul.clean li{margin:0}
footer ul.clean a{text-decoration:none;display:inline-block;padding:.05rem 0;min-height:1.5rem;line-height:1.3}
footer ul.clean a:hover{text-decoration:underline}
footer .flogo-chip{display:inline-block;background:#FFFFFF;border-radius:8px;padding:.3rem .6rem;margin-bottom:.5rem;line-height:0}
footer .flogo{height:1.6rem;width:auto;display:block}
footer p{max-width:none;color:var(--band-muted);margin:0 0 .4rem;line-height:1.35}
footer .pay{height:1.1rem;width:auto;margin-top:.1rem;background:#fff;padding:.15rem .35rem;border-radius:5px}
footer .fine{font-size:.85rem;margin-top:.9rem;border-top:1px solid rgba(255,255,255,.16);padding-top:.6rem;line-height:1.35}

/* Customer quotes (verified Amazon reviews) */
.reviews-sec{padding-block:2.5rem;background:var(--blue-soft)}
.reviews-sec h2{margin-bottom:.4rem}
.reviews-sec .source{max-width:46rem;margin:0 0 1.2rem;font-size:.95rem}
.quote-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));gap:1rem}
.quote-grid.four{grid-template-columns:repeat(auto-fit,minmax(min(100%,13.5rem),1fr))}
.quote{margin:0;background:var(--bg);border:1px solid var(--line-soft);border-radius:20px;padding:1.2rem 1.3rem;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:.6rem}
.quote blockquote{margin:0;flex:1}
.quote blockquote p{margin:0;font-size:1.08rem;line-height:1.5}
.quote figcaption{font-size:.95rem;font-weight:700}
.quote figcaption .muted{font-weight:400}
.stars{display:inline-flex;gap:.15rem;color:var(--gold)}
.stars svg{width:1.15rem;height:1.15rem;fill:currentColor}

.adm-reset button.armed{background:var(--gold);color:var(--gold-ink);border-color:var(--gold)}
.adm-reset .adm-tools{flex-wrap:wrap}

/* Contact-lens sale: compact full-width header so the stock card is visible without scrolling */
.lens-page{padding-top:1.2rem}
.lens-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.2rem 1rem;margin-bottom:1rem}
.lens-head .eyebrow{margin:0}
.lens-head #lensUpdated{margin:0;font-size:.9rem}
.lens-head h1{flex:1 1 100%;margin:.2rem 0 .3rem;font-size:clamp(1.7rem,1.2rem + 1.6vw,2.3rem)}
.lens-head .lead{flex:1 1 100%;max-width:none;margin:0;font-size:1.05rem;line-height:1.45}
.lens-layout{gap:1.4rem}

/* International partners */
.partner-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,19rem),1fr));gap:1.2rem;margin:1rem 0 1.6rem}
.partner{background:var(--bg);border:1px solid var(--line-soft);border-radius:20px;padding:1.2rem 1.3rem;box-shadow:var(--shadow)}
.partner-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line-soft);padding-bottom:.7rem;margin-bottom:.8rem}
.partner-head h2{margin:0;font-size:1.4rem}
.partner-head img{height:2.4rem;width:auto;max-width:9rem;object-fit:contain}
.partner .pname{margin:0 0 .6rem;font-weight:700}
.partner-rows{display:grid;gap:.45rem}
.partner-rows>div{display:grid;grid-template-columns:5.5rem 1fr;gap:.5rem;align-items:baseline}
.partner-rows .k{font-size:.85rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft)}
.partner-rows a{overflow-wrap:anywhere}
/* Careers */
.jobs{display:grid;gap:.8rem;margin:1rem 0 1.4rem}
.job{border:1px solid var(--line-soft);border-radius:16px;background:var(--bg);box-shadow:var(--shadow)}
.job summary{display:flex;flex-wrap:wrap;gap:.2rem 1rem;align-items:baseline;padding:1rem 1.2rem;cursor:pointer;font-weight:700}
.job .jtitle{font-size:1.15rem}
.job .jmeta{font-weight:400;color:var(--ink-soft);font-size:.95rem}
.job .ans{padding:0 1.2rem 1.2rem}
.job .ans h3{font-size:1.05rem;margin:1rem 0 .4rem}
.job .ans ul{padding-left:1.2rem}

/* Lens order in the store checkout */
.lens-powers{list-style:none;margin:.5rem 0 0;padding:0;display:grid;gap:.2rem}
.lens-powers li{display:flex;justify-content:space-between;gap:1rem;font-size:.95rem;border-bottom:1px dashed var(--line-soft);padding:.15rem 0}
.lens-dest{font-size:.9rem;margin:.6rem 0 0}
.lens-confirm{margin:1rem 0}
.lens-confirm h2{font-size:1.2rem;margin:0 0 .4rem}

/* Sticky header: focused controls scroll clear of it */
:focus{scroll-margin-top:8.5rem}
/* Cookie notice */
.consent{position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--band);color:var(--band-ink);padding:.9rem 0;box-shadow:0 -6px 24px rgba(15,34,64,.25)}
.consent .wrap{display:flex;gap:1rem;align-items:center;justify-content:space-between;flex-wrap:wrap}
.consent p{margin:0;font-size:1rem;max-width:44rem}
.consent a{color:var(--band-btn)}
.consent .btn-row{margin:0;gap:.6rem}
.consent .btn-secondary{background:transparent;color:var(--band-ink);border-color:var(--band-muted)}
@media (max-width:1000px){ .consent{bottom:calc(4.6rem + env(safe-area-inset-bottom,0px))} }
footer .foot-link{font:inherit;color:var(--band-btn);background:none;border:0;padding:.05rem 0;min-height:1.5rem;line-height:1.3;display:inline-block;text-decoration:none;cursor:pointer}
footer .foot-link:hover{text-decoration:underline}

/* Direct-to-customer contact lens sale */
.sale-form{display:grid;gap:1.2rem;min-width:0}
.sale-sec{background:var(--bg);border:1px solid var(--line-soft);border-radius:20px;box-shadow:var(--shadow);padding:1.3rem;min-width:0}
.sale-sec h2{font-size:1.3rem;margin:0 0 .5rem}
.sale-sec .hint-small{margin:0 0 .9rem}
.sale-lens .ltop{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;flex-wrap:wrap}
.sale-lens .price{font-family:var(--font-display);font-size:1.6rem;font-weight:800}
.sale-lens .price small{font-size:.95rem;font-weight:400;color:var(--ink-soft)}
.sale-band .checks{margin:1rem 0 1.4rem}
.sale-visual{display:flex;justify-content:center}
.sale-price{display:grid;justify-items:center;gap:.1rem;background:var(--band);color:var(--band-ink);border-radius:50%;width:15rem;height:15rem;align-content:center;box-shadow:var(--shadow-lg);transform:rotate(-6deg)}
.sale-amt{font-family:var(--font-display);font-size:5rem;font-weight:800;line-height:1;color:var(--gold)}
.sale-per{font-size:1.5rem;font-weight:700}
.sale-note{font-size:.95rem;opacity:.85}
@media (max-width:900px){ .sale-visual{display:none} }

/* Lens sale: practice form under the lens card, short sticky order on the right */
.lens-form{margin-top:1.2rem}
.lens-form .fsec:first-child{margin-top:0}
@media (min-width:1001px){ .lens-layout > aside.order{position:sticky;top:6.5rem;max-height:calc(100vh - 7.5rem);overflow:auto} }

/* Lens practice form: floating labels, tight spacing */
form.simple .check label{display:flex;gap:.6rem;align-items:flex-start;cursor:pointer;margin:0;font-weight:700}
form.simple .check input{width:1.5rem;height:1.5rem;min-height:0;margin:.15rem 0 0;flex:none;accent-color:var(--blue)}
.lens-form{gap:.45rem;padding:1rem 1.1rem 1.1rem}
.lens-form .fsec{font-family:var(--font-display);font-size:1rem;margin:.45rem 0 -.1rem;padding-top:.55rem;border-top:1px solid var(--line-soft)}
.lens-form .fsec.first{font-size:1.2rem;margin-top:0;padding-top:0;border-top:0}
.lens-form .addr-row{gap:.45rem}
.lens-form .shipto{gap:.5rem;padding:.8rem .9rem .9rem;margin-top:.1rem}
.lens-form .shipto .hint-small{font-size:.82rem}
.lens-form .finder{padding:0;background:none;border-radius:0}
.lens-form .finder-note{margin-top:.3rem;font-size:.85rem}
.lens-form .finder-note:empty{display:none}
.fl{position:relative;min-width:0}
.fl input,.fl textarea{padding:.7rem .85rem;min-height:2.8rem;font-size:1rem;border-width:2px}
.fl textarea{min-height:4.2rem;padding-top:.8rem}
.fl label{position:absolute;left:calc(.85rem - .3rem + 2px);top:1.4rem;transform:translateY(-50%);margin:0;padding:0 .3rem;font-weight:400;font-size:1rem;line-height:1.2;color:var(--ink-soft);pointer-events:none;transition:top .12s,font-size .12s,transform .12s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(100% - 1.4rem)}
.fl textarea + label{top:1.3rem}
form.simple .fl label{font-weight:400;color:var(--ink-soft)}
/* lifted: sits on the top border line, small and light; the gradient hides the border behind the text */
.fl input:focus + label,.fl input:not(:placeholder-shown) + label,.fl textarea:focus + label,.fl textarea:not(:placeholder-shown) + label,.fl input:-webkit-autofill + label{top:0;transform:translateY(-50%);font-size:.68rem;font-weight:400;letter-spacing:.01em;color:var(--ink-soft);background:linear-gradient(to bottom,var(--bg-soft) 0,var(--bg-soft) 50%,var(--bg) 50%,var(--bg) 100%)}
.fl input:focus + label,.fl textarea:focus + label{color:var(--blue)}

/* Lens pages (practices/staff only): header is just the logo and the phone; no tab bar, no top line */
body.no-nav{padding-bottom:0}
body.no-nav header.site .bar{justify-content:space-between}
body.no-nav .consent{bottom:0}
body.no-nav header.site .phone-btn{display:inline-flex}
@media (max-width:640px){ body.no-nav header.site .phone-btn{padding:.55rem .9rem;font-size:1rem} }

.min-note.short{color:#B42318;font-weight:600}
.min-note.short strong{font-weight:800}
.min-note.met{color:var(--green);display:flex;gap:.35rem;align-items:center}
.min-note.met svg{width:1.1rem;height:1.1rem;flex:none}
.order .btn-block:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}
/* Lens sale, orders under the free-shipping quantity: the shipping line and the running note turn amber (not red: it is a price, not an error) */
.min-note.fee{color:var(--fee);font-weight:600}
.min-note.fee strong{font-weight:800}
.order .ship-row.fee{color:var(--fee)}
.order .tot.ship.fee{color:var(--fee)}
.order .tot#orderSubRow{padding-top:.7rem}
.ship-callout{margin:.6rem 0 .2rem;padding:.75rem .9rem;border-radius:12px;background:var(--fee-soft);color:var(--ink);font-size:.95rem;line-height:1.45;border-left:4px solid var(--fee)}
.ship-callout strong{color:var(--fee)}
.ship-callout a{color:var(--blue);font-weight:700}
/* the "Shipping on this order is $15" pop-up shares the Autoship dialog styles; its second button is a quieter secondary */
.so-dialog h2{border-left-color:var(--fee)}
.so-dialog .asd-actions .btn-secondary{font-weight:700}

/* ---- For eye care professionals (/professionals/, doctors.lunovus.com), round 28 ---- */
.pro-hero .hero-grid{grid-template-columns:1.1fr 1fr}
.pro-hero .hero-visual{max-width:34rem}
.hero-photo.wide{aspect-ratio:3/2}
.pro-trust{grid-template-columns:repeat(4,1fr)}
.pro-trust li div{display:grid;gap:.15rem}
.pro-trust strong{font-family:var(--font-display);font-size:1.5rem;font-weight:800;color:var(--blue)}
.pro-trust small{font-size:.78rem;color:var(--ink-soft)}
@media (max-width:900px){ .pro-trust{grid-template-columns:1fr 1fr} .pro-hero .hero-grid{grid-template-columns:1fr} }
@media (max-width:520px){ .pro-trust{grid-template-columns:1fr} }
a.prog{text-decoration:none;color:var(--ink);display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
a.prog:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);color:var(--ink)}
.prog-ic{font-size:1.9rem;line-height:1;margin-bottom:.7rem}
.prog h3{margin-bottom:.4rem}
.prog .go,.way .go{display:inline-flex;align-items:center;gap:.3rem;color:var(--blue);font-weight:700;margin-top:auto}
.prog .go svg{width:1.1em;height:1.1em}
.flow{list-style:none;padding:0;margin:1.6rem 0 2.2rem;display:flex;flex-wrap:wrap;gap:.6rem;counter-reset:flow}
.flow li{counter-increment:flow;background:var(--bg);border:1px solid var(--line-soft);border-radius:999px;padding:.5rem 1rem .5rem .6rem;font-weight:700;display:inline-flex;align-items:center;gap:.55rem;box-shadow:var(--shadow)}
.flow li::before{content:counter(flow);width:1.7rem;height:1.7rem;border-radius:50%;background:var(--blue);color:var(--blue-ink);display:grid;place-items:center;font-size:.85rem}
.flow li:not(:last-child)::after{content:"→";color:var(--ink-soft);margin-left:.3rem}
h3.sub{margin:2rem 0 1rem;font-size:1.35rem}
.three .way h3{font-size:1.1rem}
.pay-connect{margin-top:2rem}
.income{display:grid;gap:2.5rem;grid-template-columns:1.2fr 1fr;align-items:center;margin-top:2.6rem;background:var(--bg);border-radius:24px;padding:2rem;border:1px solid var(--line-soft);box-shadow:var(--shadow)}
.income img{width:100%;height:auto;border-radius:18px;aspect-ratio:3/2;object-fit:cover}
.income-table{max-width:28rem;margin:1rem 0}
.income-table td.num{font-weight:700}
@media (max-width:900px){ .income{grid-template-columns:1fr;padding:1.3rem} }
.spot.ep{align-items:start;margin-bottom:2rem}
.steps60{list-style:none;padding:0;margin:0;display:grid;gap:.8rem}
.steps60 li{display:grid;grid-template-columns:2.4rem 1fr auto;gap:.9rem;align-items:center;background:var(--bg);border:1px solid var(--line-soft);border-radius:16px;padding:.9rem 1rem;box-shadow:var(--shadow)}
.steps60 .n{width:2.4rem;height:2.4rem;border-radius:50%;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center;font-family:var(--font-display);font-weight:800}
.steps60 strong{display:block}
.steps60 span:not(.n){color:var(--ink-soft);font-size:.95rem}
.steps60 em{font-style:normal;font-weight:800;color:var(--green);white-space:nowrap;font-family:var(--font-display)}
.ep-img,.rounded{width:100%;height:auto;border-radius:22px;box-shadow:var(--shadow-lg)}
.big{display:block;font-family:var(--font-display);font-size:2.4rem;font-weight:800;line-height:1.05;color:var(--blue);margin-bottom:.4rem}
.stat-pair{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:end;background:var(--bg);border-radius:24px;padding:2rem 1.6rem 1.2rem;box-shadow:var(--shadow-lg);text-align:center}
.stat-pair .hint-small{grid-column:1/-1;text-align:center}
.stat-big strong{display:block;font-family:var(--font-display);font-size:3.6rem;font-weight:800;line-height:1;color:var(--green)}
.stat-big.faint strong{color:var(--ink-soft);font-size:2.6rem}
.stat-big span{display:block;font-weight:700;margin-top:.4rem}
.catalog{display:grid;gap:.6rem;grid-template-columns:minmax(0,1fr)}
.catalog details{min-width:0}
.catalog details{margin:0}
.catalog .cat summary small{margin-left:auto;font-size:.85rem;color:var(--ink-soft);font-weight:400;margin-right:1rem}
.catalog .otable a{font-weight:700}
.calc{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.2);border-radius:24px;padding:1.6rem;display:grid;gap:1.4rem}
.calc-controls{display:grid;gap:.6rem}
.calc .mode{display:flex;flex-wrap:wrap;gap:.3rem;background:rgba(255,255,255,.1);border-radius:999px;padding:.25rem;width:max-content;max-width:100%}
.calc,.calc-controls,.calc-out{min-width:0}
.calc,.calc-controls{grid-template-columns:minmax(0,1fr)} /* a wide child (the mode buttons, the table) can never stretch the box past the screen */
.calc .mode button{font:inherit;font-weight:700;border:0;background:transparent;color:var(--band-ink);border-radius:999px;padding:.45rem 1rem;cursor:pointer;min-height:2.4rem}
.calc .mode button[aria-pressed="true"]{background:var(--band-btn);color:var(--band-btn-ink)}
.calc label{font-weight:700;color:var(--band-muted)}
.calc-val{font-family:var(--font-display);font-size:1.4rem;font-weight:800}
.calc-val .num{font-size:2.2rem;color:var(--band-btn)}
.calc input[type=range]{width:100%;accent-color:var(--band-btn);height:2.2rem;cursor:pointer;background:transparent}
.calc .ticks{display:flex;justify-content:space-between;font-size:.8rem;color:var(--band-muted);font-weight:700}
.calc-out{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr))}
.calc-out .stat strong{color:var(--band-btn)}
.calc-table{background:transparent;border-color:rgba(255,255,255,.25);box-shadow:none;margin:0}
.calc-table summary{color:var(--band-ink)}
.calc-table summary::after{color:var(--band-btn)}
.calc-table .otable{color:var(--band-ink)}
.calc-table .otable th{color:var(--band-muted)}
.calc-table .otable td,.calc-table .otable th{border-color:rgba(255,255,255,.18)}
.calc .hint-small,.band-navy .hint-small{color:var(--band-muted)}
.band-navy .btn-row{margin-top:1.6rem}
.pres-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr))}
.pres-card{display:flex;gap:.9rem;text-decoration:none;color:var(--ink);background:var(--bg);border:1px solid var(--line-soft);border-radius:18px;padding:1.1rem 1.2rem;box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s;min-width:0}
.pres-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);color:var(--ink)}
.pres-card > span:last-child{display:grid;gap:.2rem;min-width:0}
.pres-icon{width:2.8rem;height:2.8rem;flex:none;border-radius:14px;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center;font-size:1.25rem}
.pres-k{font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--blue)}
.pres-card strong{font-family:var(--font-display);font-size:1.08rem;line-height:1.25}
.pres-desc{color:var(--ink-soft);font-size:.95rem}
.pres-meta{font-size:.82rem;color:var(--ink-soft);font-weight:700;margin-top:.2rem}
.way.price{text-align:center}
.way.price h3{margin-bottom:.6rem}
.way.price h3:has(+ .big){margin-bottom:.2rem}
.three-line{margin-top:1.6rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr))}
.three-line li{align-items:center}
.three-line svg{margin-top:0}
.pro-faq h3.faq-group-h{margin:1.6rem 0 .8rem;font-size:1.15rem;color:var(--blue)}
.pro-faq details{max-width:52rem}
.interest{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.5rem 1.2rem}
.interest legend{font-weight:700;margin-bottom:.4rem;padding:0}
form.simple .interest label{display:inline-flex;align-items:center;gap:.45rem;font-weight:700;margin:0;cursor:pointer;background:var(--bg-soft);border:2px solid var(--line);border-radius:999px;padding:.4rem .9rem .4rem .6rem}
form.simple .interest label:has(input:checked){background:var(--blue-soft);border-color:var(--blue);color:var(--blue)}
form.simple .interest input{width:1.25rem;height:1.25rem;padding:0;margin:0;border:0;border-radius:4px;accent-color:var(--blue);background:transparent;box-shadow:none}
form.simple .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;overflow:hidden}
a.way.price{text-decoration:none;color:var(--ink);display:block;transition:transform .2s,box-shadow .2s}
a.way.price:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);color:var(--ink)}
a.way.price h3{color:var(--blue)}
.links2{display:grid;gap:.55rem}
.links2 a{font-weight:700}
.pro-head{padding-block:2.5rem 1rem;display:block}
.pro-head .lead{max-width:44rem}
/* the professional section's own header: same bar, its own links, a return link to the patient site in the top line */
.topline.pro-top .wrap{justify-content:space-between}
nav.main a.cta{background:var(--blue);color:var(--blue-ink);margin-left:.3rem}
nav.main a.cta:hover{background:var(--blue-hover);color:var(--blue-ink)}
/* "For eye care professionals" in the patient site's main nav (round 28) */
.pro-contact form.simple{background:var(--bg)}

/* ---- Product label facts (round 29): a real table instead of the OCR transcript ---- */
.glance{font-weight:700;color:var(--blue);margin:-.4rem 0 .8rem}
.facts-meta{color:var(--ink-soft);margin:0 0 .7rem;font-size:.95rem}
.facts-table{width:100%;border-collapse:collapse;font-size:.92rem;background:var(--bg);border-radius:10px;overflow:hidden}
.facts-table th,.facts-table td{text-align:left;padding:.42rem .6rem;border-bottom:1px solid var(--line-soft);vertical-align:top}
.facts-table thead th{font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);background:var(--bg-soft2)}
.facts-table th.num,.facts-table td.num{text-align:right;white-space:nowrap}
.facts-table thead th.num{white-space:normal}
.facts-table tbody th{font-weight:700}
.facts-table tbody tr.l1 th{padding-left:1.5rem;font-weight:400}
.facts-table tbody tr.l2 th{padding-left:2.4rem;font-weight:400}
.facts-table tbody tr.l3 th{padding-left:3.3rem;font-weight:400}
.facts-table tbody tr.blend th{font-weight:700}
.facts-table .form{font-weight:400;color:var(--ink-soft)}
.facts-table.drug th{width:9rem}
.facts-table.drug ul{margin:0;padding-left:1.1rem}
.facts-table.drug p{margin:.5rem 0 .2rem}
.facts-foot,.facts-other,.facts-src,.facts-note{font-size:.88rem;color:var(--ink-soft);margin:.6rem 0 0}
.facts-other strong,.facts-note strong{color:var(--ink)}
.facts-src{font-size:.8rem;margin-top:.9rem}
.inci{font-size:.95rem;line-height:1.5}
.label-photo{margin-top:.8rem}
.label-photo summary{font-size:1rem;min-height:2.6rem;padding:.5rem 2.6rem .5rem .8rem}
.label-photo img{margin-top:.4rem}
@media (max-width:520px){ .facts{padding:.9rem} .facts-table{font-size:.85rem} .facts-table th,.facts-table td{padding:.35rem .4rem} }
/* practice catalog: bottle + actives columns */
.catalog .otable td.sm{font-size:.85rem;color:var(--ink-soft)}
.catalog .otable td.sm b{color:var(--ink);font-weight:700;display:block}

/* Phone header (round 29): logo + Account/Cart + Menu did not fit in 390px and the Menu button was cut off at the right edge
   (hidden by overflow-x:clip, so no scrollbar, but "Menu" read "Me"). The header button is icon-only on phones (the count badge stays;
   the bottom tab bar still says Account / Cart in words). */
@media (max-width:520px){ .cart-btn .cb-text{display:none} .cart-btn{padding:.5rem .7rem} .cart-btn.has-items{padding:.5rem .8rem .5rem .7rem} .bar{gap:.5rem} }
@media (max-width:400px){ .logo img{height:2.2rem} .menu-btn{padding:.5rem .8rem} }
/* practice catalog cards (round 29b): photo, bottle, actives, suggested retail, label links */
.pcards{margin-top:.4rem}
.pcard{background:var(--bg);border:1px solid var(--line-soft);border-radius:18px;padding:1rem;min-width:0;display:flex;flex-direction:column;gap:.35rem;box-shadow:var(--shadow)}
.pcard .pphoto{display:block;aspect-ratio:1/1;background:var(--photo-bg);border-radius:14px;overflow:hidden;margin-bottom:.4rem}
.pcard .pphoto img{width:100%;height:100%;object-fit:contain;padding:8%;filter:var(--drop-sm);transition:transform .25s}
.pcard:hover .pphoto img{transform:translateY(-3px) scale(1.03)}
.pcard h4{font-size:1.05rem;line-height:1.25;margin:0}
.pcard h4 a{text-decoration:none;color:var(--ink)}
.pcard h4 a:hover{color:var(--blue);text-decoration:underline}
.pcard .pmeta{font-weight:700;color:var(--blue);font-size:.88rem;margin:0}
.pcard .pact{font-size:.85rem;color:var(--ink-soft);margin:0;line-height:1.4}
.pcard .pact b{color:var(--ink);font-weight:700}
.pcard .pprice{margin:auto 0 0;padding-top:.4rem;font-size:.92rem}
.pcard .pprice .num{font-family:var(--font-display);font-weight:800;font-size:1.15rem}
.pcard .plinks{font-size:.85rem;font-weight:700;margin:0}
.catalog .cat[open] summary{border-bottom:1px solid var(--line-soft)}
.catalog .ans{padding-top:.8rem}

/* ===== Round 30: switch only in the very top bar; professional header with dropdowns and Doctor login ===== */
.topline .aud{display:inline-flex;margin-left:auto;background:rgba(255,255,255,.16);border-radius:999px;padding:.16rem;gap:.1rem}
.topline .aud a{padding:.22rem .9rem;border-radius:999px;text-decoration:none;font-weight:700;color:var(--band-ink);white-space:nowrap;line-height:1.35}
.topline .aud a:hover{background:rgba(255,255,255,.22)}
.topline .aud a[aria-current]{background:#fff;color:var(--blue);cursor:default}
@media (max-width:640px){ .topline .wrap{gap:.3rem .8rem} .topline .aud{margin-left:0;width:100%;justify-content:center} .topline .aud a{flex:1;text-align:center;padding:.3rem .5rem} }
.pro-nav{overflow:visible!important;margin-block:0;padding-block:0}
.pro-nav .dd{position:relative;display:flex;align-items:center}
.pro-nav .dd>a{padding-right:.1rem}
.dd-btn{display:inline-flex;align-items:center;justify-content:center;width:1.7rem;min-height:3rem;margin-left:-.1rem;background:none;border:0;border-radius:999px;color:var(--ink);cursor:pointer;padding:0}
.dd-btn svg{width:1em;height:1em;transition:transform .15s}
.dd.open .dd-btn svg{transform:rotate(180deg)}
.dd:hover .dd-btn,.dd-btn:focus-visible{color:var(--blue)}
.dd-panel{position:absolute;top:calc(100% + .1rem);left:0;width:23.5rem;max-width:calc(100vw - 2rem);background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 44px rgba(10,40,70,.2);padding:.5rem;z-index:80;max-height:calc(100vh - 8rem);overflow-y:auto}
.dd-panel[hidden]{display:none}
.pro-nav .dd:nth-of-type(3) .dd-panel{left:auto;right:0}
.dd-panel::before{content:"";position:absolute;left:0;right:0;top:-.7rem;height:.7rem} /* hover bridge between the button and the panel */
.pro-nav .dd-panel a,.m-acc a{display:flex;align-items:flex-start;gap:.75rem;padding:.6rem .7rem;border-radius:11px;text-decoration:none;color:var(--ink);font-weight:400;min-height:0;white-space:normal;font-size:1rem}
.pro-nav .dd-panel a:hover,.pro-nav .dd-panel a:focus-visible{background:var(--blue-soft);color:var(--ink)}
.dd-panel b,.m-acc b{display:block;font-weight:800;font-size:1rem;line-height:1.25}
.dd-panel small,.m-acc small{display:block;font-size:.85rem;color:var(--ink-soft);margin-top:.1rem;line-height:1.3}
.dd-ic{flex:none;width:2.1rem;height:2.1rem;border-radius:10px;background:var(--blue-soft);color:var(--blue);display:inline-flex;align-items:center;justify-content:center;font-size:1rem;font-weight:800;line-height:1}
.dd-h{margin:.45rem .7rem .15rem;font-size:.74rem;letter-spacing:.09em;text-transform:uppercase;font-weight:800;color:var(--ink-soft)}
.dd-h:first-child{margin-top:.2rem}
.bar .login-btn,.bar .cta-btn{white-space:nowrap;font-size:.95rem;padding:.5rem 1rem;min-height:3rem}
.bar .login-btn svg{width:1.1em;height:1.1em;margin-right:.35rem}
@media (min-width:1001px) and (max-width:1240px){ nav.main.pro-nav a{padding:.5rem .45rem;font-size:.95rem} }
@media (min-width:1001px) and (max-width:1120px){ .bar .login-btn span{display:none} .bar .login-btn svg{margin:0} .bar .login-btn{padding:.5rem .7rem} }
@media (max-width:1000px){ .bar .login-btn,.bar .cta-btn{display:none} }
#menu details.m-acc{border:0;border-bottom:1px solid var(--line-soft);border-radius:0;box-shadow:none;margin:0;background:none}
#menu .m-acc summary::after{content:none}
#menu .m-acc summary{list-style:none;position:static;display:flex;align-items:center;justify-content:space-between;font-weight:700;font-size:1.25rem;padding:1rem .5rem;min-height:3.6rem;cursor:pointer}
#menu .m-acc summary::-webkit-details-marker{display:none}
#menu .m-acc summary svg{width:1.2em;height:1.2em;color:var(--blue);transition:transform .15s}
#menu .m-acc[open] summary svg{transform:rotate(180deg)}
#menu .m-acc>div{padding:0 0 .6rem}
#menu .m-acc a{border-bottom:0;padding:.65rem .5rem .65rem .6rem;font-size:1rem;justify-content:flex-start;min-height:3rem}
#menu .m-acc a svg{display:none}
#menu .m-acc .dd-h{margin-left:.6rem}
#menu a.login{color:var(--blue)}

/* ===== Round 30b: pro pages follow the presentations (story sections, thumbnails, privacy diagram) ===== */
.d2h-logo{height:3.6rem;width:auto;margin-bottom:1rem;display:block}
.sec-no b{display:inline-grid;place-items:center;min-width:2.1rem;height:2.1rem;padding:0 .35rem;border-radius:999px;background:var(--blue);color:var(--blue-ink);font-size:.82rem;letter-spacing:.02em}
.sec-no::before{display:none}
.band-navy .sec-no b{background:var(--gold);color:var(--gold-ink)}
.feature-pres{padding-block:1.2rem 0}
.fp-card{display:grid;grid-template-columns:1.15fr 1fr;gap:0;background:var(--bg);border:1px solid var(--line-soft);border-radius:24px;overflow:hidden;box-shadow:var(--shadow);text-decoration:none;color:var(--ink);align-items:stretch}
.fp-card:hover{border-color:var(--blue);transform:translateY(-1px)}
.fp-thumb,.pres-thumb{position:relative;display:block;background:var(--bg-soft2);overflow:hidden}
.fp-thumb img,.pres-thumb img{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:2/1}
.pres-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:4rem;height:4rem;border-radius:50%;background:rgba(15,34,64,.82);color:#fff;display:grid;place-items:center;font-size:1.5rem;padding-left:.2rem;box-shadow:0 8px 24px rgba(0,0,0,.28);transition:transform .15s,background .15s}
.fp-card:hover .pres-play,.pres-card:hover .pres-play{transform:translate(-50%,-50%) scale(1.08);background:var(--blue)}
.fp-body{display:grid;gap:.6rem;align-content:center;padding:1.6rem 1.8rem}
.fp-body strong{font-family:var(--font-display);font-size:1.7rem;line-height:1.15;font-weight:800}
.fp-body>span:not(.eyebrow):not(.fp-go){color:var(--ink-soft)}
.fp-go{display:inline-flex;align-items:center;gap:.4rem;color:var(--blue);font-weight:800}
.fp-go svg{width:1.2em;height:1.2em}
.fp-card.small{grid-template-columns:1fr}
.fp-card.small .fp-body{padding:1rem 1.2rem}.fp-card.small .fp-body strong{font-size:1.15rem}
.fp-alt{margin:.9rem .3rem 0;color:var(--ink-soft)}
@media (max-width:820px){ .fp-card{grid-template-columns:1fr} .fp-body{padding:1.2rem} .fp-body strong{font-size:1.35rem} }
.pres-card{display:flex;flex-direction:column;gap:0;padding:0;overflow:hidden;border-radius:20px}
.pres-card .pres-thumb{border-bottom:1px solid var(--line-soft)}
.pres-card .pres-play{width:3rem;height:3rem;font-size:1.1rem}
.pres-body{display:grid;gap:.3rem;padding:1rem 1.1rem 1.2rem}
.story3{list-style:none;padding:0;margin:0 0 2rem;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr);counter-reset:s3}
.story3 li{background:var(--bg);border:1px solid var(--line-soft);border-radius:20px;padding:1.4rem;display:grid;gap:.35rem;align-content:start;box-shadow:var(--shadow);min-width:0}
.story3 strong{font-family:var(--font-display);font-size:1.2rem;font-weight:800}
.story3 li>span:not(.prog-ic):not(.stepn){color:var(--ink-soft)}
.stepn{width:2.4rem;height:2.4rem;border-radius:50%;background:var(--blue);color:var(--blue-ink);display:grid;place-items:center;font-weight:800;font-size:1.1rem}
.setup3 li>span:not(.stepn){color:var(--ink-soft)}
@media (max-width:760px){ .story3{grid-template-columns:1fr} }
.months{background:var(--bg-soft);border-radius:24px;padding:1.4rem 1.6rem 1.2rem;margin-bottom:2rem}
.months h3.sub{margin-top:0}
.m-row{display:grid;grid-template-columns:11rem 1fr;gap:1rem;align-items:center;margin:.8rem 0}
.m-lab{font-weight:800;line-height:1.2}.m-lab small{display:block;font-weight:400;color:var(--ink-soft)}
.m-dots{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:.35rem}
.m-dots li{height:2.3rem;border-radius:10px;background:var(--bg);border:1px dashed var(--line);display:grid;place-items:center;font-size:.7rem;font-weight:700;color:var(--ink-soft)}
.m-dots li.on{background:var(--blue);border:1px solid var(--blue);color:var(--blue-ink)}
.m-dots.prod li.on::after{content:"$";margin-left:.1rem}
.m-dots li span{display:none}
@media (min-width:640px){ .m-dots li span{display:inline} .m-dots li.on.prod span{display:inline} }
@media (max-width:640px){ .m-row{grid-template-columns:1fr;gap:.4rem} .m-dots li{height:1.9rem} }
.gapflow{list-style:none;padding:0;margin:0 0 1rem;display:grid;gap:.7rem;grid-template-columns:repeat(6,minmax(0,1fr))}
.gapflow li{background:var(--bg);border:1px solid var(--line-soft);border-radius:16px;padding:.9rem .9rem;display:grid;gap:.25rem;align-content:start;position:relative}
.gapflow li b{font-size:1rem;line-height:1.2}.gapflow li span{font-size:.88rem;color:var(--ink-soft)}
.gapflow li.you{background:var(--blue);border-color:var(--blue);color:var(--blue-ink);align-content:center}
.gapflow li:not(:last-child)::after{content:"→";position:absolute;right:-.62rem;top:50%;transform:translateY(-50%);z-index:2;color:var(--ink-soft);font-weight:800;background:var(--bg);border-radius:50%;width:1.2rem;height:1.2rem;display:grid;place-items:center;font-size:.8rem;line-height:1}
.gapflow li:nth-child(n+3){border-style:dashed}
@media (max-width:900px){ .gapflow{grid-template-columns:repeat(2,minmax(0,1fr))} .gapflow li::after{display:none} }
.callout{background:var(--gold-soft);border-left:5px solid var(--gold);border-radius:12px;padding:.9rem 1.2rem;font-weight:700;margin:0 0 1.6rem;color:var(--ink)}
.whatif{display:grid;grid-template-columns:1.4fr 1fr;gap:1.4rem;align-items:center;background:var(--bg-soft);border-radius:24px;padding:1.6rem 1.8rem}
.whatif h3{font-size:1.35rem;margin-bottom:.4rem}.whatif p{margin:0;color:var(--ink-soft)}
@media (max-width:820px){ .whatif{grid-template-columns:1fr} }
.chips{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.5rem}
.chips li{background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:.35rem .85rem;font-weight:700;font-size:.92rem;color:var(--ink)}
.close-band .chips li{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.28);color:var(--band-ink)}
.four{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1000px){ .four{grid-template-columns:repeat(2,minmax(0,1fr))} } @media (max-width:560px){ .four{grid-template-columns:1fr} }
.wayscards .wc h4{font-size:1.1rem;margin:.1rem 0 .4rem}
.prog-ic{font-size:1.9rem;line-height:1;display:block;margin-bottom:.5rem}
.mfree{list-style:none;padding:0;margin:.8rem 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem}
.mfree li{background:var(--bg-soft);border-radius:12px;padding:.5rem .4rem;text-align:center;font-weight:800;font-size:.95rem}
.mfree li b{display:block;font-size:.7rem;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft);font-weight:700}
.mfree li:first-child{background:var(--green-soft);color:var(--green)}
.epseven{list-style:none;padding:0;margin:0 0 .5rem;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.5rem;counter-reset:e7}
.epseven li{counter-increment:e7;background:var(--bg);border:1px solid var(--line-soft);border-radius:14px;padding:.7rem .6rem;text-align:center;font-size:.9rem;display:grid;gap:.35rem;justify-items:center}
.epseven li::before{content:counter(e7);width:1.7rem;height:1.7rem;border-radius:50%;background:var(--blue);color:var(--blue-ink);display:grid;place-items:center;font-size:.8rem;font-weight:800}
@media (max-width:900px){ .epseven{grid-template-columns:repeat(2,minmax(0,1fr))} .epseven li:last-child{grid-column:1/-1} }
.priv{display:grid;grid-template-columns:1fr auto 1fr auto 1.2fr;gap:.8rem;align-items:center;margin:1rem 0}
.pcol{display:grid;gap:.6rem}
.pnode{border-radius:18px;padding:1rem 1.1rem;border:2px solid var(--line);background:var(--bg);display:grid;gap:.25rem;min-width:0}
.pnode small{font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;font-weight:800;color:var(--ink-soft)}
.pnode b{font-size:1rem;line-height:1.25}.pnode span{font-size:.88rem;color:var(--ink-soft)}
.pnode.here{border-color:var(--blue);background:var(--blue-soft)}
.pnode.no{border-style:dashed}.pnode.no b{color:var(--green)}
.pnode.order{border-color:var(--green);background:var(--green-soft)}
.parrow{font-size:1.6rem;color:var(--ink-soft);font-weight:800}
@media (max-width:900px){ .priv{grid-template-columns:1fr} .parrow{transform:rotate(90deg);justify-self:center} }
.mailcase .mail{border:1px solid var(--line);border-radius:12px;padding:.7rem .9rem;margin-top:.7rem;background:var(--bg);display:grid;gap:.1rem}
.mail small{font-size:.72rem;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft);font-weight:700}
.mail span{color:var(--ink-soft);font-size:.92rem}
.mail.letter{border-style:dashed;background:var(--bg-soft)}
.formula .eq{font-size:1.1rem;line-height:1.5}.formula .eq b{background:var(--blue-soft);padding:.1rem .5rem;border-radius:8px;white-space:nowrap}
.ep-watch{display:grid;grid-template-columns:1fr 1.25fr;gap:1.6rem;align-items:start;margin-bottom:1.6rem}
.epsix{list-style:none;padding:0;margin:0;display:grid;gap:.6rem;counter-reset:e6}
.epsix li{counter-increment:e6;display:grid;grid-template-columns:2.2rem 1fr;gap:.2rem .8rem;background:var(--bg);border:1px solid var(--line-soft);border-radius:14px;padding:.7rem .9rem}
.epsix li::before{content:counter(e6);grid-row:1/3;width:2.2rem;height:2.2rem;border-radius:50%;background:var(--blue);color:var(--blue-ink);display:grid;place-items:center;font-weight:800}
.epsix li span{color:var(--ink-soft);font-size:.95rem}
@media (max-width:900px){ .ep-watch{grid-template-columns:1fr} }
.numlist{margin:.4rem 0 0;padding-left:1.4rem;display:grid;gap:.35rem}.numlist li::marker{font-weight:800;color:var(--blue)}
.center-row{justify-content:center}
.close-band .recap h3{font-size:1.05rem;margin-bottom:.6rem}
.end-line{font-family:var(--font-display);font-size:1.5rem;font-weight:800;margin:2rem 0 0;color:var(--band-ink)}
.close-band .btn-row{margin-top:1rem}

/* round 30b fixes */
.pres-play{left:auto;right:1rem;top:auto;bottom:1rem;transform:none}
.fp-card:hover .pres-play,.pres-card:hover .pres-play{transform:scale(1.08)}
.fp-alt,.callout,p.center{max-width:none}
p.muted.center,p.center{margin-inline:auto;text-align:center;max-width:52rem}
.callout{max-width:none;text-align:left}
.gapflow li{padding-right:1.1rem}
.four .way h3{font-size:1.05rem;line-height:1.25}
@media (min-width:900px){
  .wayscards{grid-template-columns:repeat(6,minmax(0,1fr))}
  .wayscards>*{grid-column:span 2}
  .wayscards>*:nth-child(n+4){grid-column:span 3}
}
.formula .eq{display:flex;flex-wrap:wrap;gap:.4rem .5rem;align-items:center;font-size:1rem}
.formula .eq i{font-style:normal;font-weight:800;color:var(--ink-soft)}

.pathno{display:inline-block;background:var(--blue-soft);color:var(--blue);font-weight:800;font-size:.8rem;letter-spacing:.07em;text-transform:uppercase;border-radius:999px;padding:.25rem .75rem;margin-bottom:.7rem}
.path h3{font-size:1.1rem;line-height:1.3}
.path .btn-row{margin-top:1rem}
p.center{margin-top:1.1rem}
.btn-row + p.muted,.btn-row + p{margin-top:1rem}
.income>*{min-width:0}
@media (max-width:900px){ .income{grid-template-columns:minmax(0,1fr)} }

/* CTA reach on phones: sticky buy bar on product pages, compact cookie notice */
.buybar{display:none}
@media (max-width:1000px){
  .buybar{position:fixed;left:0;right:0;bottom:calc(4.6rem + env(safe-area-inset-bottom,0px));z-index:54;display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.55rem 1rem;background:var(--bg);border-top:1px solid var(--line);box-shadow:0 -6px 18px rgba(15,34,64,.14)}
  .buybar[hidden]{display:none}
  .buybar-p{font-family:var(--font-display);font-weight:800;font-size:1.25rem;line-height:1.1}
  .buybar-p small{display:block;font-family:var(--font-body);font-size:.8rem;font-weight:600;color:var(--ink-soft)}
  .buybar .btn{min-height:3rem;padding:.55rem 1.3rem;white-space:nowrap}
}
@media (max-width:600px){
  .consent{padding:.6rem 0}
  .consent .wrap{gap:.5rem}
  .consent p{font-size:.88rem;line-height:1.35}
  .consent .btn-row{flex-wrap:nowrap;width:100%}
  .consent .btn-row .btn{flex:1 1 0;min-height:2.7rem;padding:.4rem .6rem;font-size:.95rem}
}

/* Round 37f: patient site on phones: denser product lists, shorter hero, less stacking */
@media (max-width:640px){
  body:not(.pro) .topline .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:.15rem .9rem;font-size:.84rem}
  body:not(.pro) .hero-visual{padding-bottom:0;max-width:none}
  body:not(.pro) .hero-photo:not(.sq){aspect-ratio:16/10;object-position:50% 22%;border-radius:20px}
  body:not(.pro) .trust-card{margin-top:1rem;grid-template-columns:1fr 1fr;gap:.7rem .6rem;padding:.9rem}
  body:not(.pro) .trust-card .icon{width:2.1rem;height:2.1rem}
  body:not(.pro) .trust-card .icon svg{width:1.15rem;height:1.15rem}
  body:not(.pro) .trust-card li{align-items:flex-start;gap:.5rem}
  body:not(.pro) .trust-card strong{font-size:.92rem}
  body:not(.pro) .trust-card span{font-size:.8rem;line-height:1.25}
  body:not(.pro) .tile{padding:1rem;min-height:0;gap:.6rem}
  body:not(.pro) .tile img{width:4.4rem;height:4.4rem}
  body:not(.pro) .tile.find .icon{width:4.4rem;height:4.4rem}
  body:not(.pro) .tile p{font-size:.92rem;line-height:1.4}
  /* product lists: one compact row per product instead of a full-height card */
  body:not(.pro) .card{display:grid;grid-template-columns:5.4rem 1fr;column-gap:.85rem;row-gap:.15rem;padding:.8rem;align-items:start}
  body:not(.pro) .card .card-link{display:contents}
  body:not(.pro) .card .photo{grid-column:1;grid-row:1 / span 7;padding:.25rem;border-radius:12px;align-self:start}
  body:not(.pro) .card > :not(.card-link),body:not(.pro) .card .card-link > :not(.photo){grid-column:2;min-width:0}
  body:not(.pro) .card h3{font-size:1rem;margin:0}
  body:not(.pro) .card .tag{display:none}
  body:not(.pro) .card .badges{margin:0}
  body:not(.pro) .card .price{flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:.05rem .5rem;padding-top:.15rem}
  body:not(.pro) .card .price .now{font-size:1.2rem}
  body:not(.pro) .card .price .aslow{font-size:.72rem}
  body:not(.pro) .card .price .auto{flex-basis:100%;font-size:.8rem}
  body:not(.pro) .card .card-actions{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;margin-top:.3rem}
  body:not(.pro) .card .card-actions .btn{padding:.55rem .9rem;font-size:.92rem;min-height:2.6rem}
}
@media (max-width:640px){
  body:not(.pro) .hero-call{display:none}
  body:not(.pro) .trust-card li > div > span{display:none}
  body:not(.pro) .trust-card li{align-items:center}
  body:not(.pro) .card .card-actions .see{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
}
body:not(.pro) .float-card{display:none}
@media (max-width:640px){
  body:not(.pro) .page-head .hero-photo{aspect-ratio:16/10;object-position:50% 25%;max-width:none}
}
body:not(.pro) .hero .hero-call{display:none}

/* Round 39b: trust strip, breathing room at the edges and tight line spacing */
@media (min-width:641px){
  body:not(.pro) .trust-card{padding:1.15rem 1.8rem;gap:1rem 0;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch}
  body:not(.pro) .trust-card li{padding:.2rem 1.1rem;gap:.85rem;align-items:center;border-left:1px solid var(--line-soft)}
  body:not(.pro) .trust-card li:first-child{border-left:0;padding-left:0}
  body:not(.pro) .trust-card li:last-child{padding-right:0}
  body:not(.pro) .trust-card li > div{display:grid;gap:.15rem;min-width:0}
  body:not(.pro) .trust-card strong{font-size:1rem;line-height:1.2}
  body:not(.pro) .trust-card li > div > span{font-size:.88rem;line-height:1.3;display:block}
}
@media (min-width:641px) and (max-width:1000px){
  body:not(.pro) .trust-card{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem 0}
  body:not(.pro) .trust-card li:nth-child(odd){border-left:0;padding-left:0}
  body:not(.pro) .trust-card li:nth-child(even){padding-right:0}
}


/* Round 40: Autoship confirmation popup */
.as-dialog{border:0;border-radius:20px;padding:2rem 2rem 1.6rem;max-width:min(34rem,calc(100vw - 2rem));width:100%;box-shadow:0 30px 80px -20px rgba(15,34,54,.5);color:var(--ink);background:var(--bg)}
.as-dialog::backdrop{background:rgba(15,34,54,.55)}
.as-dialog h2{font-size:1.5rem;margin:0 0 1rem;padding-left:.9rem;border-left:4px solid var(--blue);line-height:1.2}
.as-dialog p{font-size:1.1rem;line-height:1.55;margin:0 0 1.4rem;color:var(--ink-soft)}
.as-dialog p strong{color:var(--ink)}
.as-dialog .asd-actions{display:grid;gap:.7rem}
.as-dialog .asd-actions .btn{width:100%;justify-content:center}
.as-dialog .asd-x{position:absolute;top:.6rem;right:.6rem;width:2.75rem;height:2.75rem;border:0;background:none;font-size:1.9rem;line-height:1;color:var(--ink-soft);cursor:pointer;border-radius:50%}
.as-dialog .asd-x:hover{background:var(--bg-soft)}

/* ROUND 41c: the lens sale is for doctors' offices, not patients: smaller type so more fits on the screen and it is quicker to work through.
   Everything is in rem, so dropping the root size from 18px to 14px scales the page (and the lens checkout, via html.lens-compact) down together. */
html[data-route="contact-lenses"], html.lens-compact{font-size:14px}
html[data-route="contact-lenses"] h1, html.lens-compact h1{font-size:1.75rem;line-height:1.2}
html[data-route="contact-lenses"] .lens-head h1{margin:.2rem 0 .5rem}
html[data-route="contact-lenses"] .lead, html.lens-compact .lead{font-size:1rem;line-height:1.5;max-width:60rem}
html[data-route="contact-lenses"] h2, html.lens-compact .faq-sec h2{font-size:1.3rem}
html[data-route="contact-lenses"] .lens-page{padding-top:.8rem}
html[data-route="contact-lenses"] .lens-layout{grid-template-columns:1fr 24rem;gap:1.4rem}
@media (max-width:960px){ html[data-route="contact-lenses"] .lens-layout{grid-template-columns:1fr} }
html[data-route="contact-lenses"] .lens{padding:1rem;margin-bottom:.9rem}
html[data-route="contact-lenses"] .lens-head h2{font-size:1.15rem}
html[data-route="contact-lenses"] .lens-head .price{font-size:1.25rem}
html[data-route="contact-lenses"] .lens-pick{gap:.6rem;margin-top:.7rem;padding-top:.7rem}
html[data-route="contact-lenses"] .lens-pick select,html[data-route="contact-lenses"] .lens-pick input{min-height:2.5rem;padding:.4rem .6rem}
html[data-route="contact-lenses"] .lens-pick select{min-width:11rem}
html[data-route="contact-lenses"] .btn-big, html.lens-compact .btn-big{min-height:2.9rem;font-size:1rem;padding:.55rem 1.3rem}
html[data-route="contact-lenses"] .faq-sec{padding-block:1.6rem}
html[data-route="contact-lenses"] .faq-sec summary{font-size:1rem}
html[data-route="contact-lenses"] .faq-sec .ans p{font-size:.95rem}
html.lens-compact .store-layout, html[data-route="contact-lenses"] .lens-layout{align-items:start}
html.lens-compact .cstep h2{font-size:1.2rem}
html.lens-compact .order .total{font-size:1.15rem}
html.lens-compact form.simple input,html.lens-compact form.simple select{min-height:2.5rem;padding:.4rem .7rem;font-size:1rem}
html.lens-compact form.simple{gap:.7rem}

.lens-confirm .lc-sum{margin:.4rem 0 .8rem;padding:.2rem 0 0;border-top:1px solid var(--line-soft)} .lens-confirm .lc-sum .total{font-size:1.15rem}
