.lenses-page { background:#fff; }
.lenses-page main { overflow:hidden; }
.lenses-page .lenses-hero,
.lenses-page .lenses-facts,
.lenses-page .lenses-section,
.lenses-page .lenses-cta { width:min(1280px,calc(100% - 40px)); margin:0 auto; }

.lenses-page .lenses-hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(420px,.95fr); gap:clamp(30px,5vw,70px); align-items:center; padding:clamp(34px,5vw,68px) 0; }
.lenses-page .lenses-hero h1 { margin:12px 0 22px; font-size:clamp(44px,5.2vw,74px); line-height:.98; letter-spacing:-.05em; }
.lenses-page .lenses-hero h1 span { display:block; margin-top:6px; font-size:.62em; white-space:nowrap; }
.lenses-page .lenses-hero .lead { max-width:700px; color:var(--muted); font-size:clamp(18px,1.7vw,23px); line-height:1.45; }
.lenses-page .lenses-hero .actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }
.lenses-page .lenses-hero__note { max-width:700px; margin:18px 0 0; color:var(--muted); font-size:15px; line-height:1.5; }
.lenses-page .lenses-hero__visual { position:relative; margin:0; aspect-ratio:4/3; overflow:hidden; border:1px solid var(--line); border-top:4px solid var(--red); border-radius:8px; box-shadow:0 14px 35px rgba(15,17,21,.09); }
.lenses-page .lenses-hero__visual img { width:100%; height:100%; object-fit:cover; }
.lenses-page .lenses-hero__visual figcaption { position:absolute; right:16px; bottom:16px; left:16px; padding:14px 16px; border:1px solid rgba(227,6,19,.2); border-radius:8px; background:rgba(255,255,255,.92); font-weight:900; line-height:1.4; }

.lenses-page .lenses-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; padding-bottom:clamp(62px,7vw,90px); }
.lenses-page .lenses-facts div,
.lenses-page .lenses-card-grid article,
.lenses-page .lenses-price-list,
.lenses-page .lenses-surcharges div,
.lenses-page .lenses-timing li,
.lenses-page .lenses-locations article,
.lenses-page .lenses-faq details { border:1px solid var(--line); border-top:3px solid var(--red); border-radius:8px; background:#fff; box-shadow:0 14px 35px rgba(15,17,21,.07); }
.lenses-page .lenses-facts div { display:grid; gap:7px; padding:22px; }
.lenses-page .lenses-facts strong { color:var(--red); font-size:clamp(24px,2.5vw,36px); }
.lenses-page .lenses-facts span { color:var(--muted); line-height:1.4; }

.lenses-page .lenses-section { position:relative; padding:clamp(64px,7vw,92px) 0; }
.lenses-page .lenses-section--bordered::before { content:""; position:absolute; top:0; right:0; left:0; height:1px; background:var(--line); }
.lenses-page .lenses-section__head { display:grid; grid-template-columns:minmax(150px,.33fr) minmax(0,1fr); gap:30px; align-items:start; margin-bottom:30px; }
.lenses-page .lenses-section__head h2,
.lenses-page .lenses-split h2 { margin:0 0 14px; font-size:clamp(34px,4.5vw,58px); line-height:1; letter-spacing:-.04em; }
.lenses-page .lenses-section__head p { max-width:780px; color:var(--muted); line-height:1.55; }

.lenses-page .lenses-card-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.lenses-page .lenses-card-grid article { position:relative; display:flex; flex-direction:column; min-height:280px; padding:24px; }
.lenses-page .lenses-card-grid article > span { display:grid; place-items:center; width:42px; height:42px; margin-bottom:34px; border-radius:50%; background:var(--red); color:#fff; font-weight:950; }
.lenses-page .lenses-card-grid h3 { margin:0 0 12px; font-size:23px; line-height:1.05; }
.lenses-page .lenses-card-grid p { margin:0 0 16px; color:var(--muted); line-height:1.5; }
.lenses-page .lenses-card-grid a { margin-top:auto; color:var(--red); font-weight:950; text-decoration:none; }

.lenses-page .lenses-split { display:grid; grid-template-columns:minmax(0,.8fr) minmax(440px,1fr); gap:clamp(30px,6vw,80px); align-items:start; }
.lenses-page .lenses-split > div > p:last-child { color:var(--muted); font-size:18px; line-height:1.55; }
.lenses-page .lenses-list { display:grid; gap:12px; margin:0; padding:0; list-style:none; }
.lenses-page .lenses-list li { position:relative; min-height:58px; margin:0; padding:16px 16px 16px 56px; border:1px solid var(--line); border-radius:8px; line-height:1.45; }
.lenses-page .lenses-list li::before { content:"✓"; position:absolute; top:13px; left:14px; display:grid; place-items:center; width:30px; height:30px; border-radius:50%; background:#258443; color:#fff; font-weight:950; }

.lenses-page .lenses-price-list { margin:0; overflow:hidden; }
.lenses-page .lenses-price-list > div { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:24px; align-items:start; padding:20px 24px; }
.lenses-page .lenses-price-list > div + div { border-top:1px solid var(--line); }
.lenses-page .lenses-price-list dt { font-size:18px; font-weight:900; line-height:1.35; }
.lenses-page .lenses-price-list dd { margin:0; font-size:21px; font-weight:950; text-align:right; white-space:nowrap; }
.lenses-page .lenses-surcharges { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:16px; }
.lenses-page .lenses-surcharges div { display:flex; gap:18px; align-items:center; padding:20px 24px; }
.lenses-page .lenses-surcharges strong { color:var(--red); font-size:26px; white-space:nowrap; }
.lenses-page .lenses-surcharges span { color:var(--muted); line-height:1.4; }
.lenses-page .lenses-notice { margin-top:20px; padding:20px 22px; border:1px solid #efb8bc; border-left:5px solid var(--red); border-radius:8px; background:#fff6f6; line-height:1.5; }

.lenses-page .lenses-timing { display:grid; gap:12px; margin:0; padding:0; list-style:none; }
.lenses-page .lenses-timing li { display:grid; grid-template-columns:minmax(160px,.42fr) minmax(0,1fr); gap:20px; align-items:center; padding:20px 22px; }
.lenses-page .lenses-timing strong { color:var(--red); font-size:19px; }
.lenses-page .lenses-timing span { color:var(--muted); line-height:1.45; }

.lenses-page .lenses-locations { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.lenses-page .lenses-locations article { display:grid; align-content:start; gap:10px; padding:clamp(24px,4vw,38px); }
.lenses-page .lenses-locations article > span { color:var(--red); font-size:13px; font-weight:950; letter-spacing:.06em; text-transform:uppercase; }
.lenses-page .lenses-locations h3 { margin:0; font-size:clamp(26px,3vw,38px); line-height:1.05; }
.lenses-page .lenses-locations p { margin:0 0 8px; color:var(--muted); }
.lenses-page .lenses-locations a { color:var(--red); font-size:17px; font-weight:950; }

.lenses-page .lenses-faq { display:grid; gap:12px; }
.lenses-page .lenses-faq details { padding:0 22px; }
.lenses-page .lenses-faq summary { padding:22px 36px 22px 0; font-size:19px; font-weight:950; cursor:pointer; }
.lenses-page .lenses-faq p { margin:0 0 22px; color:var(--muted); line-height:1.55; }

.lenses-page .lenses-cta { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:30px; align-items:center; margin-bottom:clamp(64px,7vw,92px); padding:clamp(28px,4vw,44px); border-radius:8px; background:#111318; color:#fff; }
.lenses-page .lenses-cta h2 { margin:0 0 10px; font-size:clamp(30px,4vw,48px); }
.lenses-page .lenses-cta p { max-width:760px; margin:0; color:#d7d9dd; line-height:1.5; }
.lenses-page .lenses-cta > div:last-child { display:grid; gap:12px; justify-items:end; }
.lenses-page .lenses-cta > div:last-child > a:first-child { color:#fff; font-size:22px; font-weight:950; text-decoration:none; }

@media (max-width:1040px) {
  .lenses-page .lenses-hero { grid-template-columns:1fr; }
  .lenses-page .lenses-hero__visual { order:-1; width:min(820px,100%); justify-self:center; aspect-ratio:16/9; }
  .lenses-page .lenses-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .lenses-page .lenses-split { grid-template-columns:1fr; }
}
@media (max-width:760px) {
  .lenses-page .lenses-section__head { grid-template-columns:1fr; gap:12px; }
  .lenses-page .lenses-facts,
  .lenses-page .lenses-surcharges,
  .lenses-page .lenses-locations { grid-template-columns:1fr; }
  .lenses-page .lenses-cta { grid-template-columns:1fr; }
  .lenses-page .lenses-cta > div:last-child { justify-items:start; }
}
@media (max-width:600px) {
  .lenses-page .lenses-hero,
  .lenses-page .lenses-facts,
  .lenses-page .lenses-section,
  .lenses-page .lenses-cta { width:min(100% - 28px,1280px); }
  .lenses-page .lenses-hero { padding-top:18px; }
  .lenses-page .lenses-hero h1 { font-size:clamp(38px,11vw,50px); }
  .lenses-page .lenses-hero h1 span { font-size:.64em; white-space:normal; }
  .lenses-page .lenses-hero__visual { aspect-ratio:4/3; }
  .lenses-page .lenses-card-grid { grid-template-columns:1fr; }
  .lenses-page .lenses-card-grid article { min-height:0; }
  .lenses-page .lenses-hero .actions .button--primary { display:none; }
  .lenses-page .lenses-hero .actions .button--ghost { width:100%; justify-content:center; }
  .lenses-page .lenses-price-list > div { padding:16px; gap:14px; }
  .lenses-page .lenses-price-list dt { font-size:16px; }
  .lenses-page .lenses-price-list dd { font-size:18px; }
  .lenses-page .lenses-surcharges div { padding:18px; }
  .lenses-page .lenses-timing li { grid-template-columns:1fr; gap:6px; }
  .lenses-page .lenses-cta .button { width:100%; justify-content:center; }
}
