.office-page { --header-offset:150px; }
.office-page .topbar { grid-template-columns:minmax(0,1fr) auto; }
.office-page .header-brand { gap:14px; padding:18px 0; }
.office-page .header-logo { display:flex; align-items:center; gap:12px; font-size:30px; }
.office-page .header-logo > span { display:inline-flex; align-items:baseline; }
.office-page .header-logo img { width:54px; height:54px; border-radius:50%; border:1px solid var(--line); }
.office-page .header-stock { margin-left:12px; padding-left:24px; font-size:14px; }
.office-page .nav { padding:0; }
.office-page .nav > a { font-size:16px; padding:15px 8px; }
.office-page .breadcrumbs { width:min(1280px,calc(100% - 40px)); margin:0 auto; padding:22px 0 0; color:var(--muted); font-size:13px; }
.office-page .breadcrumbs a { text-underline-offset:3px; }
.office-page .eyebrow { font-size:12px; letter-spacing:.09em; }
.office-page .eyebrow::after { width:48px; height:3px; margin-top:10px; }
.office-page .lenses-hero { grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); gap:46px; padding:34px 0 44px; }
.office-page .lenses-hero h1 { margin:14px 0 20px; font-size:clamp(40px,4.25vw,60px); line-height:1.03; letter-spacing:-.045em; }
.office-page .lenses-hero h1 span { display:inline; font-size:1em; color:var(--red); white-space:normal; }
.office-page .lenses-hero .lead { font-size:21px; line-height:1.5; max-width:570px; margin:0; }
.office-page .office-model { margin:18px 0 8px; color:var(--ink); font-size:13px; font-weight:800; letter-spacing:.025em; }
.office-page .office-hero-prices { display:flex; align-items:baseline; flex-wrap:wrap; gap:8px 24px; }
.office-page .office-single-price { display:flex; flex-wrap:wrap; align-items:baseline; gap:8px; }
.office-page .office-single-price strong { color:var(--red); font-size:clamp(36px,3.4vw,48px); letter-spacing:-.04em; line-height:1.15; white-space:nowrap; }
.office-page .office-single-price span { font-size:16px; }
.office-page .office-pair-price { margin:0; color:#3e424b; font-size:16px; line-height:1.5; }
.office-page .office-price-note { margin:9px 0 0; font-size:14px; font-weight:700; color:#484d58; }
.office-page .lenses-hero .actions { gap:10px; margin-top:24px; }
.office-page .button { min-height:48px; padding:15px 20px; font-size:14px; line-height:1.3; }
.office-page .lenses-hero__note { margin-top:16px; font-size:13px; }
.office-page .lenses-hero__visual { aspect-ratio:auto; border-top:0; border-radius:10px; box-shadow:none; background:#f6f6f6; }
.office-page .lenses-hero__visual img { height:auto; object-fit:contain; object-position:center; }
.office-page .lenses-hero__visual figcaption { position:static; padding:16px 20px; border:0; border-top:1px solid var(--line); border-radius:0; background:#fff; font-size:15px; font-weight:700; }
.office-page .lenses-facts { gap:0; padding-bottom:48px; border-bottom:1px solid var(--line); }
.office-page .lenses-facts > div { padding:8px 28px; border:0; border-radius:0; box-shadow:none; }
.office-page .lenses-facts > div:first-child { padding-left:0; }
.office-page .lenses-facts > div:last-child { padding-right:0; }
.office-page .lenses-facts > div + div { border-left:1px solid var(--line); }
.office-page .lenses-facts strong { font-size:21px; color:var(--ink); }
.office-page .lenses-facts span { font-size:14px; line-height:1.55; }
.office-page .lenses-section { padding:64px 0; }
.office-page .lenses-section__head { grid-template-columns:minmax(140px,.28fr) minmax(0,1fr); gap:28px; margin-bottom:28px; }
.office-page .lenses-section__head h2,.office-page .lenses-split h2 { font-size:clamp(30px,3.5vw,45px); line-height:1.07; }
.office-page .lenses-section__head p { margin:0; font-size:16px; }
.office-page .office-task-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.office-page .office-task { padding:26px; border:1px solid var(--line); border-radius:8px; }
.office-page .office-task > span { color:var(--red); font-size:12px; font-weight:800; letter-spacing:.06em; }
.office-page .office-task h3 { margin:14px 0 12px; font-size:23px; line-height:1.15; letter-spacing:-.02em; }
.office-page .office-task p { margin:0; color:var(--muted); font-size:15px; line-height:1.6; }
.office-page .office-task--dark { background:var(--ink); color:#fff; border-color:var(--ink); }
.office-page .office-task--dark > span { color:#ff9298; }
.office-page .office-task--dark p { color:#d7d9df; }
.office-page .lenses-price-list { border:1px solid var(--line); box-shadow:none; }
.office-page .lenses-price-list dt small { display:block; margin-top:5px; color:var(--muted); font-size:13px; font-weight:400; }
.office-page .office-price-examples { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:18px; }
.office-page .office-example { padding:26px; border-radius:8px; background:#f7f7f8; }
.office-page .office-example h3 { margin:0 0 12px; font-size:20px; }
.office-page .office-example > p { margin:0; color:var(--muted); font-size:14px; line-height:1.6; }
.office-page .office-example .office-example-total { display:flex; align-items:baseline; flex-wrap:wrap; gap:8px 14px; margin-top:16px; color:var(--ink); }
.office-page .office-example-total strong { font-size:29px; line-height:1.15; letter-spacing:-.035em; }
.office-page .office-example-total span { font-size:13px; font-weight:700; }
.office-page .office-example .office-example-detail { margin-top:8px; font-size:12px; }
.office-page .lenses-notice { margin-top:18px; padding:17px 20px; font-size:14px; }
.office-page .office-stock { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:64px; align-items:start; }
.office-page .office-stock h2 { margin:0 0 18px; font-size:clamp(30px,3.5vw,45px); line-height:1.07; letter-spacing:-.04em; }
.office-page .office-stock > div > p:not(.eyebrow) { margin:0; color:var(--muted); font-size:16px; line-height:1.65; }
.office-page .office-steps { counter-reset:office-step; display:grid; margin:0; padding:0; list-style:none; }
.office-page .office-steps li { counter-increment:office-step; display:grid; grid-template-columns:34px minmax(0,1fr); gap:12px 18px; padding:0 0 23px; }
.office-page .office-steps li + li { padding-top:23px; border-top:1px solid var(--line); }
.office-page .office-steps li:last-child { padding-bottom:0; }
.office-page .office-steps li::before { content:"0" counter(office-step); padding-top:2px; color:var(--red); font-size:15px; font-weight:800; }
.office-page .office-steps strong { font-size:18px; }
.office-page .office-steps p { margin:7px 0 0; color:var(--muted); font-size:14px; line-height:1.6; }
.office-page .lenses-locations article { padding:0; overflow:hidden; box-shadow:none; border:1px solid var(--line); }
.office-page .office-salon-image { width:100%; height:230px; object-fit:cover; }
.office-page .office-salon-copy { padding:26px 28px 28px; }
.office-page .office-salon-copy > span { color:var(--red); font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.065em; }
.office-page .office-salon-copy h3 { margin:12px 0 14px; font-size:30px; }
.office-page .office-salon-copy > p { margin:0 0 12px; font-size:14px; line-height:1.6; }
.office-page .office-salon-copy .office-salon-stock { color:#343944; min-height:47px; }
.office-page .office-salon-copy .office-salon-phone { display:inline-block; margin:6px 0 16px; color:var(--ink); font-size:23px; font-weight:800; }
.office-page .office-salon-copy .button { display:flex; width:fit-content; color:#fff; font-size:14px; }
.office-page .office-hours { margin-top:16px; color:var(--muted); font-size:13px; }
.office-page .lenses-faq { gap:0; }
.office-page .lenses-faq details { padding:0; border:0; border-bottom:1px solid var(--line); border-radius:0; box-shadow:none; }
.office-page .lenses-faq summary { position:relative; padding:23px 34px 23px 0; font-size:18px; line-height:1.4; list-style:none; }
.office-page .lenses-faq summary::-webkit-details-marker { display:none; }
.office-page .lenses-faq summary::after { content:"+"; position:absolute; right:2px; top:19px; color:var(--red); font-size:26px; font-weight:400; }
.office-page .lenses-faq details[open] summary::after { content:"−"; }
.office-page .lenses-faq p { max-width:900px; font-size:15px; }
.office-page .lenses-cta { grid-template-columns:minmax(0,1fr) minmax(0,.8fr); gap:40px; margin-top:0; margin-bottom:64px; border-radius:10px; }
.office-page .lenses-cta h2 { font-size:clamp(28px,3.1vw,40px); line-height:1.1; letter-spacing:-.035em; }
.office-page .lenses-cta p { font-size:14px; }
.office-page .office-closing-actions { display:flex!important; flex-wrap:wrap; gap:10px!important; justify-content:flex-end; }
.office-page .office-closing-actions .button { font-size:14px!important; }
.office-page .office-closing-actions .button--ghost { color:#fff; border-color:#767a84; background:transparent; }
.office-page .office-footer-logo { display:inline-flex; align-items:baseline; }
.office-page .footer-top { grid-template-columns:auto 1fr; }
.office-page .footer-top p { text-align:right; }
.office-page .office-medical-note { margin:0 auto; width:min(1280px,calc(100% - 40px)); padding:0 0 24px; color:var(--muted); font-size:12px; line-height:1.6; text-align:center; }
.office-page .office-mobile-calls { display:none; }
@media (max-width:1240px) {
  .office-page { --header-offset:115px; }
  .office-page .topbar { grid-template-columns:minmax(0,1fr) auto auto; }
  .office-page .header-stock { display:none; }
  .office-page .nav.is-open { padding:12px 24px 24px; }
  .office-page .nav.is-open > a { font-size:17px; padding:16px 4px; }
}
@media (max-width:1040px) {
  .office-page .topbar { grid-template-columns:minmax(0,1fr) auto; }
  .office-page .lenses-hero { grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:28px; }
  .office-page .lenses-hero h1 { font-size:44px; }
  .office-page .lenses-hero .lead { font-size:18px; }
  .office-page .lenses-hero__visual { width:100%; aspect-ratio:auto; }
  .office-page .lenses-hero .actions { flex-direction:column; align-items:stretch; }
  .office-page .lenses-hero .actions .button { display:flex; justify-content:center; }
  .office-page .office-task { padding:22px; }
  .office-page .office-stock { gap:32px; }
  .office-page .office-salon-copy h3 { font-size:26px; }
}
@media (max-width:760px) {
  .office-page .lenses-hero { grid-template-columns:1fr; gap:28px; padding-top:25px; }
  .office-page .lenses-hero h1 { max-width:600px; font-size:clamp(38px,7.2vw,52px); }
  .office-page .lenses-hero .lead { max-width:600px; }
  .office-page .lenses-hero .actions { flex-direction:row; }
  .office-page .lenses-hero .actions .button { flex:1; }
  .office-page .lenses-hero__visual { aspect-ratio:auto; max-height:none; }
  .office-page .lenses-facts { grid-template-columns:1fr; padding-bottom:30px; }
  .office-page .lenses-facts > div { padding:17px 0; }
  .office-page .lenses-facts > div + div { border-left:0; border-top:1px solid var(--line); }
  .office-page .lenses-section { padding:46px 0; }
  .office-page .lenses-section__head { grid-template-columns:1fr; gap:10px; }
  .office-page .office-task-grid { grid-template-columns:1fr; }
  .office-page .office-task { padding:22px 24px; }
  .office-page .office-task h3 { margin-top:10px; }
  .office-page .office-stock,.office-page .office-price-examples { grid-template-columns:1fr; gap:22px; }
  .office-page .lenses-cta { grid-template-columns:1fr; gap:24px; margin-bottom:46px; }
  .office-page .office-closing-actions { justify-content:flex-start; }
  .office-page .office-salon-copy .office-salon-stock { min-height:0; }
  .office-page .footer-top { grid-template-columns:1fr; gap:16px; }
  .office-page .footer-top p { text-align:center; }
}
@media (max-width:600px) {
  .office-page { --header-offset:90px; padding-bottom:75px; }
  .office-page .topbar { min-height:76px; }
  .office-page .header-brand { padding:12px 0; }
  .office-page .header-logo { font-size:25px; gap:9px; }
  .office-page .header-logo img { width:42px; height:42px; }
  .office-page .breadcrumbs { width:calc(100% - 28px); padding-top:18px; font-size:12px; }
  .office-page .lenses-hero h1 { font-size:clamp(35px,9vw,48px); }
  .office-page .lenses-hero h1 span { font-size:1em; }
  .office-page .lenses-hero .lead { font-size:18px; }
  .office-page .office-single-price strong { font-size:41px; }
  .office-page .office-pair-price { font-size:15px; }
  .office-page .lenses-hero .actions { flex-direction:column; }
  .office-page .lenses-hero .actions .button { width:100%; flex:auto; }
  .office-page .lenses-hero__visual { aspect-ratio:auto; }
  .office-page .lenses-hero__visual figcaption { padding:14px 16px; font-size:13px; }
  .office-page .lenses-price-list > div { grid-template-columns:minmax(0,1fr) auto; gap:10px; }
  .office-page .lenses-price-list dt { font-size:15px; }
  .office-page .lenses-price-list dd { font-size:19px; }
  .office-page .lenses-price-list dt small { font-size:12px; }
  .office-page .office-example { padding:23px; }
  .office-page .office-salon-copy { padding:22px; }
  .office-page .office-salon-image { height:190px; }
  .office-page .office-salon-copy h3 { font-size:28px; }
  .office-page .office-salon-copy .button { width:100%; justify-content:center; }
  .office-page .office-hours { font-size:12px; line-height:1.6; }
  .office-page .office-closing-actions { display:grid!important; width:100%; }
  .office-page .office-closing-actions .button { width:100%; justify-content:center; }
  .office-page .office-mobile-calls { position:fixed; right:0; bottom:0; left:0; z-index:25; display:grid; grid-template-columns:1fr 1fr; gap:8px; padding:9px 12px calc(9px + env(safe-area-inset-bottom)); border-top:1px solid var(--line); background:rgba(255,255,255,.98); }
  .office-page .office-mobile-calls a { display:grid; gap:3px; place-content:center; min-height:47px; border:1px solid var(--red); border-radius:6px; color:var(--red); font-size:13px; font-weight:800; text-align:center; }
  .office-page .office-mobile-calls a:first-child { background:var(--red); color:#fff; }
  .office-page .office-mobile-calls small { font-size:10px; font-weight:400; }
}
@media (max-width:360px) {
  .office-page .header-logo { font-size:23px; }
  .office-page .header-logo img { width:36px; height:36px; }
  .office-page .lenses-hero h1 { font-size:34px; }
  .office-page .office-single-price strong { font-size:37px; }
  .office-page .office-salon-copy { padding:19px; }
}
@media (prefers-reduced-motion:reduce) { .office-page { scroll-behavior:auto; } }
