/* Norwester by Jamie Wilson, SIL Open Font License 1.1. Used for the Vinic Media wordmark. */
@font-face {
  font-family: "Norwester";
  src: url(data:font/woff;base64,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) format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* Layout: alternating ink and paper bands, like the pitch decks. Each band opens with
   an orange eyebrow + heavy headline, and the page closes with the deck's footer strip. */
:root {
  --ink: #10131b;
  --ink-2: #1b2030;
  --ink-line: #2b3040;
  --paper: #f5f4f0;
  --card: #ffffff;
  --line: #e2e0da;
  --cream: #fbefdb;
  --orange: #d9820f;
  --orange-text: #a85c06;
  --orange-soft: #e9a447;
  --text: #16181d;
  --muted: #5f626a;
  --on-dark: #f4f2ee;
  --muted-dark: #a6a9b2;

  --font-body: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-mark: "Norwester", "Barlow Condensed", "Arial Narrow", sans-serif;

  --step--1: 0.8125rem;
  --step-0: 1rem;
  --step-1: 1.1875rem;
  --step-2: 1.5rem;
  --step-3: clamp(1.75rem, 1.2rem + 2.2vw, 2.75rem);
  --step-4: clamp(2.4rem, 1.4rem + 4.4vw, 4.75rem);

  --radius: 18px;
  --gutter-l: max(16px, env(safe-area-inset-left, 0px));
  --gutter-r: max(16px, env(safe-area-inset-right, 0px));
  color-scheme: light;
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

body {
  margin: 0;
  background: var(--paper);
  color: var(--text);
  font-family: var(--font-body);
  font-size: var(--step-0);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
body::before {
  content: "";
  position: fixed;
  inset: 0 0 auto;
  height: env(safe-area-inset-top, 0px);
  z-index: 60;
  background: var(--ink);
}

img { max-width: 100%; display: block; }
a { color: inherit; }
:focus-visible { outline: 3px solid var(--orange); outline-offset: 3px; border-radius: 4px; }

.wrap {
  max-width: 1180px;
  margin-inline: auto;
  padding-left: var(--gutter-l);
  padding-right: var(--gutter-r);
}

/* ---------- Header ---------- */
.site-header {
  position: sticky;
  top: env(safe-area-inset-top, 0px);
  z-index: 50;
  background: var(--ink);
  color: var(--on-dark);
  border-bottom: 1px solid var(--ink-line);
}
.site-header .wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 72px;
}
.brand { display: flex; align-items: center; gap: 10px; text-decoration: none; }
.brand img { width: 58px; height: auto; }
.brand-text { display: grid; line-height: 1; }
.brand-name {
  font-family: var(--font-mark);
  font-weight: 400;
  font-size: 1.75rem;
  letter-spacing: 0.02em;
  color: var(--on-dark);
}
/* Optical correction: Norwester's narrow A apex reads short at header size, so stretch it up ~1px */
.brand-a { display: inline-block; transform: scaleY(1.05); transform-origin: 50% 100%; }
.brand-sub {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.625rem;
  color: var(--muted-dark);
  margin-top: 3px;
}
.brand-sub::before, .brand-sub::after { content: ""; flex: 1; height: 1px; background: currentColor; }

.nav { display: flex; align-items: center; gap: 28px; }
.nav a {
  text-decoration: none;
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--muted-dark);
  padding-block: 6px;
  border-bottom: 2px solid transparent;
}
.nav a:hover { color: var(--on-dark); }
.nav a[aria-current="page"] { color: var(--on-dark); border-bottom-color: var(--orange); }
.nav .btn { color: var(--ink); border-bottom: 0; letter-spacing: 0.08em; }

.menu-toggle {
  display: none;
  background: none;
  border: 1px solid var(--ink-line);
  color: var(--on-dark);
  border-radius: 10px;
  padding: 8px 12px;
  font: 600 0.8125rem var(--font-body);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  cursor: pointer;
}

@media (max-width: 880px) {
  .menu-toggle { display: inline-block; }
  .nav {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    background: var(--ink);
    border-bottom: 1px solid var(--ink-line);
    padding: 8px var(--gutter-r) 20px var(--gutter-l);
  }
  .nav.open { display: flex; }
  .nav a { padding-block: 14px; border-bottom: 1px solid var(--ink-line); }
  .nav a[aria-current="page"] { border-bottom-color: var(--ink-line); color: var(--orange-soft); }
  .nav .btn { margin-top: 16px; text-align: center; border-bottom: 0; }
}

/* ---------- Buttons ---------- */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: var(--orange);
  color: var(--ink);
  text-decoration: none;
  font-weight: 700;
  font-size: 0.875rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 14px 22px;
  border-radius: 12px;
  border: 0;
  cursor: pointer;
  transition: transform 0.15s ease, background 0.15s ease;
}
.btn:hover { background: var(--orange-soft); transform: translateY(-1px); }
.btn .arrow { transition: transform 0.15s ease; }
.btn:hover .arrow { transform: translateX(3px); }
.btn-ghost {
  background: transparent;
  color: inherit;
  border: 1px solid currentColor;
}
.btn-ghost:hover { background: transparent; color: var(--orange-soft); }
@media (prefers-reduced-motion: reduce) { .btn, .btn .arrow { transition: none; } }

/* ---------- Bands ---------- */
.band { padding-block: clamp(64px, 9vw, 120px); }
.band-dark { background: var(--ink); color: var(--on-dark); }
.band-dark .lede, .band-dark .muted { color: var(--muted-dark); }
.band-cream { background: var(--cream); }

.eyebrow {
  margin: 0 0 14px;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--orange-text);
}
.band-dark .eyebrow { color: var(--orange-soft); }

h1, h2, h3 { margin: 0; text-wrap: balance; }
.display {
  font-size: var(--step-4);
  font-weight: 800;
  line-height: 1.02;
  letter-spacing: -0.035em;
}
.h2 {
  font-size: var(--step-3);
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -0.03em;
}
.h3 {
  font-size: var(--step-0);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.lede {
  margin: 18px 0 0;
  max-width: 62ch;
  font-size: var(--step-1);
  color: var(--muted);
}
.muted { color: var(--muted); }
.small { font-size: var(--step--1); }
.section-head { margin-bottom: clamp(36px, 5vw, 56px); }

/* ---------- Hero ---------- */
.hero { padding-block: clamp(72px, 11vw, 150px) clamp(56px, 8vw, 96px); position: relative; overflow: hidden; }
.hero-rail { border-left: 6px solid var(--orange); padding-left: clamp(20px, 3vw, 40px); }
.hero .lede { font-size: clamp(1.125rem, 1rem + 0.6vw, 1.375rem); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 36px; }
.hero-mark {
  position: absolute;
  right: -60px;
  bottom: -40px;
  width: min(560px, 60vw);
  opacity: 0.07;
  pointer-events: none;
}
/* Phones: bigger, further on-screen and slightly stronger, so the phoenix isn't lost off the edge */
@media (max-width: 700px) {
  .hero-mark { width: 92vw; right: -16vw; bottom: -12px; opacity: 0.11; }
}
.pillars {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  margin-top: 56px;
  font-size: 0.8125rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--muted-dark);
}
.pillars span + span::before { content: "/"; margin-right: 14px; color: var(--orange); }

/* ---------- One-page slides ---------- */
.slide { scroll-margin-top: calc(72px + env(safe-area-inset-top, 0px)); }
.contact-slide { position: relative; overflow: hidden; }
.contact-slide .wrap { position: relative; }

/* ---------- Client carousel ---------- */
.carousel-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 24px; }
.carousel-nav { display: flex; gap: 10px; }
.carousel-btn {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 1px solid var(--ink-line);
  background: transparent;
  color: var(--on-dark);
  font-size: 1.25rem;
  cursor: pointer;
}
.carousel-btn:hover:not(:disabled) { border-color: var(--orange); color: var(--orange-soft); }
.carousel-btn:disabled { opacity: 0.35; cursor: default; }
.carousel {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(260px, calc((100% - 40px) / 3));
  gap: 20px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  padding-bottom: 12px;
  scrollbar-width: thin;
}
@media (max-width: 900px) { .carousel { grid-auto-columns: minmax(240px, 75%); } }
@media (prefers-reduced-motion: reduce) { .carousel { scroll-behavior: auto; } }
.logo-tile {
  display: grid;
  place-items: center;
  aspect-ratio: 4 / 5;
  max-width: 100%;
  border-radius: 12px;
  overflow: hidden;
  background: #f6f6f6;
}
.logo-tile img { width: 100%; height: 100%; object-fit: cover; }
.logo-tile-text { text-align: center; padding: 20px; }
.logo-card {
  scroll-snap-align: start;
  display: grid;
  grid-template-rows: auto auto;
  gap: 16px;
  padding: 14px 14px 18px;
  border-radius: var(--radius);
  background: var(--ink-2);
  border: 1px solid var(--ink-line);
  text-decoration: none;
  color: var(--on-dark);
  transition: border-color 0.15s ease, transform 0.15s ease;
}
.logo-card:hover { border-color: var(--orange); transform: translateY(-2px); }
.logo-mark {
  align-self: center;
  font-family: var(--font-mark);
  font-weight: 400;
  font-size: 2.5rem;
  line-height: 0.95;
  text-transform: uppercase;
  letter-spacing: 0.01em;
}
.logo-meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; font-size: 0.8125rem; color: var(--muted-dark); padding-inline: 4px; }
.logo-go { color: var(--orange-soft); font-weight: 700; }
@media (prefers-reduced-motion: reduce) { .logo-card { transition: none; } }

/* ---------- About: story ---------- */
.split.story-split { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); }
@media (max-width: 900px) { .split.story-split { grid-template-columns: minmax(0, 1fr); } }
.story { max-width: 66ch; }
.story p { margin: 0; color: var(--muted); font-size: 1.0625rem; }
.story p + p { margin-top: 18px; }
.story .story-lead, .story-lead {
  color: var(--text);
  font-size: var(--step-2);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -0.015em;
  text-wrap: balance;
}
.timeline {
  list-style: none;
  margin: 0;
  padding: clamp(22px, 3vw, 32px);
  background: var(--ink);
  color: var(--on-dark);
  border-radius: var(--radius);
  display: grid;
  gap: 0;
}
.timeline li {
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr);
  gap: 14px;
  padding-block: 16px;
  border-bottom: 1px solid var(--ink-line);
}
.timeline li:first-child { padding-top: 0; }
.timeline li:last-child { border-bottom: 0; padding-bottom: 0; }
.t-year { font-weight: 800; color: var(--orange-soft); font-variant-numeric: tabular-nums; }
.t-text { color: var(--muted-dark); font-size: 0.9375rem; }
@media (min-width: 901px) { .timeline { position: sticky; top: calc(96px + env(safe-area-inset-top, 0px)); } }
.founders { margin-top: clamp(48px, 7vw, 80px); }
.founder-name { font-family: var(--font-mark); font-weight: 400; font-size: 2.25rem; line-height: 1; letter-spacing: 0.02em; text-transform: uppercase; }
.story-close {
  margin: clamp(32px, 5vw, 48px) 0 0;
  padding-left: clamp(16px, 2.5vw, 28px);
  border-left: 6px solid var(--orange);
  max-width: 40ch;
  font-size: var(--step-3);
  font-weight: 800;
  line-height: 1.12;
  letter-spacing: -0.03em;
  text-wrap: balance;
}

/* ---------- Placeholder block ---------- */
.placeholder {
  max-width: 760px;
  border: 2px dashed var(--line);
  border-radius: var(--radius);
  padding: clamp(24px, 4vw, 40px);
  font-size: var(--step-1);
}
.placeholder p { margin: 0; }
.placeholder p + p { margin-top: 12px; }
.placeholder-tag {
  display: inline-block;
  margin-bottom: 14px !important;
  padding: 4px 10px;
  border-radius: 999px;
  background: var(--cream);
  color: var(--orange-text);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.back-link { display: inline-block; margin-bottom: 22px; color: var(--muted-dark); text-decoration: none; font-weight: 600; font-size: 0.875rem; }
.back-link:hover { color: var(--orange-soft); }

/* ---------- Steps (Attract / Capture / Organise / Measure) ---------- */
.steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; }
.step { border-top: 2px solid var(--ink-line); padding-top: 22px; }
.step:first-child { border-top-color: var(--orange); }
.step-num { font-size: var(--step-2); font-weight: 700; color: var(--orange-soft); font-variant-numeric: tabular-nums; }
.step h3 { margin-top: 10px; }
.step p { margin: 12px 0 0; color: var(--muted-dark); }
@media (max-width: 900px) { .steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .steps { grid-template-columns: minmax(0, 1fr); } }

/* ---------- System cards ---------- */
.grid-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.grid-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
@media (max-width: 820px) { .grid-2, .grid-3 { grid-template-columns: minmax(0, 1fr); } }

.card {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: clamp(22px, 3vw, 32px);
  min-width: 0;
}
.card-dark { background: var(--ink-2); border-color: var(--ink-line); color: var(--on-dark); }
.card-title { display: flex; align-items: center; gap: 14px; }
.badge {
  flex: none;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 10px;
  background: var(--orange);
  color: var(--ink);
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}
.card p { margin: 14px 0 0; color: var(--muted); }
.card-dark p { color: var(--muted-dark); }
.card ul { margin: 16px 0 0; padding-left: 1.1em; color: var(--muted); }
.card li + li { margin-top: 6px; }

/* ---------- Stats ---------- */
.stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.stat { padding: 8px 28px 8px 0; }
.stat + .stat { border-left: 1px solid var(--line); padding-left: 28px; }
.stat-value {
  font-size: clamp(2.25rem, 1.6rem + 2.8vw, 3.75rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.stat-label { margin-top: 12px; font-size: 0.8125rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); }
@media (max-width: 720px) {
  .stats { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .stat, .stat + .stat { border-left: 0; padding: 0 0 24px; border-bottom: 1px solid var(--line); }
}
.source {
  margin-top: 28px;
  font-size: 0.75rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--muted);
}

/* ---------- Funnel bars (drawn to scale against impressions) ---------- */
.funnel { display: grid; gap: 16px; margin-top: 8px; }
.funnel-row { display: grid; grid-template-columns: 170px minmax(0, 1fr); gap: 16px; align-items: center; }
.funnel-label { font-size: 0.8125rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted-dark); }
.funnel-track { display: flex; align-items: center; gap: 12px; min-width: 0; }
.funnel-bar { height: 22px; min-width: 6px; border-radius: 5px; background: var(--orange); }
.funnel-num { font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
@media (max-width: 560px) { .funnel-row { grid-template-columns: minmax(0, 1fr); gap: 6px; } }

/* ---------- Workflow ---------- */
.flow { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; counter-reset: flow; }
.flow li {
  list-style: none;
  position: relative;
  background: var(--ink-2);
  border: 1px solid var(--ink-line);
  border-radius: 14px;
  padding: 18px;
  font-weight: 600;
  min-height: 130px;
}
.flow li .badge { margin-bottom: 14px; }
.flow li:not(:last-child)::after {
  content: "";
  position: absolute;
  right: -12px;
  top: 37px;
  width: 10px;
  height: 2px;
  background: var(--orange);
}
.flow-wrap { padding: 0; margin: 0; }
@media (max-width: 900px) {
  .flow { grid-template-columns: minmax(0, 1fr); }
  .flow li { min-height: 0; display: flex; align-items: center; gap: 14px; }
  .flow li .badge { margin: 0; }
  .flow li:not(:last-child)::after { right: auto; left: 36px; top: auto; bottom: -12px; width: 2px; height: 10px; }
}

/* ---------- Callout ---------- */
.callout {
  background: var(--cream);
  border-radius: 14px;
  padding: 18px 22px;
  font-weight: 600;
  color: var(--orange-text);
}
.callout-dark {
  border: 1px solid var(--orange);
  border-radius: 14px;
  padding: 20px 24px;
  background: var(--ink-2);
}

/* ---------- Case study ---------- */
.case-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 12px; }
.tag-row { display: flex; flex-wrap: wrap; gap: 8px; }
.tag {
  display: inline-block;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 6px 14px;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  background: var(--card);
}
.band-dark .tag { background: transparent; border-color: var(--ink-line); color: var(--muted-dark); }

.variants { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; font-size: 0.9375rem; }
.variants th, .variants td { text-align: left; padding: 12px 14px; border-bottom: 1px solid var(--line); white-space: nowrap; }
.variants th { font-size: 0.75rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted); font-weight: 600; }
.variants td.num, .variants th.num { text-align: right; }
.variants tr.best td { background: var(--cream); font-weight: 700; }
.table-scroll { overflow-x: auto; }

.big-tile { border-radius: var(--radius); padding: clamp(24px, 3vw, 36px); }
.big-tile .stat-value { color: inherit; }
.big-tile .stat-label { color: inherit; opacity: 0.75; }

.checklist { list-style: none; padding: 0; margin: 18px 0 0; display: grid; gap: 12px; }
.checklist li { display: flex; gap: 12px; align-items: flex-start; }
.checklist li::before {
  content: "";
  flex: none;
  width: 10px;
  height: 10px;
  margin-top: 8px;
  border-radius: 50%;
  background: var(--orange);
}

/* ---------- Landing page mock (Parys Security) ---------- */
.mock {
  border-radius: var(--radius);
  overflow: hidden;
  border: 1px solid var(--line);
  background: linear-gradient(140deg, #173a73, #0d2347);
  color: #fff;
  padding: clamp(20px, 3vw, 32px);
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  gap: 24px;
  align-items: start;
}
.mock h4 { margin: 0; font-size: clamp(1.25rem, 1rem + 1vw, 1.75rem); line-height: 1.15; }
.mock p { margin: 10px 0 0; font-size: 0.8125rem; color: #c9d4ea; }
.mock-btns { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.mock-btns span { font-size: 0.75rem; font-weight: 700; padding: 8px 12px; border-radius: 8px; background: #e5383b; }
.mock-btns span + span { background: transparent; border: 1px solid #8ea3cc; }
.mock-form { background: #fff; color: #1d2433; border-radius: 12px; padding: 16px; font-size: 0.8125rem; }
.mock-progress { height: 4px; border-radius: 4px; background: #eceef2; margin: 6px 0 12px; }
.mock-progress i { display: block; width: 20%; height: 100%; border-radius: 4px; background: #e5383b; }
.mock-opt { border: 1px solid #dde1e8; border-radius: 8px; padding: 8px 10px; margin-top: 6px; }
.mock-step { display: flex; justify-content: space-between; font-size: 0.6875rem; color: #6b7385; }
@media (max-width: 700px) { .mock { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Two-column split ---------- */
.split { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: clamp(28px, 4vw, 56px); align-items: start; }
@media (max-width: 900px) { .split { grid-template-columns: minmax(0, 1fr); } }

.numbered { list-style: none; padding: 0; margin: 0; display: grid; gap: 22px; }
.numbered li { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 4px 14px; border-bottom: 1px solid var(--line); padding-bottom: 20px; }
.numbered .n { grid-row: span 2; font-size: var(--step-1); font-weight: 800; color: var(--orange-text); font-variant-numeric: tabular-nums; }
.numbered p { margin: 0; color: var(--muted); }

/* ---------- CTA band ---------- */
.cta-band .wrap { display: grid; gap: 28px; }
.cta-inner { border-left: 6px solid var(--orange); padding-left: clamp(20px, 3vw, 40px); }

/* ---------- Contact form ---------- */
.form { display: grid; gap: 18px; }
.field { display: grid; gap: 8px; min-width: 0; }
.booking-embed {
  border: 1px solid var(--line);
  border-radius: 12px;
  overflow: hidden;
  background: var(--card);
}
.booking-embed iframe {
  display: block;
  width: 100%;
  min-height: 640px;
  border: 0;
  overflow: hidden;
}
.booking-fallback { margin: 12px 0 0; }
.booking-fallback a { color: var(--orange-text); font-weight: 600; }

/* ---------- Audit page ---------- */
.audit-split { grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); }
@media (min-width: 901px) { .audit-intro { position: sticky; top: calc(96px + env(safe-area-inset-top, 0px)); } }
@media (max-width: 900px) { .audit-split { grid-template-columns: minmax(0, 1fr); } }
.back-link-light { color: var(--muted); }
.back-link-light:hover { color: var(--orange-text); }
.form-embed {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
  min-width: 0;
}
.form-embed iframe { display: block; width: 100%; min-height: 760px; border: 0; }
.form-embed-note { margin: 0; padding: 12px 18px; border-top: 1px solid var(--line); }
.form-embed-note a { color: var(--orange-text); font-weight: 600; }
@media (max-width: 600px) { .form-embed { margin-inline: -8px; border-radius: 12px; } }
.field label, .field legend, .field .field-label { font-size: 0.75rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); }
.field input, .field textarea {
  width: 100%;
  font: inherit;
  color: var(--text);
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 13px 14px;
}
.field input:focus, .field textarea:focus { outline: 2px solid var(--orange); outline-offset: 1px; border-color: var(--orange); }
.field textarea { min-height: 130px; resize: vertical; }
fieldset.field { border: 0; padding: 0; margin: 0; }
.choices { display: flex; flex-wrap: wrap; gap: 8px; }
.choice input { position: absolute; opacity: 0; pointer-events: none; }
.choice span {
  display: inline-block;
  border: 1px solid var(--line);
  background: var(--card);
  border-radius: 999px;
  padding: 9px 16px;
  font-size: 0.875rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease;
}
.choice input:checked + span { background: var(--ink); border-color: var(--ink); color: var(--on-dark); }
.choice input:focus-visible + span { outline: 3px solid var(--orange); outline-offset: 2px; }
.form-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
@media (max-width: 620px) { .form-row { grid-template-columns: minmax(0, 1fr); } }
.form-error { color: #b42318; font-size: 0.875rem; font-weight: 600; margin: 0; }
.form-done { background: var(--cream); border-radius: 14px; padding: 22px; }
.form-done h3 { font-size: var(--step-1); }

.path-grid { display: grid; gap: 16px; }
.path-btn {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 6px 18px;
  align-items: center;
  width: 100%;
  text-align: left;
  font: inherit;
  color: var(--text);
  background: var(--card);
  border: 1px solid var(--line);
  border-left: 6px solid var(--orange);
  border-radius: var(--radius);
  padding: clamp(20px, 3vw, 28px);
  cursor: pointer;
  transition: border-color 0.15s ease, transform 0.15s ease;
}
.path-btn:hover { border-color: var(--orange); transform: translateY(-1px); }
.path-title { font-size: var(--step-2); font-weight: 800; letter-spacing: -0.02em; line-height: 1.15; }
.path-sub { grid-column: 1; color: var(--muted); }
.path-go { grid-column: 2; grid-row: 1 / span 2; font-size: var(--step-2); color: var(--orange-text); }
.path-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 20px; }
.modal {
  width: min(760px, calc(100% - 32px));
  max-width: none;
  max-height: calc(100% - 32px);
  margin: auto;
  overflow-y: auto;
  border: 0;
  border-top: 6px solid var(--orange);
  border-radius: var(--radius);
  padding: clamp(20px, 4vw, 36px);
  background: var(--paper);
  color: var(--text);
}
.modal::backdrop { background: rgba(16, 19, 27, 0.72); }
/* Phones: the popup fills the screen so the calendar has room */
@media (max-width: 600px) {
  .modal {
    width: 100%;
    height: 100%;
    max-height: none;
    border-radius: 0;
    padding: max(20px, env(safe-area-inset-top, 0px)) max(16px, env(safe-area-inset-right, 0px)) max(24px, env(safe-area-inset-bottom, 0px)) max(16px, env(safe-area-inset-left, 0px));
  }
  .booking-embed { margin-inline: -6px; }
  .booking-embed iframe { min-height: 720px; }
}
.path-back {
  background: none;
  border: 0;
  padding: 4px 0;
  font: 600 0.875rem var(--font-body);
  color: var(--orange-text);
  cursor: pointer;
}
@media (prefers-reduced-motion: reduce) { .path-btn { transition: none; } }

.contact-line { display: grid; gap: 4px; padding-block: 16px; border-bottom: 1px solid var(--ink-line); }
.contact-line:first-of-type { border-top: 1px solid var(--ink-line); }
.contact-line .k { font-size: 0.75rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--muted-dark); }
.contact-line .v { font-size: var(--step-1); font-weight: 600; user-select: all; overflow-wrap: anywhere; }

/* ---------- Footer ---------- */
.site-footer { background: var(--ink); color: var(--muted-dark); padding-block: 48px 28px; }
.footer-top { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 28px; align-items: flex-start; }
.footer-nav { display: flex; flex-wrap: wrap; gap: 10px 24px; }
.footer-nav a { text-decoration: none; font-size: 0.875rem; }
.footer-nav a:hover { color: var(--on-dark); }
.footer-contact {
  margin-top: 36px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}
.footer-contact > div { display: grid; gap: 4px; min-width: 0; }
.fc-k { font-size: 0.6875rem; letter-spacing: 0.16em; text-transform: uppercase; }
.fc-v { color: var(--on-dark); font-size: var(--step-1); font-weight: 600; text-decoration: none; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.fc-v:hover { color: var(--orange-soft); }
@media (max-width: 720px) { .footer-contact { grid-template-columns: minmax(0, 1fr); } }
.footer-strip {
  margin-top: 40px;
  padding-top: 18px;
  border-top: 1px solid var(--ink-line);
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 8px 24px;
  font-size: 0.6875rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}
