@font-face {font-family:Geist;src:url('/assets/fonts/geist-latin.woff2') format('woff2');font-weight:100 900;font-display:swap}
* {box-sizing:border-box}
html {scroll-behavior:smooth;scroll-padding-top:24px}
body {margin:0;font-family:Geist,Arial,sans-serif;background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased}
a {color:inherit;text-decoration:none}
a:hover {text-decoration:underline;text-underline-offset:5px}
a:focus-visible {outline:3px solid var(--accent);outline-offset:5px}
p {line-height:1.7;margin:0 0 20px}
h1,h2,h3 {margin:0;line-height:1.05}
.wrap {width:min(1240px,calc(100% - 80px));margin-inline:auto}
.eyebrow {font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.16em;margin-bottom:24px}
.masthead {display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:30px}
.brand {display:block;font-size:25px;font-weight:800;letter-spacing:-.055em;white-space:nowrap}
.stripes {display:flex;gap:5px;margin-top:9px}
.stripes i {width:25px;height:4px;border-radius:4px;background:#6dcff6}
.stripes i:nth-child(2) {background:#008acb}
.stripes i:nth-child(3) {background:#d7193f}
.masthead nav {display:flex;gap:30px;font-size:14px}
.header-call {font-size:14px;font-weight:650}
.button {display:inline-flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 23px;background:var(--accent);color:var(--on-accent);font-size:14px;font-weight:700}
.actions {display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.direction {font-size:14px;font-weight:650;padding:12px 0}
.lead {font-size:18px;max-width:530px;color:var(--muted)}
address {font-style:normal;line-height:1.7}
footer {display:flex;justify-content:space-between;align-items:center;gap:24px;padding-block:30px;font-size:12px}
.footer-name {font-size:19px;font-weight:750;letter-spacing:-.04em}
.instagram {display:flex;align-items:center;gap:10px}
.instagram img {border-radius:50%}
.skip {position:fixed;top:10px;left:10px;padding:12px;background:var(--accent);color:var(--on-accent);z-index:10;transform:translateY(-150%)}
.skip:focus {transform:none}
.mobile-contact {display:none}
@media(max-width:760px) {
 .wrap {width:calc(100% - 40px)}
 .masthead {flex-wrap:wrap;padding-block:22px;gap:22px}
 .brand {font-size:22px}
 .masthead nav {order:3;width:100%;justify-content:space-between;border-top:1px solid var(--line);padding-top:16px}
 .header-call {font-size:12px}
 .lead {font-size:16px}
 footer {flex-wrap:wrap;padding-bottom:110px}
 footer>span {width:100%;order:3}
 .mobile-contact {position:fixed;bottom:0;left:0;right:0;z-index:5;display:grid;grid-template-columns:1fr 1fr;background:var(--paper);border-top:1px solid var(--line);padding:10px 14px calc(10px + env(safe-area-inset-bottom));gap:10px}
 .mobile-contact a {display:block;text-align:center;padding:14px 8px;font-size:13px;font-weight:700;border:1px solid var(--line)}
 .mobile-contact a:first-child {background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
}
@media(max-width:360px) {.header-call {font-size:11px}.brand {font-size:20px}.wrap {width:calc(100% - 32px)}}
@media(prefers-reduced-motion:reduce) {html {scroll-behavior:auto}}

:root {--paper:#121417;--ink:#f1f2f4;--muted:#b0b6bf;--accent:#ee6259;--on-accent:#15171b;--line:#343941}
.topline {border-bottom:1px solid var(--line);padding-block:10px}
.topline .wrap {display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 20px;font-size:10px;letter-spacing:.17em;color:#aeb5bf}
.masthead {padding-block:26px}
.brand {text-transform:uppercase;font-size:24px}
.hero {display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center;padding-block:55px 75px}
.hero h1 {font-size:clamp(64px,7.5vw,108px);letter-spacing:-.07em;font-weight:850;margin-bottom:28px}
.hero h1 span {color:var(--accent)}
.hero .eyebrow {color:var(--muted)}
.hero .lead {max-width:470px;margin-bottom:26px}
.technical-art {position:relative;background:linear-gradient(#ffffff05 1px,transparent 1px),linear-gradient(90deg,#ffffff05 1px,transparent 1px);background-size:28px 28px;border:1px solid #30353d;padding:20px}
.technical-art svg {display:block;width:100%;height:auto}
.technical-art p {text-align:center;font-size:9px;letter-spacing:.15em;color:#aeb5bf;margin:8px 0}
.location-band {border-block:1px solid var(--line);background:#1c2026}
.location-band .wrap {display:flex;justify-content:space-between;align-items:center;gap:24px;padding-block:15px;font-size:13px}
.location-band a {color:var(--accent)}
.services {padding-block:80px}
.section-heading {margin-bottom:36px}
.section-heading h2 {font-size:52px;letter-spacing:-.055em}
.service-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.service-card {padding:28px;background:#1b1e23;border:1px solid #343941}
.service-icon {display:block;width:36px;height:36px;color:var(--accent);margin-bottom:24px}
.service-card h3 {font-size:21px;line-height:1.2;letter-spacing:-.025em;margin-bottom:15px}
.service-card p {color:var(--muted);font-size:14px;margin:0}
.contact {background:#ee6259;color:#15171b;padding-block:48px}
.contact-grid {display:grid;grid-template-columns:1fr 1fr;gap:48px}
.contact h2 {font-size:52px;letter-spacing:-.055em;margin-bottom:28px}
.contact p {font-size:14px}
.contact .eyebrow {font-size:11px;margin-bottom:12px}
.contact-phone {display:inline-block;font-size:clamp(25px,3vw,36px);line-height:1.3;font-weight:750;letter-spacing:-.04em}
.contact a:focus-visible {outline-color:#15171b}
.address-panel {align-self:stretch;border-left:1px solid #a23b37;padding:0 0 0 32px;display:flex;flex-direction:column;justify-content:flex-start}
.address-panel address {font-size:24px;line-height:1.5;letter-spacing:-.025em;margin-bottom:12px}
.address-panel .direction {align-self:flex-start;border-bottom:1px solid #15171b}
footer {color:#b0b6bf}
@media(max-width:1000px) {.hero {gap:25px}.service-card {padding:23px}.contact-grid {gap:40px}.address-panel {padding-left:30px}}
@media(max-width:760px) {
 .hero {grid-template-columns:1fr;padding-block:38px 40px;gap:40px}
 .hero h1 {font-size:clamp(56px,12vw,84px)}
 .technical-art {display:none}
 .location-band .wrap {align-items:flex-start;flex-direction:column;gap:3px;font-size:12px}
 .services {padding-block:50px}
 .section-heading h2 {font-size:42px}
 .service-grid {grid-template-columns:repeat(2,1fr);gap:10px}.service-card {padding:20px}.service-card h3 {font-size:18px}
 .contact {padding-block:40px}.contact-grid {grid-template-columns:1fr;gap:24px}.contact h2 {font-size:42px;margin-bottom:24px}
 .address-panel {border-left:0;border-top:1px solid #a23b37;padding:24px 0 0}.address-panel address {font-size:21px}
}
@media(max-width:420px) {.service-grid {grid-template-columns:1fr}.service-icon {margin-bottom:15px}}

/* Replace a placeholder div with an img using the same photo-frame class and descriptive alt text. */
.shop-photos {
  display:grid;
  gap:24px;
  padding-block:52px;
}
.shop-photos figure {
  min-width:0;
  margin:0;
}
.photo-frame {
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:auto;
  object-fit:cover;
  object-position:center;
  border:1px solid var(--line);
}
.photo-label {
  padding:24px;
  text-align:center;
  font-size:16px;
  font-weight:600;
}
.photo-label>span {
  display:block;
  margin-top:8px;
  font-size:11px;
  font-weight:400;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.shop-photos figcaption {
  margin-top:12px;
  font-size:12px;
}
.shop-photos {grid-template-columns:repeat(3,minmax(0,1fr));padding-top:0;padding-bottom:70px}
.photo-frame {aspect-ratio:4 / 3;background:repeating-linear-gradient(-45deg,#1b1e23,#1b1e23 12px,#20242a 12px,#20242a 13px);color:#b0b6bf;border-top:3px solid var(--accent)}
@media(max-width:760px) {
  .shop-photos {grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;padding-block:35px}
  .shop-photos .photo-frame,
  .shop-photos figure:first-child .photo-frame,
  .shop-photos figure:last-child .photo-frame {aspect-ratio:4 / 3}
}

@media(max-width:480px) {
  .shop-photos {grid-template-columns:1fr}
}

.not-found {padding-block:70px}
.not-found h1 {font-size:clamp(40px,6vw,72px);letter-spacing:-.05em;margin-bottom:25px}
.not-found p {max-width:560px;color:var(--muted)}

.labor-rate {
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:12px 20px;
  margin-bottom:6px;
}
.labor-rate>span {
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.12em;
}
.labor-rate strong {
  font-size:42px;
  font-weight:750;
  letter-spacing:-.04em;
  line-height:1.15;
  color:var(--accent);
}
.labor-rate strong span {
  font-size:18px;
  font-weight:500;
}

.hero-pricing {
  margin-bottom:26px;
  border-left:3px solid var(--accent);
  padding-left:18px;
}
.estimate-note {
  max-width:380px;
  margin:0;
  font-size:13px;
  color:var(--muted);
}
.phone-panel>p:last-child {
  margin:10px 0 0;
}

.shop-photos a:has(img) {
  display:block;
  cursor:zoom-in;
}
.shop-lightbox {
  --pswp-bg:#121417;
  --pswp-icon-color:#f1f2f4;
  --pswp-icon-color-secondary:#121417;
  --pswp-icon-stroke-color:#121417;
}
.shop-lightbox .pswp__button:focus-visible {
  outline:2px solid #ee6259;
  outline-offset:-5px;
}
.shop-lightbox .pswp__top-bar {
  top:env(safe-area-inset-top);
}
.shop-lightbox .pswp__caption {
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  padding:18px 24px calc(18px + env(safe-area-inset-bottom));
  background:#121417;
  color:#f1f2f4;
  text-align:center;
  font-size:14px;
  line-height:1.5;
  pointer-events:none;
}
@media(prefers-reduced-motion:reduce) {
  .shop-lightbox,
  .shop-lightbox * {
    transition:none !important;
    animation:none !important;
  }
}

.topline-hours {
  color:var(--ink);
}
@media(max-width:760px) {
  .topline-hours {
    order:3;
    width:100%;
  }
}

.pricing {padding-bottom:80px}
.pricing .section-heading {margin-bottom:18px}
.pricing-note {margin-bottom:28px;color:var(--muted);font-size:14px}
.pricing-note a {color:var(--ink);text-decoration:underline;text-underline-offset:4px}
.pricing-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.price-card {display:flex;flex-direction:column;justify-content:space-between;gap:24px;padding:28px;background:#1b1e23;border:1px solid var(--line)}
.price-card h3 {font-size:17px;font-weight:650;line-height:1.35;letter-spacing:-.02em}
.service-price {display:flex;align-items:baseline;flex-wrap:wrap;gap:7px;margin:0;line-height:1.2}
.service-price strong {font-size:36px;color:var(--accent);letter-spacing:-.04em}
.service-price span {font-size:13px;color:var(--muted)}
@media(max-width:760px) {
  .pricing {padding-bottom:50px}
  .pricing-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .price-card {padding:20px}
}
@media(max-width:420px) {
  .pricing-grid {grid-template-columns:1fr}
}

@media(min-width:761px) and (max-width:1000px) {
  .masthead {flex-wrap:wrap}
  .masthead nav {order:3;width:100%;justify-content:space-between;padding-top:16px;border-top:1px solid var(--line)}
}
