:root{--ink:#192b2d;--muted:#657273;--paper:#f6f4ef;--white:#fff;--teal:#276a67;--teal-dark:#1e5351;--mint:#dce9e3;--line:#d9ded9;--coral:#d9826c;--serif:'Playfair Display',Georgia,serif;--sans:'Lato',Arial,sans-serif;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit}.skip-link{position:absolute;left:-9999px;top:10px;z-index:99;background:#fff;padding:12px}.skip-link:focus{left:12px}.site-header{position:sticky;top:0;z-index:20;background:rgba(246,244,239,.95);backdrop-filter:blur(12px);border-bottom:1px solid rgba(25,43,45,.08)}.header-inner{max-width:var(--max);height:82px;margin:auto;padding:0 34px;display:flex;align-items:center;justify-content:space-between}.logo{display:flex;align-items:center;min-width:110px}.logo img{width:102px;height:auto;display:block}.nav{display:flex;align-items:center;gap:34px;font-size:13px;font-weight:600}.nav>a:not(.button){color:#3f4e4d}.nav>a:hover,.text-link:hover{color:var(--teal)}.button{display:inline-flex;min-height:54px;align-items:center;justify-content:center;gap:18px;padding:0 23px;background:var(--teal);border:1px solid var(--teal);color:#fff;border-radius:2px;font-size:13px;font-weight:700;letter-spacing:.01em;transition:background .2s,transform .2s}.button:hover{background:var(--teal-dark);transform:translateY(-1px)}.button-small{min-height:44px;padding:0 17px;gap:10px}.button-outline{background:transparent;color:var(--ink);border-color:#aab5ae}.button-outline:hover{background:var(--ink);border-color:var(--ink);color:#fff}.button-light{background:#fff;color:var(--ink);border-color:#fff}.button-light:hover{background:#edf2ee;border-color:#edf2ee;color:var(--ink)}.menu-toggle,.mobile-call{display:none}.hero{max-width:var(--max);margin:0 auto;padding:62px 34px 80px;display:grid;grid-template-columns:1fr 1.08fr;gap:70px;align-items:center;min-height:575px}.hero-copy{padding:4px 0}.eyebrow,.section-kicker{font-size:10px;letter-spacing:.15em;font-weight:700;color:var(--teal);text-transform:uppercase}.eyebrow{display:flex;gap:12px;align-items:center;margin:0 0 22px}.eyebrow-line{width:28px;height:1px;background:var(--coral)}h1,h2,p{margin-top:0}h1,h2{font-weight:500;letter-spacing:-.045em;line-height:1.12}h1{font-size:clamp(52px,6vw,82px);margin:0 0 22px}h1 em,h2 em{font-family:var(--serif);font-weight:500;color:var(--teal);letter-spacing:-.04em}h1 em{font-size:.9em}.hero-intro{color:#576565;max-width:400px;font-size:17px;line-height:1.75}.hero-actions{display:flex;align-items:center;gap:27px;margin-top:31px}.text-link{display:inline-flex;gap:12px;align-items:center;font-size:13px;font-weight:700}.hero-note{display:flex;align-items:center;gap:14px;margin-top:57px;color:#63706e;font-size:12px;line-height:1.6}.hero-note b{color:var(--ink);font-weight:600}.note-mark{display:grid;place-items:center;width:40px;height:40px;border:1px solid #b5c1b9;border-radius:50%;font:italic 20px var(--serif);color:var(--teal)}.hero-visual{height:440px;position:relative;overflow:hidden;background:#dce9e3;display:flex;flex-direction:column;justify-content:space-between;padding:19px 22px}.hero-visual:before{content:'';position:absolute;width:380px;height:380px;border-radius:50%;background:#c2d7ce;left:50%;top:48%;transform:translate(-50%,-50%)}.hero-visual:after{content:'';position:absolute;width:300px;height:300px;border-radius:50%;border:1px solid rgba(255,255,255,.65);left:50%;top:48%;transform:translate(-50%,-50%)}.visual-top,.visual-caption{position:relative;z-index:2;display:flex;justify-content:space-between;font-size:9px;font-weight:700;letter-spacing:.14em}.visual-top{color:#57736b}.visual-caption{align-items:center;border-top:1px solid rgba(25,43,45,.22);padding-top:12px;letter-spacing:.03em;font-size:12px}.caption-arrow{font-size:18px}.lens-art{position:absolute;z-index:1;left:50%;top:49%;transform:translate(-50%,-50%) rotate(-7deg);width:390px;height:130px}.lens{position:absolute;top:10px;width:164px;height:104px;border:9px solid #244a48;border-radius:43% 44% 50% 50%;background:linear-gradient(145deg,rgba(255,255,255,.24),rgba(91,128,119,.15));box-shadow:inset 4px 3px 0 rgba(255,255,255,.35)}.lens-left{left:15px}.lens-right{right:15px}.bridge{position:absolute;left:174px;top:29px;width:43px;height:18px;border-top:8px solid #244a48;border-radius:50%}.temple{position:absolute;top:13px;width:29px;height:9px;background:#244a48;border-radius:9px}.temple-left{left:-3px;transform:rotate(-13deg)}.temple-right{right:-3px;transform:rotate(13deg)}.visual-stamp{position:absolute;z-index:2;right:36px;top:78px;width:67px;height:67px;border-radius:50%;border:1px solid var(--coral);color:#965b4d;display:grid;place-content:center;text-align:center;line-height:1.05;font:italic 20px var(--serif);transform:rotate(10deg)}.visual-stamp small{font:700 7px var(--sans);letter-spacing:.15em;margin-top:5px}.trust-strip{max-width:var(--max);margin:0 auto;padding:22px 34px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr 1fr auto;align-items:center;gap:22px}.trust-strip>div{display:flex;flex-direction:column;line-height:1.4}.strip-label{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:5px}.trust-strip b{font-size:12px;font-weight:600}.strip-cta{font-size:12px;font-weight:700;color:var(--teal);display:flex;gap:10px}.section-pad{padding:105px max(34px,calc((100% - var(--max))/2))}.intro-section{display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:34px;align-items:center}.section-kicker{color:#74827d;font-size:9px;margin-bottom:15px}.intro-section h2,.section-heading h2,.insurance-head h2,.location-info h2{font-size:clamp(38px,4.2vw,56px);margin:0}.intro-body{color:var(--muted);font-size:14px}.intro-body p{margin:0 0 18px}.eyewear-section{background:#ebe9e2}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px}.section-heading h2{margin-bottom:0}.section-lede{max-width:520px;color:var(--muted);font-size:14px;margin:18px 0 32px}.brand-grid{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid #ccd1ca;border-left:1px solid #ccd1ca}.brand-grid span{min-height:75px;display:flex;justify-content:center;align-items:center;padding:10px;border-right:1px solid #ccd1ca;border-bottom:1px solid #ccd1ca;text-align:center;font:500 17px var(--serif);transition:background .2s,color .2s}.brand-grid span:hover{background:var(--teal);color:#fff}.fine-print{color:#77817d;font-size:11px;margin:15px 0 0}.service-section{display:grid;grid-template-columns:1fr 1fr;min-height:380px;background:var(--mint)}.service-art{position:relative;overflow:hidden;background:#c9ddd4;display:grid;place-items:center}.service-circle{width:240px;height:240px;border:1px solid rgba(39,106,103,.45);border-radius:50%;display:grid;place-items:center;color:var(--teal);text-align:center;font:italic 32px/1.1 var(--serif);letter-spacing:.08em}.service-circle:before,.service-circle:after{content:'';position:absolute;border:1px solid rgba(39,106,103,.22);border-radius:50%;width:300px;height:300px}.service-circle:after{width:370px;height:370px}.service-line{position:absolute;width:100%;height:1px;background:rgba(39,106,103,.25);transform:rotate(-25deg)}.service-copy{padding:72px max(34px,calc((100vw - var(--max))/2)) 72px 70px;align-self:center;max-width:660px}.service-copy h2,.cherry-copy h2{font-size:clamp(38px,4.2vw,55px);margin-bottom:18px}.service-copy p,.cherry-copy p{color:#61716e;font-size:14px;max-width:430px;margin-bottom:25px}.insurance-section{background:#fff}.insurance-head{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:end;margin-bottom:36px}.insurance-head p{color:var(--muted);font-size:14px;max-width:440px;margin:0}.insurance-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.insurance-grid span{min-height:62px;display:flex;align-items:center;padding:15px 18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:13px;font-weight:600}.insurance-foot{display:flex;justify-content:space-between;align-items:center;margin-top:24px;font-size:13px;color:var(--muted)}.insurance-foot .text-link{color:var(--teal)}.cherry-section{background:var(--teal);color:#fff;display:grid;grid-template-columns:.55fr 1.35fr auto;gap:45px;align-items:center}.cherry-mark{font-size:37px;font-weight:700;letter-spacing:-.08em}.cherry-mark span{color:#ffc4b2}.cherry-copy .section-kicker{color:#bcd3c8}.cherry-copy h2{font-size:43px;margin-bottom:12px}.cherry-copy h2 em{color:#dce9e3}.cherry-copy p{color:#e1e9e5;margin:0;max-width:500px}.location-section{display:grid;grid-template-columns:.9fr 1.1fr;gap:65px;align-items:center;background:var(--paper)}.location-info h2{margin-bottom:24px}.address-block{display:flex;align-items:start;gap:16px;margin-bottom:24px}.address-icon{width:36px;height:36px;border:1px solid #b1bcb5;border-radius:50%;display:grid;place-items:center;color:var(--teal);font-size:22px}.address-block p{font-size:14px;color:var(--muted);line-height:1.7;margin:0}.address-block b{color:var(--ink)}.contact-actions{display:flex;gap:12px;flex-wrap:wrap}.hours-note{font-size:11px;color:#77817d;margin:16px 0 0}.map-wrap{height:390px;position:relative;background:#e0e4dd}.map-wrap iframe{width:100%;height:100%;border:0;filter:grayscale(.35) saturate(.8)}.map-label{position:absolute;left:16px;bottom:16px;background:#fff;padding:13px 16px;display:flex;gap:24px;box-shadow:0 4px 16px #1c302617;font-size:12px;font-weight:700}.booking-banner{padding:58px max(34px,calc((100% - var(--max))/2));display:grid;grid-template-columns:65px 1fr auto;gap:25px;align-items:center;background:#d88771;color:#fff}.booking-banner .section-kicker{color:#fff0e9;margin-bottom:6px}.booking-banner h2{font-size:38px;margin:0 0 5px}.booking-banner p{font-size:13px;margin:0;color:#fff3ef}.banner-dot{width:56px;height:56px;border:1px solid rgba(255,255,255,.7);border-radius:50%;display:grid;place-items:center;font:italic 27px var(--serif)}.site-footer{background:#1b3031;color:#dce5e1;padding:48px max(34px,calc((100% - var(--max))/2)) 25px}.footer-main{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;padding-bottom:36px;border-bottom:1px solid #405454}.footer-logo img{background:#fff;border-radius:2px}.footer-main p{color:#bbc8c2;font-size:12px;line-height:1.7;margin:0}.footer-book{font-size:13px;font-weight:600}.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px;padding-top:20px;color:#acbbb5;font-size:10px}.mobile-actions{display:none}a:focus-visible,button:focus-visible{outline:3px solid #e08b73;outline-offset:3px}::selection{background:#b9d6ca;color:#132a29}
@media(max-width:850px){.nav{gap:19px}.header-inner{padding:0 24px}.hero{gap:35px;padding:54px 24px 65px}.hero-visual{height:380px}.lens-art{transform:translate(-50%,-50%) rotate(-7deg) scale(.83)}.visual-stamp{right:18px}.section-pad{padding:80px 24px}.trust-strip{padding:20px 24px}.brand-grid{grid-template-columns:repeat(4,1fr)}.insurance-grid{grid-template-columns:repeat(3,1fr)}.service-copy{padding:55px 35px}.location-section{gap:35px}.booking-banner,.site-footer{padding-left:24px;padding-right:24px}}
@media(max-width:650px){html{scroll-padding-top:72px}.header-inner{height:68px;padding:0 18px}.logo img{width:92px}.menu-toggle{display:flex;background:none;border:0;padding:12px;flex-direction:column;gap:5px;cursor:pointer}.menu-toggle span{width:22px;height:2px;background:var(--ink)}.nav{display:none;position:absolute;top:68px;left:0;right:0;background:var(--paper);padding:18px 20px 22px;box-shadow:0 14px 20px #1c302617;flex-direction:column;align-items:stretch;gap:0}.nav.is-open{display:flex}.nav>a:not(.button){padding:12px 0;border-bottom:1px solid var(--line)}.nav .button{margin-top:15px}.nav .mobile-call{display:block}.hero{display:flex;flex-direction:column;align-items:stretch;gap:37px;padding:45px 20px 40px;min-height:0}.hero-copy{padding:0}.eyebrow{font-size:8px}h1{font-size:57px}.hero-intro{font-size:15px}.hero-actions{align-items:flex-start;flex-direction:column;gap:19px}.hero-note{margin-top:30px}.hero-visual{height:305px}.hero-visual:before{width:265px;height:265px}.hero-visual:after{width:220px;height:220px}.lens-art{transform:translate(-50%,-50%) rotate(-7deg) scale(.72)}.visual-stamp{width:56px;height:56px;top:61px;font-size:17px}.trust-strip{padding:18px 20px;grid-template-columns:1fr 1fr;gap:18px}.strip-cta{grid-column:1/-1;border-top:1px solid var(--line);padding-top:12px}.section-pad{padding:66px 20px}.intro-section{grid-template-columns:1fr;gap:15px}.intro-section h2,.section-heading h2,.insurance-head h2,.location-info h2{font-size:43px}.intro-body{max-width:450px}.section-heading{align-items:flex-start;flex-direction:column;gap:15px}.section-lede{margin:17px 0 25px}.brand-grid{grid-template-columns:repeat(2,1fr)}.brand-grid span{min-height:62px;font-size:16px}.service-section{grid-template-columns:1fr}.service-art{min-height:260px}.service-copy{padding:50px 20px}.service-copy h2,.cherry-copy h2{font-size:42px}.insurance-head{grid-template-columns:1fr;gap:15px;margin-bottom:25px}.insurance-grid{grid-template-columns:repeat(2,1fr)}.insurance-grid span{min-height:57px;padding:12px;font-size:12px}.insurance-foot{align-items:flex-start;flex-direction:column;gap:8px}.cherry-section{grid-template-columns:1fr;gap:16px;padding-top:53px;padding-bottom:53px}.cherry-mark{font-size:31px}.cherry-copy h2{margin-bottom:10px}.location-section{grid-template-columns:1fr;gap:30px}.contact-actions .button{flex:1}.map-wrap{height:310px}.booking-banner{grid-template-columns:45px 1fr;gap:15px;padding:39px 20px 75px}.booking-banner h2{font-size:31px}.booking-banner .button{grid-column:1/-1;width:100%}.banner-dot{width:42px;height:42px;font-size:21px}.site-footer{padding:40px 20px 75px}.footer-main{grid-template-columns:1fr auto;gap:15px}.footer-main p{grid-column:1/-1;grid-row:2}.footer-book{align-self:center}.footer-bottom{flex-direction:column;gap:8px}.mobile-actions{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;z-index:30;bottom:0;left:0;right:0;padding:9px 12px calc(9px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line);box-shadow:0 -5px 18px #1c302610}.mobile-actions a{text-align:center;color:var(--teal);font-size:12px;font-weight:700;padding:7px 2px}.mobile-actions a:first-child{background:var(--teal);color:#fff}.fine-print{line-height:1.5}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

.location-media{display:flex;flex-direction:column;gap:14px}.store-photos{height:275px;display:grid;grid-template-columns:1.2fr 1fr;gap:8px;overflow:hidden}.store-photos img{display:block;width:100%;height:100%;object-fit:cover;background:#e2e5df}.store-photo-main{grid-row:span 1}.store-photo-stack{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:8px;min-height:0}.store-photo-stack img:first-child{grid-column:span 2}.map-wrap{height:290px}@media(max-width:650px){.store-photos{height:255px;grid-template-columns:1fr 1fr}.store-photo-stack{gap:5px}.store-photos,.store-photo-stack{gap:5px}.map-wrap{height:270px}}

.booking-section{background:#fff}.booking-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:28px}.booking-heading h2{font-size:clamp(38px,4.2vw,56px);margin:0 0 12px}.booking-heading p{font-size:14px;color:var(--muted);margin:0}.setmore-frame{width:100%;height:800px;border:1px solid var(--line);background:#fff;overflow:hidden}.setmore-frame iframe{width:100%;height:100%;border:0}.integration-fallback{font-size:12px;color:var(--muted);margin:12px 0 0}.integration-fallback a{color:var(--teal);text-decoration:underline;text-underline-offset:3px}.cherry-widget-wrap{grid-column:1/-1;background:#fff;color:var(--ink);min-width:0;padding:clamp(15px,3vw,32px);border-radius:3px;overflow:hidden}.cherry-section{grid-template-columns:.55fr 1.35fr auto}.cherry-section .cherry-widget-wrap{grid-column:1/-1}.cherry-section .integration-fallback{color:#e1e9e5}@media(max-width:850px){.setmore-frame{height:780px}}@media(max-width:650px){.booking-heading{align-items:flex-start;flex-direction:column;gap:15px}.booking-heading h2{font-size:41px}.setmore-frame{height:740px;margin:0 -5px;width:calc(100% + 10px)}.cherry-section{grid-template-columns:1fr;gap:16px}.cherry-section .cherry-widget-wrap{grid-column:1}.cherry-widget-wrap{padding:8px}.cherry-section .button-light{width:max-content}}
