:root{color-scheme:light;--ink:#101820;--muted:#58606a;--paper:#f5f6f8;--white:#fff;--line:#d8dde3;--blue:#1062ee;--orange:#ff9829;--shell:1320px;--gutter:clamp(1.25rem,4.8vw,5rem)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;width:100%;height:auto}figure,p,h1,h2,h3{margin:0}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--blue);outline-offset:6px}a{text-underline-offset:5px}::selection{background:var(--orange);color:var(--ink)}.shell{width:100%;max-width:calc(var(--shell) + var(--gutter)*2);margin-inline:auto;padding-inline:var(--gutter)}.skip-link{position:fixed;top:-90px;left:16px;padding:12px 24px;background:white;z-index:100;color:var(--ink)}.skip-link:focus{top:12px}.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}.topbar{background:var(--ink);color:#dbe1e9;font-size:.75rem;letter-spacing:.1em;font-weight:700}.topbar-inner{min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:20px}.topbar a{font-size:.875rem;letter-spacing:.03em}.separator{margin-inline:12px;color:var(--orange)}.site-header{position:sticky;top:0;z-index:20;background:rgba(245,246,248,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.nav-wrap{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:30px}.wordmark{display:flex;gap:12px;align-items:center;font-size:1.17rem;font-weight:900;letter-spacing:-.055em;line-height:1.02}.brand-number{display:grid;place-items:center;width:53px;height:53px;background:var(--ink);color:var(--orange);font-size:1.3rem;letter-spacing:-.08em;transform:skew(-7deg)}.brand-suffix{color:var(--blue)}.site-nav{display:flex;align-items:center;gap:32px;font-weight:700;font-size:.9rem}.site-nav>a:not(.button){padding:12px 0}.site-nav>a:not(.button):hover{color:var(--blue)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:26px;min-height:56px;padding:15px 24px;background:var(--orange);color:var(--ink);font-weight:800;font-size:.9375rem;line-height:1.4;border:1px solid transparent;transition:background .18s,transform .18s}.button:hover{background:#ffaf54;transform:translateY(-2px)}.button-small{background:var(--ink);color:var(--white);min-height:46px;padding:12px 20px}.button-small:hover{background:var(--blue)}.button span,.text-link span{font-size:1.25rem;line-height:1}.menu-toggle{display:none}.hero{max-width:1600px;margin:auto;display:grid;grid-template-columns:1fr 1fr;background:var(--ink);color:var(--white);min-height:615px}.hero-copy{padding:clamp(42px,5.8vw,88px) clamp(28px,4.8vw,76px) 36px;display:flex;flex-direction:column;align-items:flex-start}.eyebrow{font-size:.875rem;letter-spacing:.14em;font-weight:800;line-height:1.5;margin-bottom:24px}.hero .eyebrow{color:#b8c9db;display:flex;align-items:center;gap:10px}.short-rule{width:28px;height:3px;background:var(--orange)}h1,h2{font-family:Arial,Helvetica,sans-serif;font-weight:900;line-height:1.03;letter-spacing:-.025em}h1{font-size:clamp(3rem,4.6vw,4.7rem)}h1 span{color:var(--orange)}.hero-description{font-size:1.0625rem;max-width:445px;color:#c8d1dc;margin:28px 0 30px;line-height:1.7}.hero-actions{display:flex;flex-wrap:wrap;gap:20px;align-items:center}.text-link{display:inline-flex;align-items:center;gap:12px;font-weight:750;font-size:.9375rem;line-height:1.6;border-bottom:1px solid currentColor;padding-bottom:3px}.text-link:hover{color:var(--blue)}.hero .text-link:hover{color:var(--orange)}.hero-note{margin-top:auto;padding-top:38px;display:flex;align-items:center;gap:18px;color:#aebac8;font-size:.875rem;line-height:1.5}.hero-note strong{font-weight:500;color:#d8e1eb}.note-number{font-size:1.25rem;font-weight:900;color:var(--orange);align-self:flex-start}.hero-image{position:relative;min-width:0;overflow:hidden}.hero-image>img{height:100%;min-height:615px;object-fit:cover;object-position:right center}.hero-image figcaption{position:absolute;bottom:0;inset-inline:0;padding:22px 28px;color:white;background:linear-gradient(transparent,rgba(0,0,0,.85));display:flex;justify-content:space-between;gap:20px;font-size:.75rem;font-weight:800;letter-spacing:.09em}.hero-image figcaption span:first-child{color:#ffb769}.shop-strip{background:var(--blue);color:white}.strip-inner{min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:.75rem;font-weight:700;letter-spacing:.06em}.strip-inner a{font-size:.875rem;letter-spacing:0}.strip-inner a:hover{text-decoration:underline}.strip-inner>span:first-child{font-weight:400}.section{padding-block:90px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:42px}.section-heading .eyebrow{color:var(--blue);margin-bottom:18px}h2{font-size:clamp(2.6rem,4vw,4.15rem)}.section-heading>p{color:var(--muted);max-width:360px;font-size:1rem;margin-bottom:4px}.services-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:56px;border-top:1px solid var(--line)}.service{border-bottom:1px solid var(--line);display:flex;gap:21px;align-items:flex-start;padding:29px 0;min-height:147px}.service-no{color:var(--blue);font-size:.8125rem;font-weight:800;line-height:2.1}.service h3{font-size:1.125rem;font-weight:800;line-height:1.4;margin-bottom:9px;letter-spacing:-.025em}.service p{font-size:1rem;line-height:1.65;color:var(--muted);max-width:420px}.service-mark{display:none}.service-scenes{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:50px}.scene{position:relative;overflow:hidden;background:var(--ink);color:white}.scene img{aspect-ratio:1.65;object-fit:cover;object-position:center 53%;transition:transform .5s}.scene:hover img{transform:scale(1.025)}.scene figcaption{position:absolute;inset-inline:0;bottom:0;padding:44px 28px 23px;background:linear-gradient(transparent,rgba(9,17,27,.95));display:flex;flex-direction:column;gap:3px}.scene figcaption span{font-size:.75rem;letter-spacing:.11em;color:#ffb965;font-weight:800}.scene figcaption strong{font-size:1.6rem;letter-spacing:-.035em;line-height:1.3}.about{background:var(--ink);color:var(--white)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,8vw,120px)}.about .eyebrow{color:#f6a446}.about h2 span{color:var(--orange)}.about p:not(.eyebrow){max-width:510px;color:#bcc8d6;margin-top:22px}.about .about-lead{font-size:1.25rem!important;line-height:1.65;color:#eef3f9!important;margin-top:28px!important}.about .text-link{color:white;margin-top:26px}.about .text-link:hover{color:var(--orange)}.process{padding-top:12px}.process>.eyebrow{color:#b6c2d0}.process ol{list-style:none;padding:0;margin:0}.process li{display:flex;gap:23px;padding:27px 0;border-top:1px solid #34404d}.process li:last-child{border-bottom:1px solid #34404d}.step{color:var(--orange);font-size:.875rem;font-weight:800;line-height:2}.process h3{font-size:1.18rem;line-height:1.5;font-weight:750;letter-spacing:-.025em}.process p{margin-top:7px!important;font-size:1rem;line-height:1.7}.big-phone{font-size:clamp(1.3rem,2.25vw,2.25rem);font-weight:800;line-height:1.4;letter-spacing:-.06em;white-space:nowrap;padding-bottom:8px;color:var(--blue)}.big-phone:hover{text-decoration:underline}.big-phone span{margin-left:8px}.contact-grid{display:grid;grid-template-columns:1fr 1fr 1.1fr;border-top:1px solid var(--line);padding-top:36px;gap:45px}.contact-block h3{font-size:1rem;margin-bottom:15px;font-weight:800}.contact-block address{font-size:1rem;font-style:normal;line-height:1.8;color:var(--muted)}.contact-block .text-link{margin-top:19px}.hours{margin:0;color:var(--muted);font-size:1rem}.hours>div{display:flex;justify-content:space-between;gap:20px;padding:4px 0}.hours dd{margin:0;white-space:nowrap;color:var(--ink)}.appointment{padding-left:34px;border-left:1px solid var(--line)}.appointment p{color:var(--muted);font-size:1rem;margin-bottom:22px}.appointment .button{width:100%}footer{background:#e8ebef;border-top:1px solid var(--line)}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:116px}.footer-brand{font-size:1.25rem;font-weight:900;letter-spacing:-.06em}.footer-brand span{color:var(--blue)}footer p,.copyright{font-size:.8125rem;color:var(--muted)}.mobile-call{display:none}
@media(min-width:1600px){.hero{max-width:none;grid-template-columns:1fr 1fr}.hero-copy{padding-left:max(var(--gutter),calc((100vw - 1320px)/2))}.hero-image>img{max-height:730px}.hero{min-height:650px}}
@media(max-width:1100px){.site-nav{gap:23px}.hero{min-height:590px}.hero-image>img{min-height:590px}.hero-copy{padding-top:54px;padding-inline:32px}h1{font-size:clamp(2.85rem,5vw,3.9rem)}.hero-description{font-size:1rem}.hero-actions{gap:22px}.hero-note{padding-top:30px}.strip-inner>span:nth-child(2){display:none}.services-grid{column-gap:32px}.section{padding-block:70px}.contact-grid{gap:25px}.appointment{padding-left:24px}.footer-inner{flex-wrap:wrap;padding-block:28px;gap:15px}.footer-inner p{display:none}}
@media(max-width:760px){html{scroll-padding-top:90px}.topbar-inner{min-height:32px}.topbar{font-size:.75rem;letter-spacing:.06em}.topbar-inner>a{display:none}.separator{margin-inline:6px}.nav-wrap{min-height:77px;gap:20px}.wordmark{font-size:1rem}.brand-number{width:44px;height:44px;font-size:1.1rem}.js .menu-toggle{display:flex;align-items:center;gap:12px;border:1px solid #b9c2cd;background:transparent;padding:10px 12px;font-size:.875rem;font-weight:750;min-height:44px}.menu-lines{height:12px;width:17px;border-top:2px solid;border-bottom:2px solid;position:relative}.menu-lines:after{position:absolute;content:'';top:4px;left:0;right:0;border-top:2px solid}.site-nav{display:flex;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:16px var(--gutter) 24px;border-bottom:1px solid var(--line);box-shadow:0 16px 20px #10182016;flex-direction:column;align-items:stretch;gap:4px}.js .site-nav{display:none}.js .site-nav.is-open{display:flex}html:not(.js) .site-header{position:relative}html:not(.js) .site-nav{position:static;box-shadow:none}html:not(.js) .nav-wrap{flex-wrap:wrap}html:not(.js) .site-nav{flex-basis:100%}.site-nav>.button{margin-top:12px}.site-nav>a:not(.button){padding:13px 0}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:44px var(--gutter) 36px}.hero .eyebrow{margin-bottom:22px}h1{font-size:clamp(1.875rem,8.8vw,4.5rem);line-height:1.06}.hero-description{max-width:480px;margin-block:25px}.hero-actions{gap:23px}.hero-note{display:none}.hero-image>img{height:auto;min-height:0;aspect-ratio:4/3;object-fit:cover;object-position:right center}.hero-image figcaption{padding:30px 20px 17px;font-size:.6875rem}.shop-strip .strip-inner{min-height:61px;font-size:.6875rem;padding-block:16px;gap:10px;flex-wrap:wrap}.strip-inner a{font-size:.8125rem}.section{padding-block:56px}.section-heading{flex-direction:column;align-items:flex-start;gap:22px;margin-bottom:29px}.section-heading .eyebrow{margin-bottom:15px}h2{font-size:clamp(2.35rem,9vw,3.5rem)}.services-grid{grid-template-columns:1fr}.service{padding:23px 0;min-height:0;gap:18px}.service h3{font-size:1.12rem}.service p{max-width:none}.service-scenes{grid-template-columns:1fr;gap:22px;margin-top:34px}.scene img{aspect-ratio:1.45}.scene figcaption{padding-inline:23px}.about-grid{grid-template-columns:1fr;gap:39px}.about .about-lead{font-size:1.125rem!important}.process{padding:0}.process>.eyebrow{margin-bottom:18px}.process li{padding:23px 0}.big-phone{font-size:1.75rem}.contact-grid{grid-template-columns:1fr;gap:30px;padding-top:28px}.contact-block{padding-bottom:27px;border-bottom:1px solid var(--line)}.contact-block:last-child{border-bottom:0;padding-bottom:0}.hours{max-width:400px}.appointment{border-left:0;padding-left:0}.appointment .button{max-width:400px}.footer-inner{flex-direction:column;align-items:flex-start;padding-block:30px;gap:13px}.footer-brand{font-size:1.3rem}footer{padding-bottom:calc(96px + env(safe-area-inset-bottom))}.mobile-call{position:fixed;z-index:25;bottom:0;inset-inline:0;display:block;background:var(--orange);box-shadow:0 -3px 16px #0002;padding:13px 20px max(13px,env(safe-area-inset-bottom))}.mobile-call>a{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;font-size:1rem;flex-wrap:wrap;font-weight:800}.mobile-call span{font-size:1rem;white-space:nowrap}}
@media(max-width:380px){.hero-actions>.button{width:100%;gap:12px;padding-inline:18px}.mobile-call>a{font-size:.875rem}.mobile-call span{font-size:.875rem}.topbar{letter-spacing:0}.big-phone{font-size:1.6rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Keep the illustration and typography usable between phone and desktop sizes. */
.hero-copy,.contact-block,.about-grid>div,.service>div{min-width:0}
.button,.text-link{max-width:100%}
.button span{flex-shrink:0}
.topbar-inner{padding-block:6px}
.service-no,.step{flex-shrink:0}
@media (min-width:761px) and (max-width:960px){
  .hero{grid-template-columns:1fr}
  .hero-copy{padding:52px var(--gutter)}
  h1{font-size:clamp(3rem,6.5vw,4.1rem)}
  .hero-description{max-width:560px}
  .hero-note{display:none}
  .hero-image>img{height:auto;min-height:0;aspect-ratio:1.65;object-position:right center}
  .contact-grid{grid-template-columns:1fr 1fr}
  .appointment{grid-column:1/-1;padding:25px 0 0;border-left:0;border-top:1px solid var(--line)}
  .appointment .button{max-width:340px}
}
@media (max-width:760px){
  .hero-image figcaption{font-size:.75rem}
  .shop-strip .strip-inner{font-size:.75rem}
  .site-nav{max-height:calc(100dvh - 165px);overflow-y:auto}
  .hours>div{flex-wrap:wrap;column-gap:16px;row-gap:0}
  .big-phone{white-space:normal;overflow-wrap:break-word}
}

/* Reflow when visitors enlarge text instead of clipping controls. */
html{scroll-padding-top:calc(var(--header-height,92px) + 16px)}
.nav-wrap{flex-wrap:wrap;padding-block:12px;row-gap:12px}
.hero-image figcaption,.scene figcaption{flex-wrap:wrap}
@media(max-width:760px){
  footer{padding-bottom:calc(var(--call-height,80px) + 24px)}
  .site-nav{max-height:calc(100dvh - var(--header-height,77px) - var(--call-height,80px) - 16px)}
}

/* Keep both service requests and direct calls within reach on phones. */
@media(max-width:760px){
  .mobile-call{display:grid;grid-template-columns:1.35fr 1fr;gap:10px}
  .mobile-call>a{justify-content:center;text-align:center;min-width:0;min-height:48px;padding:10px 8px;line-height:1.3}
  .mobile-call>.mobile-request{background:var(--ink);color:var(--white);border:1px solid var(--ink)}
  .mobile-call>.mobile-phone{border:1px solid var(--ink)}
  .mobile-call a:focus-visible{outline-color:var(--ink);outline-offset:3px}
}

/* Explain the shop’s contact-first visit policy beside the contact details. */
.visit-notice{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin-bottom:38px;padding:30px;background:#e9eff9;border-left:4px solid var(--blue)}
.visit-notice .eyebrow{color:var(--blue);margin-bottom:10px}
.visit-notice h3{font-size:1.2rem;line-height:1.4;margin-bottom:12px}
.visit-notice p:not(.eyebrow){font-size:1rem;line-height:1.7;color:#3e4a59}
.contact-methods{display:flex;flex-wrap:wrap;column-gap:24px;row-gap:12px;margin-top:18px}
.contact-methods .text-link{padding-block:7px}
@media(max-width:760px){
  .visit-notice{grid-template-columns:1fr;padding:24px 20px;gap:24px}
}

.location-links{display:flex;flex-direction:column;align-items:flex-start;gap:14px;margin-top:19px}
.contact-block .location-links .text-link{margin-top:0}
.hero .hero-note{display:flex}
