:root {
  --ink: #101013;
  --surface: #202024;
  --ivory: #f1f1f3;
  --bronze: #ff5965;
  --muted: #bbbcc4;
  --line: #39393f;
  --wood: #8e1525;
  --red: #c82036;
  --silver: #dedee1;
  --sans: "Segoe UI", Arial, sans-serif;
  --serif: var(--sans);
}
h1, h2, h3 { font-family: var(--sans); font-weight: 750; }
em { font-style: normal; font-weight: inherit; color: var(--bronze); }
a:focus-visible, button:focus-visible, .gallery-track:focus-visible {
  outline: 3px solid #ff6974;
  outline-offset: 3px;
}
::selection { background: #9f1c30; color: white; }
.eyebrow, .card-tag, .card-top { font-family: Consolas, monospace; }
.gateway {
  background: linear-gradient(110deg, #131316ed, #101013fa), url("../../assets/gallery/01-fade.webp") left center / cover;
}
.gateway::before, .gateway::after { display: none; }
.gateway-kicker { color: #dddde0; }
.gateway-kicker span { background: var(--bronze); width: 18px; height: 2px; }
.logo-plaque {
  background: var(--silver);
  border-radius: 0;
  padding: 4px;
  clip-path: polygon(0 0, 100% 0, 100% 87%, 87% 100%, 0 100%);
  border-left: 4px solid var(--red);
}
.logo-plaque::after { display: none; }
.gateway-title { font-weight: 720; letter-spacing: -.045em; }
.gateway-title em { color: var(--bronze); }
.gateway-links { gap: 8px; }
.action {
  border: 1px solid #44444a;
  border-radius: 3px;
  background: #232327;
  color: #f7f7f8;
  font-weight: 600;
}
.action > span:first-child { color: #dddde3; }
.action:hover { background: #303035; border-color: #898993; }
.action-primary, .button-light { background: var(--red); color: white; border-color: var(--red); }
.action-primary > span:first-child { color: white; }
.action-primary:hover, .button-light:hover { background: #ac192c; color: white; }
.action-end { justify-self: end; }
.gateway-footer, .gateway-footer .developer-credit { color: #c7c7cd; }
.notice { background: #efeff1; border: 0; border-left: 4px solid var(--red); }
@media (min-width: 950px) {
  .gateway {
    background: linear-gradient(90deg, #1010130d 20%, #101013 57%), url("../../assets/gallery/01-fade.webp") left 45% / 58% auto no-repeat, var(--ink);
  }
  .gateway-inner { margin-left: 62%; width: min(32%, 390px); }
}
.website .site-header, .brand-intro { background-color: var(--silver); }
.website .return-home {
  color: white; background: var(--red); border-color: var(--red); border-radius: 2px;
}
.website .return-home:hover { background: #971628; }
.brand-intro {
  background-image: linear-gradient(124deg, transparent 71%, #d3d3d7 71%, #d3d3d7 78%, transparent 78%);
  border-bottom: 4px solid var(--red);
}
.photo-gallery { background: var(--ink); color: var(--ivory); padding-top: 14px; }
.gallery-card, .gallery-card:nth-child(n) { transform: none; }
.gallery-card img { border-radius: 3px; filter: saturate(.58); transition: filter .22s; }
.gallery-note, .gallery-position { color: #bcbcc3; }
.gallery-controls button { border-color: #595961; color: white; }
.gallery-controls button:hover { background: #393940; }
.gallery-controls button:disabled { opacity: .5; }
.website .about-section {
  background: #1c1c20; color: var(--ivory); border-top: 1px solid var(--line);
}
.about .eyebrow, .section-heading .eyebrow, .hours-heading .eyebrow { color: var(--bronze); }
.about h2, .section-heading h2, .hours-heading h2, .closing h2 {
  letter-spacing: -.055em; line-height: 1; font-weight: 750;
}
.about h2 em, .section-heading h2 em { color: #bcbcc3; }
.about-copy p + p { color: var(--muted); }
.large-star, .cut-mark, .closing-ornament { display: none; }
.about-copy { border-left: 3px solid var(--red); padding-left: 24px; }
.service-grid { gap: 1px; background: var(--line); border: 1px solid var(--line); }
.service-card { background: var(--surface); border: 0; }
.service-card:hover { background: #28282d; }
.service-card h3 { letter-spacing: -.045em; }
.card-top { color: var(--bronze); font-variant-numeric: tabular-nums; }
.card-top::after { content: ""; width: 20px; border-top: 2px solid #64646c; }
.card-tag { color: #c1c1c8; }
.service-personal { background: #272327; border-left: 4px solid var(--red); }
.hours-panel { background: var(--silver); color: var(--ink); border: 0; border-top: 4px solid var(--red); }
.hours-heading { border-color: #aaaab2; }
.hours-heading .eyebrow, .hours-heading em, .hours-rest strong { color: #a5162a; }
.hours-days, .hours-time { color: var(--ink); }
.hours-time { font-weight: 700; letter-spacing: -.06em; }
.hours-time small { color: #484850; }
.hours-time > span { color: #a5162a; }
.hours-rest { border-color: #adadb5; }
.closing { background: #99172a; border: 0; }
.closing .eyebrow, .closing em, .closing .location-link { color: #fff; }
.closing .button-light { background: var(--ivory); color: var(--ink); }
.closing .button-light:hover { background: white; }
.closing .button-outline { background: #18181c; border-color: #18181c; }
.closing .button-outline:hover { background: #333339; }
@media (hover:hover) { .gallery-card:hover img { filter: saturate(1); } }
@media (max-width: 760px) {
  .about h2, .section-heading h2 { font-size: clamp(34px, 8.5vw, 44px); }
  .about-copy { padding-left: 16px; }
  .service-card h3 { font-size: clamp(21px, 5.2vw, 26px); }
  .hours-heading { border-bottom-color: #aaaab2; }
}
@media (prefers-reduced-motion:reduce) { .gallery-card img { transition: none; } }
@media (max-width: 400px) {
  .hours-panel { grid-template-columns: minmax(0, 1fr); }
  .hours-detail { padding-inline: 18px; }
  .hours-time { font-size: clamp(30px, 9vw, 36px); gap: 8px; }
}
