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

.eyeglasses-page .glasses-hero { position:relative; min-height:640px; margin-top:24px; overflow:hidden; border:1px solid var(--line); border-top:4px solid var(--red); border-radius:8px; background:#fff; box-shadow:0 14px 35px rgba(15,17,21,.09); }
.eyeglasses-page .glasses-hero figure { position:absolute; inset:0; margin:0; }
.eyeglasses-page .glasses-hero figure::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.94) 37%,rgba(255,255,255,.1) 60%,rgba(255,255,255,0) 100%); }
.eyeglasses-page .glasses-hero figure img { width:100%; height:100%; object-fit:cover; object-position:center; }
.eyeglasses-page .glasses-hero__copy { position:relative; z-index:1; width:min(650px,52%); padding:clamp(42px,6vw,76px); }
.eyeglasses-page .glasses-hero h1 { margin:12px 0 22px; font-size:clamp(52px,6vw,86px); line-height:.92; letter-spacing:-.055em; }
.eyeglasses-page .glasses-hero h1 span { display:block; margin-top:10px; font-size:.5em; line-height:1; white-space:nowrap; }
.eyeglasses-page .glasses-hero .lead { color:var(--muted); font-size:clamp(18px,1.7vw,23px); line-height:1.45; }
.eyeglasses-page .glasses-hero .actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }
.eyeglasses-page .glasses-hero__note { margin:18px 0 0; color:var(--muted); font-size:15px; line-height:1.5; }

.eyeglasses-page .glasses-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; padding:18px 0 clamp(62px,7vw,90px); }
.eyeglasses-page .glasses-facts div,
.eyeglasses-page .glasses-card-grid article,
.eyeglasses-page .glasses-choice article,
.eyeglasses-page .glasses-process ol li,
.eyeglasses-page .glasses-reuse,
.eyeglasses-page .glasses-locations article,
.eyeglasses-page .glasses-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); }
.eyeglasses-page .glasses-facts div,
.eyeglasses-page .glasses-card-grid article,
.eyeglasses-page .glasses-choice article,
.eyeglasses-page .glasses-process ol li,
.eyeglasses-page .glasses-locations article { transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease; }
.eyeglasses-page .glasses-facts div { display:grid; gap:7px; padding:22px; }
.eyeglasses-page .glasses-facts strong { color:var(--red); font-size:clamp(24px,2.5vw,36px); }
.eyeglasses-page .glasses-facts span { color:var(--muted); line-height:1.4; }

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

.eyeglasses-page .glasses-card-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.eyeglasses-page .glasses-card-grid article { min-height:255px; padding:24px; }
.eyeglasses-page .glasses-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; }
.eyeglasses-page .glasses-card-grid h3 { margin:0 0 12px; font-size:23px; line-height:1.05; }
.eyeglasses-page .glasses-card-grid p { margin:0; color:var(--muted); line-height:1.5; }

.eyeglasses-page .glasses-choice { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.eyeglasses-page .glasses-choice article { display:flex; flex-direction:column; min-height:230px; padding:24px; }
.eyeglasses-page .glasses-choice h3 { margin:0 0 12px; font-size:25px; }
.eyeglasses-page .glasses-choice p { margin:0 0 16px; color:var(--muted); line-height:1.5; }
.eyeglasses-page .glasses-choice a { margin-top:auto; color:var(--red); font-weight:950; text-decoration:none; }
.eyeglasses-page .glasses-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:14px; }
.eyeglasses-page .glasses-links p { margin:0; padding:20px 22px; border:1px solid #efb8bc; border-left:5px solid var(--red); border-radius:8px; background:#fff6f6; line-height:1.5; }
.eyeglasses-page .glasses-links a { color:var(--red); font-weight:950; }

.eyeglasses-page .glasses-process { display:grid; grid-template-columns:minmax(0,.68fr) minmax(520px,1.32fr); gap:clamp(30px,6vw,80px); align-items:start; }
.eyeglasses-page .glasses-process ol { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:0; padding:0; list-style:none; counter-reset:steps; }
.eyeglasses-page .glasses-process ol li { position:relative; min-height:190px; padding:64px 22px 22px; counter-increment:steps; }
.eyeglasses-page .glasses-process ol li::before { content:counter(steps); position:absolute; top:18px; left:20px; display:grid; place-items:center; width:34px; height:34px; border-radius:50%; background:var(--red); color:#fff; font-weight:950; }
.eyeglasses-page .glasses-process strong { display:block; margin-bottom:8px; font-size:21px; }
.eyeglasses-page .glasses-process span { color:var(--muted); line-height:1.45; }

.eyeglasses-page .glasses-reuse { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.58fr); gap:clamp(26px,5vw,60px); align-items:center; padding:clamp(28px,5vw,58px); }
.eyeglasses-page .glasses-reuse p:not(.eyebrow) { max-width:720px; color:var(--muted); font-size:18px; line-height:1.55; }
.eyeglasses-page .glasses-reuse figure { margin:0; aspect-ratio:1; overflow:hidden; border-radius:8px; }
.eyeglasses-page .glasses-reuse figure img { width:100%; height:100%; object-fit:cover; }

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

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

.eyeglasses-page .glasses-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; }
.eyeglasses-page .glasses-cta h2 { margin:0 0 10px; font-size:clamp(30px,4vw,48px); }
.eyeglasses-page .glasses-cta p { margin:0; color:#d7d9dd; line-height:1.5; }
.eyeglasses-page .glasses-cta > div:last-child { display:grid; gap:12px; justify-items:end; }
.eyeglasses-page .glasses-cta > div:last-child > a:first-child { color:#fff; font-size:22px; font-weight:950; text-decoration:none; }

@media (hover:hover) {
  .eyeglasses-page .glasses-facts div:hover,
  .eyeglasses-page .glasses-card-grid article:hover,
  .eyeglasses-page .glasses-choice article:hover,
  .eyeglasses-page .glasses-process ol li:hover,
  .eyeglasses-page .glasses-locations article:hover { transform:translateY(-4px); border-color:#efb8bc; box-shadow:0 20px 44px rgba(15,17,21,.11); }
  .eyeglasses-page .glasses-choice a:hover,
  .eyeglasses-page .glasses-locations a:hover { text-decoration:underline; text-underline-offset:4px; }
}

@media (max-width:1040px) {
  .eyeglasses-page .glasses-hero { display:flex; min-height:0; flex-direction:column; border:0; box-shadow:none; }
  .eyeglasses-page .glasses-hero figure { position:relative; width:100%; aspect-ratio:16/9; 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); }
  .eyeglasses-page .glasses-hero figure::after { display:none; }
  .eyeglasses-page .glasses-hero figure img { object-position:75% center; }
  .eyeglasses-page .glasses-hero__copy { width:100%; padding:34px 0 0; }
  .eyeglasses-page .glasses-card-grid,
  .eyeglasses-page .glasses-choice { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .eyeglasses-page .glasses-process { grid-template-columns:1fr; }
}
@media (max-width:760px) {
  .eyeglasses-page .glasses-section__head { grid-template-columns:1fr; gap:12px; }
  .eyeglasses-page .glasses-facts,
  .eyeglasses-page .glasses-links,
  .eyeglasses-page .glasses-reuse,
  .eyeglasses-page .glasses-locations { grid-template-columns:1fr; }
  .eyeglasses-page .glasses-reuse figure { max-width:440px; }
  .eyeglasses-page .glasses-cta { grid-template-columns:1fr; }
  .eyeglasses-page .glasses-cta > div:last-child { justify-items:start; }
}
@media (max-width:600px) {
  .eyeglasses-page .glasses-hero,
  .eyeglasses-page .glasses-facts,
  .eyeglasses-page .glasses-section,
  .eyeglasses-page .glasses-cta { width:min(100% - 28px,1280px); }
  .eyeglasses-page .glasses-hero { margin-top:14px; }
  .eyeglasses-page .glasses-hero figure { aspect-ratio:4/3; }
  .eyeglasses-page .glasses-hero figure img { object-position:76% center; }
  .eyeglasses-page .glasses-hero h1 { font-size:clamp(44px,13vw,56px); }
  .eyeglasses-page .glasses-hero h1 span { font-size:.56em; white-space:normal; }
  .eyeglasses-page .glasses-card-grid,
  .eyeglasses-page .glasses-choice,
  .eyeglasses-page .glasses-process ol { grid-template-columns:1fr; }
  .eyeglasses-page .glasses-card-grid article,
  .eyeglasses-page .glasses-choice article,
  .eyeglasses-page .glasses-process ol li { min-height:0; }
  .eyeglasses-page .glasses-hero .actions .button--primary { display:none; }
  .eyeglasses-page .glasses-hero .actions .button--ghost { width:100%; justify-content:center; }
  .eyeglasses-page .glasses-reuse { padding:24px; }
  .eyeglasses-page .glasses-cta .button { width:100%; justify-content:center; }
}
@media (prefers-reduced-motion:reduce) {
  .eyeglasses-page .glasses-facts div,
  .eyeglasses-page .glasses-card-grid article,
  .eyeglasses-page .glasses-choice article,
  .eyeglasses-page .glasses-process ol li,
  .eyeglasses-page .glasses-locations article { transition:none; }
}
