:root {
  --ink: #0b0b0b;
  --charcoal: #171514;
  --paper: #e8dcc4;
  --white: #fff5df;
  --magenta: #d52579;
  --magenta-dark: #8c174d;
  --pink: #ef3c97;
  --orange: #e76821;
  --gold: #dfa43a;
  --chrome: #d7d1c6;
  --red: #9e2420;
  --muted: #665f57;
  --line: rgba(17, 17, 20, 0.13);
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: Arial, Helvetica, sans-serif; overflow-x: hidden; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
main { min-height: 100vh; }
.container { width: min(1160px, calc(100% - 48px)); margin: 0 auto; }

.topbar { height: 34px; padding: 0 40px; display: flex; align-items: center; justify-content: space-between; background: var(--magenta); color: white; font-size: 10px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.topbar a { display: flex; gap: 10px; align-items: center; }
.topbar a:hover { opacity: .78; }
.site-header { height: 106px; padding: 0 max(24px, calc((100vw - 1160px) / 2)); display: flex; align-items: center; justify-content: space-between; background: #111114; color: white; position: sticky; top: 0; z-index: 40; border-bottom: 1px solid rgba(255,255,255,.08); }
.brand { display: inline-flex; align-items: center; gap: 10px; min-width: 245px; }
.header-brand { min-width: 235px; }
.header-logo { width: 230px; height: auto; max-height: 94px; display: block; object-fit: contain; object-position: left center; }
.brand-bird { width: 44px; height: 44px; display: grid; place-items: center; border: 2px solid var(--orange); border-radius: 50%; background: var(--magenta); font-size: 25px; transform: rotate(-5deg); box-shadow: 3px 3px 0 var(--orange); }
.brand-words { display: flex; flex-direction: column; line-height: .9; }
.brand-words strong { font-size: 20px; letter-spacing: -.055em; font-style: italic; transform: skew(-6deg); }
.brand-words strong em { color: var(--pink); font-style: inherit; }
.brand-words small { margin-top: 7px; font-size: 8px; letter-spacing: .24em; font-weight: 800; }
.brand-words small b { color: var(--orange); }
.nav-links { display: flex; align-items: center; gap: 28px; font-size: 12px; font-weight: 700; }
.nav-links > a:not(.nav-cta) { padding: 43px 0 40px; border-bottom: 3px solid transparent; }
.nav-links > a:not(.nav-cta):hover { color: var(--pink); border-bottom-color: var(--pink); }
.nav-cta { padding: 13px 19px; background: var(--magenta); color: white; box-shadow: 4px 4px 0 var(--orange); transition: transform .2s ease, box-shadow .2s ease; }
.nav-cta:hover { transform: translate(2px,2px); box-shadow: 2px 2px 0 var(--orange); }
.menu-button { display: none; width: 42px; height: 42px; border: 1px solid rgba(255,255,255,.2); background: transparent; color: white; padding: 10px; }
.menu-button span { display: block; width: 100%; height: 2px; margin: 4px 0; background: currentColor; }

.macaw-flight { width: clamp(120px, 13vw, 190px); position: fixed; left: max(90px, calc((100vw - 1160px) / 2 + 92px)); top: 48px; z-index: 95; opacity: 0; visibility: hidden; pointer-events: none; transform-origin: 54% 50%; will-change: transform, opacity; }
.macaw-flight.active { visibility: visible; animation: macaw-orbit 2.5s cubic-bezier(.36,.04,.25,1) both; }
.macaw-flight-body { width: 100%; transform-origin: 50% 56%; }
.macaw-flight.active .macaw-flight-body { animation: macaw-wingbeat .19s ease-in-out 13 alternate; }
.macaw-flight img { width: 100%; height: auto; display: block; filter: drop-shadow(0 12px 10px rgba(0,0,0,.3)); }

@keyframes macaw-orbit {
  0% { opacity: 0; transform: translate3d(0, 0, 0) scale(.12) rotate(-5deg); }
  7% { opacity: 1; transform: translate3d(18px, 12px, 0) scale(.58) rotate(-8deg); }
  23% { opacity: 1; transform: translate3d(min(58vw, 760px), min(8vh, 70px), 0) scale(1) rotate(9deg); }
  41% { opacity: 1; transform: translate3d(min(70vw, 840px), min(43vh, 390px), 0) scale(.84) rotate(24deg); }
  60% { opacity: 1; transform: translate3d(min(31vw, 390px), min(67vh, 545px), 0) scale(.98) rotate(-15deg); }
  77% { opacity: 1; transform: translate3d(max(-80px, -6vw), min(38vh, 320px), 0) scale(.78) rotate(-32deg); }
  92% { opacity: 1; transform: translate3d(min(13vw, 150px), min(7vh, 62px), 0) scale(.52) rotate(7deg); }
  100% { opacity: 0; transform: translate3d(0, 0, 0) scale(.12) rotate(-5deg); }
}

@keyframes macaw-wingbeat {
  from { transform: scaleY(.72) rotate(-4deg); }
  to { transform: scaleY(1.04) rotate(4deg); }
}

.hero { position: relative; overflow: hidden; background: #111114; color: white; }
.hero::before { content: ""; position: absolute; left: -8vw; top: 0; width: 45vw; height: 100%; background: linear-gradient(120deg, rgba(214,31,122,.13), transparent 65%); clip-path: polygon(0 0, 100% 0, 70% 100%, 0 100%); }
.hero-grid { min-height: 626px; display: grid; grid-template-columns: .98fr 1.12fr; align-items: center; gap: 60px; position: relative; z-index: 2; }
.hero-copy { padding: 68px 0 80px; }
.eyebrow { display: flex; align-items: center; gap: 11px; margin-bottom: 18px; font-size: 10px; font-weight: 800; letter-spacing: .19em; text-transform: uppercase; color: #e8e0da; }
.eyebrow span { width: 27px; height: 3px; background: var(--orange); }
.eyebrow.dark { color: #4c4846; }
.eyebrow.light { color: #c9c1bc; }
.hero h1, .section-heading h2, .story-copy h2, .feature-copy h2, .team-heading h2, .insurance-intro h2, .appointment-copy h2 { margin: 0; font-size: clamp(56px, 6.6vw, 92px); line-height: .86; letter-spacing: -.07em; font-weight: 900; text-transform: uppercase; }
.hero h1 em, .section-heading h2 em, .story-copy h2 em, .feature-copy h2 em, .team-heading h2 em, .insurance-intro h2 em, .appointment-copy h2 em { color: var(--pink); font-style: italic; font-family: Georgia, serif; font-weight: 600; text-transform: none; letter-spacing: -.06em; }
.hero-copy > p { max-width: 540px; margin: 28px 0 32px; color: #c8c3c0; font-size: 17px; line-height: 1.65; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; }
.button { min-height: 50px; padding: 0 21px; border: 0; display: inline-flex; align-items: center; justify-content: center; gap: 15px; font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: .11em; cursor: pointer; transition: transform .2s ease, filter .2s ease; }
.button:hover:not(:disabled) { transform: translateY(-2px); filter: brightness(1.08); }
.button-primary { background: var(--magenta); color: white; box-shadow: 5px 5px 0 var(--orange); }
a[href="#appointment"] { position: relative; z-index: 1; transform-origin: center; will-change: scale, filter; animation: estimate-breathe 1.85s ease-in-out infinite; }
@keyframes estimate-breathe {
  0%, 100% { scale: 1; filter: brightness(1) drop-shadow(0 0 0 rgba(255,111,24,0)); }
  50% { scale: 1.045; filter: brightness(1.13) drop-shadow(0 0 10px rgba(255,111,24,.72)); }
}
@media (prefers-reduced-motion: reduce) {
  a[href="#appointment"] { animation: none; }
}
.button-ghost { color: white; }
.button-ghost .play { width: 32px; height: 32px; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; display: grid; place-items: center; font-size: 9px; }
.hero-note { display: flex; align-items: center; gap: 15px; margin-top: 39px; }
.avatar-stack { display: flex; padding-left: 8px; }
.avatar-stack span { width: 29px; height: 29px; display: grid; place-items: center; margin-left: -8px; border: 2px solid #111114; border-radius: 50%; color: white; background: var(--magenta); font-size: 9px; font-weight: 900; }
.avatar-stack span:nth-child(2) { background: var(--orange); }.avatar-stack span:nth-child(3) { background: #3c3c44; }
.hero-note p { margin: 0; color: #8f8c8b; font-size: 10px; line-height: 1.45; letter-spacing: .04em; }
.hero-note strong { color: white; font-size: 11px; }
.hero-visual { height: 505px; position: relative; overflow: hidden; border: 1px solid rgba(255,255,255,.12); background: linear-gradient(145deg, #202127 0%, #151519 50%, #29232a 100%); clip-path: polygon(7% 0, 100% 0, 100% 94%, 93% 100%, 0 100%, 0 7%); }
.hero-visual::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(90deg, transparent 49.5%, rgba(255,255,255,.035) 50%, transparent 50.5%), linear-gradient(transparent 49.5%, rgba(255,255,255,.035) 50%, transparent 50.5%); background-size: 52px 52px; opacity: .5; }
.hero-slides { position: absolute; inset: 0; }
.hero-slide { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(1.025); transition: opacity .7s ease, transform 3.5s ease; }
.hero-slide.active { opacity: 1; transform: scale(1); }
.hero-slide-shade { position: absolute; inset: 0; z-index: 2; pointer-events: none; background: linear-gradient(180deg, rgba(8,6,6,.58), transparent 34%, transparent 58%, rgba(8,6,6,.58)); }
.hero-slide-copy { position: absolute; left: 20px; top: 20px; z-index: 4; width: min(330px, calc(100% - 40px)); display: grid; gap: 3px; padding-left: 12px; border-left: 3px solid var(--orange); color: white; text-shadow: 0 2px 8px rgba(0,0,0,.9); }
.hero-slide-copy span { color: var(--orange); font-size: 9px; font-weight: 900; letter-spacing: .18em; }
.hero-slide-copy strong { font-family: var(--display); font-size: 21px; line-height: 1; letter-spacing: .055em; text-transform: uppercase; }
.hero-slide-copy small { font-size: 10px; letter-spacing: .04em; }
.hero-slide-arrow { position: absolute; top: 50%; z-index: 5; width: 38px; height: 48px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.55); background: rgba(9,7,7,.58); color: white; font-family: Georgia, serif; font-size: 31px; line-height: 1; cursor: pointer; transform: translateY(-50%); transition: background .2s ease, border-color .2s ease; }
.hero-slide-arrow:hover, .hero-slide-arrow:focus-visible { background: var(--magenta-dark); border-color: white; }
.hero-slide-arrow.prev { left: 12px; }.hero-slide-arrow.next { right: 12px; }
.hero-slide-dots { position: absolute; left: 22px; bottom: 21px; z-index: 5; display: flex; gap: 6px; }
.hero-slide-dot { width: 18px; height: 4px; padding: 0; border: 0; background: rgba(255,255,255,.48); cursor: pointer; transition: width .2s ease, background .2s ease; }
.hero-slide-dot.active { width: 30px; background: var(--orange); }
.garage-lines { position: absolute; left: 0; right: 0; bottom: 26%; height: 3px; background: linear-gradient(90deg, transparent, rgba(240,58,155,.55), rgba(255,106,26,.5), transparent); box-shadow: 0 18px 40px 5px rgba(214,31,122,.2); }
.paint-haze { position: absolute; width: 260px; height: 260px; border-radius: 50%; filter: blur(60px); opacity: .24; }
.haze-one { right: -60px; top: -60px; background: var(--magenta); }.haze-two { left: 90px; bottom: -110px; background: var(--orange); }
.car-art { position: absolute; left: 9%; right: 7%; bottom: 21%; height: 190px; z-index: 2; filter: drop-shadow(0 32px 25px #08080a); }
.car-roof { position: absolute; left: 27%; top: 26px; width: 49%; height: 86px; border-radius: 55% 38% 0 0; background: linear-gradient(135deg, #b84024, #551b18 70%); clip-path: polygon(12% 100%, 25% 12%, 72% 0, 100% 100%); }
.car-body { position: absolute; left: 3%; right: 0; bottom: 23px; height: 94px; border-radius: 50% 16% 18% 20% / 38% 45% 32% 30%; background: linear-gradient(165deg, #d15d26 0%, #992b20 34%, #501a18 76%, #21100f); box-shadow: inset 0 8px 0 rgba(255,255,255,.13), inset 0 -14px 0 rgba(0,0,0,.28); }
.wheel { position: absolute; bottom: 0; width: 64px; height: 64px; border: 10px solid #09090b; border-radius: 50%; background: radial-gradient(circle, #9c9ca5 0 18%, #313139 19% 38%, #0c0c0e 40%); z-index: 5; box-shadow: 0 0 0 2px #444; }
.wheel-one { left: 20%; }.wheel-two { right: 13%; }
.image-placeholder { position: absolute; left: 20px; top: 20px; z-index: 3; padding: 9px 11px; border-left: 2px solid var(--orange); color: #aaa5a3; font-size: 9px; letter-spacing: .06em; line-height: 1.4; }
.image-placeholder span { display: block; color: white; font-weight: 900; letter-spacing: .16em; }
.quality-card { position: absolute; right: 19px; bottom: 18px; z-index: 4; min-width: 192px; padding: 15px; display: flex; align-items: center; gap: 12px; background: rgba(255,253,250,.96); color: var(--ink); box-shadow: 7px 7px 0 var(--magenta); }
.quality-icon { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: var(--orange); color: white; font-weight: 900; }
.quality-card span:last-child { display: flex; flex-direction: column; gap: 3px; }.quality-card small { color: var(--magenta); font-size: 8px; letter-spacing: .14em; font-weight: 900; }.quality-card strong { font-size: 14px; }
.checker-rule { height: 14px; background: repeating-conic-gradient(#fff 0 25%, #17171a 0 50%) 0 / 18px 18px; border-top: 3px solid var(--orange); }

.promise-strip { padding: 31px 0; background: var(--white); border-bottom: 1px solid var(--line); }
.promise-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.promise-grid article { display: flex; gap: 19px; align-items: center; padding: 0 32px; border-right: 1px solid var(--line); }
.promise-grid article:first-child { padding-left: 0; }.promise-grid article:last-child { border: 0; padding-right: 0; }
.promise-grid article > span { color: var(--magenta); font-family: Georgia, serif; font-style: italic; font-size: 25px; }
.promise-grid strong { display: block; margin-bottom: 5px; font-size: 12px; text-transform: uppercase; letter-spacing: .06em; }
.promise-grid p { margin: 0; color: var(--muted); font-size: 11px; }

.award-section { padding: 52px 0; background: #151519; color: white; position: relative; overflow: hidden; }
.award-section::before { content: "WINNER"; position: absolute; right: -20px; top: -48px; color: rgba(255,255,255,.025); font-size: 190px; font-weight: 900; letter-spacing: -.08em; }
.award-card { min-height: 285px; display: grid; grid-template-columns: 280px 1fr; align-items: center; gap: 58px; position: relative; }
.award-art { width: 246px; height: 246px; position: relative; padding: 8px; background: var(--white); transform: rotate(-2deg); box-shadow: 10px 10px 0 var(--magenta); }
.award-art::after { content: "2026 WINNER"; position: absolute; right: -25px; bottom: 15px; padding: 8px 12px; background: var(--orange); color: white; font-size: 8px; font-weight: 900; letter-spacing: .16em; transform: rotate(3deg); }
.award-art img { width: 100%; height: 100%; display: block; object-fit: cover; }
.award-copy .eyebrow { margin-bottom: 13px; }
.award-copy h2 { margin: 0; font-size: clamp(38px, 4.8vw, 62px); line-height: .92; letter-spacing: -.06em; font-weight: 900; text-transform: uppercase; }
.award-copy h2 em { color: var(--pink); font-family: Georgia, serif; font-weight: 500; text-transform: none; }
.award-copy > p { max-width: 665px; margin: 19px 0 20px; color: #b8b2b0; font-size: 13px; line-height: 1.65; }
.award-thanks { padding-top: 17px; display: flex; align-items: center; gap: 13px; border-top: 1px solid rgba(255,255,255,.12); }
.award-thanks > span { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: var(--magenta); color: white; font-size: 11px; }
.award-thanks strong { font-size: 11px; text-transform: uppercase; letter-spacing: .08em; }
.award-thanks a { margin-left: auto; color: var(--orange); font-size: 9px; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.award-thanks a:hover { color: var(--pink); }

.section { padding: 110px 0; }
.section-heading { display: flex; justify-content: space-between; align-items: end; gap: 50px; margin-bottom: 44px; }
.section-heading h2, .story-copy h2, .team-heading h2, .insurance-intro h2, .appointment-copy h2 { font-size: clamp(43px, 5vw, 66px); line-height: .93; }
.section-heading > p { max-width: 410px; margin: 0 0 4px; color: var(--muted); font-size: 14px; line-height: 1.7; }
.services-section { position: relative; overflow: hidden; background-color: #e8dcc4; background-image: radial-gradient(rgba(72,46,25,.075) .8px, transparent .8px); background-size: 6px 6px; border-bottom: 3px double #30291f; }
.services-section::before { content: "SERVICES"; position: absolute; right: -28px; top: 6px; color: rgba(93,61,40,.045); font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; font-size: clamp(105px, 16vw, 230px); font-style: italic; line-height: .72; letter-spacing: -.055em; }
.services-heading { position: relative; }
.services-grid { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.service-card { min-height: 475px; padding: 31px 29px 28px; position: relative; display: flex; flex-direction: column; background: #fff5df; border: 2px solid #2a211b; box-shadow: 7px 7px 0 var(--orange); }
.service-card:nth-child(2) { box-shadow: 7px 7px 0 var(--magenta); }
.service-card-top { display: flex; align-items: center; justify-content: space-between; padding-bottom: 18px; border-bottom: 3px double rgba(42,33,27,.28); }
.service-card-top span { color: var(--magenta-dark); font-family: Georgia, serif; font-size: 25px; font-style: italic; font-weight: 700; }
.service-card-top i { color: var(--orange); font-size: 10px; font-style: normal; }
.service-card h3 { margin: 24px 0 12px; color: #17120e; font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; font-size: 29px; font-style: italic; letter-spacing: .025em; text-transform: uppercase; }
.service-card > p { min-height: 70px; margin: 0 0 20px; color: var(--muted); font-family: Georgia, serif; font-size: 13px; line-height: 1.6; }
.service-card ul { margin: auto 0 0; padding: 0; list-style: none; }
.service-card li { padding: 11px 0; display: flex; align-items: center; gap: 10px; border-top: 1px solid rgba(42,33,27,.13); color: #2e2925; font-size: 11px; font-weight: 800; line-height: 1.35; }
.service-card li span { width: 20px; height: 20px; flex: 0 0 20px; display: grid; place-items: center; border-radius: 50%; background: var(--magenta); color: white; font-size: 9px; }
.service-card:nth-child(odd) li span { background: var(--orange); }
.services-cta { margin-top: 28px; padding: 22px 24px; position: relative; display: flex; align-items: center; justify-content: space-between; gap: 30px; background: #181515; color: white; border-left: 6px solid var(--magenta); box-shadow: 7px 7px 0 #2a211b; }
.services-cta > div { display: flex; flex-direction: column; gap: 7px; }
.services-cta small { color: var(--orange); font-size: 8px; font-weight: 900; letter-spacing: .16em; }
.services-cta strong { font-family: Georgia, serif; font-size: 16px; font-weight: 500; }
.services-cta .button { flex: 0 0 auto; }
.gallery-grid { display: grid; grid-template-columns: repeat(12, 1fr); grid-auto-rows: 310px; gap: 15px; }
.gallery-card { grid-column: span 4; padding: 0; border: 0; position: relative; overflow: hidden; background: #222; color: white; text-align: left; cursor: pointer; }
.gallery-card:nth-child(1), .gallery-card:nth-child(5) { grid-column: span 8; }
.gallery-image { position: absolute; inset: 0; display: block; overflow: hidden; transition: transform .5s ease; }
.gallery-image > img { width: 100%; height: 100%; display: block; object-fit: cover; }
.gallery-card:hover .gallery-image { transform: scale(1.035); }
.gallery-image::after, .lightbox-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 45%, rgba(0,0,0,.75)); }
.gallery-image i { position: absolute; top: 15px; right: 15px; z-index: 2; padding: 6px 8px; border: 1px solid rgba(255,255,255,.3); font-size: 8px; font-style: normal; font-weight: 900; letter-spacing: .16em; }
.paint-one { background: radial-gradient(circle at 70% 25%, #fd9bc6 0 4%, transparent 25%), linear-gradient(140deg, #32111f, #b20d5b 45%, #101014 90%); }
.paint-two { background: radial-gradient(circle at 20% 70%, #ff9a62, transparent 26%), linear-gradient(140deg, #2c2a2c, #772743, #111); }
.paint-three { background: linear-gradient(125deg, #33343a 0 49%, #d42178 50% 72%, #6a123e); }
.paint-four { background: radial-gradient(ellipse at 50% 90%, #94372d, transparent 45%), linear-gradient(#15212a, #51412e); }
.paint-five { background: radial-gradient(circle at 80% 20%, #ff863f, transparent 28%), linear-gradient(135deg, #19191c, #7a1548 70%); }
.paint-six { background: linear-gradient(155deg, #111 0 44%, #b7b7be 45% 47%, #bd1566 48% 75%, #4a102c); }
.mock-car { position: absolute; width: 68%; height: 34%; left: 17%; top: 35%; border-radius: 45% 28% 20% 18% / 55% 42% 25% 28%; background: linear-gradient(155deg, rgba(255,255,255,.7), rgba(255,255,255,.08) 22%, rgba(0,0,0,.5)); box-shadow: 0 28px 30px rgba(0,0,0,.4); transform: skewX(-5deg); }
.mock-car::before { content: ""; position: absolute; left: 25%; top: -45%; width: 48%; height: 60%; background: rgba(20,20,25,.62); clip-path: polygon(19% 100%, 32% 0, 78% 8%, 100% 100%); }
.mock-car::after { content: ""; position: absolute; left: 13%; right: 12%; bottom: -18px; height: 42px; background: radial-gradient(circle at 15% 50%, #0b0b0d 0 17px, transparent 18px), radial-gradient(circle at 85% 50%, #0b0b0d 0 17px, transparent 18px); }
.gallery-caption { position: absolute; left: 0; right: 0; bottom: 0; z-index: 3; padding: 24px 22px; display: flex; align-items: end; justify-content: space-between; }
.gallery-caption > span { display: flex; flex-direction: column; gap: 5px; }.gallery-caption strong { font-size: 16px; }.gallery-caption small { color: #d7d2cf; font-size: 9px; text-transform: uppercase; letter-spacing: .1em; }.gallery-caption b { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.35); }
.placeholder-disclaimer { margin: 15px 0 0; color: #8d8885; font-size: 9px; letter-spacing: .08em; text-transform: uppercase; text-align: right; }

.reviews-section { padding: 90px 0 100px; color: white; background: var(--charcoal); }
.reviews-title { display: flex; align-items: end; justify-content: space-between; gap: 40px; margin-bottom: 37px; }
.reviews-title h2 { margin: 10px 0 0; font-family: Georgia, serif; font-size: clamp(36px, 4.5vw, 59px); line-height: .98; letter-spacing: -.045em; font-weight: 500; }
.stars { color: var(--orange); letter-spacing: .23em; font-size: 13px; }
.reviews-title > p { max-width: 330px; color: #aaa5a3; font-size: 13px; line-height: 1.6; }
.review-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.review-card { min-height: 260px; padding: 30px; display: flex; flex-direction: column; background: #232329; border-top: 3px solid var(--magenta); }
.quote-mark { height: 35px; color: var(--pink); font-family: Georgia, serif; font-size: 55px; line-height: .8; }
.review-card > p { flex: 1; margin: 14px 0 28px; color: #eee9e5; font-family: Georgia, serif; font-size: 15px; line-height: 1.62; }
.review-card > div { display: flex; align-items: center; gap: 11px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.1); }
.review-avatar { width: 33px; height: 33px; display: grid; place-items: center; border-radius: 50%; background: var(--magenta); color: white; font-size: 12px; }
.review-card > div > span:nth-child(2) { display: flex; flex: 1; flex-direction: column; gap: 4px; }.review-card strong { font-size: 11px; }.review-card small { color: #858183; font-size: 8px; text-transform: uppercase; letter-spacing: .12em; }.review-card > div > b { color: #4285f4; font-size: 16px; }

.marquee { height: 64px; display: flex; align-items: stretch; overflow: hidden; background: white; border-bottom: 1px solid var(--line); }
.marquee-label { min-width: 185px; padding: 0 27px; display: grid; place-items: center; z-index: 3; background: var(--orange); color: white; font-size: 9px; font-weight: 900; letter-spacing: .15em; clip-path: polygon(0 0, 92% 0, 100% 50%, 92% 100%, 0 100%); }
.marquee-window { overflow: hidden; display: flex; align-items: center; }
.marquee-track { width: max-content; display: flex; align-items: center; animation: marquee 45s linear infinite; }
.marquee-track span { padding: 0 25px; display: flex; align-items: center; gap: 15px; white-space: nowrap; color: #252529; font-size: 14px; font-weight: 900; letter-spacing: -.02em; }
.marquee-track i { color: var(--magenta); font-size: 7px; }
@keyframes marquee { to { transform: translateX(-50%); } }

.story-section { background: var(--white); }
.story-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 95px; align-items: center; }
.story-visual { position: relative; height: 590px; }
.founder-photo { position: absolute; inset: 0 42px 0 0; display: grid; place-items: center; overflow: hidden; background: radial-gradient(circle at 48% 27%, #ecb5cd 0 8%, transparent 9%), linear-gradient(140deg, #2c282a, #d61f7a 78%); clip-path: polygon(0 0, 90% 0, 100% 8%, 100% 100%, 10% 100%, 0 92%); }
.founder-photo::before { content: ""; position: absolute; left: 50%; top: 22%; width: 210px; height: 310px; transform: translateX(-50%); background: linear-gradient(#bdb4b1, #353238); border-radius: 46% 46% 8% 8%; opacity: .32; }
.founder-photo > span { position: relative; z-index: 2; color: rgba(255,255,255,.68); font-family: Georgia, serif; font-size: 150px; font-style: italic; }
.founder-photo.has-photo::before { z-index: 1; inset: auto 0 0; width: auto; height: 34%; transform: none; border-radius: 0; background: linear-gradient(to top, rgba(15,11,9,.88), transparent); opacity: 1; }
.founder-photo > img { position: absolute; inset: 0; width: 100%; height: 100%; display: block; object-fit: cover; object-position: center 38%; }
.founder-photo small { position: absolute; z-index: 2; left: 20px; bottom: 20px; color: white; font-size: 9px; font-weight: 900; line-height: 1.5; letter-spacing: .15em; text-shadow: 0 1px 8px rgba(0,0,0,.75); }
.story-stamp { position: absolute; z-index: 4; right: 24px; bottom: 50px; width: 135px; height: 135px; display: flex; flex-direction: column; align-items: center; justify-content: center; transform: rotate(6deg); border: 3px solid white; border-radius: 50%; background: var(--orange); color: white; box-shadow: 0 0 0 7px var(--orange), 0 0 0 9px white; text-align: center; }
.story-stamp b { font-size: 27px; font-style: italic; }.story-stamp span { margin-top: 4px; font-size: 8px; font-weight: 900; letter-spacing: .13em; line-height: 1.4; }
.story-copy .lead { margin-top: 28px; color: #343134; font-family: Georgia, serif; font-size: 20px; line-height: 1.55; }
.story-copy > p:not(.lead):not(.copy-note) { color: var(--muted); font-size: 14px; line-height: 1.8; }
.copy-note { padding: 11px 14px; border-left: 3px solid var(--orange); background: #f1ebe5; color: #736d69; font-size: 10px; line-height: 1.5; }
.text-link { display: inline-flex; gap: 14px; align-items: center; margin-top: 18px; color: var(--magenta); font-size: 11px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; border-bottom: 1px solid var(--magenta); padding-bottom: 7px; }
.history-timeline { margin-top: 78px; padding-top: 34px; display: grid; grid-template-columns: repeat(5, 1fr); border-top: 3px double #392d22; }
.history-timeline article { min-height: 175px; padding: 5px 22px 0; border-left: 1px solid rgba(41,30,21,.2); }
.history-timeline article:first-child { padding-left: 0; border-left: 0; }
.history-timeline article > span { display: block; color: var(--magenta-dark); font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; font-size: 24px; font-style: italic; letter-spacing: .035em; }
.history-timeline h3 { margin: 10px 0 8px; color: #1c1510; font-family: "Arial Black", Arial, sans-serif; font-size: 12px; font-style: italic; line-height: 1.2; text-transform: uppercase; }
.history-timeline p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.6; }
.history-timeline em { color: #31261f; font-family: Georgia, serif; }

.feature-section { padding: 95px 0; background: #27232a; color: white; position: relative; overflow: hidden; }
.feature-section::before { content: "1937"; position: absolute; right: -30px; top: -50px; color: rgba(255,255,255,.025); font-size: 300px; font-weight: 900; letter-spacing: -.1em; }
.feature-card { position: relative; display: grid; grid-template-columns: 360px 1fr; gap: 80px; align-items: center; }
.magazine-cover { height: 480px; padding: 0; position: relative; overflow: hidden; transform: rotate(-2.5deg); background: #e8ded0; color: #141417; box-shadow: 20px 22px 0 rgba(0,0,0,.28); }
.magazine-cover > img { width: 100%; height: 100%; display: block; object-fit: cover; }
.mag-title { display: block; font-size: 49px; line-height: .75; letter-spacing: -.08em; font-weight: 900; }.mag-title b { color: var(--magenta); font-size: 72px; }
.coupe-art { position: absolute; left: -45px; right: -45px; bottom: 70px; height: 190px; transform: rotate(-4deg); }
.coupe-art > span { position: absolute; inset: 40px 20px 18px; border-radius: 48% 35% 18% 18%; background: linear-gradient(155deg, #cf5b26, #6e201b 75%); box-shadow: 0 30px 24px rgba(0,0,0,.25); }
.coupe-art > span::before { content: ""; position: absolute; width: 44%; height: 70%; left: 30%; top: -49%; background: #362633; clip-path: polygon(18% 100%, 28% 0, 78% 10%, 100% 100%); }
.coupe-art > span::after { content: ""; position: absolute; inset: auto 12% -28px; height: 50px; background: radial-gradient(circle at 15% 50%, #111 0 21px, transparent 22px), radial-gradient(circle at 85% 50%, #111 0 21px, transparent 22px); }
.magazine-cover small { position: absolute; left: 24px; bottom: 21px; font-size: 9px; font-weight: 900; letter-spacing: .15em; line-height: 1.5; }
.feature-kicker { color: var(--orange); font-size: 9px; font-weight: 900; letter-spacing: .18em; }
.feature-copy h2 { margin-top: 16px; font-size: clamp(40px, 4.5vw, 61px); }
.feature-copy > p { max-width: 620px; color: #bbb4b5; font-size: 14px; line-height: 1.75; }
.feature-meta { display: flex; gap: 50px; margin: 30px 0; }
.feature-meta span { display: flex; flex-direction: column; gap: 7px; }.feature-meta small { color: #777278; font-size: 8px; letter-spacing: .16em; font-weight: 900; }.feature-meta strong { font-size: 13px; }
.button-dark { background: white; color: var(--ink); cursor: not-allowed; opacity: .82; }.button-dark span { color: #8b8583; font-size: 8px; }

.team-section { background: #f0ebe5; }
.team-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.team-card { display: flex; flex-direction: column; background: var(--white); border-bottom: 4px solid transparent; transition: transform .25s ease, border-color .25s ease; }.team-card:hover { transform: translateY(-5px); border-color: var(--orange); }.team-card.featured { border-bottom-color: var(--magenta); }
.team-photo { height: 285px; position: relative; display: grid; place-items: center; overflow: hidden; background: linear-gradient(145deg, #e680ad, #791440); }
.team-photo::before { content: ""; position: absolute; width: 130px; height: 210px; top: 70px; border-radius: 48% 48% 0 0; background: rgba(255,255,255,.19); }
.team-photo.has-photo::before { display: none; }
.team-photo > img { width: 100%; height: auto; display: block; }
.team-card:nth-child(1) .team-photo > img { transform: translateY(-6.5%); }
.team-card:nth-child(2) .team-photo > img { transform: translateY(-12.7%); }
.team-card:nth-child(3) .team-photo > img { transform: translateY(-12%); }
.team-photo.pet-photo > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 47%; transform: none; }
.team-photo span { position: relative; color: rgba(255,255,255,.74); font-family: Georgia, serif; font-size: 80px; font-style: italic; }
.team-photo small { position: absolute; left: 14px; bottom: 12px; color: rgba(255,255,255,.8); font-size: 8px; font-weight: 900; letter-spacing: .13em; }

.vendors-section { position: relative; background: #dfd2bd; overflow: hidden; }
.vendors-section::before { content: "TRUSTED NETWORK"; position: absolute; right: -24px; top: -34px; color: rgba(90,62,47,.045); font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; font-size: clamp(90px, 13vw, 190px); letter-spacing: -.04em; white-space: nowrap; }
.vendor-heading { position: relative; }
.vendor-grid { position: relative; display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.vendor-card { min-height: 245px; padding: 28px 30px 27px; display: grid; grid-template-columns: 48px 1fr; gap: 20px; background: #fff9eb; border: 2px solid #211a16; box-shadow: 7px 7px 0 var(--magenta-dark); transition: transform .2s ease, box-shadow .2s ease; }
.vendor-card:nth-child(even) { box-shadow: 7px 7px 0 var(--orange); }
.vendor-card:hover { transform: translateY(-4px); box-shadow: 9px 11px 0 var(--magenta-dark); }
.vendor-card:nth-child(even):hover { box-shadow: 9px 11px 0 var(--orange); }
.vendor-number { color: var(--orange); font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; font-size: 29px; font-style: italic; line-height: 1; }
.vendor-card-copy { min-width: 0; display: flex; flex-direction: column; }
.vendor-card-copy > small { min-height: 16px; color: var(--magenta-dark); font-size: 8px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.vendor-card h3 { margin: 9px 0 15px; color: #17110f; font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; font-size: 25px; font-style: italic; font-weight: 400; line-height: 1.05; text-transform: uppercase; }
.vendor-details { display: flex; flex-direction: column; gap: 8px; color: #5d554f; font-size: 11px; line-height: 1.55; }
.vendor-details a { width: fit-content; max-width: 100%; color: inherit; }
.vendor-details a:first-child:hover { color: var(--magenta-dark); text-decoration: underline; }
.vendor-phone { color: #17110f !important; font-weight: 900; letter-spacing: .03em; }
.vendor-phone:hover { color: var(--magenta-dark) !important; }
.vendor-links { min-height: 28px; margin-top: auto; padding-top: 20px; display: flex; flex-wrap: wrap; gap: 10px 18px; }
.vendor-links a { padding-bottom: 4px; border-bottom: 2px solid var(--orange); color: var(--magenta-dark); font-size: 9px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.vendor-links a:hover { color: #17110f; border-bottom-color: var(--magenta); }
.team-photo.founder { background: linear-gradient(145deg, #686168, #241d24); }.team-photo.neutral { background: linear-gradient(145deg, #b4ada7, #5d5858); }.team-photo.orange { background: linear-gradient(145deg, #ff985d, #8c2e21); }
.team-card > div:last-child { flex: 1; padding: 22px; }.team-card > div > small { color: var(--magenta); font-size: 8px; font-weight: 900; letter-spacing: .13em; }.team-card h3 { margin: 7px 0 9px; font-size: 20px; }.team-card p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.62; }

.insurance-section { background: #151519; color: white; position: relative; overflow: hidden; }
.insurance-section::after { content: "?"; position: absolute; left: -40px; bottom: -180px; color: rgba(214,31,122,.06); font-family: Georgia, serif; font-size: 620px; line-height: 1; }
.insurance-grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: 95px; position: relative; z-index: 2; }
.insurance-intro { position: sticky; top: 125px; align-self: start; }
.insurance-intro > p { margin: 25px 0; color: #b8b3b1; font-size: 14px; line-height: 1.75; }
.independent-badge { margin: 25px 0 32px; padding: 17px; display: flex; gap: 13px; align-items: center; border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.035); }
.independent-badge > span { width: 35px; height: 35px; display: grid; place-items: center; border-radius: 50%; background: var(--orange); font-weight: 900; }.independent-badge div { display: flex; flex-direction: column; gap: 4px; }.independent-badge strong { font-size: 12px; }.independent-badge small { color: #8e898b; font-size: 9px; }
.faq { border-top: 1px solid rgba(255,255,255,.13); }.faq:last-child { border-bottom: 1px solid rgba(255,255,255,.13); }
.faq button { width: 100%; padding: 23px 0; display: flex; align-items: center; justify-content: space-between; gap: 25px; border: 0; background: transparent; color: white; text-align: left; cursor: pointer; }.faq button span { font-size: 14px; font-weight: 800; }.faq button b { width: 29px; height: 29px; display: grid; flex: 0 0 auto; place-items: center; border: 1px solid rgba(255,255,255,.24); color: var(--pink); font-size: 19px; }
.faq-answer { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .32s ease; }.faq-answer p { min-height: 0; overflow: hidden; margin: 0; color: #aaa5a5; font-size: 12px; line-height: 1.75; }.faq.open .faq-answer { grid-template-rows: 1fr; }.faq.open .faq-answer p { padding: 0 55px 22px 0; }

.appointment-section { padding: 110px 0; background: var(--white); }
.appointment-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 88px; align-items: start; }
.appointment-copy > p { max-width: 470px; color: var(--muted); font-size: 14px; line-height: 1.75; }
.contact-cards { margin-top: 36px; border-top: 1px solid var(--line); }
.contact-cards > div { padding: 18px 0; display: grid; grid-template-columns: 75px 1fr; gap: 5px 15px; border-bottom: 1px solid var(--line); }.contact-cards span { grid-row: span 2; padding-top: 3px; color: var(--magenta); font-size: 8px; font-weight: 900; letter-spacing: .13em; }.contact-cards strong { font-size: 12px; }.contact-cards strong a { color: inherit; }.contact-cards small { color: #898481; font-size: 9px; }
.estimate-form { padding: 34px; background: #efebe6; border-top: 5px solid var(--magenta); box-shadow: 12px 12px 0 #dfd7cf; }
.form-heading { margin-bottom: 26px; display: flex; justify-content: space-between; font-size: 9px; font-weight: 900; letter-spacing: .15em; }.form-heading span { color: var(--magenta); }.form-heading b { color: #8c8581; }
.field-row { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }.field-row.three { grid-template-columns: .65fr 1fr 1fr; }
.estimate-form label { display: flex; flex-direction: column; gap: 7px; margin-bottom: 15px; color: #55504e; font-size: 9px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.estimate-form input, .estimate-form select, .estimate-form textarea { width: 100%; min-height: 47px; padding: 12px 13px; border: 1px solid #d7d0c9; border-radius: 0; background: white; color: var(--ink); outline: none; font-size: 12px; font-weight: 400; letter-spacing: normal; text-transform: none; }.estimate-form textarea { resize: vertical; }.estimate-form input:focus, .estimate-form select:focus, .estimate-form textarea:focus { border-color: var(--magenta); box-shadow: 0 0 0 2px rgba(214,31,122,.1); }
.check { flex-direction: row !important; align-items: start; gap: 9px !important; font-weight: 500 !important; line-height: 1.5; text-transform: none !important; letter-spacing: normal !important; }.check input { width: 15px; min-height: 15px; accent-color: var(--magenta); }
.form-button { width: 100%; margin-top: 5px; }
.form-success { margin-top: 20px; padding: 14px; border-left: 3px solid var(--orange); background: white; color: #615b58; font-size: 10px; line-height: 1.5; }.form-success strong { color: var(--magenta); }
.form-success.error { border-left-color: #bd251f; background: #fff0ed; color: #6e1d18; }.form-success a { color: inherit; font-weight: 900; text-decoration: underline; }
.form-trap { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; white-space: nowrap !important; }

footer { background: #111114; color: white; }
.footer-grid { padding: 67px 0 57px; display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 80px; }
.footer-logo-link { width: min(390px, 100%); margin-bottom: 20px; display: inline-block; }
.footer-logo { width: 100%; height: auto; display: block; }
.footer-grid > div:first-child > p { max-width: 340px; color: #8f8a8a; font-size: 12px; line-height: 1.65; }
.footer-grid > div:not(:first-child) { display: flex; flex-direction: column; gap: 12px; }.footer-grid h3 { margin: 0 0 7px; color: var(--orange); font-size: 9px; letter-spacing: .17em; }.footer-grid > div:not(:first-child) a, .footer-grid > div:not(:first-child) span { color: #aaa4a4; font-size: 11px; }.footer-grid a:hover { color: var(--pink) !important; }
.footer-bottom { padding: 19px 0; display: flex; justify-content: space-between; border-top: 1px solid rgba(255,255,255,.1); color: #625f61; font-size: 8px; letter-spacing: .1em; }

.lightbox { position: fixed; inset: 0; z-index: 100; padding: 50px 90px; display: grid; place-items: center; background: rgba(7,7,9,.94); color: white; }
.lightbox-content { width: min(930px, 86vw); display: grid; grid-template-columns: 1fr 250px; background: #1e1e23; box-shadow: 0 25px 80px #000; }
.lightbox-image { min-height: 530px; position: relative; overflow: hidden; background: #111; }.lightbox-image > img { position: absolute; inset: 0; width: 100%; height: 100%; display: block; object-fit: contain; }
.lightbox-content > div:last-child { padding: 35px; display: flex; flex-direction: column; justify-content: end; }.lightbox-content > div:last-child > span { color: var(--orange); font-size: 9px; font-weight: 900; letter-spacing: .14em; }.lightbox-content h3 { margin: 11px 0 7px; font-size: 26px; }.lightbox-content p { margin: 0; color: #888488; font-size: 10px; text-transform: uppercase; letter-spacing: .1em; }
.lightbox-close, .lightbox-arrow { position: fixed; z-index: 102; border: 1px solid rgba(255,255,255,.25); background: rgba(255,255,255,.05); color: white; cursor: pointer; }.lightbox-close { right: 28px; top: 24px; width: 43px; height: 43px; font-size: 29px; }.lightbox-arrow { top: 50%; width: 48px; height: 60px; font-size: 36px; transform: translateY(-50%); }.lightbox-arrow.prev { left: 24px; }.lightbox-arrow.next { right: 24px; }
.feature-read-button { cursor: pointer; opacity: 1; }
.feature-modal { position: fixed; inset: 0; z-index: 110; padding: 46px; display: grid; place-items: center; background: rgba(6,5,5,.95); color: white; }
.feature-modal-card { width: min(980px, 92vw); max-height: calc(100vh - 92px); display: block; overflow: auto; background: #efe2c7; color: #18110e; border: 3px solid #12100f; box-shadow: 12px 12px 0 var(--magenta-dark), 17px 17px 0 var(--orange); }
.feature-modal-cover { width: 100%; height: 355px; display: block; object-fit: cover; object-position: center; border-bottom: 4px solid #15110f; }
.feature-modal-copy { padding: 44px 48px 52px; }
.feature-modal-copy > span { color: var(--magenta-dark); font-family: "Arial Black", Arial, sans-serif; font-size: 9px; letter-spacing: .17em; }
.feature-modal-copy h2 { margin: 13px 0 8px; font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; font-size: clamp(37px, 4.5vw, 59px); font-style: italic; font-weight: 400; line-height: .92; letter-spacing: -.025em; text-transform: uppercase; }
.feature-modal-meta { margin: 0 0 26px; padding-bottom: 17px; color: var(--orange); font-family: Impact, sans-serif; font-size: 18px; font-style: italic; letter-spacing: .04em; text-transform: uppercase; border-bottom: 3px solid var(--magenta); }
.feature-modal-copy > p:last-child { margin: 0; color: #4f453d; font-family: Georgia, serif; font-size: 15px; line-height: 1.85; }
.feature-modal-close { position: fixed; right: 27px; top: 22px; z-index: 112; width: 45px; height: 45px; border: 1px solid rgba(255,255,255,.32); background: rgba(255,255,255,.08); color: white; font-size: 30px; cursor: pointer; }
.mobile-estimate { display: none; }

/* Late-80s custom-shop theme */
body {
  background-color: var(--paper);
  background-image: radial-gradient(rgba(68,45,24,.08) .7px, transparent .7px);
  background-size: 5px 5px;
  font-family: "Arial Narrow", "Helvetica Neue", Arial, sans-serif;
}
.topbar { background: linear-gradient(90deg, var(--magenta-dark), var(--orange) 52%, var(--magenta)); border-bottom: 2px solid var(--gold); text-shadow: 1px 1px #000; }
.site-header { background: linear-gradient(180deg, #111 0%, #070707 100%); border-bottom: 0; box-shadow: inset 0 -2px 0 var(--orange), inset 0 -5px 0 var(--magenta), 0 5px 18px rgba(0,0,0,.35); }
.nav-links { font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; font-style: italic; font-weight: 400; letter-spacing: .055em; text-transform: uppercase; }
.nav-links > a:not(.nav-cta):hover { color: var(--pink); border-bottom-color: var(--orange); }
.nav-cta { background: linear-gradient(135deg, var(--magenta), var(--magenta-dark)); border: 1px solid #e9c879; box-shadow: 4px 4px 0 var(--orange), inset 0 0 0 2px #1a0b0b; transform: skewX(-6deg); }
.nav-cta:hover { transform: skewX(-6deg) translate(2px,2px); box-shadow: 2px 2px 0 var(--orange), inset 0 0 0 2px #1a0b0b; }

.hero { background: #0c0b0b; }
.hero::before { left: 0; width: 56vw; background: repeating-linear-gradient(115deg, rgba(231,165,43,.12) 0 2px, transparent 2px 21px); clip-path: polygon(0 0, 100% 0, 72% 100%, 0 100%); opacity: .8; }
.hero::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(circle at 82% 24%, rgba(213,37,121,.18), transparent 28%), linear-gradient(90deg, rgba(0,0,0,.28), transparent 45%); }
.hero-grid { z-index: 2; }
.hero h1, .section-heading h2, .story-copy h2, .feature-copy h2, .team-heading h2, .insurance-intro h2, .appointment-copy h2, .award-copy h2 {
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-style: italic;
  letter-spacing: -.035em;
  text-shadow: 3px 3px 0 rgba(0,0,0,.13);
}
.hero h1 { color: #fff1d5; text-shadow: 3px 3px 0 var(--magenta-dark), 6px 6px 0 rgba(231,104,33,.38); }
.hero h1 em, .section-heading h2 em, .story-copy h2 em, .feature-copy h2 em, .team-heading h2 em, .insurance-intro h2 em, .appointment-copy h2 em, .award-copy h2 em {
  color: #e6a22d;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-style: italic;
  font-weight: 400;
  letter-spacing: -.025em;
  text-transform: uppercase;
}
.eyebrow { font-family: "Arial Black", Arial, sans-serif; color: #e6d6ba; letter-spacing: .22em; }
.eyebrow span { background: linear-gradient(90deg, var(--magenta), var(--orange)); }
.hero-copy > p { color: #c4b9aa; }
.button { font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; font-style: italic; font-weight: 400; letter-spacing: .1em; }
.button-primary { background: linear-gradient(135deg, var(--magenta), var(--magenta-dark)); border: 1px solid #ecc777; box-shadow: 5px 5px 0 var(--orange), inset 0 0 0 2px #170b0b; }
.button-ghost .play { border: 2px solid #d3c4aa; color: #e4a42d; }
.hero-visual { border: 4px solid #242020; outline: 2px solid #c8b991; outline-offset: -8px; background: linear-gradient(145deg, #25201d, #0c0c0c 58%, #342019); clip-path: none; box-shadow: 13px 13px 0 var(--magenta-dark), 16px 16px 0 var(--orange); }
.hero-visual::after { background: repeating-linear-gradient(135deg, transparent 0 30px, rgba(255,255,255,.035) 30px 31px); opacity: .4; }
.haze-one { background: var(--magenta); }.haze-two { background: var(--orange); }
.garage-lines { background: linear-gradient(90deg, transparent, var(--magenta), var(--orange), transparent); box-shadow: 0 18px 40px 5px rgba(213,37,121,.18); }
.quality-card { background: #f4e5c7; border: 2px solid #17110d; box-shadow: 6px 6px 0 var(--magenta); transform: rotate(-1.5deg); }
.quality-card small { color: var(--magenta-dark); }
.quality-icon { background: #db761f; border: 2px solid #6e1917; }
.checker-rule { height: 18px; background: repeating-conic-gradient(#e9dfce 0 25%, #111 0 50%) 0 / 22px 22px; border-top: 4px solid #d56b20; border-bottom: 2px solid #8e1a32; }

.promise-strip { background: #f2e5cc; border-bottom: 3px double #30291f; }
.promise-grid article > span { color: var(--magenta-dark); font-family: Impact, sans-serif; font-style: italic; }
.promise-grid strong { font-family: "Arial Black", Arial, sans-serif; font-style: italic; }

.award-section { background: linear-gradient(115deg, #151313, #251412 58%, #111); border-bottom: 5px solid #d07522; }
.award-section::before { color: rgba(229,165,46,.045); font-family: Impact, sans-serif; font-style: italic; }
.award-art { background: #efe2c7; box-shadow: 10px 10px 0 var(--magenta-dark), 13px 13px 0 var(--orange); }
.award-art::after { background: var(--magenta-dark); border: 1px solid #e8b95a; }
.award-thanks > span { background: var(--magenta); color: #fff1d5; }
.award-thanks a { color: #eda42a; }

.work-section { background: #e8dcc4; background-image: linear-gradient(90deg, rgba(66,46,28,.04) 1px, transparent 1px), linear-gradient(rgba(66,46,28,.04) 1px, transparent 1px); background-size: 28px 28px; }
.section-heading h2, .story-copy h2, .team-heading h2, .appointment-copy h2 { color: #17120e; }
.gallery-card { border: 2px solid #1b1714; box-shadow: 5px 5px 0 rgba(78,48,25,.2); }
.gallery-card:nth-child(even) { transform: rotate(.25deg); }.gallery-card:nth-child(odd) { transform: rotate(-.2deg); }
.gallery-card:hover { transform: translateY(-3px) rotate(0); }
.gallery-caption { background: linear-gradient(transparent, rgba(7,6,6,.88)); }
.gallery-caption strong { font-family: Impact, sans-serif; font-style: italic; letter-spacing: .04em; text-transform: uppercase; }
.paint-one { background: radial-gradient(circle at 70% 25%, #f07db4 0 4%, transparent 25%), linear-gradient(140deg, #28111f, #b91968 45%, #101014 90%); }
.paint-two { background: radial-gradient(circle at 20% 70%, #f2a04f, transparent 26%), linear-gradient(140deg, #2c2a2c, #7a3020, #111); }
.paint-three { background: linear-gradient(125deg, #33343a 0 49%, #d52579 50% 72%, #741543); }
.paint-four { background: radial-gradient(ellipse at 50% 90%, #94372d, transparent 45%), linear-gradient(#15212a, #51412e); }
.paint-five { background: radial-gradient(circle at 80% 20%, #f06fae, transparent 28%), linear-gradient(135deg, #19191c, #8c174d 70%); }
.paint-six { background: linear-gradient(155deg, #111 0 44%, #b7b7be 45% 47%, #e76821 48% 75%, #5d2017); }

.reviews-section { background-color: #171514; background-image: repeating-linear-gradient(135deg, rgba(255,255,255,.025) 0 1px, transparent 1px 8px); border-top: 6px solid var(--magenta); }
.reviews-title h2 { font-family: Impact, Haettenschweiler, sans-serif; font-style: italic; text-transform: uppercase; color: #f1e3c9; letter-spacing: -.02em; }
.stars { color: #e5a12b; }
.review-card { background: linear-gradient(145deg, #26211e, #151414); border: 1px solid #736856; border-top: 4px solid var(--magenta); box-shadow: inset 0 0 0 2px #0d0c0b; }
.quote-mark { color: var(--orange); }
.review-avatar { background: var(--magenta-dark); color: #f0b13b; }

.marquee { background: #e8dcc4; border-top: 3px solid #181512; border-bottom: 3px solid #181512; }
.marquee-label { background: var(--magenta-dark); color: #f7dfb6; font-family: Impact, sans-serif; font-style: italic; }
.marquee-track span { font-family: Impact, Haettenschweiler, sans-serif; font-style: italic; font-weight: 400; letter-spacing: .035em; text-transform: uppercase; }
.marquee-track i { color: #d47821; }

.story-section { background: #f0e3c8; background-image: radial-gradient(rgba(73,48,28,.09) .8px, transparent .8px); background-size: 6px 6px; }
.founder-photo { background: radial-gradient(circle at 48% 27%, #d8af81 0 8%, transparent 9%), linear-gradient(140deg, #2c2826, var(--magenta-dark) 78%); clip-path: none; border: 5px solid #18120f; outline: 2px solid #b8a179; outline-offset: -10px; }
.story-stamp { background: #9e2820; box-shadow: 0 0 0 7px #9e2820, 0 0 0 9px #e8b45d; font-family: Impact, sans-serif; font-style: italic; }
.story-copy .lead { font-family: Georgia, serif; }
.copy-note { border-left-color: var(--magenta); background: #ded0b7; }
.text-link { color: var(--magenta-dark); border-bottom-color: var(--magenta-dark); }

.feature-section { background: #191616; border-top: 6px solid #d17722; border-bottom: 6px solid #7c182c; }
.feature-section::before { color: rgba(231,165,43,.045); font-family: Impact, sans-serif; font-style: italic; }
.magazine-cover { background: #e6d5b7; border: 3px solid #15110f; outline: 2px solid #bd9b64; outline-offset: -9px; box-shadow: 18px 20px 0 var(--magenta-dark), 22px 24px 0 var(--orange); }
.mag-title { font-family: Impact, sans-serif; font-style: italic; }.mag-title b { color: var(--magenta-dark); }
.feature-kicker { color: #e3a12d; }
.button-dark { background: #eadbbc; color: #17110d; border: 2px solid #8f211d; box-shadow: 4px 4px 0 #d47522; }

.team-section { background: #d8c9ad; background-image: repeating-linear-gradient(135deg, rgba(35,25,18,.035) 0 2px, transparent 2px 14px); }
.team-card { background: #f3e5ca; border: 2px solid #2d241d; border-bottom: 5px solid var(--magenta-dark); box-shadow: 4px 4px 0 rgba(52,34,20,.22); }
.team-card.featured { border-bottom-color: var(--orange); }
.team-card:hover { border-color: var(--magenta); }
.team-photo { background: linear-gradient(145deg, #d84b8c, #6f173f); }.team-photo.founder { background: linear-gradient(145deg, #686158, #241d1b); }.team-photo.neutral { background: linear-gradient(145deg, #aaa08c, #504944); }.team-photo.orange { background: linear-gradient(145deg, #e98b3c, #8b2d1d); }
.team-card h3 { font-family: Impact, sans-serif; font-style: italic; text-transform: uppercase; letter-spacing: .04em; }
.team-card > div > small { color: var(--magenta-dark); }

.insurance-section { background-color: #111010; background-image: repeating-linear-gradient(45deg, rgba(224,157,40,.035) 0 2px, transparent 2px 20px); border-top: 6px solid var(--magenta); }
.insurance-section::after { color: rgba(216,112,31,.055); font-family: Impact, sans-serif; }
.independent-badge { border: 2px solid #6e6250; background: rgba(231,216,188,.045); box-shadow: inset 0 0 0 2px #0b0a09; }
.independent-badge > span { background: var(--magenta-dark); color: #eda734; }
.faq button { font-family: "Arial Black", Arial, sans-serif; font-style: italic; text-transform: uppercase; }
.faq button b { color: #e5a12d; border-color: #7a6d59; }

.appointment-section { background: #efe2c7; background-image: radial-gradient(rgba(72,46,25,.07) .8px, transparent .8px); background-size: 6px 6px; }
.contact-cards span { color: var(--magenta-dark); }
.estimate-form { background: #d9cbb1; border-top: 6px solid var(--magenta); box-shadow: 12px 12px 0 #a78e6d; outline: 2px solid #2d241d; }
.form-heading span { color: var(--magenta-dark); }
.estimate-form input:focus, .estimate-form select:focus, .estimate-form textarea:focus { border-color: var(--magenta); box-shadow: 0 0 0 2px rgba(213,37,121,.13); }
.check input { accent-color: var(--magenta); }

footer { background: #0b0a0a; border-top: 4px solid #d17621; }
.footer-grid h3 { color: #e3a12d; font-family: Impact, sans-serif; font-style: italic; }
.mobile-estimate { background: linear-gradient(135deg, var(--magenta), var(--magenta-dark)); border: 1px solid #e5bb68; box-shadow: 4px 4px 0 var(--orange); font-family: Impact, sans-serif; font-style: italic; }

@media (max-width: 1000px) {
  .nav-links { gap: 18px; }.nav-links > a:not(.nav-cta) { display: none; }
  .hero-grid { grid-template-columns: 1fr 1fr; gap: 30px; }.hero h1 { font-size: 60px; }.hero-visual { height: 460px; }
  .section { padding: 85px 0; }.gallery-grid { grid-auto-rows: 280px; }
  .services-grid { grid-template-columns: 1fr; }.service-card { min-height: 0; }.service-card > p { min-height: 0; }
  .story-grid, .insurance-grid, .appointment-grid { gap: 55px; }.story-visual { height: 520px; }.feature-card { grid-template-columns: 310px 1fr; gap: 55px; }.magazine-cover { height: 430px; }
  .team-grid { grid-template-columns: repeat(2, 1fr); }.team-photo { height: 330px; }
}

@media (max-width: 760px) {
  .container { width: min(100% - 32px, 560px); }
  .topbar { height: 29px; padding: 0 16px; font-size: 8px; }.topbar > span { display: none; }.topbar a { width: 100%; justify-content: center; }
  .site-header { height: 82px; padding: 0 16px; }.brand { min-width: 0; }.header-brand { width: min(190px, calc(100vw - 90px)); }.header-logo { width: 100%; max-height: 74px; }.brand-bird { width: 37px; height: 37px; font-size: 21px; }.brand-words strong { font-size: 17px; }.brand-words small { font-size: 6px; }
  .menu-button { display: block; }.nav-links { position: absolute; left: 0; right: 0; top: 82px; padding: 20px 16px 24px; display: none; flex-direction: column; align-items: stretch; gap: 0; background: #17171b; border-top: 1px solid rgba(255,255,255,.1); box-shadow: 0 18px 30px rgba(0,0,0,.4); }.nav-links.open { display: flex; }.nav-links > a:not(.nav-cta) { display: block; padding: 15px 5px; border-bottom: 1px solid rgba(255,255,255,.08); }.nav-cta { margin-top: 16px; text-align: center; }
  .macaw-flight { width: clamp(92px, 29vw, 128px); left: 64px; top: 43px; }
  .hero-grid { min-height: auto; grid-template-columns: 1fr; gap: 0; }.hero-copy { padding: 65px 0 45px; }.hero h1 { font-size: clamp(48px, 15vw, 68px); }.hero-copy > p { font-size: 15px; }.hero-actions { align-items: stretch; flex-direction: column; }.hero-actions .button { width: 100%; }.hero-note { margin-top: 30px; }.hero-visual { width: calc(100% + 32px); height: 360px; margin-left: -16px; clip-path: polygon(5% 0, 100% 0, 100% 95%, 95% 100%, 0 100%, 0 5%); }.car-art { left: 2%; right: 3%; bottom: 18%; transform: scale(.9); }.quality-card { right: 13px; bottom: 13px; }.image-placeholder { left: 13px; top: 13px; }
  .hero-slide-copy { left: 15px; top: 16px; width: calc(100% - 30px); }.hero-slide-copy strong { font-size: 18px; }.hero-slide-arrow { width: 32px; height: 42px; font-size: 27px; }.hero-slide-arrow.prev { left: 8px; }.hero-slide-arrow.next { right: 8px; }.hero-slide-dots { left: 15px; bottom: 18px; gap: 4px; }.hero-slide-dot { width: 10px; }.hero-slide-dot.active { width: 20px; }
  .promise-strip { padding: 12px 0; }.promise-grid { grid-template-columns: 1fr; }.promise-grid article, .promise-grid article:first-child, .promise-grid article:last-child { padding: 17px 0; border-right: 0; border-bottom: 1px solid var(--line); }.promise-grid article:last-child { border: 0; }
  .award-section { padding: 58px 0 62px; }.award-card { min-height: 0; grid-template-columns: 1fr; gap: 43px; }.award-art { width: min(246px, 75vw); height: min(246px, 75vw); margin: 0 auto; }.award-copy h2 { font-size: 42px; }.award-thanks { align-items: flex-start; flex-wrap: wrap; }.award-thanks a { width: 100%; margin: 4px 0 0 43px; }
  .section { padding: 72px 0; }.section-heading, .reviews-title { align-items: start; flex-direction: column; gap: 22px; }.section-heading h2, .story-copy h2, .feature-copy h2, .team-heading h2, .insurance-intro h2, .appointment-copy h2 { font-size: 43px; }.section-heading > p { font-size: 13px; }
  .service-card { padding: 26px 22px 23px; box-shadow: 5px 5px 0 var(--orange); }.service-card:nth-child(2) { box-shadow: 5px 5px 0 var(--magenta); }.services-cta { padding: 22px 19px 24px; align-items: stretch; flex-direction: column; }.services-cta .button { width: 100%; }
  .gallery-grid { grid-template-columns: 1fr; grid-auto-rows: 265px; }.gallery-card, .gallery-card:nth-child(1), .gallery-card:nth-child(5) { grid-column: 1; }.placeholder-disclaimer { text-align: left; line-height: 1.5; }
  .reviews-section { padding: 70px 0; }.review-grid { grid-template-columns: 1fr; }.review-card { min-height: 240px; }
  .marquee { height: 55px; }.marquee-label { min-width: 125px; padding: 0 14px; font-size: 7px; }.marquee-track span { padding: 0 18px; font-size: 12px; }
  .story-grid, .insurance-grid, .appointment-grid { grid-template-columns: 1fr; gap: 50px; }.story-visual { height: 460px; }.founder-photo { right: 24px; }.founder-photo > img { object-position: center 33%; }.story-stamp { right: 14px; width: 108px; height: 108px; }.story-stamp b { font-size: 22px; }
  .feature-section { padding: 73px 0; }.feature-card { grid-template-columns: 1fr; gap: 55px; }.magazine-cover { width: min(310px, 88%); height: 420px; margin: 0 auto; }.feature-meta { gap: 28px; flex-wrap: wrap; }
  .team-grid { grid-template-columns: 1fr; }.team-photo { height: 360px; }
  .insurance-intro { position: static; }.faq.open .faq-answer p { padding-right: 15px; }.faq button span { font-size: 13px; }
  .field-row, .field-row.three { grid-template-columns: 1fr; gap: 0; }.estimate-form { padding: 24px 19px; box-shadow: 8px 8px 0 #dfd7cf; }.appointment-copy h2 { font-size: 41px; }
  .footer-grid { grid-template-columns: 1fr; gap: 38px; padding: 55px 0 45px; }.footer-bottom { padding-bottom: 80px; flex-direction: column; gap: 10px; }
  .lightbox { padding: 60px 15px; }.lightbox-content { width: 100%; grid-template-columns: 1fr; }.lightbox-image { min-height: 330px; }.lightbox-content > div:last-child { padding: 23px; }.lightbox-arrow { top: auto; bottom: 12px; height: 46px; }.lightbox-close { top: 12px; right: 12px; }
  .feature-modal { padding: 60px 15px 28px; align-items: start; }.feature-modal-card { width: 100%; max-height: calc(100vh - 88px); }.feature-modal-cover { width: 100%; height: 220px; object-fit: cover; object-position: center; border-bottom: 4px solid #15110f; }.feature-modal-copy { padding: 31px 24px 38px; }.feature-modal-copy h2 { font-size: 39px; }.feature-modal-copy > p:last-child { font-size: 14px; line-height: 1.75; }.feature-modal-close { top: 10px; right: 10px; }
  .mobile-estimate { position: fixed; left: 14px; right: 14px; bottom: 12px; z-index: 50; min-height: 48px; display: flex; align-items: center; justify-content: center; gap: 18px; background: var(--magenta); color: white; box-shadow: 4px 4px 0 var(--orange); font-size: 10px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
}

@media (max-width: 1024px) {
  .history-timeline { grid-template-columns: repeat(3, 1fr); row-gap: 34px; }
  .history-timeline article:nth-child(4) { padding-left: 0; border-left: 0; }
}

@media (max-width: 700px) {
  .history-timeline { margin-top: 58px; padding-top: 26px; grid-template-columns: 1fr; gap: 0; }
  .history-timeline article, .history-timeline article:first-child, .history-timeline article:nth-child(4) { min-height: 0; padding: 0 0 24px 22px; border-left: 3px solid var(--magenta); }
  .history-timeline article:last-child { padding-bottom: 0; }
}

@media (max-width: 760px) {
  .vendor-grid { grid-template-columns: 1fr; }
  .vendor-card { min-height: 0; padding: 24px 21px 23px; grid-template-columns: 39px 1fr; gap: 14px; }
  .vendor-card h3 { font-size: 22px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .macaw-flight { display: none !important; }
}
