/* Two calculation modes within the existing lens tool. */
.lens-compare-v2 .lens-3d-banner{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr) minmax(160px,42%);align-items:center;min-height:244px;overflow:hidden;padding:clamp(22px,3vw,34px);border:1px solid #254d87;border-radius:16px;background:radial-gradient(circle at 80% 48%,#173f70 0,#0b2853 40%,#061b3d 100%);color:#fff;box-shadow:0 12px 28px #0b295326}
.lens-compare-v2 .lens-3d-banner__copy{position:relative;z-index:1;max-width:470px}
.lens-compare-v2 .lens-3d-banner__eyebrow{margin:0 0 12px;color:#80bcff;font-size:11px;font-weight:800;letter-spacing:.14em}
.lens-compare-v2 .lens-3d-banner h2{max-width:26ch;margin:0;color:#fff;font-size:clamp(24px,2.3vw,32px);line-height:1.14;letter-spacing:-.025em}
.lens-compare-v2 .lens-3d-banner__copy>p:not(.lens-3d-banner__eyebrow){max-width:40ch;margin:14px 0 0;color:#dcecff;font-size:14px;line-height:1.5}
.lens-compare-v2 .lens-3d-banner__cta{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;margin-top:20px;padding:11px 20px;border-radius:10px;background:#1478f5;color:#fff;font-size:14px;font-weight:800;text-decoration:none;box-shadow:0 8px 22px #00152f4d;transition:background .18s ease,transform .18s ease}
.lens-compare-v2 .lens-3d-banner__cta:hover{background:#0a68e3;transform:translateY(-2px)}
.lens-compare-v2 .lens-3d-banner__cta:focus-visible{outline:3px solid #fff;outline-offset:3px}
.lens-compare-v2 .lens-3d-banner__transfer-note{padding:9px 11px;border:1px solid #9cc6ff;border-radius:9px;background:#082c5c;color:#fff!important;font-size:12px!important}
.lens-compare-v2 .lens-3d-banner__transfer-note[hidden]{display:none}
.lens-compare-v2 .lens-3d-banner__art{width:100%;max-width:440px;height:auto;justify-self:end;filter:drop-shadow(0 20px 16px #0008)}
@media(max-width:700px){.lens-compare-v2 .lens-3d-banner{grid-template-columns:minmax(0,1fr) 34%;min-height:220px;padding:20px}.lens-compare-v2 .lens-3d-banner h2{font-size:clamp(21px,5.2vw,28px)}.lens-compare-v2 .lens-3d-banner__copy>p:not(.lens-3d-banner__eyebrow){font-size:12px}.lens-compare-v2 .lens-3d-banner__cta{min-height:44px;margin-top:15px;padding:9px 12px;font-size:12px}}
@media(max-width:470px){.lens-compare-v2 .lens-3d-banner{display:block;min-height:0;padding:20px 18px 132px}.lens-compare-v2 .lens-3d-banner h2{max-width:18ch}.lens-compare-v2 .lens-3d-banner__art{position:absolute;right:-8px;bottom:-33px;width:60%;max-width:245px;opacity:.88}.lens-compare-v2 .lens-3d-banner__copy>p:not(.lens-3d-banner__eyebrow){max-width:28ch}}
.lens-compare-v2 .lens-calculator__intro{background:linear-gradient(135deg,#fff 45%,#eaf4ff)}
.lens-compare-v2 .lens-calculator__intro h1{font-size:clamp(25px,2.5vw,34px)}
.lens-basic-pd{margin-top:15px;padding-top:14px;border-top:1px solid #dce7f5}
.lens-basic-pd label{max-width:190px}
.lens-basic-pd input,.lens-frame-extra input,.lens-frame-extra select,.lens-frame-mode [data-frame-catalog] select{width:100%;min-height:44px;padding:0 10px;border:1px solid #cbdced;border-radius:9px;background:#fff;color:#0d224b;font:inherit;box-sizing:border-box}
.lens-mode-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0;border:1px solid #dce7f5}
.lens-mode-switch legend{margin-bottom:8px;color:#102651;font-size:15px;font-weight:850}
.lens-mode-switch label{position:relative;display:block;min-width:0;cursor:pointer}
.lens-mode-switch input,.lens-frame-shapes input{position:absolute;opacity:0}
.lens-mode-switch label>span{display:grid;align-content:center;gap:5px;min-height:72px;padding:10px 13px;border:1px solid #cdddf0;border-radius:12px;background:#f7faff;color:#123260}
.lens-mode-switch label>span strong{font-size:13px;line-height:1.25}
.lens-mode-switch label>span small{font-size:10px;line-height:1.3}
.lens-mode-switch input:checked+span{border-color:#1763f5;background:#e9f2ff;box-shadow:inset 0 0 0 1px #1763f5}
.lens-mode-switch input:focus-visible+span,.lens-frame-shapes input:focus-visible+span{outline:3px solid #1763f5;outline-offset:2px}
.lens-frame-mode{display:grid;gap:13px}
.lens-frame-mode .lens-step-title{margin-bottom:0}
.lens-frame-source{display:flex;flex-wrap:wrap;gap:8px;padding:5px;border:1px solid #d4e2f4;border-radius:11px;background:#f3f8ff}
.lens-frame-source label{display:flex;align-items:center;gap:6px;min-height:40px;padding:0 10px;border-radius:8px;color:#123260;font-size:12px;font-weight:800;cursor:pointer}
.lens-frame-source label:has(input:checked){background:#1763f5;color:#fff}
.lens-frame-mode [data-frame-catalog] p{margin:7px 0 0;color:#647895;font-size:11px}
.lens-frame-shapes{min-width:0;padding:0;border:0}
.lens-frame-shapes legend,.lens-frame-extra legend{margin-bottom:8px;color:#102651;font-size:13px;font-weight:850}
.lens-frame-shapes>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.lens-frame-shapes label{position:relative;min-width:0;cursor:pointer}
.lens-frame-shapes label>span{display:grid;place-items:center;gap:3px;min-height:73px;padding:6px 2px;border:1px solid #d4e2f1;border-radius:9px;background:#fff;color:#15345d;text-align:center}
.lens-frame-shapes label>span strong{font-size:10px;line-height:1.2}
.lens-frame-shapes input:checked+span{border-color:#1763f5;background:#eaf3ff;box-shadow:inset 0 0 0 1px #1763f5}
.lens-frame-svg{display:block;width:94px;max-width:100%;height:39px;overflow:visible;fill:none;stroke-linecap:round;stroke-linejoin:round}
.lens-frame-svg .lens-frame-eyes path{fill:#fff;stroke:#18304e;stroke-width:1.25}
.lens-frame-svg .lens-frame-bridge{stroke:#18304e;stroke-width:1.6}
.lens-frame-svg .lens-frame-bridge--secondary{stroke-width:.8}
.lens-frame-svg .lens-frame-temple{stroke:#526a84;stroke-width:1.2}
.lens-frame-svg .lens-frame-hinge{stroke:#18304e;stroke-width:1.7}
.lens-frame-svg .lens-frame-nasal{stroke:#8299ae;stroke-width:.8}
.lens-frame-svg .lens-frame-brow{stroke:#18304e;stroke-width:3.2}
.lens-frame-preview{display:flex;align-items:center;gap:13px;min-height:72px;margin-top:10px;padding:9px 13px;border:1px solid #d9e6f4;border-radius:11px;background:linear-gradient(105deg,#f6faff,#fff)}
.lens-frame-preview .lens-frame-svg{flex:none;width:160px;height:55px}
.lens-frame-preview span{display:grid;gap:3px;color:#102c58}
.lens-frame-preview strong{font-size:13px}.lens-frame-preview small{color:#627996;font-size:10px}
.lens-frame-extra{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.lens-frame-extra fieldset{display:grid;align-content:start;gap:9px;min-width:0;padding:13px!important;border:1px solid #dce7f5!important;border-radius:11px;background:#fbfdff}
.lens-frame-extra label{min-width:0;color:#18345e;font-size:11px;font-weight:750}
.lens-frame-extra label>span{display:grid;gap:3px}
.lens-frame-mono-toggle{display:flex!important;align-items:center;gap:6px;cursor:pointer}
.lens-frame-extra [data-mono-pd],.lens-frame-fh-eyes{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.lens-frame-extra [data-mono-pd][hidden],.lens-frame-extra [data-frame-blank-custom][hidden]{display:none}
.lens-frame-result{padding:22px;background:#fff}
.lens-frame-result__summary{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:8px;margin-bottom:19px}
.lens-frame-result__summary>div{display:grid;align-content:start;gap:4px;min-width:0;padding:11px;border:1px solid #d9e6f4;border-radius:10px;background:#f7faff}
.lens-frame-result__summary small{color:#5e7798;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}
.lens-frame-result__summary strong{color:#142e5a;font-size:12px;line-height:1.45}
.lens-frame-result__summary>div:first-child>div{display:flex;gap:9px;align-items:baseline}
.lens-frame-result__summary>div:first-child>div small{min-width:19px;color:#1763f5}
.lens-frame-result__head h2{margin:5px 0;color:#09285a;font-size:25px}
.lens-frame-result__head p:last-child{margin:5px 0 16px;color:#657995;font-size:12px}
.lens-frame-result__drawing{padding:12px;border:1px solid #d9e6f4;border-radius:12px;background:linear-gradient(#f8fbff,#fff)}
.lens-frame-result__drawing svg{display:block;width:100%;height:auto;max-height:280px}
.lens-frame-result__drawing .lens-frame-svg .lens-frame-eyes path{fill:#fff;stroke-width:1}
.lens-frame-result__drawing .lens-frame-svg .lens-frame-bridge{stroke-width:1.3}
.lens-frame-result__drawing .lens-frame-svg .lens-frame-brow{stroke-width:2.5}
.lens-frame-result__drawing .lens-frame-svg .lens-frame-hinge{stroke-width:.9}
.lens-frame-result__drawing .lens-frame-svg .lens-frame-temple{stroke-width:.85}
.lens-frame-result__drawing .lens-frame-svg .lens-frame-nasal{stroke-width:.6}
.lens-frame-result__drawing svg text{fill:#31598e;font-size:2.7px;font-weight:750;stroke:none}
.lens-frame-oc path{stroke:#1763f5;stroke-width:.55}
.lens-frame-oc circle{fill:#1763f5;stroke:#fff;stroke-width:.6}
.lens-frame-oc circle.is-estimated{fill:#fff;stroke:#1763f5;stroke-dasharray:1 1}
.lens-frame-oc .lens-frame-fh-line{stroke:#69a0e8;stroke-width:.45}
.lens-frame-oc .lens-frame-fh-line.is-estimated{stroke-dasharray:1 1}
.lens-frame-pd-line{stroke:#7996c0;stroke-width:.45}
.lens-frame-pd-label{font-size:2.5px!important}
.lens-frame-ed-line{stroke:#92a8c1;stroke-width:.4;stroke-dasharray:1.5 1}
.lens-frame-ed-label{fill:#657f9d!important;font-size:2.3px!important}
.lens-frame-thickest{fill:#e97131;stroke:#fff;stroke-width:.7}
.lens-frame-result__drawing>p{margin:4px 0 0;color:#597392;font-size:11px;line-height:1.4}
.lens-frame-index-grid{display:grid;grid-template-columns:repeat(var(--frame-columns),minmax(0,1fr));gap:7px;margin-top:13px}
.lens-frame-index-card{display:grid;justify-items:center;align-content:start;gap:4px;min-width:0;padding:11px 5px;border:1px solid #d9e6f4;border-radius:10px;background:#fbfdff;text-align:center}
.lens-frame-index-card strong{color:#0a2452;font-size:18px}.lens-frame-index-card small{color:#5f7697;font-size:10px}.lens-frame-index-card .lens-profile{width:min(100%,80px);height:112px;margin:5px 0}.lens-frame-index-card b{color:#0c275c;font-size:14px}.lens-frame-index-card>span{color:#1763f5;font-size:10px;line-height:1.3}
.lens-frame-nearest{margin:12px 0;padding:11px;border-radius:9px;background:#eff6ff;color:#244d83;font-size:12px;line-height:1.5}
.lens-frame-nearest-title{margin:14px 0 0;color:#102b5e;font-size:14px}
.lens-advice-result{padding:14px 18px 18px;background:#fff}
.lens-compare-v2 .lens-comparison-column,.lens-compare-v2 .lens-comparison-table__labels{grid-template-rows:70px 145px minmax(86px,auto) minmax(82px,auto) 58px 64px}
.lens-compare-v2 .lens-comparison-column__visual .lens-profile{width:70px;height:130px}
.lens-accuracy-label{margin:0 0 10px;color:#536e8f;font-size:12px}
.lens-advice-card{display:grid;grid-template-columns:28px 1fr;gap:9px;padding:17px;border:1px solid #d5e9e7;border-radius:12px;background:#edf8f6;color:#103c4e}
.lens-advice-card>span{color:#148763;font-size:20px}.lens-advice-card p{margin:0 0 3px;color:#126498;font-size:12px;font-weight:850}.lens-advice-card strong{font-size:25px}.lens-advice-card ul,.lens-frame-assumptions ul{margin:7px 0 0;padding-left:18px;font-size:11px;line-height:1.6}
.lens-frame-detail{margin-top:16px}.lens-frame-detail h3{margin:0 0 8px;color:#102b5e;font-size:15px}.lens-frame-detail__scroll{overflow-x:auto}.lens-frame-detail table{width:100%;min-width:520px;border-collapse:collapse;font-size:11px}.lens-frame-detail th,.lens-frame-detail td{padding:9px;border:1px solid #e0e9f4;text-align:left}.lens-frame-detail thead{background:#eef5fd;color:#1d467b}
.lens-frame-assumptions{margin-top:14px;padding:13px;border-left:3px solid #7ea8de;background:#f5f9fe;color:#415d80;font-size:11px}.lens-frame-assumptions strong{color:#183d73}
.lens-frame-mode[hidden],.lens-frame-result[hidden],.lens-advice-result[hidden],.lens-basic-pd[hidden]{display:none!important}
@media(max-width:1180px){.lens-frame-result{grid-column:1/-1}}
@media(max-width:760px){.lens-mode-switch{grid-template-columns:1fr 1fr}.lens-frame-shapes>div{grid-template-columns:repeat(3,minmax(0,1fr))}.lens-frame-index-grid{grid-template-columns:repeat(var(--frame-columns),minmax(118px,1fr));overflow-x:auto;padding-bottom:8px}.lens-frame-extra,.lens-frame-result__summary{grid-template-columns:1fr}.lens-frame-result__drawing svg text{font-size:3px}}
@media(max-width:390px){.lens-mode-switch{grid-template-columns:1fr}.lens-frame-shapes>div{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* One data-driven cross-section for every comparison card. */
.lens-thickness-model{display:grid;justify-items:center;align-content:start;width:100%;min-height:190px}
.lens-thickness-visual{display:block;width:104px;height:144px;overflow:visible;filter:drop-shadow(0 8px 7px rgba(29,85,139,.16));animation:lens-thickness-appear .3s ease both}
@keyframes lens-thickness-appear{from{opacity:.6;transform:scaleX(.94)}to{opacity:1;transform:scaleX(1)}}
.lens-thickness-model__measure{display:grid;justify-items:center;gap:1px;color:#1b4d85;line-height:1.15}
.lens-thickness-model__measure>span{display:block;width:var(--lens-width);min-width:22px;border-top:1px solid #529ce0;font-size:16px;line-height:2px;text-align:center;color:#1763c7}
.lens-thickness-model__measure>small{margin-top:7px;font-size:10px;color:#617a98}
.lens-thickness-model__measure>strong{font-size:14px;color:#0d2858;white-space:nowrap}
.lens-frame-index-card{gap:5px;padding:12px 7px}
.lens-frame-index-card.is-focus{border-color:#1763f5;background:#f1f7ff;box-shadow:inset 0 0 0 1px #1763f5}
.lens-frame-index-card__eyes{display:grid;gap:3px;box-sizing:border-box;width:100%;padding:5px 6px 0;border-top:1px solid #e0ebf7}
.lens-frame-index-card__eyes span{display:flex;justify-content:space-between;gap:4px;font-size:11px;color:#536d8d}
.lens-frame-index-card__eyes b{font-size:11px;color:#102b5e}
.lens-compare-v2 .lens-comparison-column,.lens-compare-v2 .lens-comparison-table__labels{grid-template-rows:70px 200px minmax(86px,auto) minmax(82px,auto) 58px 64px}
.lens-compare-v2 .lens-comparison-column__visual{padding:6px 2px}
.lens-compare-v2 .lens-hero-lens .lens-thickness-model{min-height:144px}
@media(max-width:760px){.lens-frame-index-grid{grid-template-columns:repeat(var(--frame-columns),minmax(152px,1fr))}}
@media(prefers-reduced-motion:reduce){.lens-thickness-visual{animation:none}}
.lens-compare-v2 .lens-calculator__results{scroll-margin-top:110px}
