/* v18: a single card gallery, aligned comparison, then a continuous rail. */
.card-story { top: 20%; }
.card-story h2 { font-size: clamp(48px, 6.5vw, 116px); line-height: .98; letter-spacing: -.065em; }
.card-many h2 { font-size: clamp(48px, 6.5vw, 116px); }
.card-many > p { max-width: 520px; font-size: 14px; margin-top: 22px; }
.card-result { top: 22%; }
.card-result h2 { font-size: clamp(48px, 6.2vw, 110px); }
.provider-folio { width: 38vw; max-width: 680px; top: 59%; }
.folio-heading { justify-content: center; margin-bottom: 22px; }
.folio-heading strong { font-size: 26px; color: #e5eff0; letter-spacing: -.03em; }
.card-compare { top: 19%; left: 5.5%; right: 5.5%; }
.card-compare h2 { font-size: clamp(48px, 6.1vw, 108px); }
.comparison-lenses { position: absolute; inset: auto 0 12%; display: flex; justify-content: center; gap: clamp(40px, 6vw, 115px); z-index: 8; opacity: 0; pointer-events: none; }
.comparison-lenses span { font-size: clamp(17px, 1.6vw, 27px); color: #79928f; letter-spacing: -.025em; position: relative; padding-bottom: 13px; transition: color .16s; }
.comparison-lenses span::after { content: ''; height: 1px; background: #b1f3df; position: absolute; bottom: 0; left: 0; right: 0; transform: scaleX(0); transform-origin: left; transition: transform .18s; }
.comparison-lenses .active { color: #c3ffed; }
.comparison-lenses .active::after { transform: scaleX(1); }
.provider-focus { left: 50%; bottom: 13%; transform: translateX(-50%); }
.provider-focus > div { margin-top: 0; gap: 32px; }
.card-resolution { bottom: 11.5%; }
.cards-light { background: radial-gradient(ellipse at 50% 64%, #19353f66, transparent 58%); }
.program-gallery { perspective: 1900px; }
.card-rig { touch-action: pan-y; user-select: none; -webkit-user-select: none; }
@media (min-width: 801px) and (max-height: 850px) {
  .card-story { top: 20%; }
  .card-story h2, .card-many h2, .card-compare h2 { font-size: 5.1vw; }
  .provider-folio { width: 32vw; top: 58%; }
  .folio-heading { margin-bottom: 16px; }
  .folio-heading strong { font-size: 22px; }
  .comparison-lenses { bottom: 12%; }
}
@media (max-width: 1100px) and (min-width: 801px) {
  .provider-folio { width: 36vw; }
  .card-resolution .cta { padding: 16px; gap: 18px; }
  .provider-focus { left: 5.5%; transform: none; }
}
@media (max-width: 800px) {
  .card-story { top: 20%; left: 6%; right: 6%; }
  .card-story h2, .card-many h2, .card-compare h2, .card-result h2 { font-size: clamp(35px, 9.8vw, 70px); line-height: 1.04; }
  .card-many > p { max-width: 285px; font-size: 11px; margin-top: 18px; }
  .provider-folio { width: 54vw; max-width: none; top: 55%; }
  .folio-heading { margin-bottom: 14px; }
  .folio-heading strong { font-size: 18px; }
  .comparison-lenses { bottom: 22%; gap: 25px; }
  .comparison-lenses span { font-size: 15px; padding-bottom: 10px; }
  .provider-focus { left: 50%; bottom: 22%; transform: translateX(-50%); white-space: nowrap; }
  .card-resolution { left: 7%; right: 7%; bottom: 12.5%; }
  .card-result { top: 23%; }
}
@media (prefers-reduced-motion: reduce) {
  .card-story, .card-result { top: auto; }
  .card-compare, .comparison-lenses, .provider-folio[data-repeat] { display: none; }
  .provider-folio { width: 100%; top: auto; }
  .folio-heading { margin-bottom: 15px; }
  .folio-heading strong { font-size: 20px; }
  .card-resolution { bottom: auto; }
}
/* v19: actual program identities and physical reverse sides. */
.card-surface, .linkpay .card-surface { filter: hue-rotate(var(--art-hue,0deg)) saturate(.79); }
.card-program-name { position:absolute;left:8.5%;bottom:10%;font-size:clamp(12px,1.45vw,24px);font-weight:400;letter-spacing:-.025em;color:#fff;text-shadow:0 2px 15px #000; }
.card-currency { position:absolute;right:8.5%;top:12%;font-size:clamp(10px,1vw,16px);letter-spacing:.08em;color:#dceef2; }
.card-back { position:absolute;inset:0;display:flex;flex-direction:column;padding:5% 6%;overflow:hidden;backface-visibility:hidden;transform-style:flat;transform:rotateY(180deg) translateZ(calc(var(--card-depth)*.5));background:radial-gradient(ellipse at 100% 0%,hsl(var(--program-accent)/.23),transparent 65%),linear-gradient(125deg,#182c35,#08151e);box-shadow:inset 0 0 0 1px hsl(var(--program-accent)/.36),0 25px 50px #0005; }
.linkpay .card-back { background:radial-gradient(ellipse at 100% 0%,hsl(var(--program-accent)/.26),transparent 65%),linear-gradient(125deg,#232437,#0e1522); }
.terms-heading { display:flex;align-items:center;justify-content:space-between;gap:15px; }
.terms-heading strong { font-size:clamp(14px,1.6vw,27px);font-weight:400;letter-spacing:-.035em; }
.terms-heading img { width:17%;opacity:.75; }
.issue-price { display:flex;align-items:center;justify-content:space-between;margin:5% 0 4%; }
.issue-price>span:first-child { display:flex;align-items:center;gap:17px; }
.issue-price small { color:#9eb9be;font-size:clamp(9px,.9vw,14px);max-width:30px;line-height:1.5; }
.issue-price strong { font-size:clamp(29px,3.5vw,59px);font-weight:400;letter-spacing:-.06em;line-height:1;color:hsl(var(--program-accent)); }
.issue-price em { font-size:.32em;font-style:normal;letter-spacing:0;color:#d5e6e9; }
.program-network { font-size:clamp(9px,.9vw,14px);color:#9eb9be; }
.terms-grid { display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px 17px;border-top:1px solid #b9e5e32c;padding-top:4%;flex:1; }
.term-fact { display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:4px;min-width:0; }
.term-fact>span { color:#91acb2;font-size:clamp(8px,.8vw,12px); }
.term-fact strong { color:#edf8f8;font-size:clamp(10px,1.05vw,17px);font-weight:400;line-height:1.2;letter-spacing:-.025em; }
.term-fact small { font-size:clamp(7px,.64vw,10px);line-height:1.3;color:#8faab0; }
.card-data-date { position:absolute;left:0;right:0;bottom:12%;text-align:center;color:#8ba6af;font-size:11px;opacity:0;pointer-events:none; }
.provider-focus>div { gap:24px;align-items:center; }
.provider-focus button { border:0;padding:10px 0;color:#b9dbd6; }
.provider-focus button[data-card-flip] { border-bottom:1px solid #668c84;min-width:135px;font-size:13px; }
.provider-focus button[data-card-prev],.provider-focus button[data-card-next] { font-size:23px; }
.card-chapter[data-back-visible=true] .card-data-date { bottom:auto;top:34%; }
@media(min-width:801px) and (max-height:850px){
 .terms-heading strong{font-size:1.5vw}.issue-price strong{font-size:3vw}.terms-grid{gap:8px 12px}.term-fact strong{font-size:.9vw}.term-fact>span{font-size:.7vw}.term-fact small{font-size:.58vw}
}
@media(max-width:800px){
 .provider-folio{width:82vw}.folio-heading{margin-bottom:10px}.folio-heading strong{font-size:17px}
 .card-program-name{font-size:16px}.card-currency{font-size:11px}
 .card-back{padding:5% 6%}.terms-heading strong{font-size:16px}.issue-price{margin:3% 0}.issue-price strong{font-size:30px}.issue-price small{font-size:9px}.program-network{font-size:9px}
 .terms-grid{gap:6px 10px}.term-fact{gap:3px}.term-fact>span{font-size:8px}.term-fact strong{font-size:11px}.term-fact small{font-size:7px}
 .card-data-date{bottom:9%;font-size:9px}.card-chapter[data-back-visible=true] .card-data-date{bottom:24%;top:auto}.provider-focus{bottom:17.5%}.card-resolution{bottom:8%}
 .stage[data-phase=cards] .bottom{bottom:2%}
 .card-compare{top:16%}.card-compare h2{font-size:8.5vw}
}
@media(prefers-reduced-motion:reduce){
 .provider-folio{width:100%}.program-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.card-rig{aspect-ratio:auto;display:flex;flex-direction:column;gap:15px;transform:none!important;cursor:default}.card-face,.card-back{position:relative;inset:auto;aspect-ratio:85.6/53.98;transform:none!important;width:100%;backface-visibility:visible}.card-face{display:block}.card-back{display:flex}.card-data-date{position:relative;inset:auto;opacity:1!important;order:3}.provider-focus{display:none}
}
@media(prefers-reduced-motion:reduce) and (max-width:800px){.program-gallery{grid-template-columns:1fr}.provider-folio{width:100%}}
@media(max-width:360px){
 .card-back{padding:4.5% 5.5%}.terms-heading strong{font-size:13px}.issue-price{margin:3% 0}.issue-price strong{font-size:27px}.issue-price small{font-size:8px}.issue-price>span:first-child{gap:12px}.program-network{font-size:8px}
 .terms-grid{gap:5px 9px;padding-top:3%}.term-fact{gap:2px}.term-fact>span{font-size:7px}.term-fact strong{font-size:9px;line-height:1.15}.term-fact small{font-size:6.5px;line-height:1.2}
 .card-program-name{font-size:13px}
}
/* v20: program first, provider second; no repeated oversized brand headings. */
.folio-heading{display:flex;flex-direction:column;align-items:center;gap:6px;margin-bottom:16px}
.folio-heading strong{font-size:25px;letter-spacing:-.035em}
.folio-heading>span{font-size:12px;color:#93abae;letter-spacing:0}
@media(max-width:800px){.folio-heading{gap:3px;margin-bottom:9px}.folio-heading strong{font-size:16px}.folio-heading>span{font-size:10px}}
@media(max-width:360px){.folio-heading strong{font-size:14px}.folio-heading>span{font-size:9px}}
/* Compact heading sizing retained for provider and descriptive metadata. */
.folio-heading strong{font-size:clamp(14px,1.45vw,24px);line-height:1.15;text-align:center;max-width:100%}
.terms-heading strong{font-size:clamp(11px,1.15vw,19px);line-height:1.15;max-width:78%;text-align:left}
.terms-heading{min-height:28px;gap:10px}
@media(max-width:800px){.folio-heading strong{font-size:14px}.terms-heading{min-height:26px}.terms-heading strong{font-size:11px}.issue-price{margin:2% 0}}
@media(max-width:360px){.folio-heading strong{font-size:12px}.terms-heading{min-height:23px}.terms-heading strong{font-size:10px}.issue-price strong{font-size:24px}}

/* v24: unverified client tariffs removed; recorded identity only. */
.identity-back{justify-content:space-between}
.back-brand{width:24%;align-self:flex-end;opacity:.85}
.back-identity{display:grid;grid-template-columns:1fr 1.4fr;gap:7%;padding-bottom:7%}
.back-identity>span{display:flex;flex-direction:column;gap:12px}
.back-identity small{font-size:clamp(10px,1vw,17px);color:#9eb9be}
.back-identity strong{font-size:clamp(20px,2.7vw,46px);font-weight:400;letter-spacing:-.04em;color:#e5f2f2}
@media(max-width:800px){.back-identity>span{gap:7px}.back-identity small{font-size:10px}.back-identity strong{font-size:24px}}

/* v26: useful, qualified provider terms on the physical reverse. */
.comparison-back{padding:5% 6%;color:#edf8f8}
.comparison-back-top{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:9%}
.comparison-back-top img{width:18%;opacity:.85}
.comparison-tag{font-size:clamp(8px,.85vw,14px);color:#bacbd0;line-height:1.25}
.issue-advantage .comparison-tag{color:#b7f8e7;background:#7df2cf15;border:1px solid #90ebcf50;padding:6px 9px;border-radius:20px}
.comparison-price{display:flex;margin:4% 0 1%}
.comparison-price>span{display:flex;gap:16px;align-items:baseline}
.comparison-price small{font-size:clamp(10px,1vw,16px);color:#bed2d5}
.comparison-price strong{font-size:clamp(36px,4.2vw,70px);font-weight:400;line-height:1;letter-spacing:-.05em;color:hsl(var(--program-accent))}
.comparison-price em{font-size:.3em;font-style:normal;letter-spacing:0;color:#bdcfd3}
.comparison-price-note{font-size:clamp(8px,.75vw,12px);color:#9fb8be;line-height:1.3;margin-bottom:4%}
.comparison-facts{display:grid;grid-template-columns:1fr 1fr;gap:14px 20px;border-top:1px solid #a3c7ce30;padding-top:4%;flex:1}
.compare-fact{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:0}
.compare-fact small{font-size:clamp(9px,.85vw,14px);color:#9fb8be;line-height:1.2}
.compare-fact strong{font-size:clamp(13px,1.35vw,23px);font-weight:400;line-height:1.15;letter-spacing:-.025em}
.compare-fact>span,.comparison-footnote{font-size:clamp(8px,.67vw,11px);color:#9fb8be;line-height:1.3}
.comparison-footnote{margin-top:3%}
.card-compare h2{font-size:clamp(32px,5.4vw,100px)}
@media(max-width:800px){
 .comparison-back{padding:5% 6%}.comparison-tag{font-size:8px}.issue-advantage .comparison-tag{padding:4px 6px}
 .comparison-price{margin:3% 0 1%}.comparison-price>span{gap:12px}.comparison-price small{font-size:10px}.comparison-price strong{font-size:34px}
 .comparison-price-note{font-size:8px;margin-bottom:3%}.comparison-facts{gap:8px 12px;padding-top:3%}
 .compare-fact{gap:3px}.compare-fact small{font-size:8px}.compare-fact strong{font-size:13px}.compare-fact>span,.comparison-footnote{font-size:7px}.comparison-footnote{margin-top:2%}
 .card-compare h2{font-size:7.5vw}.card-data-date{max-width:90%;margin:auto;line-height:1.4}
}
@media(max-width:360px){
 .comparison-back{padding:4% 5%}.comparison-price strong{font-size:28px}.comparison-tag{font-size:7px}.comparison-back-top img{width:16%}
 .comparison-price-note{font-size:7px}.compare-fact small{font-size:7px}.compare-fact strong{font-size:11px}.comparison-facts{gap:6px 10px}.compare-fact>span,.comparison-footnote{font-size:6px}
}
/* Keep every disclosed term inside the physical card at all widths. */
.comparison-price{margin:2% 0 1%}
.comparison-price strong{font-size:clamp(32px,3.6vw,60px)}
.comparison-price-note{margin-bottom:2%}
.comparison-facts{gap:10px 18px;padding-top:3%}
.comparison-footnote{margin-top:2%}
@media(max-width:800px){.comparison-price strong{font-size:30px}.comparison-facts{gap:6px 10px;padding-top:2%}.comparison-price-note{margin-bottom:2%}}
@media(max-width:360px){.comparison-price strong{font-size:25px}.comparison-facts{gap:5px 9px}.comparison-footnote{margin-top:1%}}
