/* ============================================================================
   scrollcraft.css: the taste floor
   ----------------------------------------------------------------------------
   Two layers, and the split matters:

     TOKENS   what you override per brand. Colour roles, the type ramp, the
              spacing scale, elevation, motion. A brand is ~12 values.
     DEVICES  what the engine drives. Do not restyle these to taste; they are
              the mechanism. Style your own markup instead.

   Nothing here draws a "component". There are no card, badge, or pill classes,
   because a stylesheet that ships those is how every page built on it ends up
   with the same shapes. You get a floor and a vocabulary; the composition is
   yours.
   ========================================================================== */

/* ---------------------------------------------------------------- tokens -- */
:root {
  /* --- colour roles. Override these six and the page is rebranded. -------- */
  --sc-canvas:      #08090b;   /* the page ground. Drift interpolates this.   */
  --sc-surface:     #101217;   /* anything raised off the ground             */
  --sc-ink:         #f4f2ef;   /* primary text                               */
  --sc-ink-soft:    #9a9ba1;   /* secondary text. Tinted, never flat gray.   */
  --sc-accent:      #d8ff3e;   /* ONE accent. It owns a region, not confetti. */
  --sc-accent-ink:  #08090b;   /* text that sits on the accent               */

  --sc-hairline:    color-mix(in oklab, var(--sc-ink) 12%, transparent);
  --sc-hairline-strong: color-mix(in oklab, var(--sc-ink) 22%, transparent);

  /* --- type. Two families max. Display carries voice, text carries prose. - */
  --sc-font-display: "Instrument Sans", "Geist", system-ui, sans-serif;
  --sc-font-text:    "Geist", system-ui, sans-serif;
  --sc-font-mono:    "Geist Mono", ui-monospace, monospace;

  /* Fluid ramp. Tracking tightens as size grows because a face set at 6rem
     with 0 tracking reads loose; this is optical correction, not decoration. */
  --sc-t-xs:   clamp(0.75rem, 0.72rem + 0.15vw, 0.82rem);
  --sc-t-sm:   clamp(0.875rem, 0.84rem + 0.18vw, 0.95rem);
  --sc-t-base: clamp(1rem, 0.96rem + 0.22vw, 1.125rem);
  --sc-t-lg:   clamp(1.2rem, 1.1rem + 0.5vw, 1.5rem);
  --sc-t-xl:   clamp(1.6rem, 1.35rem + 1.2vw, 2.25rem);
  --sc-t-2xl:  clamp(2.1rem, 1.6rem + 2.4vw, 3.4rem);
  --sc-t-3xl:  clamp(2.8rem, 1.9rem + 4.2vw, 5rem);
  --sc-t-4xl:  clamp(3.4rem, 1.9rem + 6.6vw, 7.5rem);

  --sc-track-tight:  -0.035em;
  --sc-track-snug:   -0.02em;
  --sc-track-normal: -0.005em;
  --sc-track-wide:    0.08em;

  --sc-leading-none: 0.94;
  --sc-leading-tight: 1.06;
  --sc-leading-body: 1.62;

  --sc-measure: 62ch;

  /* --- space. 4px base: the useful middle steps an 8-only scale misses. --- */
  --sc-1: 0.25rem;  --sc-2: 0.5rem;   --sc-3: 0.75rem;  --sc-4: 1rem;
  --sc-5: 1.5rem;   --sc-6: 2rem;     --sc-7: 3rem;     --sc-8: 4rem;
  --sc-9: 6rem;     --sc-10: 8rem;    --sc-11: 12rem;

  /* Section rhythm is fluid so a phone doesn't inherit desktop air. */
  --sc-section: clamp(4.5rem, 9vw, 11rem);
  --sc-gutter:  clamp(1.25rem, 5vw, 5.5rem);
  --sc-maxw:    82rem;

  /* --- radius. Pick one scale for the page and hold it. ------------------- */
  --sc-r-sm: 6px;  --sc-r-md: 12px;  --sc-r-lg: 20px;  --sc-r-pill: 999px;

  /* --- elevation. Every shadow has an offset AND a soft blur, and is tinted
         to the canvas hue. A zero-offset coloured halo is decoration, not
         depth, so there isn't one here. ---------------------------------- */
  --sc-shadow-color: 220 40% 2%;
  --sc-e1: 0 1px 2px hsl(var(--sc-shadow-color) / 0.28),
           0 2px 6px -1px hsl(var(--sc-shadow-color) / 0.20);
  --sc-e2: 0 2px 4px hsl(var(--sc-shadow-color) / 0.24),
           0 8px 18px -4px hsl(var(--sc-shadow-color) / 0.30);
  --sc-e3: 0 4px 8px hsl(var(--sc-shadow-color) / 0.22),
           0 18px 40px -8px hsl(var(--sc-shadow-color) / 0.38),
           0 48px 90px -24px hsl(var(--sc-shadow-color) / 0.30);

  /* Edge light: a 1px top highlight sells a raised surface better than any
     amount of blur, because real raised things catch light on their lip. */
  --sc-edge: inset 0 1px 0 color-mix(in oklab, var(--sc-ink) 10%, transparent);

  /* --- motion. Built-in CSS easings are too weak for UI. ------------------ */
  --sc-ease-out:    cubic-bezier(0.23, 1, 0.32, 1);
  --sc-ease-in-out: cubic-bezier(0.77, 0, 0.175, 1);
  --sc-ease-drawer: cubic-bezier(0.32, 0.72, 0, 1);
  --sc-d-fast: 160ms;  --sc-d-base: 240ms;  --sc-d-slow: 420ms;

  --sc-z-stage: 1; --sc-z-copy: 20; --sc-z-chrome: 60;
}

/* --------------------------------------------------------------- reset -- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

body {
  margin: 0;
  background: var(--sc-canvas);
  color: var(--sc-ink);
  font-family: var(--sc-font-text);
  font-size: var(--sc-t-base);
  line-height: var(--sc-leading-body);
  letter-spacing: var(--sc-track-normal);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  font-synthesis-weight: none;
  overflow-x: clip;
}
img, video, canvas, svg { display: block; max-width: 100%; }
button, input, select, textarea { font: inherit; color: inherit; }

/* ------------------------------------------------- the browser surfaces --
   The parts you did not draw still carry the design. Selection, caret, focus
   ring, scrollbar and tabular numerals all ship with defaults that belong to no
   design system. Theming them is the cheapest signal that a page was built
   rather than assembled, and it is the step that gets skipped most reliably. */
::selection { background: var(--sc-accent); color: var(--sc-accent-ink); }
:root { caret-color: var(--sc-accent); accent-color: var(--sc-accent); }
:focus-visible {
  outline: 2px solid var(--sc-accent);
  outline-offset: 3px;
  border-radius: var(--sc-r-sm);
}
:where(a) { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 0.22em; }
@supports (scrollbar-color: auto) {
  html { scrollbar-color: color-mix(in oklab, var(--sc-ink) 26%, transparent) transparent; scrollbar-width: thin; }
}
:where(table, .sc-nums, [data-sc-count]) { font-variant-numeric: tabular-nums; }

/* ----------------------------------------------------------- typography -- */
.sc-display {
  font-family: var(--sc-font-display);
  font-weight: 500;
  line-height: var(--sc-leading-none);
  letter-spacing: var(--sc-track-tight);
  text-wrap: balance;
  margin: 0;
}
.sc-display--xl { font-size: var(--sc-t-4xl); }
.sc-display--lg { font-size: var(--sc-t-3xl); }
.sc-display--md { font-size: var(--sc-t-2xl); letter-spacing: var(--sc-track-snug); }
.sc-lede {
  font-size: var(--sc-t-lg);
  line-height: 1.44;
  letter-spacing: var(--sc-track-snug);
  color: var(--sc-ink);
  max-width: 46ch;
  text-wrap: pretty;
  margin: 0;
}
.sc-body { max-width: var(--sc-measure); color: var(--sc-ink-soft); text-wrap: pretty; margin: 0; }
.sc-label {
  font-family: var(--sc-font-mono);
  font-size: var(--sc-t-xs);
  letter-spacing: var(--sc-track-wide);
  text-transform: uppercase;
  color: var(--sc-ink-soft);
}

/* ---------------------------------------------------------------- layout -- */
.sc-wrap { width: 100%; max-width: var(--sc-maxw); margin-inline: auto; padding-inline: var(--sc-gutter); }
.sc-section { padding-block: var(--sc-section); }
/* More space above a heading than below it: the gap belongs to the boundary,
   not to the pair. */
.sc-stack > * + * { margin-top: var(--sc-4); }
.sc-stack > :is(h1,h2,h3) { margin-top: var(--sc-7); }
.sc-stack > :is(h1,h2,h3):first-child { margin-top: 0; }
.sc-rule { height: 1px; border: 0; background: var(--sc-hairline); margin: 0; }

/* =============================================================== DEVICES ==
   Driven by the engine. Restyle your own markup, not these.                */

.sc-act--pinned { position: relative; }
.sc-stage {
  position: sticky; top: 0;
  height: 100vh; height: 100svh;
  overflow: clip;
  z-index: var(--sc-z-stage);
}

/* scrub / sequence media */
.sc-stage :is(video[data-sc-scrub], canvas[data-sc-sequence], .sc-stage__poster) {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
}
video[data-sc-scrub] { opacity: 0; transition: opacity 380ms var(--sc-ease-out); }
.sc-has-clip video[data-sc-scrub] { opacity: 1; }
/* The poster is a live frame-holder, not a placeholder: it stays up until a
   real video frame has painted, which is what stops the blank-stage flash. */
.sc-stage__poster { z-index: 0; transition: opacity 380ms var(--sc-ease-out); }
.sc-has-clip .sc-stage__poster { opacity: 0; }

/* A scrim only where text sits. A full-frame darkening layer flattens the
   image everywhere to fix contrast in one corner. */
.sc-scrim {
  position: absolute; inset: 0; pointer-events: none; z-index: 1;
  background: linear-gradient(
    var(--sc-scrim-angle, 180deg),
    color-mix(in oklab, var(--sc-canvas) var(--sc-scrim-a, 78%), transparent) 0%,
    color-mix(in oklab, var(--sc-canvas) 30%, transparent) 42%,
    transparent 68%);
}
/* Point the scrim at the copy. A scrim gradient that darkens the top while the
   copy sits at the bottom fixes contrast nowhere and flattens the image
   everywhere, which is the most common way text-over-video goes wrong. */
.sc-scrim--bottom { --sc-scrim-angle: 0deg; }
.sc-scrim--left   { --sc-scrim-angle: 90deg; }
.sc-scrim--right  { --sc-scrim-angle: 270deg; }

/* Corner scrims, for copy anchored to a corner. An edge gradient has to darken
   a whole band across the frame to cover one corner; a corner gradient puts the
   density where the text is and leaves the rest of the image alone. Pair with
   .sc-copy--lead / .sc-copy--trail. */
.sc-scrim--lead {
  background: linear-gradient(to top right,
    color-mix(in oklab, var(--sc-canvas) 94%, transparent) 0%,
    color-mix(in oklab, var(--sc-canvas) 72%, transparent) 30%,
    color-mix(in oklab, var(--sc-canvas) 30%, transparent) 52%,
    transparent 72%);
}
.sc-scrim--trail {
  background: linear-gradient(to top left,
    color-mix(in oklab, var(--sc-canvas) 94%, transparent) 0%,
    color-mix(in oklab, var(--sc-canvas) 72%, transparent) 30%,
    color-mix(in oklab, var(--sc-canvas) 30%, transparent) 52%,
    transparent 72%);
}
/* A band across the bottom, for copy that spans the full width of the frame.
   That is what both corner anchors become below 860px, and it is also the right
   shape whenever the copy block is wider than a corner. */
.sc-scrim--band {
  background: linear-gradient(to top,
    color-mix(in oklab, var(--sc-canvas) 94%, transparent) 0%,
    color-mix(in oklab, var(--sc-canvas) 74%, transparent) 22%,
    color-mix(in oklab, var(--sc-canvas) 30%, transparent) 42%,
    transparent 58%);
}
.sc-scrim--vignette {
  background: radial-gradient(120% 90% at 50% 45%, transparent 40%,
              color-mix(in oklab, var(--sc-canvas) 70%, transparent) 100%);
}

/* copy over a stage.
   max-width is in rem, never ch. A `ch` on this container resolves against the
   CONTAINER's font-size (body size), not the display size of the heading inside
   it, so `max-width: 20ch` here silently produces a ~180px column and wraps a
   hero headline to six lines. Set a ch measure on the text element itself. */
.sc-copy {
  position: absolute; z-index: var(--sc-z-copy);
  inset-inline: var(--sc-gutter);
  max-width: min(46rem, 76vw);
  will-change: opacity, transform;
}
.sc-copy--lead   { left: var(--sc-gutter); bottom: clamp(3rem, 12vh, 9rem); }
/* inset-inline FIRST. It is the shorthand for left+right, so declaring it after
   `left: 50%` resets left to auto and the block drifts off the left edge. */
.sc-copy--center { inset-inline: auto; left: 50%; top: 50%; translate: -50% -50%; text-align: center; }
.sc-copy--trail  { inset-inline: auto; right: var(--sc-gutter); bottom: clamp(3rem, 12vh, 9rem); text-align: right; }

/* cue defaults: the engine writes opacity/transform inline, these are the
   pre-paint state so nothing flashes before the first read() */
[data-sc-cue] { opacity: 0; will-change: opacity, transform; }
.sc-ready [data-sc-cue] { transition: none; }

/* kinetic split */
.sc-split { display: inline-block; overflow: hidden; vertical-align: top; }
/* Descenders live below the baseline; a line mask clipped to the line box eats
   the tails off g, y, p, j. The padding buys them room back. */
.sc-split--line { display: block; padding-bottom: 0.14em; margin-bottom: -0.14em; }
.sc-split__i { display: inline-block; will-change: transform, opacity; }
.sc-is-split { opacity: 1 !important; }

/* horizontal rail */
[data-sc-pan] { display: flex; will-change: transform; }

/* reveal + parallax */
[data-sc-reveal] { will-change: clip-path; }
[data-sc-parallax] { will-change: transform; }

/* flow reveal (fires once) */
[data-sc-in], [data-sc-stagger] > * {
  opacity: 0;
  transform: translate3d(0, 14px, 0);
  transition: opacity 620ms var(--sc-ease-out), transform 620ms var(--sc-ease-out);
}
[data-sc-in].sc-in, [data-sc-stagger] > .sc-in { opacity: 1; transform: none; }

/* pointer devices */
[data-sc-tilt] { transform-style: preserve-3d; will-change: transform; }
[data-sc-magnet] { will-change: transform; }
/* isolation always; position only if nothing more specific already set it.
   Written with :where() (zero specificity) on purpose: a plain `position:
   relative` here has the same weight as `.sc-stage` and, being later in the
   file, silently wins. A stage carrying both attributes then stops being
   sticky and the whole act scrolls away instead of pinning. */
[data-sc-spotlight] { isolation: isolate; }
:where([data-sc-spotlight]) { position: relative; }
[data-sc-spotlight]::after {
  content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 2;
  background: radial-gradient(
    28rem 28rem at calc(var(--sc-mx, 0.5) * 100%) calc(var(--sc-my, 0.5) * 100%),
    color-mix(in oklab, var(--sc-accent) 16%, transparent), transparent 70%);
  opacity: 0; transition: opacity var(--sc-d-slow) var(--sc-ease-out);
}
[data-sc-spotlight]:hover::after { opacity: 1; }

/* =========================================================== WORLDFLIGHT ==
   One fixed stage for the whole page. The only thing in document flow is the
   spacer, and it is empty. If you find yourself adding a section here, you want
   act mode instead: the moment a real block scrolls past the fixed stage, the
   page has a seam again and the whole point is gone.                        */

[data-sc-mode="worldflight"] { position: relative; }

.sc-world {
  position: fixed; inset: 0;
  overflow: clip;
  z-index: var(--sc-z-stage);
  background: var(--sc-canvas);
}

/* Every leg is mounted for the life of the page and stacked in the same box.
   The engine owns opacity, visibility and z-index here; do not set them. */
.sc-world__seg {
  position: absolute; inset: 0;
  opacity: 0;
  will-change: opacity;
}
.sc-world__seg > :is(video, img, canvas) {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
}
/* The poster is the frame-holder AND the first camera move: the engine pushes
   it in slowly until a real decoded frame is available to replace it. */
.sc-world__poster {
  z-index: 0;
  transform-origin: 50% 50%;
  transition: opacity 420ms var(--sc-ease-out);
}
.sc-world__seg > video { z-index: 1; }
.sc-world__seg.sc-has-clip .sc-world__poster { opacity: 0; }
/* The act stylesheet lights a clip through its ancestor act. A worldflight leg
   has no act, so match the class the engine also writes on the clip itself. */
video[data-sc-scrub].sc-has-clip { opacity: 1; }

/* The copy layer is fixed too, and inert by default: the engine hands
   pointer-events back to a block only while it is actually legible. */
.sc-world__copy {
  position: fixed; inset: 0;
  z-index: var(--sc-z-copy);
  pointer-events: none;
}
.sc-world__scrim { position: absolute; inset: 0; pointer-events: none; z-index: 0; }
[data-sc-copy] {
  opacity: 0;
  pointer-events: none;
  will-change: opacity, transform;
}
.sc-ready [data-sc-copy] { transition: none; }

/* The track. Empty on purpose. */
.sc-world__spacer { pointer-events: none; }

/* scroll progress */
[data-sc-progress] {
  position: fixed; inset: 0 0 auto 0; height: 2px; z-index: var(--sc-z-chrome);
  background: var(--sc-accent); transform-origin: 0 50%; transform: scaleX(0);
  will-change: transform;
}

/* ----------------------------------------------------------- atmosphere --
   Depth is not only shadow. Grain keeps a flat dark ground from banding, and
   it is the difference between "a dark page" and "a lit room". */
.sc-grain { position: fixed; inset: 0; pointer-events: none; z-index: 3; opacity: 0.045; }
.sc-grain::before {
  content: ""; position: absolute; inset: -50%;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/></filter><rect width='140' height='140' filter='url(%23n)'/></svg>");
}

/* -------------------------------------------------------- reduced motion -- */
@media (prefers-reduced-motion: reduce) {
  /* Fewer and gentler, not zero. Opacity still carries the reveal so the page
     is comprehensible; every position change is dropped. */
  [data-sc-in], [data-sc-stagger] > * { transform: none; transition-duration: 220ms; }
  [data-sc-parallax], [data-sc-pan], .sc-split__i { transform: none !important; }
  /* A wipe is a position change too. Show reveal content settled. */
  [data-sc-reveal] { clip-path: none !important; }
  /* A rail's transform IS its navigation, not decoration. Zeroing it the way
     parallax and kinetic type are zeroed parks the act on its first screenful
     and makes everything past the fold unreachable: a device degrading into
     missing content. Hand the travel back to the reader as an ordinary scroll
     region instead, so the same items are all still gettable without motion.
     A build that would rather re-lay the rail out as a grid can still do that;
     this is the floor, not the ceiling. */
  [data-sc-act="pan"] .sc-stage,
  [data-sc-act="pan"] [data-sc-stage] {
    overflow-x: auto; overflow-y: hidden;
    overscroll-behavior-x: contain;
    scroll-snap-type: x proximity;
  }
  [data-sc-pan] > * { scroll-snap-align: center; }
  [data-sc-spotlight]::after { display: none; }
  /* A worldflight keeps its whole story here. No clip is ever fetched, so the
     posters are the film, and they cross-dissolve through exactly the same
     seams at exactly the same scroll positions. The push-in and the copy drift
     are the only things that go. */
  .sc-world__poster, [data-sc-copy] { transform: none !important; }
}

/* --------------------------------------------------------------- mobile -- */
@media (max-width: 860px) {
  .sc-copy { inset-inline: var(--sc-gutter); max-width: none; }
  .sc-copy--trail { text-align: left; }
  .sc-stage { height: 100svh; }
  /* .sc-copy--trail re-anchors to the left and spans the full width here, so a
     bottom-RIGHT corner gradient darkens the one corner the copy just left and
     guarantees a contrast failure over any bright clip. Point the density at
     the copy: the same band .sc-scrim--band paints. */
  .sc-scrim--trail {
    background: linear-gradient(to top,
      color-mix(in oklab, var(--sc-canvas) 94%, transparent) 0%,
      color-mix(in oklab, var(--sc-canvas) 74%, transparent) 22%,
      color-mix(in oklab, var(--sc-canvas) 30%, transparent) 42%,
      transparent 58%);
  }
}

﻿@font-face{font-family:Newsreader;src:url('assets/fonts/newsreader.woff2') format('woff2');font-weight:200 800;font-display:swap}
@font-face{font-family:Outfit;src:url('assets/fonts/outfit.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{--wall:#111111;--white:#ffffff;--ink:#111111;--accent:#3E3494;--accent-dark:#D9D6F0;--display:Newsreader,Georgia,serif;--body:Outfit,Arial,sans-serif;--ease:cubic-bezier(.23,1,.32,1);--sc-canvas:var(--white);--sc-surface:var(--ink);--sc-ink:var(--ink);--sc-ink-soft:var(--ink);--sc-accent:var(--ink);--sc-accent-ink:var(--white);--sc-font-display:var(--display);--sc-font-text:var(--body);--sc-font-mono:var(--body)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--white);color:var(--ink);font:400 18px/1.6 var(--body)}
h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.08;letter-spacing:-.025em;text-wrap:balance}h1{font-size:clamp(48px,6vw,82px)}h2{font-size:clamp(38px,4vw,58px)}p{max-width:66ch}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit;border-radius:0}button,a{touch-action:manipulation;cursor:pointer}img{display:block;width:100%;max-width:100%}[hidden]{display:none!important}:focus-visible{outline:2px solid currentColor;outline-offset:5px;border-radius:0}
.wrap{width:min(1280px,calc(100% - 112px));margin-inline:auto}.white{background:#fff;color:var(--ink)}.ink{background:var(--ink);color:#fff}.wall{background:var(--wall);color:#fff}.skip{position:fixed;top:-100px;left:24px;z-index:120;padding:12px 18px;background:#fff;color:var(--ink)}.skip:focus{top:12px}
.header{position:relative;z-index:80;background:#fff;color:var(--ink)}.utility{display:flex;justify-content:space-between;align-items:center;padding:0 56px;min-height:29px;border-bottom:1px solid #11111125;font-size:11px;letter-spacing:.04em}.utility a{display:flex;align-items:center;min-height:29px}.nav-bar{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:10px 56px;min-height:90px;border-bottom:1px solid #11111125}.brand{display:flex;align-items:center;min-height:58px;flex-shrink:0}.brand img{width:270px;height:auto}.desktop-nav{display:flex;align-items:center;gap:30px;font-size:15px}.desktop-nav>a:not(.ghost),.services-toggle{min-height:44px;display:flex;align-items:center}.desktop-nav>a:not(.ghost),.services-toggle,.footer nav a{position:relative}.desktop-nav>a:not(.ghost)::after,.services-toggle::after,.footer nav a::after{content:'';position:absolute;left:0;right:0;bottom:4px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform 200ms var(--ease)}.desktop-nav>a:hover::after,.desktop-nav>[aria-current]::after,.services-toggle:hover::after,.services-toggle.current-service::after,.footer nav a:hover::after{transform:scaleX(1)}.services-toggle{background:transparent;color:inherit;border:0;gap:12px;padding:0;font-size:15px}.services-wrap{position:relative}.services-panel{position:absolute;top:calc(100% + 22px);left:-22px;padding:13px 22px;width:220px;border:1px solid var(--ink);background:#fff}.services-panel a{display:flex;align-items:center;min-height:48px}.services-panel [aria-current],.phone-menu [aria-current]{text-decoration:underline;text-underline-offset:8px}.current-contact{outline:1px solid currentColor;outline-offset:4px}
.ghost{display:inline-flex;align-items:center;justify-content:space-between;gap:34px;min-height:50px;border:1px solid currentColor;background:transparent;color:inherit;border-radius:0;box-shadow:none;padding:12px 21px;font-size:15px;line-height:1.5;transition:opacity 180ms ease}.ghost:hover{opacity:.72}.ghost:focus-visible{outline:2px solid currentColor;outline-offset:4px}.ghost span{font-size:19px}.menu-open{display:none}.phone-menu{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:24px;border:0;background:var(--wall);color:#fff;font-family:var(--body);overflow:auto}.phone-menu::backdrop{background:var(--wall)}.phone-menu-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.phone-menu-head>a{font-family:var(--display);font-size:27px}.phone-menu nav{display:grid;margin:36px 0}.phone-menu nav a{display:flex;align-items:center;justify-content:space-between;min-height:62px;border-bottom:1px solid #ffffff45;font-size:25px}.phone-menu>p{font-size:14px}
.hero{position:relative;min-height:calc(100svh - 119px);display:flex;align-items:center;isolation:isolate;overflow:hidden}.hero-picture,.hero-video,.hero-scrim{position:absolute;inset:0;width:100%;height:100%}.hero-picture img,.hero-video{height:100%;width:100%;object-fit:cover;object-position:center}.hero-video{opacity:0;transition:opacity 500ms ease;z-index:-2}.hero-video.is-playing{opacity:1}.hero-picture{z-index:-3}.hero-scrim{z-index:-1;background:linear-gradient(90deg,rgba(17,17,17,.82) 0%,rgba(17,17,17,.61) 44%,rgba(17,17,17,.04) 85%)}.hero-content{opacity:1;transform:none;padding-top:72px;padding-bottom:84px}.hero-content>[data-sc-copy]{opacity:1;transform:none}.hero h1{font-size:clamp(58px,5.85vw,90px);max-width:15ch;line-height:1.06}.hero-sub{margin-top:29px;max-width:49ch;font-size:18px;line-height:1.65}.hero-support{margin-top:20px;max-width:44ch;font-size:18px;line-height:1.65}.hero .ghost{margin-top:30px}.hero h1{animation:hero-settle 650ms var(--ease) both}.hero-sub,.hero-support,.hero .ghost{animation:hero-copy 650ms var(--ease) both}.hero-sub{animation-delay:70ms}.hero-support{animation-delay:120ms}.hero .ghost{animation-delay:160ms}@keyframes hero-settle{from{transform:translateY(12px)}to{transform:translateY(0)}}@keyframes hero-copy{from{opacity:.65;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.services,.steps,.gallery-band,.about-strip,.ahead,.form-section,.gallery-page{padding-block:90px}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px}.image-frame{position:relative;overflow:hidden;isolation:isolate}.image-frame>img,.drift-picture img{width:100%;height:100%;object-fit:cover}.service-card>.image-frame{height:360px}.service-card:nth-child(2){transition-delay:80ms}.service-copy{padding-top:30px}.service-copy h2{font-size:48px}.service-copy p{margin-top:14px;max-width:52ch}.service-copy .ghost{margin-top:24px}
.religion{padding-block:65px}.split-copy{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:center}.split-copy p{font-size:21px;line-height:1.6;max-width:49ch}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:44px}.section-heading p{margin-top:20px;max-width:48ch}.section-heading>.ghost{flex-shrink:0}.step-list{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:42px;padding:0;margin:0}.step-list li{border-top:1px solid #11111155;padding-top:25px}.step-number{display:block;font-family:var(--display);font-size:52px;line-height:1;margin-bottom:24px}.step-list p{max-width:29ch}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px 26px}.gallery-item .image-frame{aspect-ratio:4/4.2}.gallery-item:first-child .image-frame,.gallery-item:last-child .image-frame{aspect-ratio:4/4.2}.gallery-item figcaption,.inner-figure figcaption{margin-top:12px;font-size:15px}.drift-picture{position:absolute;inset:-45px 0}.drift-picture img{height:100%;width:100%;object-fit:cover}.gallery-item:nth-child(2) .drift-picture img{object-position:center 65%}.editorial-split{display:grid;grid-template-columns:1.1fr 1fr;gap:88px;align-items:center}.editorial-split>.image-frame{height:510px}.editorial-copy p{margin-top:24px;max-width:42ch}.editorial-copy>.ghost{margin-top:30px}.reverse{grid-template-columns:1fr 1.1fr}.reverse>.image-frame{height:380px}
.form-plate{max-width:1080px;margin-inline:auto;display:grid;grid-template-columns:.78fr 1.22fr;gap:75px}.form-intro h2{font-size:52px}.form-intro p{margin-top:24px;max-width:29ch}.note-form{display:grid;grid-template-columns:1fr 1fr;gap:25px 22px}.field{display:grid;align-content:start;gap:9px}.field:first-child,.note-field,fieldset,.submit-row,.confirmation{grid-column:1/-1}label,legend{font-size:15px}input:not([type=radio]),textarea{width:100%;min-width:0;border:1px solid #11111170;background:#fff;color:var(--ink);padding:12px 14px;min-height:50px;font-size:18px}textarea{resize:vertical;min-height:135px}fieldset{border:0;margin:0;padding:0;min-width:0}legend{margin-bottom:12px}.choice-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.choice-row label{display:flex;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:9px 6px;border:1px solid #11111170;cursor:pointer}.choice-row input{accent-color:var(--ink);margin:0;width:15px;height:15px}.choice-row label:has(:checked){outline:1px solid var(--ink);outline-offset:2px}.confirmation{font-size:18px;border-top:1px solid var(--ink);padding-top:22px}.note-form>[data-sc-in]:nth-child(2){transition-delay:50ms}.note-form>[data-sc-in]:nth-child(3){transition-delay:100ms}.note-form>[data-sc-in]:nth-child(4){transition-delay:150ms}.note-form>[data-sc-in]:nth-child(5){transition-delay:200ms}.note-form>[data-sc-in]:nth-child(6){transition-delay:250ms}
.footer{padding:65px 0 28px}.footer-top{display:grid;grid-template-columns:1.1fr 1fr auto;gap:70px;align-items:start}.footer-brand{font:38px/1.2 var(--display)}.footer-top p{font-size:14px;margin-top:10px}.footer nav{display:grid;grid-template-columns:1fr 1fr;gap:3px 30px;font-size:15px}.footer nav a{display:flex;align-items:center;min-height:44px;justify-self:start}.footer-bottom{border-top:1px solid #ffffff45;margin-top:50px;padding-top:25px;display:flex;justify-content:flex-end}.watermark{display:inline-flex;align-items:center;gap:11px;font-size:12px;min-height:36px}.watermark img{width:28px;height:28px;object-fit:contain}
.inner{padding-block:75px 85px}.inner-grid{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center}.inner-copy h1{margin-bottom:28px}.inner-copy p+p{margin-top:20px}.inner-copy>.ghost{margin-top:30px}.inner-figure .image-frame{height:570px}.page-heading{max-width:780px;margin-bottom:50px}.page-heading p{margin-top:25px;font-size:20px;max-width:45ch}.gallery-page .gallery-grid{grid-template-columns:repeat(2,1fr);gap:50px 34px}.gallery-page .image-frame{aspect-ratio:4/3}.gallery-page .gallery-item:first-child{grid-column:1/-1}.gallery-page .gallery-item:first-child .image-frame{aspect-ratio:2/1}.gallery-action{margin-top:50px}
@view-transition{navigation:auto}::view-transition-group(root){animation:none}::view-transition-old(root){animation:250ms var(--ease) both fade-out;mix-blend-mode:normal}::view-transition-new(root){animation:250ms var(--ease) both fade-in;mix-blend-mode:normal}@keyframes fade-in{from{opacity:0}to{opacity:1}}@keyframes fade-out{from{opacity:1}to{opacity:0}}body.file-fade{animation:fade-in 220ms var(--ease)}body.leaving{animation:fade-out 160ms ease-out both;pointer-events:none}
@media(min-width:1700px){.hero-content{padding-block:100px}.hero h1{font-size:96px}}
@media(max-width:1100px){.wrap{width:calc(100% - 72px)}.utility{padding-inline:36px}.nav-bar{padding-inline:36px}.brand img{width:230px}.desktop-nav{gap:20px;font-size:14px}.desktop-nav .ghost{padding-inline:13px;gap:20px}.services-toggle{font-size:14px}.editorial-split,.inner-grid{gap:48px}.footer-top{gap:35px}.form-plate{gap:42px}.hero h1{font-size:70px}.hero-sub{max-width:43ch}.service-card>.image-frame{height:300px}.gallery-grid{gap:25px 20px}}
@media(max-width:900px){.desktop-nav{display:none}.menu-open{display:inline-flex}.nav-bar{min-height:85px}.hero{min-height:calc(100svh - 114px)}.hero h1{font-size:64px}.hero-sub,.hero-support{max-width:43ch}.hero-scrim{background:linear-gradient(90deg,rgba(17,17,17,.82),rgba(17,17,17,.55) 65%,rgba(17,17,17,.1))}.services,.steps,.gallery-band,.about-strip,.ahead,.form-section,.gallery-page{padding-block:68px}.split-copy{gap:35px}.service-grid{gap:32px}.service-copy h2{font-size:42px}.step-list{gap:24px}.editorial-split{gap:36px}.editorial-split>.image-frame{height:440px}.reverse>.image-frame{height:360px}.form-plate{grid-template-columns:1fr;gap:36px}.form-intro p{max-width:52ch}.footer-top{grid-template-columns:1fr 1fr}.footer-top>.ghost{justify-self:start}.inner-figure .image-frame{height:490px}.inner-grid{gap:36px}.gallery-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.wrap{width:calc(100% - 40px)}.utility{padding-inline:20px;min-height:27px;font-size:10px}.utility a{min-height:27px}.nav-bar{padding:10px 20px;min-height:78px;gap:12px}.brand img{width:215px}.menu-open{min-height:44px;padding:9px 11px;gap:13px;font-size:13px}.hero{min-height:calc(100svh - 105px)}.hero-picture img{object-position:center}.hero-scrim{background:linear-gradient(90deg,rgba(17,17,17,.74),rgba(17,17,17,.62))}.hero-content{padding-top:55px;padding-bottom:60px}.hero h1{font-size:46px;line-height:1.1;max-width:14ch}.desktop-break{display:none}.hero-sub{margin-top:23px;font-size:18px;line-height:1.55;max-width:34ch}.hero-support{margin-top:19px;font-size:18px;line-height:1.55}.hero .ghost{margin-top:24px}.services,.steps,.gallery-band,.about-strip,.ahead,.form-section,.gallery-page{padding-block:54px}.service-grid{grid-template-columns:1fr;gap:48px}.service-card>.image-frame{height:auto;aspect-ratio:1.15}.service-copy{padding-top:23px}.service-copy h2{font-size:42px}.service-copy p{margin-top:13px}.religion{padding-block:49px}.split-copy{grid-template-columns:1fr;gap:22px}.split-copy p{font-size:20px}.section-heading{display:block;margin-bottom:34px}.section-heading>.ghost{margin-top:25px}.section-heading h2{font-size:39px}.step-list{grid-template-columns:1fr;gap:26px}.step-list li{display:grid;grid-template-columns:38px 1fr;gap:16px;padding-top:23px}.step-number{font-size:40px;margin:0}.step-list p{max-width:none}.gallery-grid{gap:28px 14px}.gallery-item .image-frame,.gallery-item:first-child .image-frame,.gallery-item:last-child .image-frame{aspect-ratio:3/4}.gallery-item figcaption{font-size:14px}.editorial-split,.reverse{grid-template-columns:1fr;gap:32px}.editorial-split>.image-frame{height:auto;aspect-ratio:1.1}.reverse>.image-frame{height:auto;aspect-ratio:1.2}.editorial-copy p{margin-top:19px}.editorial-copy .ghost{margin-top:24px}.form-intro h2{font-size:42px}.form-intro p{margin-top:20px}.note-form{grid-template-columns:1fr;gap:23px}.field,fieldset,.submit-row,.confirmation{grid-column:1}.choice-row{grid-template-columns:1fr;gap:9px}.choice-row label{justify-content:flex-start;padding-inline:14px}.submit-row .ghost{width:100%}.footer{padding-top:50px}.footer-top{grid-template-columns:1fr;gap:29px}.footer nav{width:100%}.footer-brand{font-size:34px}.footer-bottom{margin-top:35px;justify-content:flex-start}.inner{padding-block:45px 50px}.inner-grid{grid-template-columns:1fr;gap:35px}.inner-copy h1{font-size:52px;margin-bottom:24px}.inner-figure .image-frame{height:auto;aspect-ratio:4/4.2}.inner-copy p{font-size:18px}.page-heading h1{font-size:55px}.gallery-page .gallery-grid{grid-template-columns:1fr;gap:32px}.gallery-page .gallery-item:first-child{grid-column:auto}.gallery-page .image-frame,.gallery-page .gallery-item:first-child .image-frame{aspect-ratio:4/4.2}.gallery-page .gallery-item figcaption{font-size:15px}.phone-menu-head>a{font-size:25px}.phone-menu nav a{min-height:59px;font-size:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.hero-video{display:none}.drift-picture,[data-sc-in]{transform:none!important}[data-sc-in]{opacity:1!important}.hero-content>*{transform:none!important;opacity:1!important}::view-transition-old(root),::view-transition-new(root){animation:none!important}}

/* Retained editorial layout, refreshed fourth-preview identity. */
.nav-bar{min-height:88px;padding-block:12px}
.brand{gap:10px;font:34px/1 var(--display);letter-spacing:-.035em;min-height:52px}
.brand img{width:54px;height:54px;object-fit:contain}
.brand span{white-space:nowrap}
.desktop-nav{gap:34px}
.hero{min-height:calc(100svh - 88px)}
.hero-content{padding-top:70px;padding-bottom:76px}
.hero h1{font-size:clamp(58px,5.8vw,88px);max-width:17ch}
.hero-sub{max-width:44ch}
.hero-support{max-width:43ch}
.hero-scrim{background:linear-gradient(90deg,rgba(17,17,17,.48),rgba(17,17,17,.19) 55%,rgba(17,17,17,0) 90%)}
.faq{padding-block:96px}
.faq-layout{display:grid;grid-template-columns:4fr 7fr;gap:8%}
.faq-layout>h2{font-size:clamp(48px,4.5vw,68px);max-width:11ch}
.faq-list{display:grid;grid-template-columns:1fr 1fr;gap:38px 42px}
.faq-item{padding-top:19px;border-top:1px solid #11111135}
.faq-item h3{font-size:28px;line-height:1.16;margin-bottom:15px}
.faq-item p{font-size:18px;line-height:1.65}
.faq-item a{text-decoration:underline;text-underline-offset:4px}
.courtesies{padding-block:86px}
.courtesy-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:12%}
.courtesy-layout article:nth-child(2){padding-top:48px;transition-delay:100ms}
.courtesy-layout h2{font-size:clamp(42px,4.15vw,64px)}
.courtesy-layout p{margin-top:24px;max-width:37ch}
.service-grid{grid-template-columns:1.17fr 1fr;gap:8%;align-items:start}
.service-card:nth-child(2){padding-top:92px}
.service-image{display:block;height:400px}
.service-card:nth-child(2) .service-image{height:330px}
.service-copy h2 a{display:flex;align-items:center;justify-content:space-between;gap:20px}
.service-copy h2 span{font:30px/1 var(--body)}
.service-copy p{max-width:47ch}
.service-ahead{margin-top:66px;padding-top:28px;border-top:1px solid #11111135;display:grid;grid-template-columns:1.17fr 1fr;gap:8%;align-items:start}
.service-ahead h2{font-size:36px}
.service-ahead h2 a{display:inline-flex;align-items:center;gap:24px}
.service-ahead h2 span{font:24px/1 var(--body)}
.services-title{font-size:88px;margin-bottom:55px}
.gallery-heading{display:grid;grid-template-columns:1fr 1.1fr;gap:24px 7%;align-items:start;margin-bottom:56px}
.gallery-heading h1,.gallery-heading h2{font-size:88px}
.gallery-heading p{max-width:47ch}
.gallery-heading .ghost{grid-column:2;justify-self:start}
.gallery-grid,.gallery-page .gallery-grid{grid-template-columns:repeat(12,1fr);gap:48px 28px;align-items:start}
.gallery-item:nth-child(1),.gallery-page .gallery-item:first-child{grid-column:span 5}
.gallery-item:nth-child(2){grid-column:span 3;margin-top:82px}
.gallery-item:nth-child(3){grid-column:span 4;margin-top:24px}
.gallery-item:nth-child(4){grid-column:span 3}
.gallery-item:nth-child(5){grid-column:span 5;margin-top:42px}
.gallery-item:nth-child(6){grid-column:span 4;margin-top:82px}
.gallery-item .image-frame,.gallery-item:first-child .image-frame,.gallery-item:last-child .image-frame,.gallery-page .image-frame,.gallery-page .gallery-item:first-child .image-frame{aspect-ratio:1}
.gallery-item:nth-child(3) .image-frame,.gallery-item:nth-child(6) .image-frame{aspect-ratio:4/5}
.about-layout{display:grid;grid-template-columns:2fr 3fr 5fr;gap:5%;align-items:start}
.about-layout h2{font-size:62px}
.about-layout .image-frame{height:330px;margin-top:48px}
.about-layout .editorial-copy{padding-top:100px}
.about-layout .editorial-copy p{margin:0;max-width:40ch}
.ahead-layout{display:grid;grid-template-columns:1fr 1.25fr;gap:9%;align-items:center}
.ahead-layout h2{font-size:66px}
.ahead-layout p{margin-top:25px;max-width:36ch}
.ahead-layout .ghost{margin-top:28px}
.ahead-layout .image-frame{height:320px}
.form-plate{max-width:none;grid-template-columns:.85fr 1.15fr;gap:9%}
.form-intro h2{font-size:64px}
.form-intro p{max-width:35ch}
.inner-copy h1{font-size:88px}
.inner-copy p{max-width:40ch}
.inner-figure .image-frame{height:500px}
.inner-grid{align-items:start}
.inner-figure{padding-top:65px}
@media(max-width:1100px){
 .brand{font-size:30px}.brand img{width:48px;height:48px}.desktop-nav{gap:24px}
 .faq-layout{gap:6%;grid-template-columns:3fr 7fr}.faq-list{gap:32px 25px}.faq-layout>h2{font-size:48px}
 .service-image{height:350px}.service-card:nth-child(2) .service-image{height:290px}
 .about-layout{grid-template-columns:1fr 1fr;gap:34px}.about-layout h2{grid-column:1/-1}.about-layout .image-frame{margin:0}.about-layout .editorial-copy{padding-top:25px}
}
@media(max-width:900px){
 .nav-bar{min-height:82px}.hero{min-height:calc(100svh - 82px)}
 .hero h1{font-size:64px;max-width:16ch}
 .faq,.courtesies{padding-block:64px}.faq-layout{grid-template-columns:1fr;gap:38px}.faq-layout>h2{max-width:none}.faq-layout>h2 br{display:none}
 .courtesy-layout{gap:7%}.courtesy-layout h2{font-size:43px}
 .service-card:nth-child(2){padding-top:65px}.service-image{height:300px}.service-card:nth-child(2) .service-image{height:260px}
 .gallery-heading h1,.gallery-heading h2{font-size:68px}
 .gallery-grid,.gallery-page .gallery-grid{gap:30px 20px}
 .form-plate{grid-template-columns:1fr;gap:35px}.form-intro p{max-width:58ch}
 .ahead-layout{gap:6%}.ahead-layout h2{font-size:50px}.ahead-layout .image-frame{height:320px}
 .inner-copy h1{font-size:64px}.inner-figure .image-frame{height:440px}
}
@media(max-width:600px){
 .nav-bar{min-height:76px;padding:9px 20px}.brand{font-size:27px;gap:5px;min-height:48px}.brand img{width:40px;height:40px}
 .hero{min-height:calc(100svh - 76px)}
 .hero-content{padding-block:48px}.hero h1{font-size:46px;max-width:15ch;line-height:1.08}
 .hero-sub,.hero-support{max-width:34ch;font-size:18px;line-height:1.55}
 .hero-scrim{background:linear-gradient(90deg,rgba(17,17,17,.58),rgba(17,17,17,.40))}
 .faq,.courtesies{padding-block:52px}.faq-layout>h2{font-size:45px;max-width:12ch}.faq-list{grid-template-columns:1fr;gap:27px}
 .faq-item h3{font-size:27px}.faq-item{padding-top:22px}.faq-item p{line-height:1.6}
 .courtesy-layout{grid-template-columns:1fr;gap:42px}.courtesy-layout article:nth-child(2){padding:0}.courtesy-layout h2{font-size:43px}.courtesy-layout p{margin-top:19px}
 .service-grid{grid-template-columns:1fr;gap:44px}.service-card:nth-child(2){padding-top:0}
 .service-image,.service-card:nth-child(2) .service-image{height:auto;aspect-ratio:4/3}
 .service-ahead{grid-template-columns:1fr;gap:17px;margin-top:42px;padding-top:25px}.service-ahead h2{font-size:34px}
 .services-title{font-size:57px;margin-bottom:32px}
 .gallery-heading{grid-template-columns:1fr;gap:21px;margin-bottom:34px}
 .gallery-heading h1,.gallery-heading h2{font-size:58px}.gallery-heading .ghost{grid-column:auto}
 .gallery-grid,.gallery-page .gallery-grid{grid-template-columns:1fr 1fr;gap:28px 14px}
 .gallery-item:nth-child(n),.gallery-page .gallery-item:first-child{grid-column:auto;margin-top:0}
 .gallery-item:nth-child(even){margin-top:40px}
 .gallery-item .image-frame,.gallery-item:first-child .image-frame,.gallery-item:last-child .image-frame,.gallery-page .image-frame,.gallery-page .gallery-item:first-child .image-frame{aspect-ratio:3/4}
 .gallery-item figcaption{font-size:14px}
 .about-layout{grid-template-columns:1fr;gap:28px}.about-layout h2{font-size:48px;grid-column:auto}.about-layout .image-frame{width:75%;height:290px}.about-layout .editorial-copy{padding-top:0;margin-left:9%}
 .ahead-layout{grid-template-columns:1fr;gap:32px}.ahead-layout h2{font-size:48px}.ahead-layout .image-frame{height:auto;aspect-ratio:4/3}
 .form-intro h2{font-size:48px}.form-intro p{max-width:35ch}
 .inner-copy h1{font-size:56px}.inner-figure{padding:0}.inner-figure .image-frame{height:auto;aspect-ratio:4/3}
}


/* Fourth preview: name-only identity and wine outlines. */
.ghost{color:var(--accent);border-color:var(--accent)}
.ink,.wall,.phone-menu{--accent:var(--accent-dark)}
.choice-row input{accent-color:var(--accent)}
.choice-row label:has(:checked){outline-color:var(--accent)}
.brand{font-size:30px;flex-shrink:1;max-width:540px;line-height:1.08}
.brand span{white-space:normal}
.desktop-nav{flex-shrink:0}
.scene-note{font-size:14px;line-height:1.5;max-width:43ch;margin-top:16px}
.hero h1{max-width:13ch;font-size:clamp(52px,4.5vw,70px)}
.hero-sub,.hero-support{max-width:37ch}
.hero-scrim{background:linear-gradient(90deg,rgba(17,17,17,.9),rgba(17,17,17,.68) 35%,rgba(17,17,17,.05) 58%,transparent)}
@media(max-width:1100px){.brand{font-size:25px;max-width:340px}.desktop-nav{gap:18px}}
@media(max-width:900px){.brand{max-width:520px}.hero h1{font-size:58px}}
@media(max-width:600px){
 .brand{font-size:23px;max-width:245px;line-height:1.08}
 .hero{display:block;min-height:0;padding-top:300px}
 .hero-picture,.hero-video{height:300px}
 .hero-picture img{object-position:center 44%}
 .hero-scrim{display:none}
 .hero-content{padding-block:28px 36px}
 .hero h1{font-size:40px;max-width:17ch}
 .hero-sub,.hero-support{font-size:17px;line-height:1.5;margin-top:16px}
 .scene-note{font-size:13px;margin-top:14px}
 .hero .ghost{margin-top:22px}
 .phone-menu-head>a{font-size:24px;max-width:220px}
}
.brand-options{padding-block:64px}
.brand-options h1{max-width:18ch}
.brand-options>p{margin-top:24px}
.brand-options-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:48px}
.brand-option img{aspect-ratio:1;object-fit:contain}
.brand-option h2{font-size:34px;line-height:1.12;margin-top:24px}
@media(max-width:760px){.brand-options-grid{grid-template-columns:1fr}.brand-options{padding-block:40px}}
.brand-option img{height:auto}

/* Normal page sections share the existing type, palette and editorial grids. */
.header{position:sticky;top:0}
.white{--accent:var(--page-wine)}
.service-icon{width:28px;height:28px;display:block;margin-bottom:18px;color:var(--page-wine)}
.service-ahead h2 .service-icon{display:inline-block;vertical-align:middle;margin:0 15px 4px 0}
.about-strip{border-top:1px solid color-mix(in srgb,currentColor 18%,transparent)}
.courtesies{border-top:1px solid #ffffff40}
.form-section{border-top:1px solid color-mix(in srgb,currentColor 18%,transparent)}
.faq-item{border-color:color-mix(in srgb,currentColor 25%,transparent)}
.white .service-ahead{border-color:color-mix(in srgb,currentColor 25%,transparent)}
.gallery-band .drift-picture,.about-strip .drift-picture{inset:0}
.service-copy h2 a{display:inline-flex;align-items:center;gap:24px}
.service-copy h2 a>span,.service-ahead h2 a>span{font:24px/1 Outfit,sans-serif;color:var(--page-wine)}
.service-ahead h2 a{display:inline-flex;align-items:center;gap:24px}
.white .ghost{color:var(--page-wine);border-color:var(--page-wine)}
@media(max-width:600px){.service-copy h2 a{gap:20px}.service-icon{width:25px;height:25px;margin-bottom:14px}}

﻿.video-hero{position:relative;background:#111;color:#fff}
.film-stage{position:relative;isolation:isolate;height:100svh;min-height:650px;overflow:hidden;display:flex;align-items:center}
.film-poster,.film-video,.film-hold,.film-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none}
.film-poster{z-index:-4}.film-video{z-index:-3;opacity:0}.film-hold{z-index:-2;opacity:0}.film-hold.is-ready{opacity:1}
.film-shade{z-index:-1;background:linear-gradient(90deg,rgba(17,17,17,.91),rgba(17,17,17,.72) 32%,rgba(17,17,17,.12) 62%,transparent 80%)}
.film-copy{padding-block:130px 45px}.film-copy h1{font-size:clamp(46px,3.5vw,56px);max-width:18ch;line-height:1.06}
.film-copy .hero-sub,.film-copy .hero-support{max-width:40ch;font-size:17px;line-height:1.55;margin-top:20px}
.film-copy .scene-note{max-width:43ch;font-size:13px;margin-top:18px}.film-copy .ghost{margin-top:24px;background:#3E3494;border-color:#3E3494;color:#fff}
.video-hero.video-enabled{height:440svh}.video-enabled .film-stage{position:sticky;top:0;min-height:0}
@media(max-height:760px) and (min-width:901px){.film-copy h1{font-size:46px;max-width:18ch}.film-copy .hero-sub,.film-copy .hero-support{font-size:16px;margin-top:12px}.film-copy .scene-note{margin-top:12px}.film-copy .ghost{margin-top:16px}.film-copy{padding-block:110px 24px}}
@media(max-width:900px){.film-stage{min-height:700px}.film-shade{background:linear-gradient(0deg,rgba(17,17,17,.94),rgba(17,17,17,.68) 62%,rgba(17,17,17,.23))}.film-copy h1{font-size:48px;max-width:18ch}.film-copy{padding-block:130px 40px}}
@media(max-width:600px){.film-stage{min-height:640px}.film-copy h1{font-size:clamp(32px,8.7vw,36px);max-width:20ch}.film-copy .hero-sub,.film-copy .hero-support{font-size:16px;margin-top:18px}.film-copy .scene-note{font-size:12px}.film-copy{padding-block:110px 28px}.film-copy .ghost{margin-top:22px}.film-poster,.film-video,.film-hold{object-position:50% center}}
@media(max-width:900px){
 .video-hero{--film-frame-height:min(56.25vw,calc(100svh - var(--header-height,100px) - 24px))}
 .film-stage,.video-enabled .film-stage{height:auto;min-height:100svh;align-items:flex-start;background:#111}
 .film-poster,.film-video,.film-hold{top:var(--header-height,100px);bottom:auto;height:var(--film-frame-height);object-fit:contain;object-position:center;background:#111}
 .film-shade{display:none}
 .film-copy{padding-block:calc(var(--header-height,100px) + var(--film-frame-height) + 28px) 36px}
}

/* Surface colors only; film media, opening overlay, type and geometry stay intact. */
:root{--page-surface:#fff;--page-text:#111;--page-wine:#3E3494}
:root[data-theme=dark]{color-scheme:dark;--page-surface:#111;--page-text:#fff;--page-wine:#D9D6F0}
:root[data-theme=light]{color-scheme:light}
body,.header,.white,.phone-menu{background:var(--page-surface);color:var(--page-text)}
.header .ghost,.phone-menu .ghost{color:var(--page-wine);border-color:var(--page-wine)}
.nav-bar{border-bottom-color:color-mix(in srgb,var(--page-text) 18%,transparent)}
.phone-menu nav a{border-bottom-color:color-mix(in srgb,var(--page-text) 28%,transparent)}
.film-moment:not(.film-opening) .moment-content{background:color-mix(in srgb,var(--page-surface) 97%,transparent);color:var(--page-text)}
.film-moment:not(.film-opening) .ghost,.moment-links a{color:var(--page-wine);border-color:var(--page-wine)}
.note-form input:not([type=radio]),.note-form textarea{background:var(--page-surface);color:var(--page-text);border-color:color-mix(in srgb,var(--page-text) 50%,transparent)}
.note-form .choice-row label{border-color:color-mix(in srgb,var(--page-text) 50%,transparent)}
.note-form .choice-row input{accent-color:var(--page-wine)}
.note-form .choice-row label:has(:checked){outline-color:var(--page-wine)}
.note-form .confirmation{border-color:var(--page-text)}
.theme-pill{display:inline-flex;flex-shrink:0;align-items:center;border:1px solid currentColor;border-radius:999px;padding:2px;color:var(--page-wine);gap:0}
.theme-pill button{display:inline-flex;align-items:center;justify-content:center;width:36px;height:40px;padding:0;border:0;border-radius:999px;background:transparent;color:inherit}
.theme-pill button[aria-pressed=true]{background:var(--page-wine);color:var(--page-surface)}
.theme-pill svg{width:18px;height:18px;pointer-events:none}
.theme-pill button:focus-visible{outline:2px solid var(--page-text);outline-offset:2px;border-radius:999px}
.phone-nav-actions{display:flex;align-items:center;gap:20px}
.phone-nav-actions>a{flex:1}

/* SEED-SMOOTH-1: the approved storm-blue identity and rounded controls. */
:root{--brand:#3E3494;--brand-pale:#D9D6F0;--radius:14px}
.header .ghost,.phone-menu .ghost,.white .ghost,.ink .ghost,.wall .ghost,.ghost{background:var(--brand);border-color:var(--brand);color:#fff;border-radius:10px;justify-content:center;gap:12px}
.ghost:hover{opacity:1;background:#302774;border-color:#302774}.ghost:active{transform:translateY(1px)}
.brand{max-width:none;flex-shrink:0}.brand img{width:290px;height:auto;max-height:96px;object-fit:contain}
.header{width:100%;background:var(--page-surface);color:var(--page-text)}
.nav-bar{min-height:106px;padding-block:8px}.desktop-nav{gap:28px}
.home-page .header{position:fixed;inset:0 0 auto;z-index:80}
.home-page .header.over-hero{background:transparent;color:#fff}.over-hero .nav-bar{border-color:#ffffff30}
.header.over-hero .brand img,:root[data-theme=dark] .brand img{filter:brightness(0) invert(1)}
.header.over-hero .theme-pill{color:#D9D6F0}.header.over-hero .theme-pill button[aria-pressed=true]{background:#D9D6F0;color:#111}
.image-frame,.service-image,.faq-intro img,.choice-row label,input:not([type=radio]),textarea{border-radius:var(--radius)}
.service-copy h2,.service-ahead h2{display:flex;align-items:center;gap:16px}
.service-copy h2 .service-icon,.service-ahead h2 .service-icon{width:30px;height:30px;flex:0 0 30px;margin:0;vertical-align:middle;color:var(--page-wine)}
.service-copy h2 a,.service-ahead h2 a{display:inline;line-height:1.12}
.courtesy-layout{align-items:start;gap:64px}.courtesy-layout article{padding:34px;border:1px solid #ffffff35;border-radius:18px}
.courtesy-layout article:nth-child(2){padding:34px}.courtesy-layout h2{font-size:clamp(34px,3vw,48px);max-width:17ch}
.courtesy-layout p{max-width:42ch}.courtesies{padding-block:80px}
.gallery-band:not(.gallery-page) .gallery-grid{grid-template-columns:1fr 1fr;gap:32px}
.gallery-band:not(.gallery-page) .gallery-item:nth-child(n){grid-column:auto;margin:0}
.gallery-band:not(.gallery-page) .image-frame{aspect-ratio:16/10}
.gallery-page .gallery-grid{grid-template-columns:1fr 1fr}.gallery-page .gallery-item:nth-child(n){margin-top:0}
.faq-layout{grid-template-columns:.85fr 1.15fr;gap:70px;align-items:start}
.faq-intro h2{font-size:clamp(40px,4vw,58px);max-width:12ch}.faq-intro figure{margin-top:32px}
.faq-intro img{height:auto;aspect-ratio:4/3;object-fit:cover}.faq-intro figcaption{font-size:13px;line-height:1.5;margin-top:12px;max-width:43ch}
.faq-list{display:block}.faq-item{padding:24px 0}.faq-item:first-child{padding-top:0;border-top:0}.faq-item h3{font-size:29px}.faq-item p{margin-top:12px;font-size:17px}
.footer-top{grid-template-columns:1.2fr 1fr;gap:100px}.footer-identity>.ghost{display:table;margin-top:25px}.footer-brand{display:block;max-width:21ch}
.footer-bottom{justify-content:center}.form-intro h1,.form-intro h2{font-size:clamp(42px,4vw,58px)}
.white input:not([type=radio]),.white textarea{border-radius:10px}.choice-row label{border-radius:10px}
/* Copy reading rhythm and an explicit, visible FAQ picture box. */
.page-reading{margin-top:32px}.page-reading h2{font-size:32px;line-height:1.2;margin:30px 0 14px}.page-reading p{margin-top:0;max-width:48ch}
.services-intro{max-width:780px;margin-bottom:48px}.services-intro p+p{margin-top:20px}
.gallery-reading{max-width:760px;margin-top:56px}.gallery-reading h2{font-size:42px;margin-bottom:22px}.gallery-reading p+p{margin-top:20px}.gallery-item figcaption p{margin-top:12px;max-width:55ch}
.faq-intro figure{width:100%}.faq-intro img{display:block;width:100%;height:auto;min-height:1px;aspect-ratio:4/3;object-fit:cover}
@media(max-width:1100px){.brand img{width:255px}.desktop-nav{gap:18px}.nav-bar{padding-inline:30px}}
@media(max-width:900px){.nav-bar{min-height:94px}.brand img{width:260px}.faq-layout{grid-template-columns:1fr;gap:36px}.faq-intro{display:grid;grid-template-columns:1fr 1fr;gap:30px}.faq-intro figure{margin:0}.courtesy-layout{gap:24px}.footer-top{gap:48px}}
@media(max-width:600px){.nav-bar{padding:8px 20px;min-height:90px;gap:18px}.brand img{width:220px;max-height:78px}.menu-open{padding:10px 14px;min-height:44px}.brand{min-height:0}.courtesies{padding-block:48px}.courtesy-layout{grid-template-columns:1fr;gap:22px}.courtesy-layout article,.courtesy-layout article:nth-child(2){padding:26px}.courtesy-layout h2{font-size:34px}.service-copy h2,.service-ahead h2{gap:12px}.service-copy h2 .service-icon,.service-ahead h2 .service-icon{width:27px;height:27px;flex-basis:27px}.gallery-band:not(.gallery-page) .gallery-grid{grid-template-columns:1fr;gap:28px}.faq-intro{display:block}.faq-intro figure{margin-top:28px}.faq-item h3{font-size:27px}.footer-top{grid-template-columns:1fr;gap:36px}.footer-brand{font-size:34px}.footer-bottom{margin-top:32px}}

/* Room scenes, quiet guide reading and a single shared flow-motion treatment. */
.header{isolation:isolate}.nav-surface{position:absolute;inset:0;background:var(--page-surface);z-index:-1;pointer-events:none}
.home-page .header,.home-page .header.over-hero{background:transparent}.home-page .nav-surface{opacity:0}
.nav-bar{justify-content:flex-start;gap:30px}.desktop-nav{margin:0;gap:24px}.nav-actions{display:flex;align-items:center;gap:26px;margin-left:auto;flex-shrink:0}
.home-page .header{color:#fff}.home-page .header .brand img{filter:brightness(0) invert(1)}
.home-page .header.nav-solid{color:var(--page-text)}.home-page .header.nav-solid .brand img{filter:none}
:root[data-theme=dark] .home-page .header.nav-solid .brand img{filter:brightness(0) invert(1)}
.home-page .header.nav-solid .theme-pill{color:var(--page-text)}.home-page .header.nav-solid .theme-pill button[aria-pressed=true]{background:var(--brand);color:#fff}
.faq-item h3{margin:0}.faq-toggle{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;padding:8px 0;border:0;background:none;color:inherit;text-align:left;font:inherit;line-height:1.2;cursor:pointer}
.faq-toggle span{font:24px/1 Outfit,sans-serif;color:var(--page-wine);flex:0 0 24px;text-align:center}.faq-toggle[aria-expanded=true] span{transform:rotate(45deg)}
.faq-toggle:focus-visible{outline:2px solid var(--page-wine);outline-offset:6px;border-radius:4px}
.faq-answer{overflow:hidden}.faq-answer p{padding:4px 0 8px;margin:0}.faq-answer[hidden]{display:none}
.guides{padding:80px 0}.guides-heading{max-width:720px}.guides-heading h1{font-size:80px}.guides-heading p{margin-top:22px}
.guide-index{display:flex;flex-wrap:wrap;gap:12px 26px;margin:34px 0 60px}.guide-index a{text-decoration:underline;text-underline-offset:5px;min-height:44px;display:flex;align-items:center}
.guide{padding:54px 0 70px;border-top:1px solid color-mix(in srgb,currentColor 22%,transparent);scroll-margin-top:140px}
.guide-cover{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.guide-cover img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:14px}.guide-cover h2{font-size:clamp(38px,4vw,58px);line-height:1.1;max-width:15ch}
.guide-reading{display:grid;grid-template-columns:1fr .8fr;gap:90px;align-items:start;margin-top:44px}.guide-reading h3{font-size:29px;line-height:1.2;margin:0 0 14px}.guide-reading section+section{margin-top:30px}.guide-reading p{max-width:56ch}.guide-reading .ghost{margin-top:28px}
.guide-reading figure img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:14px}.guide-reading figcaption{font-size:13px;line-height:1.5;margin-top:12px}
[data-sc-in]{transition:opacity 420ms ease-out,transform 420ms cubic-bezier(.2,.7,.2,1)}
@media(min-width:901px) and (max-width:1250px){.brand img{width:230px}.nav-bar{gap:22px;padding-inline:24px}.desktop-nav{gap:17px;font-size:14px}.nav-actions{gap:16px}.nav-actions .ghost{padding-inline:16px}}
@media(max-width:1000px) and (min-width:901px){.brand img{width:200px}.nav-bar{gap:16px;padding-inline:20px}.desktop-nav{gap:13px}.nav-actions{gap:12px}}
@media(max-width:900px){.nav-actions{display:none}.menu-open{margin-left:auto}.guide-cover{gap:32px}.guide-reading{gap:36px}.guides{padding:60px 0}.guides-heading h1{font-size:64px}}
@media(max-width:600px){.guide-index{display:grid;gap:2px;margin-bottom:34px}.guide-cover,.guide-reading{grid-template-columns:1fr;gap:28px}.guide-cover h2{max-width:none;font-size:40px}.guide-reading{margin-top:30px}.guide{padding:36px 0 44px}.guides-heading h1{font-size:56px}.faq-toggle{gap:16px}.faq-item{padding:18px 0}}
@media(prefers-reduced-motion:reduce){[data-sc-in]{opacity:1;transform:none;transition:none}}
 /* Full guides: one reading column, unique cover and inside picture. */
.guide-list{display:grid;grid-template-columns:1fr 1fr;gap:0 70px;margin-top:48px}
.guide-list article{padding:34px 0;border-top:1px solid color-mix(in srgb,currentColor 22%,transparent)}
.guide-list h2{font-size:clamp(32px,3vw,44px);line-height:1.15;max-width:22ch}.guide-list p{margin:20px 0;max-width:52ch}
.guide-article{padding:56px 0 100px}.guide-back{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:5px}
.article-heading{max-width:1000px;margin:28px 0 40px}.article-heading h1{font-size:clamp(44px,5.7vw,82px);line-height:1.06}
.article-cover{margin:0 0 60px}.article-cover img{display:block;width:100%;height:auto;aspect-ratio:16/7;object-fit:cover;border-radius:14px}
.article-reading{max-width:720px;margin:auto}.article-reading p{font-size:19px;line-height:1.8;margin:0 0 23px;max-width:none}
.article-reading h2{font-size:clamp(30px,3vw,42px);line-height:1.18;margin:0 0 22px}.article-reading section{margin:52px 0;scroll-margin-top:145px}
.article-contents{display:grid;gap:8px;border-block:1px solid color-mix(in srgb,currentColor 22%,transparent);padding:24px 0;margin:36px 0}
.article-contents a{display:flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:5px}
.article-inside{margin:48px 0}.article-inside img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:14px}.article-inside figcaption{font-size:13px;line-height:1.6;margin-top:14px}
.article-close{border-top:1px solid color-mix(in srgb,currentColor 22%,transparent);padding-top:38px}
.home-areas{padding:30px 0 0}.home-areas p{margin:0}.home-areas a{text-decoration:underline;text-underline-offset:5px}
.areas-page{padding:76px 0 88px}.areas-heading{max-width:760px;margin-bottom:64px}.areas-heading h1{font-size:clamp(56px,6vw,80px);line-height:1.1}.areas-heading p{margin-top:24px}
.area-group{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,2fr);gap:64px;padding:44px 0;border-top:1px solid color-mix(in srgb,currentColor 22%,transparent);scroll-margin-top:140px}
.area-intro h2{font-size:clamp(32px,3vw,44px);line-height:1.15}.area-intro p{margin-top:18px;max-width:28ch}
.area-names{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 24px;align-content:start}.area-names li{line-height:1.65;overflow-wrap:anywhere}
.beside-brooklyn{margin-top:48px;padding-top:32px;border-top:1px solid color-mix(in srgb,currentColor 22%,transparent)}.beside-brooklyn h3{font-size:32px;line-height:1.2}.area-neighbor{margin-top:30px}.area-neighbor h4{font-family:Outfit,sans-serif;font-size:17px;font-weight:500;margin:0 0 16px;color:var(--page-wine)}
@media(max-width:1100px){.area-group{grid-template-columns:1fr;gap:26px}.area-intro p{max-width:none}}
@media(max-width:600px){.areas-page{padding:48px 0 60px}.areas-heading{margin-bottom:40px}.area-group{padding:32px 0}.area-names{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px}.beside-brooklyn h3{font-size:28px}}
@media(min-width:901px) and (max-width:1100px){.brand img{width:180px}.nav-bar{gap:14px;padding-inline:16px}.desktop-nav{gap:12px;font-size:13px}.nav-actions{gap:10px}.nav-actions .ghost{padding-inline:12px}}
@media(max-width:600px){.guide-list{grid-template-columns:1fr;margin-top:28px}.guide-list article{padding:28px 0}.guide-article{padding:30px 0 64px}.article-heading{margin:24px 0 28px}.article-cover{margin-bottom:34px}.article-cover img{aspect-ratio:4/3}.article-reading p{font-size:17px;line-height:1.75}.article-reading section{margin:38px 0;scroll-margin-top:115px}.article-inside{margin:34px 0}}
 /* Offers, shared footer logo and gallery-page-only screen pictures. */
.footer-brand img{width:320px;max-width:100%;height:auto;filter:brightness(0) invert(1)}
.offer-card-link{display:block;position:static}.courtesy-layout article:has(.offer-card-link){position:relative}
.offer-card-link::after{content:"";position:absolute;inset:0;border-radius:18px}
.offer-card-link:focus-visible{outline:none}.offer-card-link:focus-visible::after{outline:2px solid var(--brand-pale);outline-offset:5px}
.offer-card-link:hover h2{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
.offers-heading{padding:64px 0 48px}
.gallery-screens{background:#111}.gallery-screen{margin:0;height:100svh;max-height:100svh;overflow:hidden}
.gallery-screen img{display:block;width:100%;height:100%;object-fit:cover}
@media(max-width:600px){.footer-brand img{width:280px}.offers-heading{padding:44px 0 36px}}

﻿/* Finish pass: preserve the established palette and pair of typefaces. */
h1,h2,h3{text-wrap:balance}p,li,figcaption{text-wrap:pretty}
.inner-copy>p,.form-intro>p{max-width:54ch}.page-reading section+section{margin-top:36px}
.article-heading{max-width:960px}.article-reading h2{max-width:28ch}
.form-intro .page-reading h2{font-size:30px;line-height:1.2}
.courtesy-layout{align-items:stretch}.courtesy-layout h2{max-width:19ch;line-height:1.12}
.footer nav a{min-height:44px;display:flex;align-items:center}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.gallery-collage{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;padding-block:44px 72px}
.gallery-tile{margin:0;overflow:hidden;border-radius:14px;grid-column:span 5;height:360px}
.gallery-tile:nth-of-type(1){grid-column:span 7;height:480px}.gallery-tile:nth-of-type(2){align-self:end}
.gallery-tile:nth-of-type(3){grid-column:span 5;height:400px}.gallery-tile:nth-of-type(4){grid-column:span 7;height:400px}
.gallery-tile:nth-of-type(5){grid-column:2 / span 10;height:420px}
.gallery-tile img{display:block;width:100%;height:100%;object-fit:cover}
@media(max-width:900px){.gallery-collage{gap:18px}.gallery-tile,.gallery-tile:nth-of-type(n){height:300px;grid-column:span 6}.gallery-tile:nth-of-type(5){grid-column:1/-1}}
@media(max-width:600px){.gallery-collage{grid-template-columns:1fr;padding-block:26px 44px;gap:18px}.gallery-tile,.gallery-tile:nth-of-type(n){grid-column:1;height:auto;aspect-ratio:4/3}.gallery-tile:nth-of-type(2){aspect-ratio:3/2}.form-intro .page-reading h2{font-size:28px}.courtesy-layout h2{font-size:32px}.article-heading h1{font-size:clamp(40px,10vw,52px)}}

/* Full-name wordmark and seed-directed editorial content. */
.brand img{width:280px;height:auto;object-fit:contain}.brand{max-width:none;flex-shrink:0}
.footer-brand img{width:360px;height:auto}.desktop-nav{gap:21px}
.name-heading{padding-block:68px 56px}.name-heading h1{max-width:23ch;font-size:clamp(42px,5.6vw,78px);line-height:1.06}
.name-heading p{max-width:60ch;margin-top:26px}.name-heading .ghost{margin-top:28px}
.name-section{padding-block:64px;border-top:1px solid color-mix(in srgb,currentColor 18%,transparent)}
.name-section h2{font-size:clamp(36px,3.8vw,54px);line-height:1.12;max-width:26ch;margin-bottom:26px}
.name-section h3{font-size:30px;line-height:1.2;margin-bottom:18px}
.name-section p+p{margin-top:20px}.name-intro{max-width:69ch}.name-intro .ghost{margin-top:25px}
.planning-opening{display:grid;grid-template-columns:1.1fr 1fr;gap:8%;align-items:center}
.planning-picture{margin:0;height:440px;overflow:hidden;border-radius:14px}.planning-picture img{width:100%;height:100%;object-fit:cover}
.planning-split{display:grid;grid-template-columns:1.1fr 1fr;gap:10%;align-items:start}
.planning-note{border:1px solid color-mix(in srgb,currentColor 25%,transparent);padding:28px;border-radius:14px}
.planning-note .ghost{margin-top:24px}.planning-details{margin-top:34px;max-width:70ch}
.name-section ul{padding-left:22px}.name-section li{padding-left:4px;margin-bottom:14px}
.starting-price{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center;border:1px solid var(--page-wine);padding:38px;border-radius:14px}
.price-service{color:var(--page-wine);margin-bottom:12px}.starting-price h2{font-size:clamp(40px,4vw,58px);margin:0;max-width:17ch}
.starting-price .ghost{margin-top:24px}.comparison{display:grid;grid-template-columns:1fr 1fr;gap:10%;margin-top:38px}
.comparison article{border-top:1px solid var(--page-wine);padding-top:26px}.source-note{font-size:15px;max-width:80ch;margin-top:30px}
.source-note a,.forms-guidance+a,.form-downloads a,.logo-options>article>a{color:var(--page-wine);text-decoration:underline;text-underline-offset:4px}
.state-links{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:28px}.state-links a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:6px;color:var(--page-wine)}
.state-region{display:grid;grid-template-columns:1fr 1.2fr;gap:10%}.state-region h2{margin-bottom:22px}.state-region p{max-width:39ch}
.location-pair{display:grid;grid-template-columns:1fr 1fr;gap:10%;margin-block:30px}.location-pair p{max-width:40ch}
.simple-faq{max-width:900px}.simple-faq details{border-top:1px solid color-mix(in srgb,currentColor 25%,transparent);padding-block:22px}
.simple-faq summary{font-size:23px;cursor:pointer;min-height:44px;align-content:center}.simple-faq details p{margin-top:15px;max-width:64ch}
.form-downloads{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 8%}.form-downloads article{border-top:1px solid color-mix(in srgb,currentColor 25%,transparent);padding-top:26px}
.form-downloads a{display:block;width:fit-content;padding-block:12px;min-height:44px}.form-downloads p{max-width:55ch}.forms-guidance{margin-top:36px;max-width:65ch}
.forms-followup{grid-column:1/-1;padding:20px;border:1px solid var(--page-wine);border-radius:12px;color:var(--page-wine)}
.forms-followup a{text-decoration:underline;text-underline-offset:4px;display:block;min-height:44px}.forms-followup[hidden]{display:none}
.logo-options>article+article{margin-top:50px;padding-top:40px;border-top:1px solid currentColor}.logo-sample{padding:30px;background:#fff;border:1px solid #ccc;border-radius:14px;max-width:900px}
.logo-sample img{width:100%;height:auto;display:block}.logo-options>article>a{display:inline-flex;align-items:center;min-height:44px;margin-top:15px}
@media(max-width:1250px){.brand img{width:250px}.nav-bar{gap:20px}.desktop-nav{gap:16px}.nav-actions{gap:15px}}
@media(max-width:1200px){.desktop-nav{display:none}.menu-open{display:inline-flex}.nav-bar{padding-inline:28px}.brand img{width:280px}}
@media(max-width:900px){.planning-opening{gap:35px}.planning-picture{height:340px}.planning-split,.state-region{gap:6%}.starting-price{gap:6%;padding:28px}.comparison{gap:6%}.name-heading{padding-block:48px}.name-section{padding-block:48px}}
@media(max-width:600px){.nav-bar{padding-inline:20px;gap:12px}.brand img{width:225px}.brand{max-width:calc(100% - 82px)}.name-heading{padding-block:38px}.name-heading h1{font-size:44px}.name-heading p{font-size:18px;margin-top:22px}.name-section{padding-block:42px}.name-section h2{font-size:36px}.name-section h3{font-size:28px}.planning-opening,.planning-split,.starting-price,.comparison,.state-region,.location-pair,.form-downloads{grid-template-columns:1fr;gap:30px}.planning-picture{height:auto;aspect-ratio:4/3}.starting-price{padding:24px}.starting-price h2{font-size:42px}.comparison{margin-top:30px;gap:25px}.location-pair{gap:28px}.state-links{gap:6px 22px}.forms-followup{padding:16px}.logo-sample{padding:15px}}

/* The recovered original graphic remains unmodified; current name is real type. */
.header .brand{display:flex;flex-direction:column;align-items:flex-start;gap:7px;width:300px;max-width:none;min-height:0;flex-shrink:0;color:var(--page-wine)}
.header .brand img{display:block;width:100%;height:auto;max-height:none;filter:none}
.brand-name{display:block;width:100%;font:400 17px/1.15 Newsreader,serif;letter-spacing:0;text-wrap:balance}
.home-page .header:not(.nav-solid) .brand{color:#fff}
.home-page .header:not(.nav-solid) .brand img,:root[data-theme=dark] .header .brand img{filter:brightness(0) invert(1)}
.nav-bar{padding-block:12px;min-height:0}.footer-brand{max-width:340px;color:#fff}
.footer-brand img{display:block;width:340px;max-width:100%;height:auto;filter:brightness(0) invert(1)}
.footer-brand .brand-name{font-size:24px;margin-top:12px}.footer-identity{max-width:380px}
.courtesy-layout article,.courtesy-layout article:nth-child(2){padding:0;border:0}
.offer-card-link{display:block;height:100%;padding:34px;border:1px solid #ffffff35;border-radius:18px;color:inherit;text-decoration:none}
.offer-card-link:hover{background:#ffffff08}.offer-card-link:focus-visible{outline:2px solid #fff;outline-offset:5px}
.planning-offers{margin-top:24px;padding-top:20px;border-top:1px solid color-mix(in srgb,currentColor 25%,transparent)}
.planning-offers p{font-size:17px}.planning-offers p+p{margin-top:14px}.planning-offers strong{font-weight:500}
.offer-reminder{max-width:68ch;margin-top:30px;padding-top:24px;border-top:1px solid color-mix(in srgb,currentColor 25%,transparent)}
.gallery-tile:nth-of-type(6){grid-column:span 7;height:430px}.gallery-tile:nth-of-type(7){grid-column:span 5;height:350px;align-self:end}
.gallery-tile:nth-of-type(8){grid-column:span 5;height:370px}.gallery-tile:nth-of-type(9){grid-column:span 7;height:430px}
.restored-logo-page{padding-block:46px 72px}.restored-logo-page h1{font-size:clamp(40px,5vw,64px);max-width:24ch;line-height:1.1}
.restored-logo-page>p{margin-top:24px;max-width:60ch}.restored-logo-sample{margin-block:32px;padding:30px;background:#fff;color:#3e3494;border:1px solid #ccc;border-radius:14px}
.restored-logo-sample img{display:block;width:100%;height:auto}.restored-logo-sample p{font:400 clamp(24px,3vw,40px)/1.2 Newsreader,serif;margin:26px 0 0;text-align:center}
.restored-logo-page nav{display:flex;flex-wrap:wrap;gap:12px 30px}.restored-logo-page nav a{display:inline-flex;min-height:44px;align-items:center;text-decoration:underline;text-underline-offset:4px;color:var(--page-wine)}
@media(max-width:1350px){.desktop-nav{display:none}.menu-open{display:inline-flex}.nav-bar{padding-inline:28px}}
@media(max-width:900px){.header .brand{width:280px}.nav-bar{padding-inline:24px}.gallery-tile:nth-of-type(n){grid-column:span 6;height:300px}.gallery-tile:nth-of-type(5){grid-column:1/-1}}
@media(max-width:600px){.nav-bar{padding:9px 20px;gap:12px}.header .brand{width:clamp(210px,calc(100vw - 132px),270px)}.brand-name{font-size:15px}.footer-brand img{width:310px}.offer-card-link{padding:26px}.gallery-tile:nth-of-type(n){grid-column:1;height:auto;aspect-ratio:4/3}.gallery-tile:nth-of-type(2){aspect-ratio:3/2}.planning-offers{padding-top:18px}.restored-logo-page{padding-block:34px 44px}.restored-logo-sample{padding:16px}}

/* Original monochrome style: white over the hero, accent on the solid nav. */
.header .brand{display:block;width:240px;gap:0;line-height:0}
.header .brand img{display:none;width:100%;height:auto;max-height:none;filter:none!important}
.header .brand .logo-purple{display:block}
:root[data-theme=dark] .header .brand .logo-purple{display:none}
:root[data-theme=dark] .header .brand .logo-pale{display:block}
.home-page .header:not(.nav-solid) .brand .logo-purple,.home-page .header:not(.nav-solid) .brand .logo-pale{display:none}
.home-page .header:not(.nav-solid) .brand .logo-white{display:block}
.footer-brand{display:block;line-height:0}.footer-brand img{display:block;width:340px;height:auto;filter:none!important}
.restored-logo-sample img{width:100%;height:auto}
@media(max-width:1350px){.header .brand{width:230px}}
@media(max-width:900px){.header .brand{width:220px}}
@media(max-width:600px){.header .brand{width:clamp(174px,calc(100vw - 160px),200px)}.footer-brand img{width:310px}}

/* Keep the hero navigation rule hidden until its existing solid-surface state. */
.home-page .header .nav-bar{border-bottom-color:transparent}
.home-page .header.nav-solid .nav-bar{border-bottom-color:color-mix(in srgb,currentColor 18%,transparent)}

/* About: headline above the picture/text row, with one aligned reading edge. */
.about-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px 56px;align-items:start}
.about-layout>h2{grid-column:1/-1;font-size:clamp(42px,4vw,58px)}
.about-layout>.image-frame{height:auto;aspect-ratio:16/10;margin:0}
.about-layout .editorial-copy{padding:0;margin:0}
.about-layout .editorial-copy p{margin:0;max-width:54ch}
.about-layout .editorial-copy .ghost{margin-top:24px}

/* Details: description and button follow the headline on the same left edge. */
.gallery-heading{display:block;max-width:820px}
.gallery-heading h1,.gallery-heading h2{font-size:clamp(42px,4vw,58px)}
.gallery-heading p{margin-top:20px;max-width:60ch}
.gallery-heading .ghost{margin-top:24px}
@media(max-width:600px){.about-layout{grid-template-columns:1fr;gap:24px}.about-layout>h2{grid-column:auto}.about-layout>.image-frame{width:100%;height:auto}.about-layout .editorial-copy{margin:0;padding:0}}

/* Mobile refinement: keep the full bar together and the menu controls in one place. */
.menu-open svg{flex-shrink:0}
.phone-menu-head{align-items:flex-start}
.phone-menu-brand{display:block;width:clamp(154px,44vw,250px);flex-shrink:0;padding-top:4px}
.phone-menu-brand img{display:block;width:100%;height:auto}
.phone-menu-brand .logo-pale{display:none}
:root[data-theme=dark] .phone-menu-brand .logo-purple{display:none}
:root[data-theme=dark] .phone-menu-brand .logo-pale{display:block}
.phone-menu-controls{display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.phone-menu-controls .menu-close{justify-content:center;min-height:44px}
.phone-menu-controls .theme-pill button{width:40px;height:44px}
.phone-menu nav{margin-top:28px}
@media(max-width:900px){
 .header{position:sticky;top:0;width:100%;z-index:80}
 .home-page .header{position:fixed;inset:0 0 auto}
 .header .nav-bar{width:100%;max-width:720px;margin-inline:auto;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between}
 .header .nav-actions{display:none}
 .menu-open{display:inline-flex;align-items:center;gap:12px;min-height:44px}
 .film-stage,.video-enabled .film-stage{min-height:0}
 .film-copy{padding-bottom:24px}
 .film-copy .ghost{margin-top:18px;margin-left:-4px;padding-inline:18px}
 .courtesies.ink{background:#3e3494;color:#fff}
}
@media(max-width:360px){.phone-menu{padding:20px 16px}.phone-menu-brand{width:148px}.phone-menu-controls .theme-pill button{width:36px}}
