:root{--bg:#080a0b;--surface:#121516;--white:#f4f1ec;--muted:#aeb0ac;--gold:#deb58c;--line:#353735;--ink:#171a19;--gutter:clamp(32px,6.667vw,120px)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--white);font-family:'Noto Sans SC','PingFang SC','Microsoft YaHei',system-ui,sans-serif;font-size:18px;line-height:1.667}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:wait;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--gold);outline-offset:4px}h1,h2,h3,p,figure{margin:0}h1{font-size:64px;font-weight:500;line-height:1.3125}h2{font-size:40px;font-weight:500;line-height:1.4}h3{font-size:28px;font-weight:500;line-height:1.43}p{color:var(--muted)}.eyebrow,.caption{font-size:14px;line-height:22px}.eyebrow,.gold-text,.business-number{color:var(--gold)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:184px;min-height:48px;padding:10px 24px;border-radius:26px;border:1px solid transparent;font-size:16px;font-weight:500;line-height:24px;white-space:nowrap;background:none;color:inherit;transition:background .2s}.btn.gold{color:var(--ink);background:var(--gold)}.btn.gold:hover{background:#e8c6a4}.btn.outline{border-color:var(--gold);color:var(--gold)}.btn.outline:hover{background:#deb58c14}.text-link{border:0;background:none;color:var(--gold);font-size:16px;line-height:24px;padding:12px 0;display:inline-flex;min-height:44px;align-items:center;gap:8px}.text-link:hover{text-decoration:underline}.site-header{height:96px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;gap:22px;position:relative;z-index:3}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0;min-height:52px}.brand-logo{display:block;width:52px;height:52px;overflow:hidden;flex-shrink:0}.brand-logo img{display:block;width:60px;height:60px;margin:-4px;object-fit:contain}.brand strong{display:block;font-size:28px;line-height:38px;font-weight:700}.brand small{display:block;font-size:12px;line-height:14px;letter-spacing:2px;color:var(--muted)}.site-header nav{display:flex;gap:6px;align-items:center}.site-header nav a{padding:10px 14px;white-space:nowrap;font-size:16px;position:relative}.site-header nav a[aria-current]{color:var(--gold)}.site-header nav a[aria-current]:after{content:'';width:20px;height:2px;background:var(--gold);position:absolute;bottom:8px;left:50%;transform:translateX(-50%)}.site-header nav a:hover{color:var(--gold)}.header-contact{min-width:132px;padding:10px 18px}.mobile-menu-button{display:none}.hero{height:760px;position:relative;isolation:isolate}.hero.home-hero{height:880px}.scene{position:relative;overflow:hidden}.scene picture,.scene img{display:block;width:100%;height:100%}.scene img{object-fit:cover}.scene figcaption{position:absolute;bottom:16px;right:16px;font-size:14px;line-height:22px;padding:4px 8px;color:var(--white);background:#080a0bc2}.hero-image{position:absolute;inset:0;z-index:-3}.hero-image figcaption{bottom:33px;right:var(--gutter);background:transparent;padding:0;z-index:2}.hero-shade{position:absolute;inset:0;background:#080a0b47;z-index:-2;pointer-events:none}.hero-shade.deeper{background:#080a0b6b}.hero-copy{height:calc(100% - 184px);padding:0 var(--gutter);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:24px;position:relative}.home-hero .hero-copy{align-items:center;text-align:center}.hero-copy h1{max-width:1120px}.home-hero h1{max-width:1220px}.hero-subtitle{color:var(--white);max-width:1100px;font-size:18px;line-height:30px}.hero-copy .btn{min-width:224px}.hero-note{height:88px;padding:0 var(--gutter);display:flex;align-items:center;font-size:14px;color:var(--white)}.section{padding:80px var(--gutter);display:flex;flex-direction:column;gap:32px}.section-intro{max-width:1000px}.surface{background:var(--surface)}.business-strip{padding-top:44px;padding-bottom:44px}.business-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}.business-grid a{display:flex;flex-direction:column;gap:8px}.business-number{font-size:28px;line-height:40px;font-weight:500}.business-grid p{font-size:14px;line-height:22px}.business-grid a:hover h3{color:var(--gold)}.space-grid{display:grid;grid-template-columns:408fr 792fr;gap:48px}.space-copy{display:flex;flex-direction:column;gap:24px}.space-gallery{display:grid;grid-template-columns:360fr 384fr;gap:24px 48px;grid-template-rows:278px 278px}.space-gallery .tall{grid-row:span 2;height:580px}.space-gallery .scene:not(.tall){height:278px}.cta-actions{display:flex;align-items:center;gap:24px}.site-footer{padding:40px var(--gutter) 32px;display:flex;flex-direction:column;gap:24px}.site-footer nav{display:flex;gap:36px;flex-wrap:wrap;font-size:14px}.site-footer .caption{font-size:14px;line-height:24px}.service-grid{display:grid;grid-template-columns:repeat(var(--service-columns,3),minmax(0,1fr));gap:32px}.service-grid article{border-top:1px solid var(--line);padding-top:16px;display:flex;flex-direction:column;gap:16px}.wide{height:600px}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}.process-grid article{display:flex;flex-direction:column;gap:12px}.case-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:32px}.case-card{display:flex;flex-direction:column;gap:16px;min-width:0}.case-card .scene{height:286px}.case-card:hover h3{color:var(--gold)}.related-grid{max-width:600px}.case-filters{display:flex;gap:16px;flex-wrap:wrap}.case-filters .btn{min-width:180px}.detail-image{height:620px}.detail-paragraphs{display:flex;flex-direction:column;gap:32px}.detail-paragraphs article{display:flex;flex-direction:column;gap:16px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:0}.contact-grid article{display:flex;flex-direction:column;align-items:flex-start;gap:20px}.contact-phone{font-size:40px;line-height:56px;color:var(--gold);font-weight:500}.contact-image{height:420px}.store-name{font-size:28px;color:var(--white)}.qr{width:160px;height:160px;object-fit:contain}.public-overlay{position:fixed;inset:0;z-index:100;background:#0009;display:flex;align-items:center;justify-content:center;padding:24px}.public-modal{width:min(540px,100%);padding:40px;background:var(--surface);border:1px solid var(--line);display:flex;flex-direction:column;gap:24px;max-height:90vh;overflow:auto;position:relative}.close-dialog{border:0;background:transparent;color:inherit;font-size:14px;align-self:flex-end;min-height:44px;padding:10px 16px}.dialog-actions{display:flex;gap:12px;flex-wrap:wrap}.public-modal .btn{min-width:160px}.mobile-navigation{width:100%;height:100%;background:var(--bg);padding:24px;display:flex;flex-direction:column;gap:24px;overflow:auto}.mobile-navigation strong{font-size:28px}.mobile-navigation nav{display:flex;flex-direction:column;gap:8px}.mobile-navigation nav a{min-height:44px;padding:8px 0;font-size:20px}.mobile-navigation p{margin-top:auto;font-size:14px}.copy-status{font-size:14px;color:var(--gold)}.empty{padding:32px 0}.error-page{padding:80px 24px;max-width:700px;margin:auto}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(min-width:1800px){.hero.home-hero{height:min(1080px,90vh)}}@media(max-width:1199px){.site-header{padding:0 32px;gap:12px}.site-header nav{gap:0}.site-header nav a{padding:10px 8px;font-size:14px}.brand strong{font-size:24px}.brand{gap:8px}.header-contact{min-width:110px;font-size:14px;padding:10px 12px}.space-grid{grid-template-columns:1fr 1.6fr;gap:32px}.space-gallery{gap:24px}.hero-copy h1{font-size:56px}}@media(max-width:1023px){.site-header nav,.header-contact{display:none}.mobile-menu-button{display:block;border:1px solid var(--line);background:none;color:var(--white);min-height:44px;padding:8px 16px;font-size:14px}.space-grid{grid-template-columns:1fr}.space-gallery{grid-template-rows:250px 250px}.space-gallery .tall{height:524px}.space-gallery .scene:not(.tall){height:250px}.business-grid{gap:24px}.business-grid h3{font-size:24px}.process-grid{grid-template-columns:repeat(2,1fr)}h1{overflow-wrap:anywhere}}@media(max-width:600px){:root{--gutter:24px}body{font-size:16px;line-height:26px}.site-header{height:80px;padding:0 24px}.brand-logo{width:40px;height:40px}.brand-logo img{width:46px;height:46px;margin:-3px}.brand{gap:8px;min-height:44px}.brand strong{font-size:22px;line-height:30px}.brand small{font-size:9px;line-height:12px;letter-spacing:1px}.hero{height:648px}.hero.home-hero{height:724px}.hero-copy{height:calc(100% - 144px);gap:20px}.hero-copy h1{font-size:36px;line-height:50px}.hero-subtitle{font-size:16px;line-height:26px}.home-hero .hero-subtitle{max-width:285px}.hero-copy .btn{min-width:180px}.hero-note{height:64px;font-size:12px;line-height:20px}.home-hero .hero-note{max-width:300px}.hero-image figcaption{bottom:20px;font-size:12px}.section{padding:48px 24px;gap:24px}h1{font-size:36px;line-height:50px}h2{font-size:28px;line-height:40px}h3{font-size:24px;line-height:34px}.business-strip{padding-top:32px;padding-bottom:32px}.business-grid{grid-template-columns:repeat(2,1fr);gap:24px 20px}.business-grid h3{font-size:18px;line-height:30px}.business-grid p{font-size:14px;min-height:22px}.business-number{font-size:28px}.space-grid{gap:32px}.space-copy{gap:24px}.space-gallery{display:flex;flex-direction:column;gap:32px}.space-gallery .tall{height:380px}.space-gallery .scene:not(.tall){height:220px}.cta-actions{align-items:flex-start;flex-direction:column;gap:24px}.site-footer{padding:32px 24px;gap:24px}.site-footer nav{gap:12px 24px}.site-footer .caption{line-height:22px}.service-grid{grid-template-columns:1fr;gap:32px}.wide{height:300px}.process-grid{grid-template-columns:1fr;gap:24px}.case-grid{grid-template-columns:1fr;gap:32px}.case-card .scene{height:240px}.case-filters{gap:8px;display:grid;grid-template-columns:repeat(2,1fr)}.case-filters .btn{min-width:0;padding:10px 12px}.case-filters .btn:first-child{grid-column:span 2}.detail-image{height:300px}.contact-grid{grid-template-columns:1fr;gap:48px}.contact-phone{font-size:28px;line-height:40px}.contact-image{height:280px}.store-name{font-size:18px;line-height:30px}.public-modal{padding:24px}.public-modal .dialog-actions{flex-direction:column}.public-modal .btn{width:100%}.public-overlay:has(.mobile-navigation){padding:0}.caption{font-size:14px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.about-logo{display:block;width:72px;height:72px;overflow:hidden}.about-logo img{width:100px;height:100px;margin:-13px;object-fit:contain}

.mobile-break{display:none}@media(max-width:600px){.mobile-break{display:inline}.desktop-separator{display:none}.home-hero .hero-subtitle{max-width:342px;font-size:15px}.business-grid h3{font-weight:400}.site-footer nav{flex-direction:column;align-items:flex-start;gap:8px}.site-footer nav a{line-height:22px}}
.section>.btn{align-self:flex-start;min-width:220px}.store-phone{font-size:28px;line-height:40px;font-weight:500}.contact-address{font-size:28px;line-height:40px}.process-grid h3{font-size:28px;line-height:40px}.detail-paragraphs h3{font-size:28px;line-height:40px}.detail-paragraphs article{gap:32px}
@media(max-width:600px){.service-grid h3,.wide+h3,.case-card h3{font-size:28px;line-height:40px}.process-grid{gap:32px}.process-grid h3{font-size:18px;line-height:30px;font-weight:400}.store-phone{font-size:18px;line-height:30px}.detail-paragraphs article{gap:24px}}

/* R3: stable controls around moving visuals. The CMS editor has no visitor-motion. */
.button-visual,.business-visual,.case-visual{display:contents}
.visitor-motion{--motion-ease:ease-in-out;--motion-enter:cubic-bezier(.22,1,.36,1)}
.visitor-motion :is(a,button):focus-visible{--motion-ease:var(--motion-enter)}
.visitor-motion .btn:has(>.button-visual){padding:0;border-color:transparent;transition:none}
.visitor-motion .btn.gold:has(>.button-visual),.visitor-motion .btn.outline:has(>.button-visual),.visitor-motion .btn.gold:has(>.button-visual):hover,.visitor-motion .btn.outline:has(>.button-visual):hover{background:transparent}
.visitor-motion .button-visual{display:flex;position:relative;align-items:center;justify-content:center;width:100%;min-height:46px;padding:10px 23px;border-radius:inherit;pointer-events:none;transition:transform 220ms var(--motion-ease)}
.visitor-motion .button-visual:before{content:'';position:absolute;inset:-1px;border-radius:inherit;border:1px solid transparent;transition:background-color 220ms var(--motion-ease);pointer-events:none}
.visitor-motion .button-label{position:relative}
.visitor-motion .btn.gold .button-visual:before{background:var(--gold)}
.visitor-motion .btn.outline .button-visual:before{border-color:var(--gold)}
.visitor-motion .header-contact .button-visual{padding:10px 17px}
.visitor-motion .case-filters .button-visual{padding:10px 23px}
.visitor-motion .case-card{display:block}
.visitor-motion .case-visual{display:flex;flex-direction:column;gap:16px}
.visitor-motion .business-visual{display:flex;flex-direction:column;gap:8px;width:100%}
.visitor-motion .business-grid>a{position:relative}
.visitor-motion .business-grid>a:after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:var(--gold);opacity:0;transition:opacity 240ms var(--motion-ease);pointer-events:none}
.visitor-motion .business-title{display:inline-block;transition:transform 240ms var(--motion-ease),color 240ms var(--motion-ease)}
.visitor-motion .case-card h3{transition:color 240ms var(--motion-ease)}
.visitor-motion .scene:not(.hero-image) picture{transition:transform 600ms var(--motion-ease);transform-origin:center}
.visitor-motion .nav-label,.visitor-motion .link-label{display:inline-block;position:relative}
.visitor-motion .nav-label:after,.visitor-motion .link-label:after{content:'';position:absolute;left:0;right:0;bottom:-3px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform 200ms var(--motion-ease);pointer-events:none}
.visitor-motion .link-label{transition:transform 200ms var(--motion-ease),color 200ms var(--motion-ease)}
.visitor-motion .case-card .link-label{transition-duration:240ms}
.visitor-motion .text-link:hover{text-decoration:none}
.visitor-motion .site-header a,.visitor-motion .site-footer nav a,.visitor-motion .mobile-navigation nav a{transition:color 200ms var(--motion-ease)}
.visitor-motion .btn:active .button-visual{transform:scale(.985);transition-duration:100ms}
.visitor-motion .business-grid>a:active h3,.visitor-motion .case-card:active h3{color:var(--gold)}
.visitor-motion .text-link:active,.visitor-motion nav a:active{color:var(--gold)}
.visitor-motion .btn:focus-visible .button-visual{transform:translateY(-2px)}
.visitor-motion .btn.gold:focus-visible .button-visual:before{background:#e8c6a4}
.visitor-motion .btn.outline:focus-visible .button-visual:before{background:#deb58c14}
.visitor-motion a:focus-visible>.link-label,.visitor-motion button:focus-visible>.link-label,.visitor-motion .case-card:focus-visible .link-label{transform:translateX(4px)}
.visitor-motion a:focus-visible .nav-label:after,.visitor-motion a:focus-visible>.link-label:after,.visitor-motion button:focus-visible>.link-label:after,.visitor-motion .case-card:focus-visible .link-label:after{transform:scaleX(1)}
.visitor-motion .business-grid>a:focus-visible .business-title{transform:translateX(4px);color:var(--gold)}
.visitor-motion .business-grid>a:focus-visible:after{opacity:1}
.visitor-motion .case-card:focus-visible h3{color:var(--gold)}
.visitor-motion .case-card:focus-visible .scene picture{transform:scale(1.025)}
@media(hover:hover) and (pointer:fine){
 .visitor-motion :is(a,button,figure.scene):hover{--motion-ease:var(--motion-enter)}
 .visitor-motion .btn:hover .button-visual{transform:translateY(-2px)}
 .visitor-motion .btn.gold:hover .button-visual:before{background:#e8c6a4}
 .visitor-motion .btn.outline:hover .button-visual:before{background:#deb58c14}
 .visitor-motion .btn:active .button-visual{transform:scale(.985);transition-duration:100ms}
 .visitor-motion .business-grid>a:hover .business-title{transform:translateX(4px);color:var(--gold)}
 .visitor-motion .business-grid>a:hover:after{opacity:1}
 .visitor-motion .case-card:hover .scene picture{transform:scale(1.025)}
 .visitor-motion .scene:not(.hero-image):not(.case-card .scene):hover picture{transform:scale(1.015)}
 .visitor-motion .case-card:hover h3,.visitor-motion .site-footer nav a:hover{color:var(--gold)}
 .visitor-motion a:hover>.link-label,.visitor-motion button:hover>.link-label,.visitor-motion .case-card:hover .link-label{transform:translateX(4px)}
 .visitor-motion a:hover .nav-label:after,.visitor-motion a:hover>.link-label:after,.visitor-motion button:hover>.link-label:after,.visitor-motion .case-card:hover .link-label:after{transform:scaleX(1)}
}
.visitor-motion .site-header nav a[aria-current] .nav-label:after{display:none}
.visitor-motion .btn:active .button-visual{transform:scale(.985);transition-duration:100ms}
@media(hover:none),(pointer:coarse){.visitor-motion .business-grid>a:hover h3,.visitor-motion .case-card:hover h3{color:var(--white)}.visitor-motion .business-grid>a:active h3,.visitor-motion .case-card:active h3{color:var(--gold)}}
@media(max-width:1199px){.visitor-motion .header-contact .button-visual{padding:10px 11px}}
@media(max-width:600px){.visitor-motion .case-filters .button-visual{padding:10px 11px}}
@media(prefers-reduced-motion:reduce){
 .visitor-motion .button-visual,.visitor-motion .business-title,.visitor-motion .link-label,.visitor-motion .scene picture{transform:none!important;transition:none!important}
 .visitor-motion .nav-label:after,.visitor-motion .link-label:after{transition:none!important}
}

.contact-hours,.contact-visit-note{overflow-wrap:anywhere}
