/* Generated from pinned Lovable source. Do not reorder. */
/*
  1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
  2. Remove default margins and padding
  3. Reset all borders.
*/

*,
::after,
::before,
::backdrop,
::file-selector-button {
  box-sizing: border-box; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 2 */
  border: 0 solid; /* 3 */
}

/*
  1. Use a consistent sensible line-height in all browsers.
  2. Prevent adjustments of font size after orientation changes in iOS.
  3. Use a more readable tab size.
  4. Use the user's configured `sans` font-family by default.
  5. Use the user's configured `sans` font-feature-settings by default.
  6. Use the user's configured `sans` font-variation-settings by default.
  7. Disable tap highlights on iOS.
*/

html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  tab-size: 4; /* 3 */
  font-family: --theme(
    --default-font-family,
    -apple-system,
    BlinkMacSystemFont,
    'Segoe UI',
    Roboto,
    'Helvetica Neue',
    'Noto Sans',
    Arial,
    sans-serif,
    'Apple Color Emoji',
    'Segoe UI Emoji',
    'Segoe UI Symbol',
    'Noto Color Emoji'
  ); /* 4 */
  font-feature-settings: --theme(--default-font-feature-settings, normal); /* 5 */
  font-variation-settings: --theme(--default-font-variation-settings, normal); /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}

/*
  1. Add the correct height in Firefox.
  2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
  3. Reset the default border style to a 1px solid border.
*/

hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}

/*
  Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
}

/*
  Remove the default font size and weight for headings.
*/

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/*
  Reset links to optimize for opt-in styling instead of opt-out.
*/

a {
  color: inherit;
  -webkit-text-decoration: inherit;
  text-decoration: inherit;
}

/*
  Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/*
  1. Use the user's configured `mono` font-family by default.
  2. Use the user's configured `mono` font-feature-settings by default.
  3. Use the user's configured `mono` font-variation-settings by default.
  4. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family: --theme(
    --default-mono-font-family,
    ui-monospace,
    SFMono-Regular,
    Menlo,
    Monaco,
    Consolas,
    'Liberation Mono',
    'Courier New',
    monospace
  ); /* 1 */
  font-feature-settings: --theme(--default-mono-font-feature-settings, normal); /* 2 */
  font-variation-settings: --theme(--default-mono-font-variation-settings, normal); /* 3 */
  font-size: 1em; /* 4 */
}

/*
  Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/*
  Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
  1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
  2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
  3. Remove gaps between table borders by default.
*/

table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}

/*
  Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring:where(:not(iframe)) {
  outline: auto;
}

/*
  Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/*
  Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/*
  Make lists unstyled by default.
*/

ol,
ul,
menu {
  list-style: none;
}

/*
  1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
  2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
      This can trigger a poorly considered lint error in some tools but is included by design.
*/

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}

/*
  Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

img,
video {
  max-width: 100%;
  height: auto;
}

/*
  1. Inherit font styles in all browsers.
  2. Remove border radius in all browsers.
  3. Remove background color in all browsers.
  4. Ensure consistent opacity for disabled states in all browsers.
*/

button,
input,
select,
optgroup,
textarea,
::file-selector-button {
  font: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  letter-spacing: inherit; /* 1 */
  color: inherit; /* 1 */
  border-radius: 0; /* 2 */
  background-color: transparent; /* 3 */
  opacity: 1; /* 4 */
}

/*
  Restore default font weight.
*/

:where(select:is([multiple], [size])) optgroup {
  font-weight: bolder;
}

/*
  Restore indentation.
*/

:where(select:is([multiple], [size])) optgroup option {
  padding-inline-start: 20px;
}

/*
  Restore space after button.
*/

::file-selector-button {
  margin-inline-end: 4px;
}

/*
  Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
*/

::placeholder {
  opacity: 1;
}

/*
  Set the default placeholder color to a semi-transparent version of the current text color in browsers that do not
  crash when using `color-mix(…)` with `currentcolor`. (https://github.com/tailwindlabs/tailwindcss/issues/17194)
*/

@supports (not (-webkit-appearance: -apple-pay-button)) /* Not Safari */ or
  (contain-intrinsic-size: 1px) /* Safari 17+ */ {
  ::placeholder {
    color: color-mix(in oklab, currentcolor 50%, transparent);
  }
}

/*
  Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
  Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
  1. Ensure date/time inputs have the same height when empty in iOS Safari.
  2. Ensure text alignment can be changed on date/time inputs in iOS Safari.
*/

::-webkit-date-and-time-value {
  min-height: 1lh; /* 1 */
  text-align: inherit; /* 2 */
}

/*
  Prevent height from changing on date/time inputs in macOS Safari when the input is set to `display: block`.
*/

::-webkit-datetime-edit {
  display: inline-flex;
}

/*
  Remove excess padding from pseudo-elements in date/time inputs to ensure consistent height across browsers.
*/

::-webkit-datetime-edit-fields-wrapper {
  padding: 0;
}

::-webkit-datetime-edit,
::-webkit-datetime-edit-year-field,
::-webkit-datetime-edit-month-field,
::-webkit-datetime-edit-day-field,
::-webkit-datetime-edit-hour-field,
::-webkit-datetime-edit-minute-field,
::-webkit-datetime-edit-second-field,
::-webkit-datetime-edit-millisecond-field,
::-webkit-datetime-edit-meridiem-field {
  padding-block: 0;
}

/*
  Center dropdown marker shown on inputs with paired `<datalist>`s in Chrome. (https://github.com/tailwindlabs/tailwindcss/issues/18499)
*/

::-webkit-calendar-picker-indicator {
  line-height: 1;
}

/*
  Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

:-moz-ui-invalid {
  box-shadow: none;
}

/*
  Correct the inability to style the border radius in iOS Safari.
*/

button,
input:where([type='button'], [type='reset'], [type='submit']),
::file-selector-button {
  appearance: button;
}

/*
  Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/*
  Make elements with the HTML hidden attribute stay hidden by default.
*/

[hidden]:where(:not([hidden='until-found'])) {
  display: none !important;
}



/*
 * Design system definition.
 *
 * The @theme inline block maps CSS custom properties to Tailwind utility
 * classes (e.g. --color-primary -> bg-primary, text-primary).
 *
 * The :root and .dark blocks define the actual color values using oklch.
 * All colors MUST use oklch format.
 *
 * To add a new semantic color:
 * 1. Add the variable to :root (light value) and .dark (dark value)
 * 2. Register it in @theme inline as --color-<name>: var(--<name>)
 */

:root {
  --font-display: "Italiana", serif;
  --font-sans: "Manrope", sans-serif;
  --radius-sm: calc(var(--radius) - 4px);
  --radius-md: calc(var(--radius) - 2px);
  --radius-lg: var(--radius);
  --radius-xl: calc(var(--radius) + 4px);
  --radius-2xl: calc(var(--radius) + 8px);
  --radius-3xl: calc(var(--radius) + 12px);
  --radius-4xl: calc(var(--radius) + 16px);
  --color-background: var(--background);
  --color-foreground: var(--foreground);
  --color-card: var(--card);
  --color-card-foreground: var(--card-foreground);
  --color-popover: var(--popover);
  --color-popover-foreground: var(--popover-foreground);
  --color-primary: var(--primary);
  --color-primary-foreground: var(--primary-foreground);
  --color-secondary: var(--secondary);
  --color-secondary-foreground: var(--secondary-foreground);
  --color-muted: var(--muted);
  --color-muted-foreground: var(--muted-foreground);
  --color-accent: var(--accent);
  --color-accent-foreground: var(--accent-foreground);
  --color-destructive: var(--destructive);
  --color-destructive-foreground: var(--destructive-foreground);
  --color-border: var(--border);
  --color-input: var(--input);
  --color-ring: var(--ring);
  --color-ring-offset-background: var(--background);
  --color-chart-1: var(--chart-1);
  --color-chart-2: var(--chart-2);
  --color-chart-3: var(--chart-3);
  --color-chart-4: var(--chart-4);
  --color-chart-5: var(--chart-5);
  --color-sidebar: var(--sidebar);
  --color-sidebar-foreground: var(--sidebar-foreground);
  --color-sidebar-primary: var(--sidebar-primary);
  --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
  --color-sidebar-accent: var(--sidebar-accent);
  --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
  --color-sidebar-border: var(--sidebar-border);
  --color-sidebar-ring: var(--sidebar-ring);
}

:root {
  --radius: 0.125rem;
  --background: oklch(1 0 0);
  --foreground: oklch(0 0 0);
  --card: oklch(1 0 0);
  --card-foreground: oklch(0.129 0.042 264.695);
  --popover: oklch(1 0 0);
  --popover-foreground: oklch(0.129 0.042 264.695);
  --primary: oklch(0 0 0);
  --primary-foreground: oklch(1 0 0);
  --secondary: oklch(0.968 0.007 247.896);
  --secondary-foreground: oklch(0.208 0.042 265.755);
  --muted: oklch(0.87 0.008 85);
  --muted-foreground: oklch(0.42 0 0);
  --accent: oklch(0.69 0.08 89);
  --accent-foreground: oklch(0 0 0);
  --destructive: oklch(0.577 0.245 27.325);
  --destructive-foreground: oklch(0.984 0.003 247.858);
  --border: oklch(0.87 0.008 85);
  --input: oklch(0.87 0.008 85);
  --ring: oklch(0.704 0.04 256.788);
  --chart-1: oklch(0.646 0.222 41.116);
  --chart-2: oklch(0.6 0.118 184.704);
  --chart-3: oklch(0.398 0.07 227.392);
  --chart-4: oklch(0.828 0.189 84.429);
  --chart-5: oklch(0.769 0.188 70.08);
  --sidebar: oklch(0.984 0.003 247.858);
  --sidebar-foreground: oklch(0.129 0.042 264.695);
  --sidebar-primary: oklch(0.208 0.042 265.755);
  --sidebar-primary-foreground: oklch(0.984 0.003 247.858);
  --sidebar-accent: oklch(0.968 0.007 247.896);
  --sidebar-accent-foreground: oklch(0.208 0.042 265.755);
  --sidebar-border: oklch(0.929 0.013 255.508);
  --sidebar-ring: oklch(0.704 0.04 256.788);
}

.dark {
  --background: oklch(0.129 0.042 264.695);
  --foreground: oklch(0.984 0.003 247.858);
  --card: oklch(0.208 0.042 265.755);
  --card-foreground: oklch(0.984 0.003 247.858);
  --popover: oklch(0.208 0.042 265.755);
  --popover-foreground: oklch(0.984 0.003 247.858);
  --primary: oklch(0.929 0.013 255.508);
  --primary-foreground: oklch(0.208 0.042 265.755);
  --secondary: oklch(0.279 0.041 260.031);
  --secondary-foreground: oklch(0.984 0.003 247.858);
  --muted: oklch(0.279 0.041 260.031);
  --muted-foreground: oklch(0.704 0.04 256.788);
  --accent: oklch(0.279 0.041 260.031);
  --accent-foreground: oklch(0.984 0.003 247.858);
  --destructive: oklch(0.704 0.191 22.216);
  --destructive-foreground: oklch(0.984 0.003 247.858);
  --border: oklch(1 0 0 / 10%);
  --input: oklch(1 0 0 / 15%);
  --ring: oklch(0.551 0.027 264.364);
  --chart-1: oklch(0.488 0.243 264.376);
  --chart-2: oklch(0.696 0.17 162.48);
  --chart-3: oklch(0.769 0.188 70.08);
  --chart-4: oklch(0.627 0.265 303.9);
  --chart-5: oklch(0.645 0.246 16.439);
  --sidebar: oklch(0.208 0.042 265.755);
  --sidebar-foreground: oklch(0.984 0.003 247.858);
  --sidebar-primary: oklch(0.488 0.243 264.376);
  --sidebar-primary-foreground: oklch(0.984 0.003 247.858);
  --sidebar-accent: oklch(0.279 0.041 260.031);
  --sidebar-accent-foreground: oklch(0.984 0.003 247.858);
  --sidebar-border: oklch(1 0 0 / 10%);
  --sidebar-ring: oklch(0.551 0.027 264.364);
}


  * {
    border-color: var(--color-border);
  }

  body {
    background-color: var(--color-background);
    color: var(--color-foreground);
    font-family: var(--font-sans);
    margin: 0;
  }



  .site-header { position: fixed; top: 0; left: 0; right: 0; z-index: 40; height: 92px; padding: 4px clamp(1.25rem,4vw,5rem); display: flex; align-items: center; gap: 2.5rem; justify-content: space-between; background: transparent; border-bottom: 1px solid transparent; color: var(--background); transition: background .45s ease, border-color .45s ease, transform .5s cubic-bezier(.4,0,.2,1), opacity .35s ease; will-change: transform; }
  .site-header a,.site-header button { color: var(--background); }
  .site-header.scrolled { background: oklch(0.42 0.006 80/.55); border-bottom-color: transparent; backdrop-filter: blur(8px) saturate(120%); }
  .site-header.is-hidden { transform: translateY(-100%); opacity: 0; pointer-events: none; }
  @media(prefers-reduced-motion:reduce){.site-header{transition:none}.site-header.is-hidden{transform:none;opacity:1;pointer-events:auto}}

  .logo { width:clamp(168px,13vw,196px);height:auto;image-rendering:auto;transform:translateZ(0) } .logo-light{filter:brightness(1.5) contrast(1.25) drop-shadow(0 1px 2px oklch(0 0 0/.78)) drop-shadow(0 0 10px oklch(0 0 0/.34))}.logo-dark { display: none; }
  .desktop-nav { display: flex; gap: clamp(1rem,2vw,2rem); margin-left: auto; } .desktop-nav a,.header-phone { font-family: var(--font-display); font-size: 14px; line-height: 15px; font-weight: 400; text-transform: uppercase; letter-spacing: .1em; text-shadow: 0 1px 2px oklch(0 0 0/.78), 0 0 10px oklch(0 0 0/.34); transform: translateY(-2px); }
  .desktop-nav a:hover,.header-phone:hover,.text-link:hover { color: var(--accent); }
  .menu-button { display:flex; width:44px;height:44px;align-items:center;justify-content:center;background:none;border:0;margin-left:1.25rem;filter:drop-shadow(0 1px 2px oklch(0 0 0/.7));position:relative;z-index:60; }
  .side-menu-scrim { position:fixed; inset:0; background:oklch(0 0 0/.5); opacity:0; pointer-events:none; transition:opacity .4s ease; z-index:45; }
  .side-menu-scrim.is-open { opacity:1; pointer-events:auto; }
  .side-menu { position:fixed; top:0; right:0; bottom:0; width:min(420px,88vw); background:var(--background); color:var(--foreground); z-index:50; transform:translateX(100%); transition:transform .5s cubic-bezier(.64,.04,.35,1); display:flex; flex-direction:column; padding:calc(92px + 1.5rem) clamp(1.5rem,3vw,2.75rem) 2rem; overflow-y:auto; box-shadow:-24px 0 60px oklch(0 0 0/.22); }
  .side-menu.is-open { transform:translateX(0); }
  .side-menu-nav { display:grid; align-content:start; }
  .side-menu-link { font-family:var(--font-display); font-size:1.05rem; line-height:1.2; text-transform:uppercase; letter-spacing:.11em; color:var(--foreground); padding:.95rem 0; display:flex; align-items:center; justify-content:space-between; gap:1rem; width:100%; background:none; border:0; border-bottom:1px solid color-mix(in oklab,var(--foreground) 12%,transparent); text-align:left; cursor:pointer; }
  .side-menu-link:hover { color:var(--accent); }
  .side-menu-caret { width:16px; height:16px; flex:none; transition:transform .3s ease; }
  .side-menu-group.is-open .side-menu-caret { transform:rotate(180deg); }
  .side-menu-sub { overflow:hidden; max-height:0; transition:max-height .45s cubic-bezier(.4,0,.2,1); }
  .side-menu-group.is-open .side-menu-sub { max-height:340px; }
  .side-menu-sub a { font-family:var(--font-body); font-size:.78rem; text-transform:uppercase; letter-spacing:.12em; color:color-mix(in oklab,var(--foreground) 72%,transparent); padding:.6rem 0 .6rem 1rem; display:block; }
  .side-menu-sub a:hover { color:var(--accent); }
  .side-menu-foot { margin-top:2.5rem; display:grid; gap:.5rem; font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; }
  .side-menu-foot a { color:color-mix(in oklab,var(--foreground) 72%,transparent); }
  .site-footer { background:var(--foreground); color:var(--background); padding:clamp(4rem,8vw,7rem) clamp(1.25rem,5vw,6rem) 2rem; }
  .footer-grid { max-width:1440px;margin:auto;display:grid;grid-template-columns:1.4fr .7fr 1fr;gap:4rem; } .footer-logo{width:190px;margin-bottom:2rem}.site-footer p,.site-footer a{font-size:.82rem;line-height:1.8;color:color-mix(in oklab,var(--background) 70%,transparent)}.footer-links,.footer-legal{display:grid;align-content:start;gap:.75rem}.footer-links a{font-size:1rem;color:var(--background)}.footer-bottom{max-width:1440px;margin:4rem auto 0;border-top:1px solid color-mix(in oklab,var(--background) 20%,transparent);padding-top:1.5rem;display:flex;justify-content:space-between;font-size:.7rem;color:color-mix(in oklab,var(--background) 60%,transparent)}
  .page-hero { min-height:62vh;display:flex;align-items:end;position:relative;background:var(--foreground);color:var(--background);overflow:hidden}.page-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.page-hero.has-image::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,oklch(0 0 0/.78),oklch(0 0 0/.08) 70%)}.page-hero-inner{position:relative;z-index:1;width:min(1440px,100%);padding:clamp(5rem,9vw,9rem) clamp(1.25rem,6vw,7rem)}.page-hero h1{font-family:var(--font-display);font-size:clamp(3rem,7vw,6rem);line-height:.98;font-weight:400;max-width:1050px}.hero-copy{font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.7;max-width:680px;margin-top:2rem;color:color-mix(in oklab,var(--background) 82%,transparent)}.page-hero-inner .button{margin-top:3rem}@media (max-width:600px){.page-hero h1{font-size:clamp(2.35rem,9.6vw,3rem)}}
  .hero-video{height:100vh;height:100svh;min-height:560px;background:var(--foreground)}.hero-video-poster,.hero-video-poster img,.hero-video>video{position:absolute;inset:0;width:100%;height:100%}.hero-video-poster{display:block}.hero-video-poster img,.hero-video>video{object-fit:cover;object-position:center}.hero-video>video{z-index:1;opacity:0;transition:opacity .7s ease}.hero-video>video.is-ready{opacity:1}.hero-sound-toggle{position:absolute;z-index:3;right:clamp(1.25rem,4vw,4rem);bottom:clamp(1.5rem,4vw,3.5rem);display:flex;align-items:center;gap:.7rem;padding:.7rem 0;background:transparent;border:0;border-bottom:1px solid color-mix(in oklab,var(--background) 70%,transparent);color:var(--background);font:600 .67rem var(--font-sans);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;text-shadow:0 1px 8px oklch(0 0 0/.65)}.hero-sound-toggle svg{width:20px;height:20px;stroke-width:1.6;filter:drop-shadow(0 1px 5px oklch(0 0 0/.7))}.hero-sound-toggle:hover{border-bottom-color:var(--background)}.hero-sound-toggle:focus-visible{outline:2px solid var(--background);outline-offset:5px}.page-hero>img.hero-logo{position:absolute;inset:auto;top:clamp(1.25rem,3vw,2.75rem);right:clamp(1.25rem,4vw,4rem);z-index:2;width:clamp(116px,13vw,208px);height:auto;object-fit:contain}
  .eyebrow{font-size:.68rem!important;font-weight:600;text-transform:uppercase;letter-spacing:.16em;color:var(--accent);margin-bottom:1rem}.page-hero .eyebrow{color:var(--background)}.content-section{padding:clamp(5rem,9vw,9rem) clamp(1.25rem,6vw,7rem)}.section-inner{max-width:1280px;margin:auto}.content-section h2,.connect-band h2{font-family:var(--font-display);font-size:clamp(2.2rem,5vw,4.5rem);line-height:1.05;font-weight:400;max-width:850px;margin-bottom:3rem}.content-section p{max-width:680px;line-height:1.75;color:var(--muted-foreground)}.dark-section{background:var(--foreground);color:var(--background)}.dark-section p{color:color-mix(in oklab,var(--background) 72%,transparent)}
  .feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--border)}.text-feature{position:relative;padding:2.5rem 3rem 3rem 0;border-bottom:1px solid var(--border)}.text-feature:nth-child(even){padding-left:3rem;border-left:1px solid var(--border)}.text-feature h3{font-family:var(--font-display);font-size:2rem;font-weight:400;margin-bottom:1rem}.text-feature p{font-size:.95rem}.feature-number{font-size:.68rem;color:var(--accent);letter-spacing:.16em}.editorial-image{margin:0;overflow:hidden}.editorial-image img{width:100%;height:100%;object-fit:cover;display:block}.image-wide{height:min(70vh,760px)}.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,7vw,8rem);align-items:center}.split-copy h2{font-family:var(--font-display);font-size:clamp(2.2rem,4vw,4rem);font-weight:400;line-height:1.05;margin-bottom:2rem}.split-copy p{line-height:1.8;color:var(--muted-foreground)}
  .button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:.9rem 1.4rem;background:var(--accent);color:var(--accent-foreground);border:1px solid var(--accent);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;transition:background .3s ease,border-color .3s ease}.button:hover{background:color-mix(in oklab,var(--accent) 85%,oklch(0 0 0));border-color:color-mix(in oklab,var(--accent) 85%,oklch(0 0 0))}.button-light{background:var(--accent);color:var(--accent-foreground);border-color:var(--accent)}.text-link{display:inline-flex;gap:.75rem;margin-top:1rem;padding-bottom:.35rem;border-bottom:1px solid var(--accent);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em}
  .property-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2rem,5vw,5rem)}.property-image{display:block;position:relative;aspect-ratio:4/3;overflow:hidden;margin-bottom:1.75rem}.property-image img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}.property-image:hover img{transform:scale(1.02)}.property-image span{position:absolute;top:1rem;left:1rem;background:var(--foreground);color:var(--background);padding:.5rem .7rem;font-size:.65rem;text-transform:uppercase;letter-spacing:.12em}.property-card h3{font-family:var(--font-display);font-size:2.2rem;font-weight:400}.property-card p{font-size:.88rem}.property-facts{margin-top:.65rem;color:var(--foreground)!important;font-weight:600}.property-price{margin-top:.35rem}
  .connect-band{display:grid;grid-template-columns:1fr 1fr;background:var(--foreground);color:var(--background)}.connect-band img{width:100%;height:100%;min-height:620px;object-fit:cover;object-position:50% 22%}.connect-band>div{padding:clamp(4rem,8vw,8rem);align-self:center}.connect-band p:not(.eyebrow){line-height:1.8;color:color-mix(in oklab,var(--background) 70%,transparent);max-width:580px;margin-bottom:2rem}
  .lead-form{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;max-width:880px}.lead-form label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.lead-form input,.lead-form select,.lead-form textarea{display:block;width:100%;margin-top:.55rem;border:1px solid var(--border);background:var(--background);padding:.9rem;font:400 1rem/1.4 var(--font-sans);border-radius:0}.lead-form input:focus,.lead-form select:focus,.lead-form textarea:focus{outline:2px solid var(--accent);outline-offset:1px}.lead-form .full{grid-column:1/-1}.consent{display:flex;gap:.75rem;text-transform:none!important;letter-spacing:0!important;font-weight:400!important;line-height:1.5}.consent input{width:18px;height:18px;margin:2px 0 0}.form-success{border-top:1px solid var(--accent);padding:2rem 0}.form-success h3{font:400 2.5rem var(--font-display)}
  .stat-row{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--border)}.stat{padding:2.5rem 1rem;text-align:center}.stat+.stat{border-left:1px solid var(--border)}.stat strong{display:block;font:400 clamp(2rem,4vw,4rem) var(--font-display)}.stat span{font-size:.68rem;text-transform:uppercase;letter-spacing:.12em}.legal-copy{max-width:820px}.legal-copy h2{font:400 2rem var(--font-display);margin:3rem 0 1rem}.legal-copy p,.legal-copy li{line-height:1.8;color:var(--muted-foreground);margin-bottom:1rem}.legal-copy ul{padding-left:1.2rem;list-style:disc}
  .intro-band{display:grid;grid-template-columns:minmax(260px,1fr) minmax(0,2fr);gap:clamp(2.5rem,5vw,5rem);align-items:center;padding:clamp(4.5rem,8vw,8rem) clamp(1.5rem,5vw,5rem);max-width:1500px;margin:auto}.intro-copy{text-align:left;display:flex;flex-direction:column;align-items:flex-start}.intro-band .intro-wordmark{width:min(100%,360px);height:auto;aspect-ratio:auto;object-fit:contain;margin:0 0 1.1rem}.intro-band p{max-width:420px;line-height:1.72;color:var(--foreground);margin:0 0 2rem;text-align:left}.intro-read-more{min-width:194px;background:transparent;color:var(--foreground);border-color:var(--foreground);font-size:.8rem}.intro-read-more:hover{background:var(--foreground);color:var(--background);border-color:var(--foreground)}.intro-socials{display:flex;gap:.85rem;justify-content:flex-start;width:194px;margin-top:1.5rem}.intro-socials a,.intro-socials span{width:38px;height:38px;border:1px solid var(--foreground);border-radius:50%;display:grid;place-items:center;color:var(--foreground);transition:background .25s ease,color .25s ease}.intro-socials a:hover{background:var(--foreground);color:var(--background)}.intro-socials svg{width:17px;height:17px;stroke-width:1.6}.intro-socials .social-solid svg{fill:currentColor;stroke:none}.social-placeholder{cursor:default}.intro-video-placeholder{position:relative;overflow:hidden;aspect-ratio:16/9}.intro-band .intro-video-placeholder>img{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:50% 25%}.intro-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:70px;height:70px;border:1px solid var(--background);border-radius:50%;display:grid;place-items:center;background:color-mix(in oklab,var(--background) 92%,transparent);color:var(--foreground)}.intro-play::after{content:"";position:absolute;inset:-10px;border:1px solid color-mix(in oklab,var(--background) 82%,transparent);border-radius:50%}.intro-play svg{width:20px;height:20px;margin-left:3px;stroke-width:1.5}
  .proof-band{position:relative;overflow:hidden;padding:clamp(6rem,9vw,8.5rem) clamp(1.25rem,6vw,7rem);color:var(--background);text-align:center}.proof-band{--proof-shift:0%}.proof-band>img{position:absolute;inset:-9% 0;width:100%;height:118%;object-fit:cover;object-position:center 52%;transform:translate3d(0,var(--proof-shift),0);will-change:transform}.proof-band::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,oklch(0 0 0/.52),oklch(0 0 0/.6))}.proof-inner{position:relative;z-index:1;max-width:1280px;margin:auto}.proof-band h2{font:400 clamp(2.4rem,4.5vw,4.25rem)/1.05 var(--font-display);text-transform:uppercase;margin:0 0 1.25rem}.proof-inner>p{max-width:1100px;margin:0 auto clamp(3.5rem,6vw,5rem);font-size:14px;line-height:1.7;color:var(--background)}.proof-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0}.proof-stat{position:relative;grid-column:span 2;display:flex;min-height:180px;flex-direction:column;align-items:center;justify-content:center;padding:1.5rem clamp(1rem,2.5vw,2.5rem)}.proof-stat:nth-child(4){grid-column:2/span 2}.proof-stat:nth-child(2)::before,.proof-stat:nth-child(3)::before,.proof-stat:nth-child(5)::before{content:"";position:absolute;left:0;top:14%;bottom:14%;width:1px;background:color-mix(in oklab,var(--background) 42%,transparent);transform-origin:center;transition:transform 1s ease-out var(--proof-delay)}.proof-stat:nth-child(4)::after,.proof-stat:nth-child(5)::after{content:"";position:absolute;left:8%;right:8%;top:0;height:1px;background:color-mix(in oklab,var(--background) 42%,transparent);transform-origin:center;transition:transform 1s ease-out var(--proof-delay)}.proof-grid strong{display:block;font:400 clamp(3rem,5.25vw,5.25rem)/1 var(--font-display);color:var(--background)}.proof-stat.proof-hero strong{font-size:clamp(3.4rem,6vw,6rem)}.proof-grid span{display:block;max-width:310px;margin-top:1.25rem;font-size:clamp(.72rem,.85vw,.8rem);font-weight:600;line-height:1.55;text-transform:uppercase;letter-spacing:.08em;color:var(--background)}.proof-band.motion-ready h2,.proof-band.motion-ready .proof-inner>p,.proof-band.motion-ready .proof-stat{opacity:0;transform:translateY(16px)}.proof-band.motion-ready h2{transition:opacity .8s ease-out,transform .8s ease-out}.proof-band.motion-ready .proof-inner>p{transition:opacity .8s ease-out .14s,transform .8s ease-out .14s}.proof-band.motion-ready .proof-stat{transition:opacity .75s ease-out var(--proof-delay),transform .75s ease-out var(--proof-delay)}.proof-band.motion-ready .proof-stat::before,.proof-band.motion-ready .proof-stat::after{transform:scale(0)}.proof-band.motion-ready.is-visible h2,.proof-band.motion-ready.is-visible .proof-inner>p,.proof-band.motion-ready.is-visible .proof-stat{opacity:1;transform:translateY(0)}.proof-band.motion-ready.is-visible .proof-stat::before,.proof-band.motion-ready.is-visible .proof-stat::after{transform:scale(1)}
  .tile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.tile-grid.four{grid-template-columns:repeat(4,1fr)}.tile{position:relative;display:block;aspect-ratio:3/4;overflow:hidden}.tile-grid.four .tile{aspect-ratio:3/4}.tile img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}.tile:hover img{transform:scale(1.04)}.tile::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,oklch(0 0 0/.78),oklch(0 0 0/.03) 68%)}.tile span{position:absolute;z-index:1;left:1.5rem;right:1.5rem;bottom:1.75rem;color:var(--background);font:400 clamp(1.1rem,1.7vw,1.6rem) var(--font-display);text-align:center}.tile-grid.four .tile span{display:grid;gap:.55rem;font:400 clamp(1.05rem,1.45vw,1.45rem)/1.2 var(--font-display);text-transform:none;bottom:1.5rem}.tile-grid.four .tile small{font:600 .6rem var(--font-sans);text-transform:uppercase;letter-spacing:.12em}.enclave-grid{grid-template-columns:minmax(0,2fr) minmax(240px,1fr)}.enclave-grid .tile{aspect-ratio:16/7}.enclave-grid .tile span{display:grid;gap:.5rem;text-align:left}.enclave-grid .tile small{font:600 .65rem var(--font-sans);text-transform:uppercase;letter-spacing:.14em}
  .area-search-band{background:var(--background);color:var(--foreground);padding:clamp(5rem,8vw,8rem) clamp(1.25rem,6vw,7rem)}.area-search-heading{max-width:1280px;margin:0 auto clamp(2.75rem,5vw,4rem);text-align:center}.area-search-heading h2{font:400 clamp(2rem,3.8vw,3.5rem)/1.1 var(--font-display);text-transform:uppercase}.area-search-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.75rem,1.2vw,1.25rem);max-width:1280px;margin:auto}.area-search-card{position:relative;display:block;aspect-ratio:1/1;overflow:hidden}.area-search-card img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}.area-search-card::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,oklch(0 0 0/.58),oklch(0 0 0/.02) 62%)}.area-search-card span{position:absolute;z-index:1;left:clamp(1rem,2vw,2rem);right:clamp(1rem,2vw,2rem);bottom:clamp(1.75rem,3vw,3rem);color:var(--background);text-align:center;text-transform:uppercase;font:400 clamp(1.15rem,1.8vw,1.75rem)/1.2 var(--font-display)}.area-search-card:hover img{transform:scale(1.025)}
  .directory-jump{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--border)}.directory-jump a{padding:1.5rem;text-align:center;border-right:1px solid var(--border);font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em}.directory-jump a:last-child{border-right:0}.directory-jump a:hover{background:var(--foreground);color:var(--background)}.neighborhood-directory-group{scroll-margin-top:100px}.directory-heading{display:grid;grid-template-columns:minmax(240px,.75fr) minmax(0,1.25fr);gap:clamp(2.5rem,6vw,6rem);align-items:center;margin-bottom:clamp(3rem,6vw,5rem)}.directory-heading img{width:100%;aspect-ratio:4/3;object-fit:cover}.directory-heading h2{margin:0}.directory-list{border-top:1px solid var(--border)}.dark-section .directory-list{border-color:color-mix(in oklab,var(--background) 26%,transparent)}.directory-row{display:grid;grid-template-columns:minmax(220px,1.35fr) minmax(150px,.7fr) minmax(180px,.8fr) auto;gap:1.25rem;align-items:center;padding:1.4rem 0;border-bottom:1px solid var(--border);font-size:.8rem}.dark-section .directory-row{border-color:color-mix(in oklab,var(--background) 26%,transparent)}.directory-row:hover .directory-name{color:var(--accent)}.directory-name{font:400 1.25rem var(--font-display)}

  .working-band{overflow:hidden;background:var(--foreground);color:var(--background);padding:clamp(5rem,8vw,7.5rem) 0 0}.working-inner{width:min(1260px,calc(100% - clamp(2.5rem,10vw,10rem)));margin:auto}.working-band h2{margin:0 0 clamp(2.75rem,5vw,4.5rem);text-align:center;font:400 clamp(2.25rem,4vw,3.75rem)/1 var(--font-display);text-transform:uppercase}.working-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.working-tile{position:relative;display:block;aspect-ratio:1.03/1;overflow:hidden}.working-tile img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}.working-tile:nth-child(3) img{object-position:50% 22%}.working-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,oklch(0 0 0/.74),oklch(0 0 0/.02) 70%)}.working-tile span{position:absolute;z-index:1;left:1rem;right:1rem;bottom:clamp(1.5rem,3vw,3rem);color:var(--background);text-align:center;text-transform:uppercase;font:400 clamp(1.2rem,2.25vw,2rem)/1.25 var(--font-display)}.working-tile:hover img{transform:scale(1.025)}.recognition-marquee{--logo-cell:clamp(275px,26.25vw,400px);--logo-width:clamp(190px,16.875vw,260px);--logo-height:65px;--logo-speed:46s;position:relative;margin-top:clamp(4.5rem,8vw,7rem);overflow:hidden;border-top:1px solid color-mix(in oklab,var(--background) 22%,transparent);padding:clamp(3.75rem,5vw,4.5rem) 0 clamp(1.75rem,2.8vw,2.5rem)}.recognition-track{display:flex;width:max-content;transform:translate3d(0,0,0);will-change:transform;animation:recognition-scroll var(--logo-speed) linear infinite}.recognition-logo{flex:0 0 var(--logo-cell);width:var(--logo-cell);height:clamp(95px,8.75vw,120px);display:grid;place-items:center;padding-inline:calc((var(--logo-cell) - var(--logo-width))/2);border-right:1px solid color-mix(in oklab,var(--background) 34%,transparent)}.recognition-logo img{display:block;width:var(--logo-width);height:var(--logo-height);max-width:100%;object-fit:contain;image-rendering:auto;filter:grayscale(1) brightness(0) invert(1);opacity:.92;backface-visibility:hidden;transform:translateZ(0)}@keyframes recognition-scroll{to{transform:translate3d(-50%,0,0)}}
  @media(prefers-reduced-motion:reduce){.recognition-marquee{overflow:visible}.recognition-track{display:grid;width:100%;grid-template-columns:repeat(4,minmax(0,1fr));animation:none;transform:none;will-change:auto}.recognition-logo{width:100%;padding-inline:clamp(1rem,3vw,2rem)}.recognition-logo:nth-child(n+8){display:none}.recognition-logo:nth-child(4n){border-right:0}}
  .neighborhood-showcase{padding:clamp(5rem,8vw,8rem) clamp(1.25rem,6vw,7rem);background:var(--background)}.neighborhood-showcase-inner{max-width:1320px;margin:auto}.neighborhood-showcase-head{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-bottom:clamp(2.5rem,4.5vw,4rem)}.neighborhood-showcase h2{margin:0;font:400 clamp(2.2rem,4vw,3.6rem)/1 var(--font-display);text-transform:uppercase}.carousel-nav{display:flex;align-items:center;gap:1rem;font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.carousel-nav span{color:var(--border)}.carousel-nav button{background:none;border:0;padding:0;font:inherit;color:var(--foreground);text-transform:uppercase;letter-spacing:.12em;border-bottom:1px solid var(--foreground);cursor:pointer;transition:opacity .3s ease}.carousel-nav button:disabled{opacity:.3;cursor:default}.neighborhood-showcase-viewport{overflow:hidden}.neighborhood-showcase-track{--nb-gap:clamp(1rem,2.5vw,2.5rem);display:flex;gap:var(--nb-gap);transition:transform .8s cubic-bezier(.22,.61,.36,1)}.neighborhood-showcase-item{position:relative;flex:0 0 calc((100% - (var(--per-view) - 1) * var(--nb-gap)) / var(--per-view));min-width:0}.neighborhood-showcase-item img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;transition:transform .7s ease}.neighborhood-showcase-item span{display:flex;align-items:center;min-height:132px;padding:2.4rem 1rem 3rem 3.5rem;font:400 clamp(.95rem,1.05vw,1.1rem)/1.3 var(--font-display);letter-spacing:.1em;text-transform:uppercase}.neighborhood-showcase-item span::before{content:"";position:absolute;left:0;bottom:0;height:132px;width:1px;background:color-mix(in oklab,var(--foreground) 22%,transparent)}.neighborhood-showcase-item:hover img{transform:scale(1.015)}.quote-band{background:var(--foreground);color:var(--background);padding:clamp(5rem,8vw,7.5rem) clamp(1.5rem,6vw,7rem);text-align:center}.quote-band p{max-width:1120px;margin:auto;font:400 clamp(1.3rem,2.15vw,2rem)/1.55 var(--font-display);font-style:italic;text-transform:uppercase}.quote-band span{display:block;margin-top:1.75rem;font:400 .78rem/1.5 var(--font-display);text-transform:uppercase;letter-spacing:.08em;color:var(--background)}
  .social-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:1280px;margin:auto;padding:clamp(5rem,8vw,7rem) clamp(1.25rem,6vw,7rem)}.social-row a{display:grid;justify-items:center;gap:1.5rem;color:var(--foreground)}.social-icon{width:92px;height:92px;border-radius:50%;display:grid;place-items:center;background:var(--foreground);color:var(--background)}.social-icon svg{width:45px;height:45px;stroke-width:1.8}.social-name{font:400 clamp(1.5rem,2.4vw,2.25rem)/1 var(--font-display);text-transform:uppercase;border-bottom:1px solid var(--border);padding-bottom:.4rem}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:2rem;margin-bottom:2.5rem}.section-head h2{margin-bottom:0}.center-link{display:flex;justify-content:center;margin-top:4rem}.listing-view-all{min-width:190px;min-height:58px;padding:1.1rem 2.875rem;background:transparent;color:var(--foreground);border:1px solid var(--foreground)}.listing-view-all:hover{background:var(--foreground);color:var(--background)}.testimonial-band{padding:clamp(4rem,8vw,7rem) clamp(1.5rem,6vw,7rem);text-align:center}.testimonial-band blockquote{max-width:900px;margin:0 auto 2rem;font:400 clamp(1.35rem,2.5vw,2.1rem)/1.55 var(--font-display)}.testimonial-band p{font-size:.74rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em}.testimonial-band span{display:block;margin-top:.4rem;font-size:.7rem;color:var(--muted-foreground)}

@media(max-width:900px){.intro-band,.proof-grid{grid-template-columns:1fr}.intro-band{gap:3.5rem}.intro-copy{order:1;align-items:center;text-align:center}.intro-video-placeholder{order:2;width:100%}.intro-band p{text-align:center;margin-inline:auto}.intro-band .intro-wordmark{width:min(78%,330px);margin-inline:auto}.intro-socials{justify-content:center;width:194px;margin-inline:auto}.proof-band{padding-block:5.5rem}.proof-band>img{object-position:center;inset:-6% 0;height:112%}.proof-inner>p{margin-bottom:3.25rem}.proof-stat,.proof-stat:nth-child(4){grid-column:1;min-height:0;padding:2.35rem .5rem}.proof-stat:nth-child(n+2)::before{content:"";position:absolute;left:8%;right:8%;top:0;bottom:auto;width:auto;height:1px;background:color-mix(in oklab,var(--background) 42%,transparent);transform-origin:center;transition:transform 1s ease-out var(--proof-delay)}.proof-stat:nth-child(4)::after,.proof-stat:nth-child(5)::after{display:none}.proof-grid strong{font-size:clamp(3.5rem,16vw,5.25rem)}.proof-stat.proof-hero strong{font-size:clamp(4rem,17.5vw,5.75rem)}.proof-grid span{max-width:350px;font-size:.78rem}.tile-grid,.tile-grid.four,.enclave-grid{grid-template-columns:1fr 1fr}.tile-grid .tile,.enclave-grid .tile{aspect-ratio:4/5}.area-search-grid{grid-template-columns:1fr}.area-search-card{aspect-ratio:4/3}.neighborhood-showcase-grid{grid-template-columns:1fr 1fr}.directory-jump{grid-template-columns:1fr}.directory-jump a{border-right:0;border-bottom:1px solid var(--border)}.directory-heading{grid-template-columns:1fr}.directory-row{grid-template-columns:1fr auto}.directory-row span:nth-child(2),.directory-row span:nth-child(3){grid-column:1}.directory-row span:last-child{grid-column:2;grid-row:1/4}.working-inner{width:calc(100% - 2rem)}.working-grid{grid-template-columns:1fr;gap:.8rem}.working-tile{aspect-ratio:4/3}.working-tile span{font-size:1.65rem}.recognition-marquee{--logo-cell:288px;--logo-width:198px;--logo-height:55px;--logo-speed:40s}.recognition-logo{height:95px}.social-row{gap:2rem}.social-icon{width:72px;height:72px}.social-icon svg{width:34px;height:34px}.section-head{flex-direction:column;gap:.75rem}}
@media(max-width:767px){.hero-video{height:100vh;height:100svh;min-height:520px}.hero-video-poster img,.hero-video>video{object-position:center 42%}.hero-sound-toggle{right:1.25rem;bottom:1.5rem}}
@media(max-width:600px){.neighborhood-showcase-grid{grid-template-columns:1fr}.social-row{grid-template-columns:1fr;gap:3rem}.social-name{font-size:1.65rem}}

/* Neighborhood showcase: balanced mobile treatment */
@media(max-width:900px){
  .neighborhood-showcase{padding:clamp(3.5rem,10vw,5rem) clamp(1.25rem,5vw,2rem)}
  .neighborhood-showcase-head{flex-direction:column;align-items:flex-start;gap:1.25rem;margin-bottom:2rem}
  .neighborhood-showcase-item span{min-height:96px;padding:1.6rem .75rem 2rem 2.25rem;font-size:.95rem;line-height:1.35}
  .neighborhood-showcase-item span::before{height:96px}
}
@media(max-width:600px){
  .neighborhood-showcase-item img{aspect-ratio:4/3}
  .neighborhood-showcase-item span{min-height:84px;padding:1.4rem .5rem 1.75rem 2rem;font-size:.92rem;letter-spacing:.08em}
  .neighborhood-showcase-item span::before{height:84px}
}
@media(max-width:900px){.desktop-nav,.header-phone{display:none}.menu-button{display:flex}.site-header{height:78px;padding-block:3px}.side-menu{padding-top:calc(78px + 1.5rem)}.mobile-menu{inset:78px 0 auto;min-height:calc(100vh - 78px)}.footer-grid,.connect-band,.split{grid-template-columns:1fr}.footer-grid{gap:3rem}.connect-band img{min-height:420px}.feature-grid,.property-grid{grid-template-columns:1fr}.text-feature:nth-child(even){padding-left:0;border-left:0}.lead-form{grid-template-columns:1fr}.lead-form .full{grid-column:auto}.page-hero:not(.hero-video){min-height:68vh}.stat-row{grid-template-columns:1fr}.stat+.stat{border-left:0;border-top:1px solid var(--border)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.hero-video>video{display:none}.recognition-track{animation-play-state:paused}.proof-band h2,.proof-band .proof-inner>p,.proof-band .proof-stat{opacity:1!important;transform:none!important}.proof-stat::before,.proof-stat::after{transform:scale(1)!important}.proof-band>img{transform:none!important}}

.testimonial-carousel{padding:clamp(4.5rem,8vw,7.5rem) clamp(1.25rem,6vw,7rem);background:var(--background);color:var(--foreground)}
.testimonial-carousel-inner{max-width:1280px;margin:auto;text-align:center}
.testimonial-carousel-inner h2{font:400 clamp(2rem,3.8vw,3.5rem)/1.1 var(--font-display);text-transform:uppercase;margin:.75rem 0 clamp(2.5rem,5vw,4rem)}
.testimonial-stage{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(.5rem,2vw,2rem)}
.tc-arrow{width:56px;height:56px;display:grid;place-items:center;background:transparent;border:1px solid var(--border);color:var(--foreground);cursor:pointer;transition:background .25s ease,color .25s ease,border-color .25s ease}
.tc-arrow:hover{background:var(--foreground);border-color:var(--foreground);color:var(--background)}
.tc-arrow svg{width:24px;height:24px;stroke-width:1.5}
.testimonial-viewport{overflow:hidden}
.testimonial-track{--tc-gap:clamp(1.5rem,3vw,3.5rem);display:flex;gap:var(--tc-gap);transition:transform .7s cubic-bezier(.22,.61,.36,1)}
.testimonial-card{flex:0 0 calc((100% - (var(--per-view) - 1) * var(--tc-gap)) / var(--per-view));margin:0;display:flex;flex-direction:column;align-items:center;gap:1.25rem;padding:clamp(1rem,2vw,2rem) clamp(.5rem,2vw,2rem);text-align:center}
.tc-stars{color:var(--accent);letter-spacing:.3em;font-size:1rem}
.testimonial-card h3{font:400 clamp(1.5rem,2.4vw,2.25rem)/1.2 var(--font-display);margin:0}
.testimonial-card blockquote{margin:0;max-width:44ch;font-size:1rem;line-height:1.75;color:var(--muted-foreground)}
.testimonial-card figcaption{display:grid;gap:.35rem}
.tc-name{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em}
.tc-role{font-size:.72rem;color:var(--muted-foreground)}
.tc-dots{display:flex;justify-content:center;gap:.75rem;margin-top:clamp(2rem,4vw,3rem)}
.tc-dots button{width:34px;height:2px;border:0;padding:0;background:var(--border);cursor:pointer;transition:background .25s ease}
.tc-dots button.is-active{background:var(--accent)}
.story-list{max-width:900px;margin:auto;padding:clamp(4rem,8vw,7rem) clamp(1.25rem,6vw,3rem);display:grid;gap:clamp(3rem,6vw,5rem)}
.story-entry{scroll-margin-top:140px;border-top:1px solid var(--border);padding-top:clamp(2rem,4vw,3rem)}
.story-entry:first-child{border-top:0;padding-top:0}
.story-entry h2{font:400 clamp(1.75rem,3vw,2.75rem)/1.2 var(--font-display);margin:.75rem 0 1rem}
.story-person{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;margin-bottom:1.75rem}
.story-person span{display:block;margin-top:.4rem;font-size:.72rem;font-weight:400;letter-spacing:.06em;text-transform:none;color:var(--muted-foreground)}
.story-body p{margin-bottom:1.25rem;line-height:1.8}
@media (max-width:960px){.testimonial-stage{grid-template-columns:auto minmax(0,1fr) auto}.tc-arrow{width:46px;height:46px}}
@media (prefers-reduced-motion:reduce){.testimonial-track{transition:none}}

.home-connect{position:relative;display:flex;align-items:center;min-height:clamp(520px,44vw,700px);background:#000;overflow:hidden}
.home-connect-copy{position:relative;z-index:2;width:min(52%,700px);padding:clamp(3.5rem,6vw,6rem) clamp(1.5rem,4vw,4.5rem)}
.home-connect-copy h2{font:400 clamp(2rem,3.2vw,3rem)/1.08 var(--font-display);text-transform:uppercase;margin:0;color:#fff;white-space:nowrap}
.home-connect-rule{display:block;width:84px;height:1px;background:rgb(255 255 255 / .6);margin:clamp(1.5rem,2.5vw,2.25rem) 0}
.home-connect-copy p{max-width:52ch;font-size:clamp(1rem,1.1vw,1.08rem);line-height:1.8;color:rgb(255 255 255 / .86);margin:0 0 clamp(2.25rem,4vw,3rem)}
.home-connect-cta{background:transparent;color:#fff;border:1px solid rgb(255 255 255 / .85);min-height:58px;padding:1.1rem 2.875rem}
.home-connect-cta:hover{background:#fff;color:#000;border-color:#fff}
.home-connect{--hc-shift:0%}
.home-connect-image{position:absolute;inset:-7% 0;z-index:1;background-repeat:no-repeat;background-size:cover;background-position:62% 30%;transform:translate3d(0,var(--hc-shift),0);will-change:transform}
.home-connect-image::after{content:"";position:absolute;inset:0;background:linear-gradient(95deg,rgb(38 35 32 / .62) 0%,rgb(44 40 36 / .5) 40%,rgb(52 48 44 / .3) 68%,rgb(58 54 50 / .16) 100%)}
.home-connect.motion-ready .home-connect-image{opacity:0;transition:opacity 1.1s ease}
.home-connect.motion-ready .home-connect-copy h2,.home-connect.motion-ready .home-connect-copy p,.home-connect.motion-ready .home-connect-cta{opacity:0;transform:translateY(18px);transition:opacity .9s ease,transform .9s cubic-bezier(.22,.61,.36,1)}
.home-connect.motion-ready .home-connect-rule{transform:scaleX(0);transform-origin:left;transition:transform .8s cubic-bezier(.22,.61,.36,1)}
.home-connect.motion-ready .home-connect-copy h2{transition-delay:.15s}
.home-connect.motion-ready .home-connect-rule{transition-delay:.45s}
.home-connect.motion-ready .home-connect-copy p{transition-delay:.6s}
.home-connect.motion-ready .home-connect-cta{transition-delay:.85s}
.home-connect.motion-ready.is-visible .home-connect-image{opacity:1}
.home-connect.motion-ready.is-visible .home-connect-copy h2,.home-connect.motion-ready.is-visible .home-connect-copy p,.home-connect.motion-ready.is-visible .home-connect-cta{opacity:1;transform:translateY(0)}
.home-connect.motion-ready.is-visible .home-connect-rule{transform:scaleX(1)}
@media (max-width:1200px) and (min-width:901px){
  .home-connect{min-height:clamp(480px,56vw,620px)}
  .home-connect-copy{width:min(62%,560px);padding:clamp(3rem,5.5vw,4.5rem) clamp(1.75rem,4vw,3rem)}
  .home-connect-copy h2{font-size:clamp(2.1rem,3.6vw,2.9rem)}
  .home-connect-copy p{max-width:46ch}
  .home-connect-image{background-position:66% 26%}
  .home-connect-image::after{background:linear-gradient(95deg,rgb(38 35 32 / .7) 0%,rgb(44 40 36 / .56) 46%,rgb(52 48 44 / .34) 74%,rgb(58 54 50 / .2) 100%)}
}
@media (max-width:900px){
  .home-connect{display:block;min-height:0}
  .home-connect-image{position:relative;inset:auto;height:clamp(340px,58vw,520px);background-position:58% 18%;transform:none}
  .home-connect-image::after{background:none}
  .home-connect-copy{width:auto;padding:clamp(2.5rem,7vw,3.5rem) clamp(1.5rem,6vw,3rem) clamp(3.25rem,8vw,4.5rem)}
  .home-connect-copy h2{font-size:clamp(1.8rem,6vw,2.4rem);white-space:normal}
  .home-connect-rule{margin:1.5rem 0}
  .home-connect-copy p{max-width:44ch;font-size:1rem;line-height:1.8;margin-bottom:2.25rem}
  .home-connect-cta{width:100%;max-width:340px;justify-content:center}
}
@media (max-width:480px){
  .home-connect-image{height:clamp(300px,74vw,400px);background-position:58% 16%}
  .home-connect-copy p{max-width:none}
}
@media (prefers-reduced-motion:reduce){.home-connect *{transition:none!important;opacity:1!important;transform:none!important}}

.testimonial-card{align-items:center}
.testimonial-card blockquote{max-width:58ch;font-size:1.05rem}
.tc-more{background:transparent;border:0;padding:0;cursor:pointer;font-size:.74rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--foreground);border-bottom:1px solid var(--border);padding-bottom:.35rem}
.tc-more:hover{border-bottom-color:var(--accent)}
.tc-story{max-width:62ch;margin-top:1.75rem;text-align:left;animation:fade-in .4s ease-out}
.tc-story p{margin-bottom:1.1rem;line-height:1.8;color:var(--muted-foreground)}
.tc-story p:last-child{margin-bottom:0}

.quote-band-inner{max-width:1120px;margin:auto}
.quote-band .quote-attrib{margin-top:1.75rem}
.quote-band .quote-role{margin-top:.5rem;font-size:.72rem;letter-spacing:.1em;opacity:.7}
.quote-more{margin-top:2.25rem;background:transparent;border:0;padding:0 0 .35rem;font-size:.74rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--background);border-bottom:1px solid rgb(255 255 255 / .35);cursor:pointer;transition:border-color .25s ease}
.quote-more:hover{border-bottom-color:var(--accent)}
.quote-story{max-width:64ch;margin:2.25rem auto 0;text-align:left;animation:fade-in .4s ease-out}
.quote-story p{margin:0 0 1.1rem;font:400 1rem/1.85 var(--font-body);font-style:normal;text-transform:none;color:rgb(255 255 255 / .8)}
.quote-story p:last-child{margin-bottom:0}
.quote-nav{justify-content:center;margin-top:clamp(2.5rem,4vw,3.5rem)}
.quote-nav button{color:var(--background);border-bottom-color:rgb(255 255 255 / .5)}
.quote-nav span{color:rgb(255 255 255 / .35)}
.quote-band .quote-more{display:inline-flex;align-items:center;gap:.5rem}
.quote-band .quote-more span,.quote-band .quote-nav span{display:inline;margin:0;font-size:inherit;letter-spacing:inherit}
.quote-nav{gap:0}
.quote-nav button+button{margin-left:1.5rem;position:relative}
.quote-nav button+button::before{content:"|";position:absolute;left:-.85rem;bottom:0;color:rgb(255 255 255 / .35)}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Unified section title scale */
:root{--section-title:38px;--section-title-lh:49px}
.neighborhood-showcase h2,
.area-search-heading h2,
.working-band h2,
.proof-band h2,
.home-connect-copy h2,
.section-head h2{font-size:var(--section-title);line-height:var(--section-title-lh)}
.neighborhood-showcase h2,
.area-search-heading h2,
.working-band h2,
.proof-band h2,
.home-connect-copy h2{text-align:center}
.neighborhood-showcase-head{position:relative;justify-content:center}
.neighborhood-showcase-head .carousel-nav{position:absolute;right:0;top:50%;transform:translateY(-50%)}
@media(max-width:900px){
  .neighborhood-showcase h2,.area-search-heading h2,.working-band h2,.proof-band h2,.home-connect-copy h2,.section-head h2{font-size:30px;line-height:39px}
  .neighborhood-showcase-head{align-items:center}
  .neighborhood-showcase-head .carousel-nav{position:static;transform:none}
}

/* Reviewed Phase 1 navigation and portrait overlay. */
.desktop-nav{align-items:center;gap:clamp(.75rem,1.5vw,1.5rem)}
.desktop-nav>a,.desktop-nav summary{font-family:var(--font-display);font-size:14px;line-height:15px;text-transform:uppercase;letter-spacing:.1em;text-shadow:0 1px 2px oklch(0 0 0/.78),0 0 10px oklch(0 0 0/.34);white-space:nowrap}
.desktop-nav-group{position:relative}
.desktop-nav-group summary{display:flex;align-items:center;gap:.45rem;cursor:pointer;list-style:none}
.desktop-nav-group summary::-webkit-details-marker{display:none}
.desktop-nav-group summary::after{content:"⌄";font-family:var(--font-sans);font-size:1rem;line-height:.6}
.desktop-nav-group[open] summary::after{transform:rotate(180deg)}
.desktop-nav-sub{position:absolute;top:calc(100% + 1rem);left:-1rem;min-width:230px;padding:.6rem;background:var(--foreground);box-shadow:0 14px 32px oklch(0 0 0/.25);display:grid;z-index:80}
.desktop-nav-sub a{display:block;padding:.72rem .8rem;color:var(--background);font-family:var(--font-sans);font-size:.76rem;line-height:1.35;text-transform:uppercase;letter-spacing:.08em;text-shadow:none;white-space:nowrap}
.desktop-nav-sub a:hover,.desktop-nav-sub a:focus-visible{color:var(--accent);background:color-mix(in oklab,var(--background) 10%,transparent)}
.desktop-nav summary:focus-visible,.desktop-nav>a:focus-visible,.header-phone:focus-visible{outline:2px solid var(--background);outline-offset:5px}
.intro-portrait{position:relative;overflow:hidden;aspect-ratio:16/9}
.intro-band .intro-portrait>img{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:50% 25%}
.neighborhood-showcase-item--text{display:flex;flex-direction:column;justify-content:space-between;aspect-ratio:3/4;padding:2rem 1.5rem;border:1px solid color-mix(in oklab,var(--foreground) 22%,transparent);background:linear-gradient(145deg,color-mix(in oklab,var(--background) 95%,var(--foreground)),var(--background));color:var(--foreground);text-decoration:none}
.neighborhood-showcase-item--text>span{display:block;min-height:0;padding:0;font-size:clamp(1.35rem,2vw,1.9rem);line-height:1.15;letter-spacing:.02em;text-transform:none}
.neighborhood-showcase-item--text>span::before{display:none}
.neighborhood-showcase-item--text small{font-family:var(--font-sans);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}
.neighborhood-showcase-item--text:hover,.neighborhood-showcase-item--text:focus-visible{border-color:var(--foreground);outline-offset:3px}
@media(max-width:1200px){.desktop-nav,.header-phone{display:none}}
@media(max-width:900px){.intro-portrait{width:100%}}
@media(max-width:600px){.neighborhood-showcase-item--text{aspect-ratio:4/3;min-height:240px}}
