:root{--navy:#321b29;--blue:#862b49;--sapphire:#672037;--gold:#ffb24b;--gold-light:#ffd9ad;--paper:#fff;--ink:#352630;--muted:#6d5a62;--line:#ebdce1;--teal:#326650;--aqua:#f9ddc9;--pink:#ffe5df}
body{background:#fff}h1,h2,h3{font-family:Manrope,Arial,sans-serif}h1,h2{font-weight:800;letter-spacing:-.055em}h1 em,h2 em{font-style:normal}h2{font-size:clamp(38px,4.6vw,66px);line-height:1.08}h2 em{color:var(--blue)}.wrap{width:min(1400px,90%)}.eyebrow{font-size:14px;letter-spacing:1.5px}.topbar{background:var(--blue);color:#fff;font-size:12px;letter-spacing:1.4px;padding:9px 5%}.topbar span{color:#fff;font-size:12px}.header{border-bottom:1px solid #eee1e2}.header-inner{min-height:108px;padding:13px 0}.brand-logo{width:180px}.header nav{gap:32px;font-size:16px}.header nav a:hover{color:var(--blue)}.button{border-radius:100px;font-size:16px;padding:17px 26px;gap:24px;box-shadow:none;transition:transform .2s,background .2s}.gold{background:var(--gold);color:#352630}.gold:hover{background:#ffc775}.header-book{background:var(--blue);color:#fff;font-size:14px;padding:15px 23px}.header-book:hover{background:var(--sapphire)}.text-link{font-size:16px}.light{color:#fff;border-color:#ffffff85}.gold-text{color:var(--gold-light)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #ed7222;outline-offset:5px}
.vibrant-hero{min-height:0;background:var(--blue);overflow:hidden}.vibrant-hero-grid{display:grid;grid-template-columns:1.08fr 1fr;align-items:center;gap:5%;min-height:695px;padding-top:55px;padding-bottom:62px}.vibrant-hero-copy{padding:20px 0;color:#fff;min-width:0}.vibrant-hero-copy .eyebrow{color:var(--gold-light);margin-bottom:25px}.vibrant-hero-copy h1{font-size:clamp(52px,5.7vw,84px);line-height:1.05;margin-bottom:27px;letter-spacing:-.065em}.vibrant-hero-copy h1 em{display:inline-block;color:var(--gold-light)}.vibrant-hero-copy>p:not(.eyebrow){font-size:20px;max-width:400px;color:#fff0ed;line-height:1.65;margin-bottom:30px}.hero-note{display:flex;gap:12px;flex-direction:column;margin-top:45px;font-size:14px;color:#fff}.hero-note span:last-child{font-size:12px;letter-spacing:2px;color:#f6d7dc}.hero-gallery{position:relative;min-width:0;height:545px;background:#ffb24b;border-radius:200px 200px 24px 24px;margin-left:15px;margin-right:12px}.hero-portrait{position:absolute;inset:0 0 22px 22px;margin:0;overflow:hidden;border-radius:200px 200px 22px 22px;transform:rotate(3deg);background:#352630}.hero-portrait img{width:100%;height:100%;object-fit:cover;object-position:70% center}.hero-portrait figcaption{position:absolute;bottom:24px;left:24px;right:24px;font-size:12px;letter-spacing:1.7px;color:#fff;text-shadow:0 1px 8px #000}.hero-product{position:absolute;left:-45px;bottom:30px;width:215px;background:var(--aqua);padding:10px;border-radius:18px;box-shadow:0 16px 35px #3b172945;transform:rotate(-7deg);transition:transform .25s}.hero-product:hover{transform:rotate(-3deg) translateY(-5px)}.hero-product img{display:block;width:100%;height:140px;object-fit:cover;border-radius:10px}.hero-product>span{display:flex;justify-content:space-between;align-items:center;color:#352630;font-weight:700;font-size:14px;padding:12px 4px 3px}.hero-product b{font-size:20px}.hero-gallery-label{position:absolute;right:-5px;top:32px;background:var(--pink);color:#692047;border-radius:100px;padding:12px 18px;transform:rotate(8deg);font-size:14px;font-weight:700}.signature-strip{background:var(--aqua);padding:24px 0}.signature-strip .wrap{font-size:16px;font-weight:650;letter-spacing:0;color:#5a343d}.signature-strip b{color:var(--teal);font-size:22px}
.section{padding-top:100px;padding-bottom:100px}.section-heading{margin-bottom:45px}.section-heading .eyebrow{color:var(--teal);font-size:14px}.section-heading>p{font-size:17px;max-width:380px}.collection-grid{grid-template-columns:1.13fr 1fr 1fr;gap:25px;align-items:start}.collection{height:450px;border-radius:24px;box-shadow:none}.collection:nth-child(2){margin-top:40px}.collection:nth-child(3){margin-top:80px}.collection.optical{border-bottom:8px solid var(--blue)}.collection.sun{border-bottom:8px solid #ff9f39}.collection.personal{border-bottom:8px solid #78a783}.collection-overlay{background:linear-gradient(0deg,#2b1527f5,transparent 75%)}.collection-tag{font-size:12px;letter-spacing:1px;border:0;background:#fff;color:var(--ink);border-radius:50px;padding:9px 13px;top:20px;left:20px}.collection h3{font-family:Manrope,Arial,sans-serif;font-size:29px;font-weight:750;letter-spacing:-1px}.collection p{font-size:16px;color:#fff}.collection-copy{left:23px;right:23px;bottom:27px;padding-right:24px}.circle-arrow{width:35px;height:35px;line-height:33px;background:#fff;color:var(--ink);border:0}.collection-footnote{font-size:14px;margin-top:27px;color:var(--muted)}
.brand-video-section{margin:0 2.5% 80px;border-radius:32px}.brand-video-inner{min-height:570px;padding-top:80px;padding-bottom:90px}.brand-video-copy h2{font-size:clamp(48px,5.7vw,80px);line-height:1.05}.brand-video-copy h2 em{color:var(--gold-light)}.brand-video-shade{background:linear-gradient(90deg,#361a30eb,#361a3091 48%,#361a3012 80%)}.brand-video-copy>p:not(.eyebrow){font-size:18px}.video-toggle{bottom:28px;right:12px}
.experience{background:var(--teal);padding:95px 0}.experience-grid{grid-template-columns:1fr 1fr;gap:8%;align-items:center}.experience-copy h2{font-size:clamp(42px,4.8vw,64px)}.experience-copy h2 em{color:var(--gold-light)}.experience-copy .lead{font-size:23px;color:#fff}.experience-copy>p:not(.lead):not(.eyebrow){font-size:17px;color:#eff9ef}.experience-image{min-height:565px;border-radius:180px 180px 24px 24px;box-shadow:16px 16px 0 #70967a}.image-plaque{background:#ffb24b;color:#352630;backdrop-filter:none;border:0;border-radius:14px;padding:22px}.image-plaque span{font-size:12px;color:#513943;letter-spacing:1px}.image-plaque strong{font:750 28px/1.2 Manrope,Arial,sans-serif;letter-spacing:-1px}.experience-points>div{border-color:#ffffff45}.experience-points b{color:var(--gold-light);font-size:18px}.experience-points span{font-size:16px;color:#eff9ef}.experience-points strong{font-size:17px;color:#fff}
.booking-section{background:#fff2ed;padding:95px 0}.booking-demo-note{background:#fff3d8;border-color:#e3c278;color:#59430e;border-radius:12px;font-size:14px}.booking-demo-note b{font-size:12px}.booking-layout{border:1px solid #ead0d6;border-radius:25px;box-shadow:0 20px 55px #862b4912;grid-template-columns:300px minmax(0,1fr)}.booking-sidebar{background:var(--blue)}.booking-sidebar h3{font:750 34px/1.15 Manrope,Arial,sans-serif;letter-spacing:-1px}.booking-sidebar>p{font-size:16px;color:#ffe7e8}.booking-steps li{color:#ffe0e4}.booking-steps small{color:#ffe0e4}.booking-steps li.active>span{background:var(--gold-light);color:var(--ink);border-color:var(--gold-light)}.sidebar-summary{border-color:#ffffff40}.sidebar-summary>span,.sidebar-summary>p,.sidebar-summary>small{color:#ffe7e8}.booking-main{min-width:0}.booking-heading h3{font-family:Manrope,Arial,sans-serif;font-weight:750;letter-spacing:-1px}.preview-pill{background:#fbe5eb;color:#862b49;font-size:12px}.day.selected,.day.selected:hover{background:var(--blue)}.time-slot.selected{background:#fbe8ed;border-color:var(--blue);color:#76213d}.field-label,.calendar-toolbar h4,.time-panel h4,.day,.time-slot{font-size:14px}.step-footer>.button{font-size:14px}.privacy-note,.time-zone,.confirmation-note,.calendar-legend{font-size:13px}.sidebar-summary>strong{font-size:16px}.sidebar-summary>p{font-size:14px}
.questions{gap:8%;align-items:start}.questions .eyebrow{color:var(--teal)}.questions h2{font-size:clamp(38px,4.5vw,60px)}.questions>div>p:not(.eyebrow){font-size:17px}.faq-list details{border:0;background:#faf0eb;padding:0 23px;border-radius:16px;margin-bottom:12px}.faq-list details[open]{background:var(--aqua)}.faq-list summary{font-size:17px;font-weight:650;padding:23px 0}.faq-list details p{font-size:16px;color:#65434e}.faq-list summary span{color:var(--blue)}
.visit{background:#482335;padding:90px 0}.visit h2{font-size:clamp(40px,4.8vw,64px)}.visit h2 em{color:var(--gold-light)}.visit-grid{background:#5c3044;border-radius:22px;padding:32px;grid-template-columns:1fr 1fr;gap:50px}.visit-details h3{font-weight:750;font-size:28px}.store-phone{color:#ffd8ad}.store-hours{max-width:none}.store-hours th,.store-hours td{border-color:#ffffff25}.store-map{border:0;border-radius:22px;margin-top:26px}.map-caption{background:var(--aqua);color:#4c3038;font-size:16px}.map-caption a{color:#862b49}.footer-inner{min-height:150px}footer{background:#2f1927}footer .brand{border-radius:12px;padding:12px}footer p,footer .footer-inner>span{font-size:14px;color:#ecd6df}
@media(max-width:1150px){.header nav{gap:20px;font-size:14px}.header-book{padding:14px 18px}.brand-logo{width:162px}.vibrant-hero-grid{min-height:625px;gap:4%}.hero-gallery{height:475px}.hero-product{width:180px;left:-22px}.hero-product img{height:120px}.hero-gallery-label{font-size:12px}.vibrant-hero-copy h1{font-size:clamp(50px,6vw,70px)}.collection{height:390px}.collection h3{font-size:25px}.collection-copy{padding-right:0}.circle-arrow{display:none}.collection p{font-size:15px}.booking-layout{grid-template-columns:255px minmax(0,1fr)}}
@media(max-width:900px){.header nav{display:none}.vibrant-hero-grid{grid-template-columns:1fr 1fr;gap:4%;min-height:570px}.hero-gallery{height:405px;margin-left:0}.hero-product{width:150px;left:-15px;bottom:15px}.hero-product img{height:100px}.hero-product>span{font-size:12px}.hero-gallery-label{right:-7px;top:20px;padding:9px 13px}.vibrant-hero-copy h1{font-size:clamp(39px,5.8vw,52px)}.vibrant-hero-copy>p:not(.eyebrow){font-size:17px}.vibrant-hero-copy .eyebrow{font-size:12px}.hero-note{margin-top:25px}.hero-portrait{inset:0 0 15px 12px}.hero-portrait figcaption{font-size:10px;bottom:15px}.collection-grid{gap:16px}.collection{height:350px}.collection-tag{font-size:10px;padding:7px 10px;left:15px}.collection h3{font-size:23px}.collection-copy{left:17px;right:17px}.collection:nth-child(2){margin-top:25px}.collection:nth-child(3){margin-top:50px}.experience-grid{gap:6%}.experience-image{min-height:520px}.image-plaque{left:18px;right:18px;padding:18px}.image-plaque strong{font-size:23px}.image-plaque span{font-size:11px}.booking-layout{grid-template-columns:1fr}.booking-sidebar{display:grid}.booking-sidebar>p{font-size:14px}.questions{gap:5%}.section-heading>p{font-size:16px}.visit-grid{padding:25px;gap:35px}}
@media(max-width:650px){.wrap{width:90%}.topbar{font-size:11px}.topbar span{display:none}.header-inner{min-height:92px;padding:12px 0}.brand-logo{width:145px}.header-book{font-size:12px;padding:12px 17px;max-width:140px}.vibrant-hero-grid{display:flex;flex-direction:column;gap:30px;min-height:0;padding-top:40px;padding-bottom:35px}.vibrant-hero-copy{padding:0;width:100%}.vibrant-hero-copy .eyebrow{font-size:12px;margin-bottom:18px}.vibrant-hero-copy h1{font-size:clamp(43px,10vw,62px);letter-spacing:-.055em;margin-bottom:20px}.vibrant-hero-copy>p:not(.eyebrow){font-size:18px;max-width:360px;margin-bottom:23px}.vibrant-hero-copy .button{font-size:15px;padding:15px 23px}.hero-note{margin-top:25px;flex-direction:row;justify-content:space-between;align-items:center;gap:16px;font-size:12px}.hero-note span:last-child{font-size:10px;letter-spacing:1px}.hero-gallery{height:380px;width:calc(100% - 16px);max-width:420px;margin:0 0 15px 8px;border-radius:150px 150px 20px 20px}.hero-portrait{border-radius:150px 150px 20px 20px}.hero-product{width:155px;left:-8px;bottom:10px}.hero-product img{height:105px}.hero-gallery-label{right:0;top:22px}.hero-portrait figcaption{left:auto;right:20px;bottom:22px;font-size:9px;letter-spacing:1px;max-width:130px;text-align:right}.signature-strip{padding:20px 0}.signature-strip .wrap{display:grid;grid-template-columns:1fr 1fr;font-size:14px;gap:10px}.signature-strip b{display:none}.section,.booking-section{padding-top:65px;padding-bottom:65px}.section-heading{display:block;margin-bottom:30px}.section h2,.booking-section h2{font-size:42px;letter-spacing:-2px}.section-heading .eyebrow{font-size:12px}.section-heading>p{max-width:none;font-size:17px;margin-top:22px}.collection-grid{grid-template-columns:1fr;gap:25px}.collection,.collection:nth-child(2),.collection:nth-child(3){height:400px;margin:0}.collection h3{font-size:31px}.collection p{font-size:17px}.collection-tag{font-size:12px;top:22px;left:22px}.collection-copy{left:24px;right:24px;bottom:27px;padding-right:40px}.circle-arrow{display:block}.collection-footnote{font-size:14px}.brand-video-section{margin:0 3% 55px;border-radius:24px}.brand-video-inner{min-height:620px;align-items:flex-end;padding-top:190px;padding-bottom:105px}.brand-video-copy h2{font-size:54px}.brand-video-shade{background:linear-gradient(0deg,#361a30fa,#361a30bf 48%,#361a3012 88%)}.brand-video-copy .eyebrow{font-size:12px}.video-toggle{left:0;right:auto}.experience{padding:65px 0}.experience-grid{grid-template-columns:1fr;gap:45px}.experience-image{min-height:410px;margin-right:12px}.experience-copy h2{font-size:43px}.experience-copy .eyebrow{font-size:12px}.experience-copy .lead{font-size:22px}.image-plaque strong{font-size:26px}.booking-sidebar{display:block}.booking-sidebar h3{font-size:29px}.booking-sidebar>p{display:none}.booking-steps strong{font-size:12px}.booking-steps small{display:none}.sidebar-summary{display:block}.booking-main{padding:26px 20px}.booking-heading h3{font-size:26px}.time-slot{font-size:13px}.booking-demo-note{font-size:14px}.booking-demo-note b{font-size:12px}.questions{grid-template-columns:1fr;gap:24px}.questions h2{font-size:42px}.faq-list summary{font-size:16px}.faq-list details{padding:0 19px}.visit{padding:65px 0}.visit-heading{align-items:flex-start;flex-direction:column;gap:26px}.visit h2{font-size:41px}.visit-grid{grid-template-columns:1fr;gap:25px;padding:25px}.visit .eyebrow{font-size:12px}.visit-details h3{font-size:26px}.store-map iframe{height:350px}.map-caption{font-size:14px}.footer-inner{padding-top:30px;padding-bottom:30px;gap:25px}.footer-inner>span{width:100%}footer p{display:none}footer .brand-logo{width:145px}footer .footer-inner>span{font-size:13px}}
@media(max-width:360px){.brand-logo{width:125px}.header-book{font-size:11px;padding:11px 14px;max-width:128px}.hero-note{flex-direction:column;align-items:flex-start;gap:5px}.hero-gallery{height:330px}.hero-portrait figcaption{display:none}}
@media(prefers-reduced-motion:reduce){.hero-product,.button,.collection img{transition:none}}

/* Warm brand accents for the retained booking components. */
.navy{background:#862b49}.navy:hover{background:#672037}.time-slot{color:#593748}.time-slot:hover{border-color:#a85b72;background:#fff2f4}.calendar-toolbar .icon-button{color:#6c3348}.day.today:not(.selected){color:#862b49;border-color:#862b49}.confirmation-card{background:#fff4ee;border-color:#ead0d6}.confirmation-icon{background:#f9ddc9;color:#76213d}.booking-heading .eyebrow{color:#862b49}.email-preview pre,.email-header{color:#6d5a62}

/* Expandable eyewear cards: mouse hover, click, keyboard, and touch. */
.collection[data-collection]{isolation:isolate;transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s;overflow:hidden}
.collection[data-collection] .collection-copy{z-index:2;left:18px;right:18px;bottom:20px;padding:18px;border-radius:22px;transition:background .25s,color .25s,box-shadow .25s}
.collection[data-collection] h3{font-size:26px;margin-bottom:10px}
.collection[data-collection] .collection-copy>p{max-width:none;font-size:16px;line-height:1.5}
.collection-hint{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;font-size:14px;font-weight:650;color:#fff}
.collection-plus{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid currentColor;border-radius:50%;font-size:22px;font-weight:400;transition:transform .25s}
.collection-toggle{position:absolute;inset:0;z-index:4;width:100%;height:100%;border:0;border-radius:inherit;background:transparent;cursor:pointer}
.collection-toggle:focus-visible{outline:3px solid #ffb24b;outline-offset:-6px}
.collection.is-expanded{transform:translateY(-8px) scale(1.035);box-shadow:0 22px 45px #48233535;z-index:5}
.collection.is-expanded .collection-copy{background:#fff4ed;color:#482335;box-shadow:0 8px 26px #28132030}
.collection.is-expanded .collection-copy>p:not(.collection-description){display:none}
.collection.is-expanded .collection-description,.collection.is-expanded .collection-hint{color:#593748}
.collection.is-expanded .collection-plus{transform:rotate(45deg)}
.collection[data-collection] .collection-description{margin:0}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:651px) and (max-width:1000px){.collection[data-collection]{height:460px}.collection[data-collection] .collection-copy{left:10px;right:10px;padding:15px}.collection[data-collection] h3{font-size:23px}.collection[data-collection] .collection-tag{left:13px;right:13px;width:fit-content;font-size:10px}}
@media(max-width:650px){.collection.is-expanded{transform:translateY(-4px)}.collection[data-collection]{min-height:420px}.collection[data-collection] h3{font-size:28px}}
@media(prefers-reduced-motion:reduce){.collection[data-collection],.collection[data-collection] .collection-copy,.collection-plus{transition:none}.collection.is-expanded{transform:none}}
@media(min-width:651px) and (max-width:900px){.collection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.collection[data-collection].personal{grid-column:1/-1;margin-top:0;height:380px}.collection[data-collection].personal .collection-copy{max-width:440px}}
