/* Signatures by Nestled — generated from tokens.json */
#sig-root, #sig-root [data-theme="day"] {
  --ground: #f1ebdf; /* Page ground. Linen by day, warm charcoal by evening. Pages alternate the two by section, the way the Nestled house pages do. */
  --ground-2: #e6ded0; /* Second surface: cards, forms, the enquiry panel. Never more than two surfaces on a page. */
  --ground-3: #d8cfbf; /* Third surface, rarely: a photo placeholder, a pressed state. */
  --ink: #23241f; /* Primary text and the signature mark on a light ground. 13.2:1 on ground (day). */
  --ink-2: #343a32; /* Display headings in Cormorant. Slightly lifted from ink so large type does not go black. */
  --moss: #5a5e54; /* Secondary text: body copy on the invitation sections, captions under 24px. 5.6:1 on ground (day), 5.0:1 on ground-2. */
  --fog: #908c80; /* Tertiary: placeholder text in fields, the smallest legal lines. Never for anything that must be read at a glance. */
  --hairline: #cfc5b3; /* Every rule, border and divider. The system uses rules, never shadows. */
  --bronze: #765a40; /* The one accent. Eyebrows, the signature mark on a dark ground, the rule beside an eyebrow, numerals. Bronze by day, sand by evening. 5.4:1 on ground (day), 4.8:1 on ground-2. */
  --bronze-soft: #c8a984; /* The accent at rest: the sign-off script under a house name, a hover underline. Not for text under 24px on the day ground. */
  --pine: #343a32; /* Buttons and the darkest band on a light page. A warm olive-charcoal, the same in both themes: it is the brand's one fixed colour. */
  --on-pine: #f1ebdf; /* Text on pine. 9.8:1. */
  --focus: #765a40; /* Focus ring on fields and buttons. Alias of bronze in practice; kept separate so it can be strengthened without touching the accent. */
}
#sig-root [data-theme="evening"] {
  --ground: #23241f;
  --ground-2: #343a32;
  --ground-3: #3f463c;
  --ink: #f1ebdf;
  --ink-2: #e6ded0;
  --moss: #bcb6a6;
  --fog: #928d80;
  --hairline: #46493f;
  --bronze: #c8a984;
  --bronze-soft: #7d6246;
  --pine: #343a32;
  --on-pine: #f1ebdf;
  --focus: #c8a984;
}
#sig-root {
  --space-1: 4px; /* Rule to eyebrow gap, icon to label. */
  --space-2: 8px; /* Inside a chip, under a form label. */
  --space-3: 16px; /* Between list rows, between a numeral and its caption. */
  --space-4: 24px; /* Phone side gutter. Gap between stacked paragraphs. */
  --space-5: 40px; /* Grid column gap. Between an eyebrow and its heading. */
  --space-6: 64px; /* Between a heading and the content below it. */
  --space-7: 72px; /* Between major blocks inside a section. */
  --space-8: 90px; /* Desktop side gutter. */
  --space-9: 120px; /* Section padding on a split section. */
  --space-10: 160px; /* Section padding, top and bottom, on a full-width section. */
  --radius-none: 5px; /* Buttons, cards, images, fields. Everything. */
  --radius-pill: 999px; /* Only the tiny status chip on an owner's dashboard, if one is ever built. Not on the public site. */
  --rule-width: 1px; /* All rules and borders. */
  --rule-eyebrow: 28px; /* The short rule before an eyebrow. */
  --rule-lockup: 72px; /* The rules either side of 'by Nestled' in the centred lockup. */
  --tilt: -3deg; /* The signature's rotation. Nothing else on the page is ever tilted. */
  --font-script: "Northwell", "Brush Script MT", cursive;
  --font-display: "Cormorant Garamond", "Cormorant", Georgia, serif;
  --font-body: "Jost", "Futura", "Avenir Next", system-ui, sans-serif;
  --text-signature-mark: 400 120px/1 var(--font-script); /* The mark only, set in Northwell, rotated -3deg. Use the SVG in assets/Logos wherever possible; live text only where the size is fluid. Never for any other word. */
  --text-signature-signoff: 400 44px/1 var(--font-script); /* The sign-off under a house name, bronze-soft, -3deg. The only other place the script appears. */
  --text-display-xl: 300 120px/0.95 var(--font-display); /* House names on their own page, one word per line. Light weight only; Cormorant at 400+ looks like a wedding invitation. */
  --text-display: 300 76px/1.02 var(--font-display); /* House names on the collection page, section statements. */
  --text-statement: 300 62px/1.06 var(--font-display); /* The one-sentence statement that opens a cream section. Max 18 words, max 3 lines. */
  --text-heading: 300 40px/1.1 var(--font-display); /* Sub-sections, FAQ questions at 26px (use heading-sm). */
  --text-heading-sm: 400 26px/1.2 var(--font-display); /* FAQ questions, card titles. */
  --text-subline: italic 400 24px/1.3 var(--font-display); /* The italic line under a house name: place, not adjectives. Bronze. */
  --text-numeral: 300 42px/1 var(--font-display); /* Stats and step numbers. Figures in Cormorant are old-style; that is the point. */
  --text-body: 300 15px/1.75 var(--font-body); /* All running copy. Light weight; measure 46 to 70 characters. */
  --text-body-lg: 300 17px/1.65 var(--font-body); /* Intro paragraphs beside a statement. */
  --text-small: 300 13px/1.6 var(--font-body); /* Form helper text, the line under a form, footer copy. */
  --text-eyebrow: 400 11px/1.2 var(--font-body); /* Section eyebrows, uppercase, bronze, with a 28px rule before. The system's main wayfinding device. */
  --text-caption: 400 10px/1.2 var(--font-body); /* Labels under numerals, form labels, 'by Nestled' under the mark. Uppercase. */
  --text-button: 400 11px/1 var(--font-body); /* Buttons and text links. Uppercase. Buttons are square; links carry a hairline underline. */
}
#sig-root .signature-mark {
  font-family: var(--font-script);
  font-size: 120px;
  line-height: 1;
  font-weight: 400;
  letter-spacing: 0;
}
#sig-root .signature-signoff {
  font-family: var(--font-script);
  font-size: 44px;
  line-height: 1;
  font-weight: 400;
  letter-spacing: 0;
}
#sig-root .display-xl {
  font-family: var(--font-display);
  font-size: 120px;
  line-height: 0.95;
  font-weight: 300;
  letter-spacing: -0.01em;
}
#sig-root .display {
  font-family: var(--font-display);
  font-size: 76px;
  line-height: 1.02;
  font-weight: 300;
  letter-spacing: -0.01em;
}
#sig-root .statement {
  font-family: var(--font-display);
  font-size: 62px;
  line-height: 1.06;
  font-weight: 300;
  letter-spacing: -0.01em;
}
#sig-root .heading {
  font-family: var(--font-display);
  font-size: 40px;
  line-height: 1.1;
  font-weight: 300;
  letter-spacing: 0;
}
#sig-root .heading-sm {
  font-family: var(--font-display);
  font-size: 26px;
  line-height: 1.2;
  font-weight: 400;
  letter-spacing: 0;
}
#sig-root .subline {
  font-family: var(--font-display);
  font-size: 24px;
  line-height: 1.3;
  font-weight: 400;
  letter-spacing: 0;
  font-style: italic;
}
#sig-root .numeral {
  font-family: var(--font-display);
  font-size: 42px;
  line-height: 1;
  font-weight: 300;
  letter-spacing: 0;
}
#sig-root .body {
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.75;
  font-weight: 300;
  letter-spacing: 0;
}
#sig-root .body-lg {
  font-family: var(--font-body);
  font-size: 17px;
  line-height: 1.65;
  font-weight: 300;
  letter-spacing: 0;
}
#sig-root .small {
  font-family: var(--font-body);
  font-size: 13px;
  line-height: 1.6;
  font-weight: 300;
  letter-spacing: 0;
}
#sig-root .eyebrow {
  font-family: var(--font-body);
  font-size: 11px;
  line-height: 1.2;
  font-weight: 400;
  letter-spacing: 0.32em;
}
#sig-root .caption {
  font-family: var(--font-body);
  font-size: 10px;
  line-height: 1.2;
  font-weight: 400;
  letter-spacing: 0.28em;
}
#sig-root .button {
  font-family: var(--font-body);
  font-size: 11px;
  line-height: 1;
  font-weight: 400;
  letter-spacing: 0.3em;
}
@font-face {
  font-family: "Northwell";
  src: url("fonts/Northwell.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

#sig-root * { box-sizing: border-box; margin: 0; padding: 0; }
#sig-root { scroll-behavior: smooth; }
#sig-root { background: var(--ground); color: var(--ink); -webkit-font-smoothing: antialiased; overflow-x: hidden; font-family: var(--font-body); font-weight: 300; }

/* The system is square: radius-none everywhere (README overrides the token's stray value). */
#sig-root *, #sig-root *::before, #sig-root *::after { border-radius: 0; }
#sig-root img { display: block; max-width: 100%; }
#sig-root a { color: inherit; }
#sig-root button, #sig-root input, #sig-root select, #sig-root textarea { font: inherit; color: inherit; }
#sig-root .eyebrow, #sig-root .caption, #sig-root .button { text-transform: uppercase; }

/* Each section flips the tokens with data-theme; give it its own ground and ink. */
#sig-root [data-theme] { background: var(--ground); color: var(--ink); }
#sig-root .on-ground-2 { background: var(--ground-2); }

#sig-root :focus-visible { outline: 2px solid var(--focus); outline-offset: 3px; }

#sig-root .sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* ── Layout ─────────────────────────────────────────── */
#sig-root .section { padding: var(--space-10) var(--space-8); }
#sig-root .wrap { max-width: 1160px; margin: 0 auto; }
#sig-root .grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--space-5); }
#sig-root .col-4 { grid-column: span 4; }
#sig-root .col-5 { grid-column: span 5; }
#sig-root .col-7 { grid-column: span 7; }
#sig-root .col-6-12 { grid-column: 6 / 13; }
#sig-root .col-1-5 { grid-column: 1 / 6; }
#sig-root .col-6-13 { grid-column: 6 / 13; }
#sig-root .split { display: grid; grid-template-columns: 1fr 1fr; }
#sig-root .split-pad { padding: var(--space-9); }

/* ── Eyebrow ────────────────────────────────────────── */
#sig-root .eb { display: flex; align-items: center; gap: 14px; color: var(--bronze); }
#sig-root .eb::before { content: ''; width: var(--rule-eyebrow); height: var(--rule-width); background: var(--bronze); flex: none; }
#sig-root .eb.centred { justify-content: center; }
#sig-root .eb.centred::after { content: ''; width: var(--rule-eyebrow); height: var(--rule-width); background: var(--bronze); flex: none; }

/* ── Lockup ─────────────────────────────────────────── */
#sig-root .lockup { display: flex; flex-direction: column; align-items: center; gap: var(--space-2); }
#sig-root .lockup img { width: 100%; height: auto; }
#sig-root .lockup-line { display: flex; align-items: center; gap: var(--space-3); }
#sig-root .lockup-line span { letter-spacing: 0.42em; color: var(--ink); white-space: nowrap; }
#sig-root .lockup-line i { display: block; width: var(--rule-lockup); height: var(--rule-width); background: var(--bronze); }
#sig-root .lockup.small .lockup-line i { width: var(--space-5); }

/* ── Buttons ────────────────────────────────────────── */
#sig-root .btn { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 36px; background: var(--pine); color: var(--on-pine); border: 0; cursor: pointer; text-decoration: none; transition: background 0.2s; }
#sig-root .btn:hover { background: var(--ink); }
#sig-root .btn.w { width: 100%; }
#sig-root .btn:disabled { cursor: progress; }
#sig-root [data-theme='evening'] .btn { background: var(--ink); color: var(--ground); }
#sig-root [data-theme='evening'] .btn:hover { background: var(--ink-2); }
/* A day card inside an evening section (the forms) keeps the day button. */
#sig-root [data-theme='day'] .btn { background: var(--pine); color: var(--on-pine); }
#sig-root [data-theme='day'] .btn:hover { background: var(--ink); }
#sig-root .ghost { display: inline-flex; align-items: center; gap: 14px; min-height: 44px; padding: 14px 0; color: var(--bronze); text-decoration: none; border-bottom: var(--rule-width) solid var(--bronze-soft); letter-spacing: 0.32em; transition: color 0.2s, border-color 0.2s; }
#sig-root .ghost::after { content: '→'; font-size: 14px; letter-spacing: 0; }
#sig-root .ghost:hover { color: var(--ink); border-color: var(--ink); }

/* ── Stat ───────────────────────────────────────────── */
#sig-root .stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-5); }
#sig-root .stat-icon { display: block; width: 28px; height: 28px; margin-bottom: var(--space-4); fill: none; stroke: var(--bronze); stroke-width: 1.1; stroke-linecap: round; stroke-linejoin: round; }
#sig-root .stat .numeral { color: var(--ink); white-space: nowrap; }
#sig-root .stat .caption { display: block; color: var(--bronze); margin-top: var(--space-3); }

/* ── Field ──────────────────────────────────────────── */
#sig-root .form-card { background: var(--ground-2); padding: var(--space-6) var(--space-6); }
#sig-root .fields { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-4) var(--space-5); }
#sig-root .fields.one { grid-template-columns: 1fr; }
#sig-root .field.full { grid-column: 1 / -1; }
#sig-root .field label { display: block; letter-spacing: 0.24em; color: var(--bronze); margin-bottom: var(--space-2); }
#sig-root .field input, #sig-root .field select, #sig-root .field textarea { display: block; width: 100%; background: transparent; border: 0; border-bottom: var(--rule-width) solid var(--hairline); padding: 10px 0 12px; font-size: 15px; font-weight: 300; color: var(--ink); outline: none; appearance: none; -webkit-appearance: none; }
#sig-root .field textarea { resize: vertical; min-height: 96px; line-height: 1.6; }
#sig-root .field input::placeholder, #sig-root .field textarea::placeholder { color: var(--fog); }
#sig-root .field input:focus, #sig-root .field select:focus, #sig-root .field textarea:focus { border-bottom-color: var(--focus); }
#sig-root .field input:focus-visible, #sig-root .field select:focus-visible, #sig-root .field textarea:focus-visible { outline: none; }
#sig-root .field .select { position: relative; }
#sig-root .field .select select { padding-right: 18px; cursor: pointer; }
#sig-root .field .select::after { content: ''; position: absolute; right: 3px; top: 50%; width: 6px; height: 6px; border-right: var(--rule-width) solid var(--ink); border-bottom: var(--rule-width) solid var(--ink); transform: translateY(-75%) rotate(45deg); pointer-events: none; }
#sig-root .field input[type='date']::-webkit-calendar-picker-indicator { opacity: 0.6; cursor: pointer; }
#sig-root .form-actions { margin-top: var(--space-6); }
#sig-root .form-note { color: var(--moss); margin-top: var(--space-3); }
#sig-root .form-done { padding: var(--space-6) 0; text-align: center; }
#sig-root .form-done .heading { color: var(--ink-2); margin-bottom: var(--space-3); }
#sig-root .form-done .body { color: var(--moss); }
#sig-root .form-error { color: var(--ink); margin-top: var(--space-3); }

/* ── Image slots ────────────────────────────────────── */
#sig-root .img-slot { position: relative; background: var(--ground-3); overflow: hidden; }
#sig-root .img-slot img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
#sig-root .img-slot .img-pending { position: absolute; left: var(--space-4); top: var(--space-4); right: var(--space-4); color: var(--moss); }

/* ── Hero ───────────────────────────────────────────── */
#sig-root .hero { position: relative; height: 300vh; }
#sig-root .hero-sticky { position: sticky; top: 0; width: 100%; height: 100vh; overflow: hidden; background: var(--ground); }
#sig-root .hero-canvas { display: block; width: 100%; height: 100%; }
#sig-root .hero-poster { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: opacity 0.4s; }
#sig-root .hero-shade { position: absolute; inset: 0; pointer-events: none; opacity: 0; transition: opacity 1.2s ease; background: linear-gradient(to top, color-mix(in srgb, var(--ground) 92%, transparent) 0%, color-mix(in srgb, var(--ground) 45%, transparent) 50%, transparent 100%); }
#sig-root .hero-shade.on { opacity: 1; }
/* Opening state: centred mark, and a worded prompt with a moving line at the foot */
#sig-root .hero-intro { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; transition: opacity 0.7s ease; z-index: 1; }
#sig-root .hero-intro.off { opacity: 0; pointer-events: none; }
#sig-root .hero-intro-mark { width: min(380px, 70vw); }
#sig-root .hero-prompt { position: absolute; left: 0; right: 0; margin: 0 auto; width: max-content; bottom: var(--space-6); display: flex; flex-direction: column; align-items: center; gap: var(--space-3); background: none; border: 0; padding: var(--space-3); color: var(--ink); cursor: pointer; }
#sig-root .hero-prompt .eyebrow { color: var(--ink); }
#sig-root .hero-cue { position: relative; display: block; width: var(--rule-width); height: 56px; background: color-mix(in srgb, var(--ink) 30%, transparent); overflow: hidden; }
#sig-root .hero-cue::after { content: ''; position: absolute; left: 0; top: -40%; width: 100%; height: 40%; background: var(--bronze); animation: sig-cue 2s ease-in-out infinite; }
@keyframes sig-cue { 0% { top: -40%; } 100% { top: 100%; } }
@media (prefers-reduced-motion: reduce) { #sig-root .hero-cue::after { animation: none; top: 30%; } }
#sig-root .hero-overlay { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: flex-end; padding: var(--space-8) var(--space-8) var(--space-9); }
#sig-root .hero-centre { display: flex; flex-direction: column; align-items: center; text-align: center; }
#sig-root .hero-mark { width: min(560px, 100%, 46vh); }
#sig-root .hero-line { font-family: var(--font-display); font-weight: 300; font-size: 34px; line-height: 1.2; color: var(--ink); margin-top: var(--space-5); }
#sig-root .hero-sentence { max-width: 520px; color: color-mix(in srgb, var(--ink) 78%, transparent); margin-top: var(--space-3); }
#sig-root .hero-h1 { display: inline; font: inherit; color: inherit; }

/* ── Collection ─────────────────────────────────────── */
#sig-root .collection .statement { color: var(--ink-2); }
#sig-root .collection .lede { color: var(--moss); padding-top: var(--space-3); }
#sig-root .numbered { margin-top: var(--space-7); border-top: var(--rule-width) solid var(--hairline); }
#sig-root .numbered li { list-style: none; display: grid; grid-template-columns: 64px 1fr; align-items: baseline; padding: var(--space-4) 0; border-bottom: var(--rule-width) solid var(--hairline); }
#sig-root .numbered .n { font-family: var(--font-display); font-weight: 300; font-size: 18px; color: var(--bronze); }
#sig-root .numbered .t { color: var(--ink); }

/* ── House ──────────────────────────────────────────
   Lead photograph full width, then the introduction, then a swipeable gallery. */
#sig-root .house { padding-bottom: var(--space-10); }
#sig-root .house-lead { height: min(88vh, 960px); min-height: 520px; }
#sig-root .house-intro { padding: var(--space-9) var(--space-8) var(--space-8); box-sizing: content-box; }
#sig-root .house-header .display { color: var(--ink-2); margin-top: var(--space-5); }
#sig-root .house-header .subline { color: var(--bronze); margin-top: var(--space-3); }
#sig-root .house-lockup { margin-top: var(--space-5); }
#sig-root .house-detail { padding-top: var(--space-7); }
#sig-root .house-detail .body-lg { color: color-mix(in srgb, var(--ink) 78%, transparent); max-width: 60ch; }
#sig-root .house-detail .stats { margin-top: var(--space-6); padding-top: var(--space-5); border-top: var(--rule-width) solid var(--hairline); }
#sig-root .house-link { margin-top: var(--space-6); padding: 0 var(--space-8); display: flex; flex-wrap: wrap; gap: var(--space-5); box-sizing: content-box; }

/* Gallery: starts on the content's left edge and runs off the right of the screen */
#sig-root .gallery { --g-h: min(64vh, 620px); --g-inset: max(var(--space-8), calc((100% - 1160px) / 2)); }
#sig-root .gallery-track { position: relative; display: flex; gap: var(--space-3); overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-left: var(--g-inset); padding: 0 var(--g-inset); scrollbar-width: none; overscroll-behavior-x: contain; }
#sig-root .gallery-track::-webkit-scrollbar { display: none; }
#sig-root .gallery-track:focus-visible { outline-offset: -2px; }
#sig-root .gallery-slide { flex: none; height: var(--g-h); aspect-ratio: 3 / 2; scroll-snap-align: start; background: var(--ground-3); overflow: hidden; }
#sig-root .gallery-slide.portrait { aspect-ratio: 4 / 5; }
#sig-root .gallery-slide img { width: 100%; height: 100%; object-fit: cover; }
#sig-root .gallery-controls { display: flex; justify-content: space-between; align-items: center; margin-top: var(--space-4); padding: 0 var(--space-8); box-sizing: content-box; }
#sig-root .gallery-count { color: var(--bronze); }
#sig-root .gallery-buttons { display: flex; gap: var(--space-2); }
#sig-root .gallery-btn { width: 52px; height: 52px; display: inline-flex; align-items: center; justify-content: center; background: transparent; border: var(--rule-width) solid var(--hairline); color: var(--ink); font-size: 16px; cursor: pointer; transition: border-color 0.2s, color 0.2s; }
#sig-root .gallery-btn:hover:not(:disabled) { border-color: var(--bronze); color: var(--bronze); }
#sig-root .gallery-btn:disabled { opacity: 0.35; cursor: default; }

/* ── Occasions ──────────────────────────────────────── */
#sig-root .occasions { min-height: 760px; }
#sig-root .occasions .img-slot { min-height: 100%; }
#sig-root .occasions-text { background: var(--ground-2); }
#sig-root .occasions .heading { font-size: 52px; color: var(--ink); margin: var(--space-5) 0 var(--space-4); }
#sig-root .occasions .body { color: color-mix(in srgb, var(--ink) 78%, transparent); }
#sig-root .occasion-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-4); margin-top: var(--space-6); padding-top: var(--space-5); border-top: var(--rule-width) solid var(--hairline); }
#sig-root .occasion-grid .word { font-family: var(--font-display); font-weight: 300; font-size: 40px; line-height: 1; color: var(--ink); }
#sig-root .occasion-grid .caption { display: block; color: var(--bronze); margin-top: var(--space-3); line-height: 1.5; }

/* ── How it works ───────────────────────────────────── */
#sig-root .how .statement { color: var(--ink-2); margin-top: var(--space-5); }
#sig-root .steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-6); padding-top: var(--space-6); border-top: var(--rule-width) solid var(--hairline); }
#sig-root .steps .numeral { color: var(--ink); }
#sig-root .steps .body { color: var(--moss); margin-top: var(--space-3); }

/* ── Enquire ────────────────────────────────────────── */
#sig-root .enquire { position: relative; overflow: hidden; text-align: center; }
#sig-root .enquire-still { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0.18; }
#sig-root .enquire .wrap { position: relative; }
#sig-root .enquire .display { font-size: 90px; color: var(--ink); margin-top: var(--space-7); }
#sig-root .enquire .intro { max-width: 420px; margin: var(--space-4) auto 0; color: color-mix(in srgb, var(--ink) 60%, transparent); }
#sig-root .enquire .form-card { max-width: 860px; margin: var(--space-6) auto 0; text-align: left; }
#sig-root .enquire .phone { margin-top: var(--space-3); color: var(--moss); }
#sig-root .enquire .phone a { color: var(--bronze); text-decoration-color: var(--bronze-soft); text-underline-offset: 4px; }

/* ── FAQ ────────────────────────────────────────────── */
#sig-root .faq .heading { color: var(--ink-2); margin-top: var(--space-5); }
#sig-root .faq-list { border-top: var(--rule-width) solid var(--hairline); }
#sig-root .faq-row { padding: var(--space-5) 0; border-bottom: var(--rule-width) solid var(--hairline); }
#sig-root .faq-row .heading-sm { color: var(--ink); }
#sig-root .faq-row .body { color: var(--moss); max-width: 70ch; margin-top: var(--space-3); }

/* ── Owners ─────────────────────────────────────────── */
#sig-root .owners .heading { font-size: 56px; color: var(--ink); margin: var(--space-5) 0 var(--space-4); }
#sig-root .owners .body { color: color-mix(in srgb, var(--ink) 78%, transparent); }
#sig-root .owners .numbered { margin-top: var(--space-6); }
#sig-root .owners .small { color: var(--moss); margin-top: var(--space-5); max-width: 60ch; }
#sig-root .owners-form { display: flex; align-items: center; }
#sig-root .owners-form .form-card { width: 100%; }
#sig-root .owners-form .card-title { font-family: var(--font-display); font-weight: 300; font-size: 38px; line-height: 1.1; color: var(--ink-2); margin-bottom: var(--space-5); }

/* ── Footer ─────────────────────────────────────────── */
#sig-root .footer { text-align: center; padding: var(--space-9) var(--space-8); }
#sig-root .footer .lockup { width: 220px; margin: 0 auto; }
#sig-root .footer .tag { color: color-mix(in srgb, var(--ink) 55%, transparent); margin-top: var(--space-5); line-height: 1.8; }
#sig-root .footer .small { color: var(--moss); max-width: 540px; margin: var(--space-4) auto 0; }
#sig-root .footer nav { display: flex; justify-content: center; flex-wrap: wrap; gap: var(--space-2) var(--space-4); margin-top: var(--space-5); }
#sig-root .footer nav a { color: var(--bronze); text-decoration: none; padding: 14px 0; }
#sig-root .footer nav a:hover { color: var(--ink); }

/* Four occasion words only fit side by side on a wide screen; two by two below that. */
@media (max-width: 1599px) { #sig-root .occasion-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: var(--space-5); } }

/* ── Phone ──────────────────────────────────────────── */
@media (max-width: 767px) {
  #sig-root .section { padding: var(--space-8) var(--space-4); }
  #sig-root .grid { grid-template-columns: 1fr; row-gap: var(--space-5); }
  #sig-root .grid > * { grid-column: 1 / -1 !important; }
  #sig-root .split { grid-template-columns: 1fr; }
  #sig-root .split-pad { padding: var(--space-8) var(--space-4); }
  #sig-root .display, #sig-root .enquire .display { font-size: 56px; }
  #sig-root .statement { font-size: 40px; }
  #sig-root .heading, #sig-root .occasions .heading, #sig-root .owners .heading { font-size: 36px; }
  #sig-root .hero-overlay { padding: var(--space-4) var(--space-4) var(--space-7); }
  #sig-root .hero-mark { width: min(320px, 100%, 40vh); }
  #sig-root .hero-line { font-size: 28px; margin-top: var(--space-4); }
    #sig-root .house { padding-bottom: var(--space-8); }
  #sig-root .house-lead { height: 70vh; min-height: 420px; }
  #sig-root .house-intro { padding: var(--space-8) var(--space-4) var(--space-6); }
  #sig-root .house-detail { padding-top: 0; }
  #sig-root .house-link { padding: 0 var(--space-4); }
  #sig-root .gallery { --g-h: 380px; --g-inset: var(--space-4); }
  #sig-root .gallery-slide { aspect-ratio: 4 / 5; height: auto; width: 82vw; max-height: 480px; }
  #sig-root .gallery-controls { padding: 0 var(--space-4); }
  #sig-root .stats { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: var(--space-5); }
  #sig-root .occasions .img-slot { min-height: 420px; }
  #sig-root .occasion-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: var(--space-5); }
  #sig-root .steps { grid-template-columns: 1fr; }
  #sig-root .form-card { padding: var(--space-5) var(--space-4); }
  #sig-root .fields { grid-template-columns: 1fr; }
  #sig-root .footer { padding: var(--space-8) var(--space-4); }
}

/* Embed-only rules, appended after the scoped site CSS. */
#sig-root { display: block; position: relative; width: 100%; text-align: left; isolation: isolate; overflow: visible; overflow-x: clip; } /* clip, not hidden: hidden would break the sticky hero */
/* Neutralise the Squarespace theme inside the embed; our own class rules (higher specificity) style everything. */
#sig-root :where(h1, h2, h3, h4, p, a, ul, ol, li, figure, figcaption, nav, section, div, span, form, label, input, select, textarea, button, i, b, em, strong) {
  font: inherit; letter-spacing: inherit; text-transform: inherit; color: inherit; line-height: inherit; margin: 0; padding: 0;
}
#sig-root :where(a) { text-decoration: none; }
#sig-root :where(ul, ol) { list-style: none; }
html:has(#sig-root) { scroll-behavior: smooth; }
body:has(#sig-root) { overflow-x: clip; }
