/* ============================================================
   JUST ROLL WITH IT FINISHINGS — NORTHWOODS NOIR
   Charcoal navy canvas, ivory serif, bronze line work.
   ============================================================ */

:root {
  --noir: #151C22;
  --noir-2: #10161B;
  --ink: #0C0F12;
  --panel: #1A232B;
  --panel-2: #1E2831;
  --ivory: #F1ECE2;
  --ivory-dim: rgba(241, 236, 226, 0.66);
  --ivory-faint: rgba(241, 236, 226, 0.38);
  --bronze: #A97C50;
  --bronze-bright: #C69A68;
  --bronze-dim: rgba(169, 124, 80, 0.35);
  --line: rgba(241, 236, 226, 0.14);
  --serif: "Cormorant Garamond", Georgia, serif;
  --sans: "Jost", "Futura", "Century Gothic", sans-serif;
}

* { margin: 0; padding: 0; box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  background: var(--noir);
  color: var(--ivory);
  font-family: var(--sans);
  font-weight: 300;
  font-size: 17px;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

::selection { background: var(--bronze); color: var(--ink); }

/* film-grain overlay (data URI inlined at publish time) */
body::after {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 2000;
  opacity: 0.05;
  background-image: url("data:image/png;base64,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");
}

img { display: block; max-width: 100%; }
a { color: inherit; }

/* ---------- cursor glow (fine pointers only) ---------- */
#cursor-glow {
  position: fixed;
  width: 520px;
  height: 520px;
  border-radius: 50%;
  pointer-events: none;
  z-index: 1;
  background: radial-gradient(circle, rgba(169, 124, 80, 0.07) 0%, transparent 62%);
  transform: translate(-50%, -50%);
  transition: opacity 0.4s;
}
@media (hover: none), (pointer: coarse) { #cursor-glow { display: none; } }

/* ---------- header ---------- */
.site-header {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 900;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 clamp(20px, 4vw, 56px);
  height: 84px;
  transition: background 0.45s, border-color 0.45s, height 0.45s;
  border-bottom: 1px solid transparent;
}
.site-header.scrolled {
  background: rgba(12, 15, 18, 0.9);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom-color: var(--line);
  height: 68px;
}
.wordmark {
  text-decoration: none;
  line-height: 1;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.wordmark .wm-top {
  font-family: var(--serif);
  font-weight: 600;
  font-size: 21px;
  letter-spacing: 0.06em;
  color: var(--ivory);
  text-shadow: 0 1px 12px rgba(12, 15, 18, 0.55);
}
.wordmark .wm-top em { color: var(--bronze-bright); font-style: italic; }
.wordmark .wm-sub {
  font-size: 9.5px;
  letter-spacing: 0.42em;
  text-transform: uppercase;
  color: var(--ivory-faint);
}
.main-nav { display: flex; align-items: center; gap: clamp(18px, 2.6vw, 40px); }
.main-nav a.nav-link {
  position: relative;
  text-decoration: none;
  font-size: 12.5px;
  font-weight: 400;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: var(--ivory-dim);
  padding: 6px 0;
  transition: color 0.3s;
  text-shadow: 0 1px 10px rgba(12, 15, 18, 0.5);
}
.site-header.scrolled .main-nav a.nav-link,
.site-header.scrolled .header-phone,
.site-header.scrolled .wordmark .wm-top { text-shadow: none; }
.main-nav a.nav-link::after {
  content: "";
  position: absolute;
  left: 0; bottom: 0;
  width: 100%; height: 1px;
  background: var(--bronze);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.4s cubic-bezier(0.6, 0, 0.2, 1);
}
.main-nav a.nav-link:hover, .main-nav a.nav-link.active { color: var(--ivory); }
.main-nav a.nav-link:hover::after, .main-nav a.nav-link.active::after {
  transform: scaleX(1);
  transform-origin: left;
}
.header-phone {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  font-size: 13px;
  letter-spacing: 0.14em;
  color: var(--ivory);
  border: 1px solid var(--bronze-dim);
  padding: 10px 18px;
  transition: background 0.3s, border-color 0.3s;
}
.header-phone:hover { background: rgba(169, 124, 80, 0.12); border-color: var(--bronze); }
.header-phone svg { width: 14px; height: 14px; stroke: var(--bronze-bright); }

.nav-toggle {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  width: 40px; height: 40px;
  position: relative;
  z-index: 1001;
}
.nav-toggle span {
  display: block;
  width: 26px; height: 1.5px;
  background: var(--ivory);
  margin: 6px auto;
  transition: transform 0.35s, opacity 0.35s;
}
.nav-toggle.open span:nth-child(1) { transform: translateY(7.5px) rotate(45deg); }
.nav-toggle.open span:nth-child(2) { opacity: 0; }
.nav-toggle.open span:nth-child(3) { transform: translateY(-7.5px) rotate(-45deg); }

.mobile-menu {
  position: fixed;
  inset: 0;
  z-index: 950;
  background: rgba(12, 15, 18, 0.97);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s;
}
.mobile-menu.open { opacity: 1; pointer-events: auto; }
.mobile-menu a {
  text-decoration: none;
  font-family: var(--serif);
  font-size: clamp(30px, 7vw, 42px);
  color: var(--ivory-dim);
  padding: 8px;
  transition: color 0.3s, letter-spacing 0.3s;
}
.mobile-menu a:hover, .mobile-menu a.active { color: var(--bronze-bright); letter-spacing: 0.04em; }
.mobile-menu .mm-phone {
  margin-top: 26px;
  font-family: var(--sans);
  font-size: 14px;
  letter-spacing: 0.2em;
  border: 1px solid var(--bronze-dim);
  padding: 14px 30px;
}

/* ---------- shared layout ---------- */
.page-main { position: relative; z-index: 2; }
.wrap { max-width: 1320px; margin: 0 auto; padding: 0 clamp(20px, 4vw, 56px); }

.eyebrow {
  display: flex;
  align-items: center;
  gap: 16px;
  font-size: 11.5px;
  letter-spacing: 0.38em;
  text-transform: uppercase;
  color: var(--bronze-bright);
  margin-bottom: 26px;
}
.eyebrow::before { content: ""; width: 44px; height: 1px; background: var(--bronze); }
.eyebrow.center { justify-content: center; }
.eyebrow.center::after { content: ""; width: 44px; height: 1px; background: var(--bronze); }

h1, h2, h3 { font-family: var(--serif); font-weight: 500; line-height: 1.08; }
.h-display { font-size: clamp(44px, 7.2vw, 96px); letter-spacing: 0.005em; }
.h-section { font-size: clamp(34px, 4.6vw, 60px); }
.h-sub { font-size: clamp(24px, 2.8vw, 34px); }
.h-display em, .h-section em, .h-sub em { font-style: italic; color: var(--bronze-bright); }

.lede {
  font-size: clamp(17px, 1.5vw, 20px);
  line-height: 1.8;
  color: var(--ivory-dim);
  max-width: 620px;
}

.section { padding: clamp(90px, 11vw, 150px) 0; position: relative; }
.section.tight { padding: clamp(64px, 8vw, 100px) 0; }
.section.rule-top { border-top: 1px solid var(--line); }
.bg-ink { background: var(--ink); }
.bg-panel { background: var(--panel); }

.two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(40px, 6vw, 96px);
  align-items: center;
}

/* ---------- buttons ---------- */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  font-size: 12.5px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  padding: 18px 34px;
  border: 1px solid var(--bronze);
  color: var(--ivory);
  position: relative;
  overflow: hidden;
  transition: color 0.35s;
  cursor: pointer;
  background: transparent;
  font-family: var(--sans);
}
.btn::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--bronze);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.45s cubic-bezier(0.65, 0, 0.2, 1);
  z-index: -1;
}
.btn:hover { color: var(--ink); }
.btn:hover::before { transform: scaleX(1); transform-origin: left; }
.btn.solid { background: var(--bronze); color: var(--ink); }
.btn.solid::before { background: var(--ivory); }
.btn.ghost { border-color: var(--line); color: var(--ivory-dim); }
.btn.ghost:hover { color: var(--ink); }
.btn .arrow { transition: transform 0.35s; }
.btn:hover .arrow { transform: translateX(5px); }

/* ---------- hero ---------- */
.hero {
  position: relative;
  min-height: 100svh;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
}
.hero-media { position: absolute; inset: 0; overflow: hidden; }
.hero-media img {
  width: 100%;
  height: 120%;
  object-fit: cover;
  object-position: center 62%;
  will-change: transform;
}
.hero-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(to top, rgba(12, 15, 18, 0.99) 0%, rgba(12, 15, 18, 0.82) 30%, rgba(12, 15, 18, 0.52) 55%, rgba(21, 28, 34, 0.38) 78%, rgba(21, 28, 34, 0.5) 100%),
    linear-gradient(105deg, rgba(12, 15, 18, 0.6) 0%, rgba(12, 15, 18, 0.22) 46%, transparent 72%);
}
.hero-inner {
  position: relative;
  z-index: 3;
  width: 100%;
  padding-bottom: clamp(90px, 12vh, 140px);
  padding-top: 140px;
}
.hero .h-display {
  max-width: 14ch;
  text-shadow: 0 2px 30px rgba(12, 15, 18, 0.65), 0 0 4px rgba(12, 15, 18, 0.4);
}
.hero .h-display em {
  text-shadow: 0 2px 30px rgba(12, 15, 18, 0.75), 0 0 4px rgba(12, 15, 18, 0.45);
}
.hero .eyebrow {
  color: var(--bronze-bright);
  text-shadow: 0 1px 14px rgba(12, 15, 18, 0.8);
}
.hero-sub {
  margin-top: 28px;
  max-width: 560px;
  font-size: clamp(16px, 1.4vw, 19px);
  font-weight: 400;
  line-height: 1.8;
  color: var(--ivory);
  text-shadow: 0 1px 18px rgba(12, 15, 18, 0.8), 0 0 3px rgba(12, 15, 18, 0.5);
}
.hero-ctas { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 42px; }
.hero-stats {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(28px, 4vw, 64px);
  margin-top: 58px;
  padding-top: 34px;
  border-top: 1px solid var(--line);
  max-width: 760px;
  text-shadow: 0 1px 14px rgba(12, 15, 18, 0.7);
}
.hstat .hstat-n {
  font-family: var(--serif);
  font-weight: 600;
  font-size: clamp(26px, 2.6vw, 36px);
  color: var(--bronze-bright);
  line-height: 1;
}
.hstat .hstat-l {
  margin-top: 8px;
  font-size: 10.5px;
  font-weight: 400;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--ivory-dim);
}
.scroll-cue {
  position: absolute;
  right: clamp(20px, 4vw, 56px);
  bottom: 36px;
  z-index: 4;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  font-size: 10px;
  letter-spacing: 0.4em;
  text-transform: uppercase;
  color: var(--ivory-faint);
  writing-mode: vertical-rl;
}
.scroll-cue .cue-line { width: 1px; height: 56px; background: var(--bronze-dim); overflow: hidden; position: relative; }
.scroll-cue .cue-line::after {
  content: "";
  position: absolute;
  left: 0; top: -50%;
  width: 100%; height: 50%;
  background: var(--bronze-bright);
  animation: cueDrop 2.2s cubic-bezier(0.65, 0, 0.35, 1) infinite;
}
@keyframes cueDrop { 0% { top: -50%; } 60%, 100% { top: 110%; } }

/* ---------- page hero (interior pages) ---------- */
.page-hero { padding: 190px 0 clamp(60px, 8vw, 90px); position: relative; overflow: hidden; }
.page-hero .h-display { font-size: clamp(40px, 6vw, 80px); max-width: 16ch; }
.page-hero .lede { margin-top: 24px; }

/* ---------- reveal ---------- */
[data-reveal] {
  opacity: 0;
  transform: translateY(36px);
  transition: opacity 1s cubic-bezier(0.22, 0.6, 0.2, 1), transform 1s cubic-bezier(0.22, 0.6, 0.2, 1);
  transition-delay: var(--rd, 0s);
}
[data-reveal].revealed { opacity: 1; transform: none; }

/* ---------- figures: native aspect, never cropped ---------- */
figure.nframe { position: relative; margin: 0; }
.nframe .frame-box {
  border: 1px solid var(--line);
  padding: clamp(10px, 1.2vw, 16px);
  background: rgba(12, 15, 18, 0.35);
  transition: border-color 0.5s;
}
.nframe:hover .frame-box { border-color: var(--bronze-dim); }
.nframe img { width: 100%; height: auto; }
.nframe figcaption {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 4px 0;
  font-size: 10.5px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--ivory-faint);
}
.nframe figcaption .cap-no { color: var(--bronze-bright); }

/* ---------- marquee ---------- */
.marquee {
  overflow: hidden;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  padding: 22px 0;
  background: var(--ink);
}
.marquee-track {
  display: flex;
  width: max-content;
  animation: marquee 36s linear infinite;
}
.marquee:hover .marquee-track { animation-play-state: paused; }
.marquee-track span {
  font-family: var(--serif);
  font-size: clamp(18px, 1.8vw, 24px);
  font-style: italic;
  color: var(--ivory-dim);
  padding: 0 34px;
  white-space: nowrap;
  display: flex;
  align-items: center;
  gap: 34px;
}
.marquee-track span::after { content: "·"; color: var(--bronze); font-style: normal; }
@keyframes marquee { to { transform: translateX(-50%); } }

/* ---------- craft / services ---------- */
.craft-row {
  display: grid;
  grid-template-columns: 90px 1fr 1.1fr auto;
  gap: clamp(20px, 3vw, 48px);
  align-items: center;
  padding: clamp(30px, 3.4vw, 46px) 0;
  border-top: 1px solid var(--line);
  text-decoration: none;
  color: inherit;
  transition: background 0.35s;
  position: relative;
}
.craft-row:last-child { border-bottom: 1px solid var(--line); }
.craft-row .craft-no {
  font-family: var(--serif);
  font-size: 15px;
  color: var(--bronze-bright);
  letter-spacing: 0.2em;
}
.craft-row h3 { font-size: clamp(24px, 2.6vw, 36px); transition: color 0.35s, transform 0.35s; }
.craft-row p { font-size: 14.5px; line-height: 1.7; color: var(--ivory-faint); max-width: 460px; }
.craft-row .craft-arrow {
  width: 46px; height: 46px;
  border: 1px solid var(--line);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: border-color 0.35s, background 0.35s, transform 0.35s;
  flex-shrink: 0;
}
.craft-row .craft-arrow svg { width: 16px; height: 16px; stroke: var(--ivory-dim); transition: stroke 0.3s, transform 0.35s; }
.craft-row:hover h3 { color: var(--bronze-bright); transform: translateX(6px); }
.craft-row:hover .craft-arrow { border-color: var(--bronze); background: rgba(169, 124, 80, 0.1); transform: rotate(-45deg); }
.craft-row:hover .craft-arrow svg { stroke: var(--bronze-bright); }

/* ---------- gallery wall ---------- */
.wall { columns: 3; column-gap: clamp(20px, 2.4vw, 32px); }
.wall .nframe { break-inside: avoid; margin-bottom: clamp(20px, 2.4vw, 32px); cursor: pointer; }
.wall .nframe img { transition: filter 0.5s, transform 0.6s cubic-bezier(0.22, 0.6, 0.2, 1); }
.wall .nframe:hover img { filter: brightness(1.06); }

.tier-label {
  display: flex;
  align-items: baseline;
  gap: 20px;
  margin: clamp(48px, 6vw, 80px) 0 34px;
}
.tier-label .tl-no { font-family: var(--serif); font-size: 15px; color: var(--bronze-bright); letter-spacing: 0.24em; }
.tier-label .tl-name { font-family: var(--serif); font-size: clamp(24px, 2.6vw, 34px); }
.tier-label .tl-line { flex: 1; height: 1px; background: var(--line); align-self: center; }

/* filter chips */
.filter-bar { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 40px; }
.chip {
  font-family: var(--sans);
  font-size: 11px;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: var(--ivory-dim);
  background: transparent;
  border: 1px solid var(--line);
  padding: 11px 22px;
  cursor: pointer;
  transition: color 0.3s, border-color 0.3s, background 0.3s;
}
.chip:hover { border-color: var(--bronze-dim); color: var(--ivory); }
.chip.active { background: var(--bronze); border-color: var(--bronze); color: var(--ink); }

/* ---------- lightbox ---------- */
.lightbox {
  position: fixed;
  inset: 0;
  z-index: 1200;
  background: rgba(12, 15, 18, 0.96);
  backdrop-filter: blur(10px);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s;
}
.lightbox.open { opacity: 1; pointer-events: auto; }
.lightbox figure { max-width: min(92vw, 1500px); max-height: 90vh; display: flex; flex-direction: column; }
.lightbox img {
  max-width: 100%;
  max-height: 82vh;
  width: auto;
  height: auto;
  margin: 0 auto;
  border: 1px solid var(--line);
  object-fit: contain;
}
.lightbox figcaption {
  text-align: center;
  margin-top: 16px;
  font-size: 11px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--ivory-dim);
}
.lb-btn {
  position: absolute;
  background: none;
  border: 1px solid var(--line);
  color: var(--ivory);
  width: 52px; height: 52px;
  border-radius: 50%;
  cursor: pointer;
  font-size: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: border-color 0.3s, background 0.3s;
  font-family: var(--sans);
}
.lb-btn:hover { border-color: var(--bronze); background: rgba(169, 124, 80, 0.14); }
.lb-close { top: 26px; right: 26px; }
.lb-prev { left: 26px; top: 50%; transform: translateY(-50%); }
.lb-next { right: 26px; top: 50%; transform: translateY(-50%); }

/* ---------- reviews ---------- */
.stars { color: var(--bronze-bright); letter-spacing: 4px; font-size: 14px; }
.review-feature {
  border-left: 1px solid var(--bronze-dim);
  padding-left: clamp(24px, 3vw, 44px);
}
.review-feature blockquote {
  font-family: var(--serif);
  font-size: clamp(24px, 2.8vw, 36px);
  line-height: 1.35;
  font-weight: 500;
}
.review-feature blockquote em { color: var(--bronze-bright); }
.review-attr { margin-top: 26px; font-size: 11px; letter-spacing: 0.3em; text-transform: uppercase; color: var(--ivory-faint); }
.review-attr strong { color: var(--ivory); font-weight: 400; }

.review-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.review-card {
  background: var(--noir);
  padding: clamp(26px, 3vw, 42px);
  display: flex;
  flex-direction: column;
  gap: 18px;
  transition: background 0.4s;
}
.review-card:hover { background: var(--panel); }
.review-card blockquote { font-size: 15px; line-height: 1.75; color: var(--ivory-dim); flex: 1; }
.review-card .review-attr { margin-top: 0; }

.rating-band { display: flex; flex-wrap: wrap; gap: clamp(24px, 4vw, 60px); align-items: center; }
.rating-chip { display: flex; align-items: center; gap: 16px; }
.rating-chip .rc-n { font-family: var(--serif); font-size: clamp(34px, 3.4vw, 48px); color: var(--ivory); line-height: 1; }
.rating-chip .rc-t { font-size: 10.5px; letter-spacing: 0.28em; text-transform: uppercase; color: var(--ivory-faint); line-height: 1.8; }

/* ---------- promise / CTA band ---------- */
.cta-band { position: relative; overflow: hidden; text-align: center; }
.cta-band .h-section { max-width: 20ch; margin: 0 auto; }
.cta-band .lede { margin: 26px auto 0; }
.cta-band .hero-ctas { justify-content: center; }

.promise-list { display: grid; gap: 0; border-top: 1px solid var(--line); }
.promise-item {
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: clamp(18px, 3vw, 40px);
  padding: 30px 0;
  border-bottom: 1px solid var(--line);
}
.promise-item .pi-no { font-family: var(--serif); color: var(--bronze-bright); font-size: 17px; letter-spacing: 0.16em; padding-top: 4px; }
.promise-item h3 { font-size: clamp(20px, 2vw, 26px); margin-bottom: 8px; }
.promise-item p { color: var(--ivory-faint); font-size: 15px; max-width: 640px; }

/* ---------- area towns ---------- */
.town-cloud { display: flex; flex-wrap: wrap; gap: 14px 0; }
.town {
  font-family: var(--serif);
  font-size: clamp(22px, 2.6vw, 34px);
  color: var(--ivory-faint);
  padding: 4px 26px;
  transition: color 0.35s;
  cursor: default;
}
.town:hover { color: var(--bronze-bright); }
.town.home { color: var(--ivory); font-style: italic; }

/* ---------- contact ---------- */
.contact-grid { display: grid; grid-template-columns: 1fr 1.25fr; gap: clamp(44px, 6vw, 100px); align-items: start; }
.contact-methods { display: grid; gap: 0; border-top: 1px solid var(--line); margin-top: 40px; }
.cm-row { display: grid; grid-template-columns: 120px 1fr; gap: 20px; padding: 22px 0; border-bottom: 1px solid var(--line); align-items: baseline; }
.cm-row .cm-k { font-size: 10.5px; letter-spacing: 0.3em; text-transform: uppercase; color: var(--bronze-bright); }
.cm-row a, .cm-row span { font-size: clamp(17px, 1.6vw, 21px); color: var(--ivory); text-decoration: none; font-family: var(--serif); }
.cm-row a:hover { color: var(--bronze-bright); }
.cm-row small { display: block; font-family: var(--sans); font-size: 12.5px; color: var(--ivory-faint); margin-top: 4px; letter-spacing: 0.04em; }

.form-shell { border: 1px solid var(--line); padding: clamp(28px, 4vw, 56px); background: var(--panel); }
.form-shell h3 { font-size: clamp(22px, 2.2vw, 30px); margin-bottom: 10px; }
.form-note { font-size: 13.5px; color: var(--ivory-faint); margin-bottom: 34px; line-height: 1.7; }
.f-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.f-field { display: flex; flex-direction: column; gap: 9px; }
.f-field.full { grid-column: 1 / -1; }
.f-field label { font-size: 10.5px; letter-spacing: 0.3em; text-transform: uppercase; color: var(--ivory-faint); }
.f-field input, .f-field select, .f-field textarea {
  background: var(--ink);
  border: 1px solid var(--line);
  color: var(--ivory);
  font-family: var(--sans);
  font-weight: 300;
  font-size: 15px;
  padding: 15px 16px;
  outline: none;
  transition: border-color 0.3s;
  border-radius: 0;
  -webkit-appearance: none;
  appearance: none;
}
.f-field select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23A97C50' fill='none' stroke-width='1.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
}
.f-field textarea { min-height: 130px; resize: vertical; }
.f-field input:focus, .f-field select:focus, .f-field textarea:focus { border-color: var(--bronze); }
.f-field input::placeholder, .f-field textarea::placeholder { color: rgba(241, 236, 226, 0.25); }
.form-shell .btn { margin-top: 28px; width: 100%; justify-content: center; }
.form-alt { margin-top: 20px; text-align: center; font-size: 13px; color: var(--ivory-faint); }
.form-alt a { color: var(--bronze-bright); text-decoration: none; }
.form-alt a:hover { text-decoration: underline; }

/* ---------- footer ---------- */
.site-footer { background: var(--ink); border-top: 1px solid var(--line); padding: clamp(60px, 7vw, 90px) 0 110px; position: relative; z-index: 2; }
.footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: clamp(30px, 4vw, 60px); }
.footer-grid h4 { font-size: 10.5px; letter-spacing: 0.32em; text-transform: uppercase; color: var(--bronze-bright); margin-bottom: 22px; font-weight: 400; }
.footer-grid ul { list-style: none; display: grid; gap: 12px; }
.footer-grid ul a, .footer-grid ul li { text-decoration: none; color: var(--ivory-dim); font-size: 14px; transition: color 0.3s; }
.footer-grid ul a:hover { color: var(--bronze-bright); }
.footer-brand p { color: var(--ivory-faint); font-size: 14px; max-width: 300px; margin-top: 16px; line-height: 1.8; }
.footer-bottom {
  margin-top: clamp(44px, 5vw, 70px);
  padding-top: 26px;
  border-top: 1px solid var(--line);
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  justify-content: space-between;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ivory-faint);
}

/* ---------- sticky mobile call bar ---------- */
.mobile-cta {
  position: fixed;
  left: 0; right: 0; bottom: 0;
  z-index: 800;
  display: none;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid var(--bronze-dim);
}
.mobile-cta a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 18px 10px;
  text-decoration: none;
  font-size: 12px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--ivory);
  background: rgba(12, 15, 18, 0.94);
  backdrop-filter: blur(10px);
}
.mobile-cta a.primary { background: var(--bronze); color: var(--ink); }

/* ---------- misc ---------- */
.divider-mark {
  display: flex;
  align-items: center;
  gap: 18px;
  margin: 0 auto;
  max-width: 200px;
  color: var(--bronze);
}
.divider-mark::before, .divider-mark::after { content: ""; flex: 1; height: 1px; background: var(--bronze-dim); }

.stat-strip { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--line); }
.stat-cell { padding: clamp(24px, 3vw, 40px); border-right: 1px solid var(--line); text-align: center; }
.stat-cell:last-child { border-right: none; }
.stat-cell .n { font-family: var(--serif); font-size: clamp(30px, 3.4vw, 46px); color: var(--bronze-bright); line-height: 1.05; }
.stat-cell .l { margin-top: 10px; font-size: 10px; letter-spacing: 0.28em; text-transform: uppercase; color: var(--ivory-faint); }

/* ---------- responsive ---------- */
@media (max-width: 1080px) {
  .wall { columns: 2; }
  .review-grid { grid-template-columns: 1fr 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .craft-row { grid-template-columns: 60px 1fr auto; }
  .craft-row p { display: none; }
  .stat-strip { grid-template-columns: 1fr 1fr; }
  .stat-cell:nth-child(2) { border-right: none; }
  .stat-cell:nth-child(1), .stat-cell:nth-child(2) { border-bottom: 1px solid var(--line); }
}

@media (max-width: 760px) {
  .main-nav, .header-phone { display: none; }
  .nav-toggle { display: block; }
  .two-col, .contact-grid { grid-template-columns: 1fr; }
  .wall { columns: 1; }
  .review-grid { grid-template-columns: 1fr; }
  .f-grid { grid-template-columns: 1fr; }
  .mobile-cta { display: grid; }
  .site-footer { padding-bottom: 150px; }
  .scroll-cue { display: none; }
  .hero { min-height: 92svh; }
  .craft-row { grid-template-columns: 1fr auto; }
  .craft-row .craft-no { display: none; }
  .cm-row { grid-template-columns: 1fr; gap: 6px; }
  .footer-grid { grid-template-columns: 1fr; }
  .town { padding: 4px 16px; }
}
