
#opticore-concept { --oc-ink:light-dark(#203a3b,#e9eee7); --oc-paper:light-dark(#faf9f5,#182c2d); --oc-panel:light-dark(#fff,#213b3c); --oc-soft:light-dark(#eeefe5,#2b4241); --oc-muted:light-dark(#596761,#bdc9c0); --oc-line:light-dark(#d9ded2,#49605a); --oc-lime:#d9e2a9; color:var(--oc-ink); font:15px/1.6 Arial,sans-serif; }
#opticore-concept * { box-sizing:border-box; }
#opticore-concept button,#opticore-concept a { -webkit-tap-highlight-color:transparent; }
#opticore-concept button { font:inherit; }
#opticore-concept .review-bar { display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:12px 0 18px;color:var(--oc-ink); }
#opticore-concept .switcher {display:flex;gap:5px;flex-wrap:wrap;}
#opticore-concept .switcher button {border:1px solid var(--oc-line);background:var(--oc-paper);color:var(--oc-ink);padding:8px 14px;border-radius:7px;min-height:44px;}
#opticore-concept .switcher button[aria-pressed=true] {background:var(--oc-ink);color:var(--oc-paper);}
#opticore-concept .version {font-size:12px;letter-spacing:1px;text-transform:uppercase;}
#opticore-concept .site {background:var(--oc-paper);container-type:inline-size;width:100%;margin:auto;}
#opticore-concept .site.phone {max-width:390px;}
#opticore-concept a {color:inherit;text-decoration:none;}
#opticore-concept a:hover {text-decoration:underline;text-underline-offset:5px;}
#opticore-concept h1,#opticore-concept h2,#opticore-concept h3,#opticore-concept p {margin:0;}
#opticore-concept h1 {font-family:Georgia,serif;font-size:54px;font-weight:400;line-height:1.06;letter-spacing:-2.2px;}
#opticore-concept h2 {font-family:Georgia,serif;font-size:36px;line-height:1.15;font-weight:400;letter-spacing:-.8px;}
#opticore-concept h3 {font-size:21px;line-height:1.3;font-weight:500;letter-spacing:-.4px;}
#opticore-concept p {color:var(--oc-muted);}
#opticore-concept .eyebrow {font-size:11px;letter-spacing:1.9px;text-transform:uppercase;font-weight:600;display:block;margin-bottom:16px;}
#opticore-concept .action {display:inline-flex;justify-content:center;align-items:center;gap:14px;background:var(--oc-ink);color:var(--oc-paper);padding:13px 19px;border:1px solid transparent;border-radius:5px;font-size:13px;min-height:46px;line-height:1.3;text-align:center;}
#opticore-concept .action.light {background:var(--oc-lime);color:#213b37;}
#opticore-concept .action.outline {background:transparent;border-color:var(--oc-line);color:var(--oc-ink);}
#opticore-concept .actions {display:flex;gap:10px;flex-wrap:wrap;margin-top:25px;}
#opticore-concept .topline {display:flex;justify-content:space-between;padding:8px 4%;background:var(--oc-soft);font-size:11px;letter-spacing:.35px;gap:10px;}
#opticore-concept header {padding:20px 4%;display:flex;gap:22px;align-items:center;background:var(--oc-panel);position:relative;flex-wrap:wrap;}
#opticore-concept .brand {display:flex;align-items:center;gap:7px;margin-right:auto;}
#opticore-concept .brand img {width:43px;height:43px;object-fit:contain;background:#fff;border-radius:50%;}
#opticore-concept .brand strong {font-size:22px;font-weight:500;letter-spacing:-.8px;display:block;line-height:1.1;}
#opticore-concept .brand small {font-size:9px;letter-spacing:2.5px;text-transform:uppercase;}
#opticore-concept .nav {display:flex;gap:17px;align-items:center;font-size:12px;}
#opticore-concept .menu {display:none;background:none;border:1px solid var(--oc-line);color:var(--oc-ink);border-radius:5px;padding:10px;min-height:44px;}
#opticore-concept .hero {display:grid;grid-template-columns:1.03fr 1fr;min-height:480px;}
#opticore-concept .hero-copy {padding:54px 8%;display:flex;flex-direction:column;justify-content:center;}
#opticore-concept .hero-copy p {margin-top:22px;font-size:15px;max-width:380px;}
#opticore-concept .hero-photo {position:relative;min-height:420px;}
#opticore-concept .hero-photo img {width:100%;height:100%;position:absolute;object-fit:cover;object-position:center 64%;}
#opticore-concept .photo-caption {position:absolute;bottom:20px;left:20px;right:20px;background:var(--oc-panel);padding:14px 18px;font-size:12px;display:flex;justify-content:space-between;gap:15px;}
#opticore-concept .photo-caption span:last-child {color:var(--oc-muted);}
#opticore-concept .trust {display:flex;justify-content:space-between;gap:18px;padding:20px 5%;border-bottom:1px solid var(--oc-line);font-size:12px;flex-wrap:wrap;}
#opticore-concept .trust span::before {content:'✓';margin-right:9px;}
#opticore-concept .section {padding:65px 5%;}
#opticore-concept .section-top {display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:30px;}
#opticore-concept .section-top p {max-width:310px;font-size:13px;}
#opticore-concept .three {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
#opticore-concept .service {padding:27px 24px;border-top:1px solid var(--oc-ink);background:var(--oc-panel);display:flex;flex-direction:column;gap:17px;}
#opticore-concept .number {font-size:12px;letter-spacing:2px;color:var(--oc-muted);}
#opticore-concept .service p {font-size:13px;}
#opticore-concept .textlink {font-size:12px;font-weight:600;padding:7px 0;display:inline-block;}
#opticore-concept .service .textlink {margin-top:auto;}
#opticore-concept .physio {background:var(--oc-soft);display:grid;grid-template-columns:1fr 1fr;gap:50px;}
#opticore-concept .physio p {margin:18px 0;font-size:14px;}
#opticore-concept .treatment {border-bottom:1px solid var(--oc-line);padding:16px 0;display:flex;justify-content:space-between;align-items:center;gap:15px;}
#opticore-concept .treatment small {display:block;color:var(--oc-muted);font-size:12px;}
#opticore-concept .dark {background:#203a3b;color:#f2f4ea;}
#opticore-concept .dark p {color:#c5d1c7;}
#opticore-concept .offer {border:1px solid #617571;padding:25px 23px;display:flex;flex-direction:column;gap:15px;border-radius:6px;}
#opticore-concept .offer.featured {background:#d9e2a9;color:#213b37;border-color:#d9e2a9;}
#opticore-concept .offer.featured p {color:#445548;}
#opticore-concept .offer ul {padding-left:18px;font-size:12px;margin:0;}
#opticore-concept .offer li {margin:6px 0;}
#opticore-concept .offer p {font-size:13px;}
#opticore-concept .offer .textlink {margin-top:auto;}
#opticore-concept .rate {font-size:25px;letter-spacing:-.6px;line-height:1.3;}
#opticore-concept .rate small {font-size:12px;letter-spacing:0;}
#opticore-concept .note {display:block;color:#785313;background:#fff1ce;border-left:3px solid #b5832a;padding:9px 11px;font-size:11px;line-height:1.45;margin-top:12px;}
#opticore-concept .hide-notes .note {display:none;}
#opticore-concept .prevention {display:grid;grid-template-columns:1fr 1.1fr;gap:45px;align-items:center;}
#opticore-concept .course-panel {background:var(--oc-soft);padding:30px;}
#opticore-concept .course-panel .course-row {display:flex;justify-content:space-between;gap:18px;padding:13px 0;border-bottom:1px solid var(--oc-line);font-size:12px;}
#opticore-concept .course-panel .course-row span:last-child {text-align:right;}
#opticore-concept .prevention p {margin-top:18px;font-size:14px;}
#opticore-concept .team {background:var(--oc-soft);}
#opticore-concept .two {display:grid;grid-template-columns:1fr 1fr;gap:22px;}
#opticore-concept .person {background:var(--oc-panel);display:grid;grid-template-columns:.8fr 1fr;}
#opticore-concept .portrait {background:var(--oc-paper);display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:225px;border:1px dashed var(--oc-line);padding:20px;text-align:center;}
#opticore-concept .portrait .initials {font:48px/1.2 Georgia,serif;opacity:.35;}
#opticore-concept .portrait small {font-size:11px;margin-top:12px;color:var(--oc-muted);}
#opticore-concept .person-copy {padding:25px 20px;}
#opticore-concept .person-copy p {font-size:12px;margin-top:12px;}
#opticore-concept .person-copy .role {color:var(--oc-ink);margin-top:5px;}
#opticore-concept .booking {display:grid;grid-template-columns:1fr 1fr;gap:50px;}
#opticore-concept .booking p {font-size:14px;margin-top:18px;}
#opticore-concept .booking-box {padding:30px;background:var(--oc-panel);border:1px solid var(--oc-line);border-radius:7px;}
#opticore-concept .booking-box ol {padding-left:22px;font-size:13px;color:var(--oc-muted);}
#opticore-concept .booking-box li {padding:6px 0;}
#opticore-concept .booking-box .action {width:100%;}
#opticore-concept .booking-box small {display:block;font-size:11px;color:var(--oc-muted);margin-top:12px;}
#opticore-concept .faq {border-top:1px solid var(--oc-line);padding-top:35px;}
#opticore-concept details {border-bottom:1px solid var(--oc-line);padding:16px 0;font-size:13px;}
#opticore-concept summary {font-size:14px;}
#opticore-concept details p {padding:14px 0 4px;}
#opticore-concept .visit {display:grid;grid-template-columns:1fr 1fr;background:var(--oc-soft);}
#opticore-concept .visit img {width:100%;height:370px;object-fit:cover;object-position:center 65%;}
#opticore-concept .visit-copy {padding:38px;}
#opticore-concept .visit-copy p {font-size:14px;margin-top:20px;}
#opticore-concept footer {padding:32px 5%;background:#203a3b;color:#f2f4ea;display:flex;gap:22px;justify-content:space-between;flex-wrap:wrap;font-size:11px;}
#opticore-concept footer .links {display:flex;gap:17px;flex-wrap:wrap;}
#opticore-concept [hidden] {display:none!important;}
@container (max-width:760px) {
 #opticore-concept .nav {display:none;order:4;flex-basis:100%;padding:15px 0;border-top:1px solid var(--oc-line);font-size:15px;gap:0;}
 #opticore-concept .nav.open {display:flex;flex-direction:column;align-items:stretch;}
 #opticore-concept .nav a {padding:12px 4px;}
 #opticore-concept .menu {display:block;}
 #opticore-concept header {padding:15px 5%;gap:10px;}
 #opticore-concept header > .action {display:none;}
 #opticore-concept .topline {padding:8px 5%;font-size:10px;}
 #opticore-concept .topline span:last-child {display:none;}
 #opticore-concept .hero {grid-template-columns:1fr;}
 #opticore-concept .hero-copy {padding:34px 6%;}
 #opticore-concept h1 {font-size:42px;letter-spacing:-1.5px;}
 #opticore-concept h2 {font-size:31px;}
 #opticore-concept .hero-copy p {font-size:14px;margin-top:18px;}
 #opticore-concept .hero-photo {min-height:265px;}
 #opticore-concept .hero-photo img {object-position:center 60%;}
 #opticore-concept .photo-caption {bottom:12px;left:14px;right:14px;padding:10px 14px;font-size:11px;}
 #opticore-concept .trust {padding:20px 6%;gap:12px;flex-direction:column;}
 #opticore-concept .section {padding:40px 6%;}
 #opticore-concept .section-top {display:block;margin-bottom:25px;}
 #opticore-concept .section-top p {margin-top:15px;}
 #opticore-concept .three,#opticore-concept .two,#opticore-concept .physio,#opticore-concept .prevention,#opticore-concept .booking,#opticore-concept .visit {grid-template-columns:1fr;gap:22px;}
 #opticore-concept .service {padding:22px;gap:12px;}
 #opticore-concept .person {grid-template-columns:.75fr 1fr;}
 #opticore-concept .person-copy {padding:20px 15px;}
 #opticore-concept .person h3 {font-size:19px;}
 #opticore-concept .portrait {min-height:210px;padding:12px;}
 #opticore-concept .course-panel,#opticore-concept .booking-box {padding:24px;}
 #opticore-concept .visit {gap:0;}
 #opticore-concept .visit img {height:240px;}
 #opticore-concept .visit-copy {padding:32px 6%;}
 #opticore-concept .actions .action {flex:1;min-width:130px;}
 #opticore-concept .eyebrow {font-size:10px;letter-spacing:1.5px;}
}
