@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,700;1,9..40,400&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400&family=Source+Sans+3:ital,wght@0,400;0,500;0,600;0,700;1,400&display=swap");

:root {
  /* Matches sanctuary-bath.vercel.app HSL tokens */
  --background: 40 20% 96%;
  --foreground: 0 0% 18%;
  --muted-foreground: 0 0% 33%;
  --secondary: 36 14% 92%;
  --accent: 36 12% 88%;
  --border-hsl: 36 10% 86%;
  --primary: 0 0% 18%;
  --primary-foreground: 40 20% 96%;
  --radius: 0.5rem;

  --ivory: #F7F5F1;
  --warm-stone: #E6E2DD;
  --soft-taupe: #C1B5AA;
  --champagne-brass: #B49D87;
  --arch-taupe: #88745D;
  --charcoal-espresso: #433B33;

  /* Four style palette tokens */
  --warm-organic-modern: #C9A85D;   /* warm yellow */
  --refined-transitional: #233A5E;  /* navy blue */
  --classical-elegance: #B49D87;    /* champagne brass */
  --coastal-serenity: #4A8FA8;      /* cerulean blue */
  --cream: #F7F5F1;
  --cream-deep: #E6E2DD;
  --white: #ffffff;
  --charcoal: #2f2f2f;
  --charcoal-soft: #3a332c;
  --ink: #433B33;
  --paper: #F7F5F1;
  --cream-2: #E6E2DD;
  --line: #C1B5AA;
  --muted: #88745D;
  --shadow: 0 28px 80px rgba(67, 59, 51, 0.14);
  --gold: #c5a46e;
  --gold-light: #E6E2DD;
  --gold-muted: #88745D;
  --slate: #545454;
  --border: #ddd9d2;
  --border-soft: #dedcd7;
  --stone: #edeae4;
  --font-heading: "Cormorant Garamond", Georgia, serif;
  --font-body: "Source Sans 3", Arial, sans-serif;

  --sanctuary-ivory: #f7f5f1;
  --sanctuary-stone: #e6e2dd;
  --sanctuary-taupe: #88745d;
  --sanctuary-soft-taupe: #c1b5aa;
  --sanctuary-brass: #b49d87;
  --sanctuary-charcoal: #433b33;
  --sanctuary-ink: #2f2924;

  --ssb-cream: #f7f5f1;
  --ssb-charcoal: #433b33;
  --ssb-dark: #121c16;
  --ssb-dark-soft: #18231c;
  --ssb-gold: #c5a46e;
  --ssb-muted: #c9ccc6;
  --ssb-border-dark: rgba(247, 245, 240, 0.28);
  /* Spacing system: 8 / 12–16 / 24–32 / section mobile 48–72 / desktop 80–120 */
  --space-1: 0.5rem;   /* 8px */
  --space-2: 0.75rem;  /* 12px */
  --space-3: 1rem;     /* 16px */
  --space-4: 1.5rem;   /* 24px */
  --space-5: 2rem;     /* 32px */
  --space-section: clamp(3rem, 2.5rem + 2.5vw, 7.5rem); /* ~48–120px */
  --measure: 65ch;     /* comfortable reading width */

  --ssb-max: 72rem; /* 1152px — consistent content rail */
  --ssb-max-narrow: 58.375rem;
  --ssb-gutter: clamp(1rem, 4vw, 4rem);
  --ssb-section-y: var(--space-section);
  --ssb-section-y-tight: clamp(2.5rem, 2rem + 2vw, 6rem);
  --ssb-serif: "Cormorant Garamond", Georgia, serif;
  --ssb-editorial: "Playfair Display", Georgia, serif;
  --ssb-sans: "Source Sans 3", system-ui, sans-serif;
  --ssb-ui: "DM Sans", system-ui, sans-serif;

  --brand-name-size: clamp(1.25rem, 2.6vw, 1.78rem);
  --brand-name-weight: 400;
  --brand-name-ls: 0.22em;
  --brand-name-lh: 1;
  --brand-tag-size: 0.6875rem;
  --brand-tag-weight: 600;
  --brand-tag-ls: 0.28em;
  --brand-tag-gap: 0.75rem;
  --brand-name-color: #433b33;
  --brand-tag-color: var(--brand-name-color);

  --panel-width: min(540px, 100vw);
  --panel-pad-x: 34px;
  --panel-pad-y: 42px;
  --panel-pad-bottom: 34px;
  --panel-header-min-h: 88px;
  --panel-border: rgba(67, 59, 51, 0.08);
  --panel-text: #4f4d48;
  --panel-muted: rgba(67, 59, 51, 0.72);
  --panel-shadow: 0 18px 40px -24px rgba(67, 59, 51, 0.14);
  --panel-kicker-size: 0.625rem;
  --panel-kicker-ls: 0.2em;
  --panel-nav-size: 0.875rem;
  --panel-nav-ls: 0.14em;
  --panel-nav-weight: 600;
  --panel-link-size: var(--panel-nav-size);
  --panel-link-ls: var(--panel-nav-ls);
  --panel-title-size: clamp(1.65rem, 4vw, 2rem);
  --panel-body-size: 0.95rem;
  --panel-content-gap: 1.5rem;
  --panel-item-gap: 1.35rem;

  --page-x: var(--ssb-gutter);
  --section-y: var(--ssb-section-y);
  --content-max: var(--ssb-max);
  --heading-max: min(57.5rem, 100%);

  /* ==================================================
     SANCTUARY — Responsive 1rem Type + Spacing System
     Base: 1rem = 16px
     Brand fonts kept (Cormorant + Source Sans 3)
  ================================================== */
  --text-xs: 0.75rem;       /* 12px */
  --text-sm: 0.875rem;      /* 14px */
  --text-base: 1rem;        /* 16px */
  --text-md: 1.125rem;      /* 18px */
  --text-lg: 1.25rem;       /* 20px */
  --text-xl: 1.5rem;        /* 24px */
  --text-2xl: 2rem;         /* 32px */
  --text-3xl: 2.75rem;      /* 44px */
  --text-4xl: 4rem;         /* 64px */

  --space-xs: 0.5rem;       /* 8px */
  --space-sm: 0.75rem;      /* 12px */
  --space-md: 1rem;         /* 16px */
  --space-lg: 1.5rem;       /* 24px */
  --space-xl: 2rem;         /* 32px */
  --space-2xl: 3rem;        /* 48px */
  --space-3xl: 4rem;        /* 64px */
  --space-4xl: 6rem;        /* 96px */

  --container-width: 1200px;
  --container-padding: 1rem;

  /* Map site heading tokens to system */
  --hero-heading: var(--text-4xl);
  --section-heading: var(--text-3xl);
  --sub-heading: var(--text-2xl);
  --body-copy: var(--text-base);
  --subheader: var(--text-md);

  --hero-heading-size: var(--hero-heading);
  --section-heading-size: var(--section-heading);
  --sub-heading-size: var(--sub-heading);
  --lux-ease: cubic-bezier(0.22, 1, 0.36, 1);

  --header-surface: #f7f5f1;
  --header-surface-glass: #f7f5f1; /* solid — no translucent glass */
  --header-border: #e8e4dc;
  --header-ink: #433b33;
  --header-chrome-light: #f7f5f1;

  --max: 80rem;
  --header-h: 4.75rem;
  --radius-sm: 0.375rem;
  --radius-md: 0.75rem;
  --radius-lg: 1rem;
  --shadow-soft: 0 18px 40px -24px rgba(47, 47, 47, 0.28);
  --shadow-card: 0 24px 48px -28px rgba(47, 47, 47, 0.22);
  --shadow-hover: 0 28px 56px -24px rgba(47, 47, 47, 0.32);
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --transition: 0.35s var(--ease-out);
}

*, *::before, *::after { box-sizing: border-box; }

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  overflow-x: clip;
}

body {
  margin: 0;
  background: var(--ssb-cream);
  color: var(--ssb-charcoal);
  font-family: var(--font-body, var(--ssb-sans));
  font-size: 1rem; /* 1rem = 16px base */
  line-height: 1.7;
  font-weight: 400;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  overflow-x: clip;
  max-width: 100%;
}

::selection {
  background: var(--sanctuary-brass);
  color: #fff;
}

:focus-visible {
  outline: 2px solid rgba(197, 164, 110, 0.55);
  outline-offset: 3px;
}

body.lightbox-open {
  overflow: hidden;
}

img { max-width: 100%; height: auto; display: block; }

section {
  position: relative;
}

a { color: inherit; text-decoration: none; }

/* ── SSB spacing & layout utilities ── */
.ssb-page-section {
  padding-block: var(--ssb-section-y);
}

.ssb-page-section-tight {
  padding-block: var(--ssb-section-y-tight);
}

.ssb-section-inner,
.ssb-container {
  width: min(var(--ssb-max), calc(100% - var(--ssb-gutter) * 2));
  margin-inline: auto;
}

.ssb-container-narrow,
.ssb-section-inner.ssb-section-inner-narrow,
.ssb-section-inner-narrow {
  width: min(var(--ssb-max-narrow), calc(100% - var(--ssb-gutter) * 2));
  margin-inline: auto;
}

.ssb-stack-xs > * + * {
  margin-top: 12px;
}

.ssb-stack-sm > * + * {
  margin-top: 20px;
}

.ssb-stack-md > * + * {
  margin-top: 32px;
}

.ssb-stack-lg > * + * {
  margin-top: 48px;
}

.ssb-stack-xl > * + * {
  margin-top: 72px;
}

.ssb-grid-gap {
  gap: clamp(24px, 4vw, 56px);
}

.ssb-grid-gap-large {
  gap: clamp(40px, 6vw, 96px);
}

@media (max-width: 640px) {
  .ssb-stack-xl > * + * {
    margin-top: 48px;
  }
}

/* ── SSB intention grid section ── */
.ssb-intention-section {
  background: var(--ssb-dark);
  color: var(--ssb-cream);
  padding-block: var(--ssb-section-y);
  font-family: var(--ssb-sans);
}

.ssb-intention-header {
  max-width: 620px;
  margin-bottom: clamp(48px, 6vw, 64px);
}

.ssb-eyebrow {
  margin: 0 0 14px;
  font-family: var(--ssb-ui);
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ssb-cream);
}

.ssb-display-heading {
  margin: 0;
  font-family: var(--ssb-serif);
  font-size: clamp(48px, 6vw, 72px);
  font-weight: 400;
  line-height: 0.88;
  letter-spacing: -0.045em;
  color: var(--ssb-cream);
}

.ssb-section-lead {
  max-width: 560px;
  margin: 22px 0 0;
  font-size: clamp(16px, 1.4vw, 18px);
  line-height: 1.5;
  color: var(--ssb-muted);
}

.ssb-principle-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border: 1px solid var(--ssb-border-dark);
}

.ssb-principle-card {
  min-height: 232px;
  padding: clamp(28px, 3vw, 38px) clamp(26px, 3vw, 32px);
  border-right: 1px solid var(--ssb-border-dark);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.ssb-principle-card:last-child {
  border-right: 0;
}

.ssb-principle-number {
  margin-bottom: 26px;
  font-family: var(--ssb-editorial);
  font-size: clamp(36px, 4vw, 42px);
  font-weight: 500;
  line-height: 0.8;
  letter-spacing: -0.03em;
  color: var(--ssb-gold);
}

.ssb-principle-card h3 {
  margin: 0 0 14px;
  font-family: var(--ssb-serif);
  font-size: clamp(25px, 2.5vw, 31px);
  font-weight: 500;
  line-height: 0.9;
  letter-spacing: -0.035em;
  color: var(--ssb-cream);
}

.ssb-principle-card p {
  max-width: 190px;
  margin: 0;
  font-size: 14px;
  line-height: 1.45;
  color: var(--ssb-cream);
}

/* ── SSB footer ── */
.ssb-footer {
  background: var(--ssb-charcoal);
  color: var(--ssb-cream);
  padding: clamp(64px, 8vw, 96px) var(--ssb-gutter) clamp(36px, 5vw, 48px);
  font-family: var(--ssb-sans);
}

.ssb-footer-inner {
  width: min(var(--ssb-max), 100%);
  margin-inline: auto;
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr;
  gap: clamp(36px, 5vw, 72px);
  align-items: start;
}

.ssb-footer-brand {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.ssb-footer-logo {
  font-family: var(--ssb-serif);
  font-size: clamp(38px, 4vw, 54px);
  font-weight: 400;
  line-height: 0.9;
  letter-spacing: -0.04em;
  color: var(--ssb-cream);
  text-decoration: none;
}

.ssb-footer-brand p {
  margin: 0;
  font-family: var(--ssb-ui);
  font-size: 11px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: rgba(247, 245, 240, 0.72);
}

.ssb-footer-nav,
.ssb-footer-contact,
.ssb-footer-legal {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.ssb-footer a {
  color: rgba(247, 245, 240, 0.78);
  text-decoration: none;
  font-size: 14px;
  line-height: 1.35;
  transition: color 180ms ease, opacity 180ms ease;
}

.ssb-footer a:hover {
  color: var(--ssb-gold);
}

.ssb-footer-legal {
  grid-column: 1 / -1;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 18px 28px;
  padding-top: 36px;
  border-top: 1px solid rgba(247, 245, 240, 0.18);
}

.ssb-footer-copy {
  grid-column: 1 / -1;
  margin: 0;
  font-size: 13px;
  color: rgba(247, 245, 240, 0.52);
}

@media (max-width: 980px) {
  .ssb-principle-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ssb-principle-card:nth-child(2) {
    border-right: 0;
  }

  .ssb-principle-card:nth-child(1),
  .ssb-principle-card:nth-child(2) {
    border-bottom: 1px solid var(--ssb-border-dark);
  }
}

@media (max-width: 820px) {
  .ssb-footer-inner {
    grid-template-columns: 1fr;
  }

  .ssb-footer-legal {
    flex-direction: column;
    gap: 10px;
  }
}

@media (max-width: 640px) {
  .ssb-intention-section {
    padding-block: 72px;
  }

  .ssb-section-inner,
  .ssb-section-inner-narrow {
    width: min(100% - 40px, var(--ssb-max));
  }

  .ssb-display-heading {
    font-size: clamp(42px, 14vw, 58px);
    line-height: 0.92;
  }

  .ssb-principle-grid {
    grid-template-columns: 1fr;
  }

  .ssb-principle-card {
    min-height: auto;
    border-right: 0;
    border-bottom: 1px solid var(--ssb-border-dark);
  }

  .ssb-principle-card:last-child {
    border-bottom: 0;
  }
}

.sanctuary-heading {
  font-family: var(--font-heading);
  font-weight: 400;
  text-transform: capitalize;
}

/* ── Sanctuary typography scale ── */
/* Universal heading style: first letter of each word capitalized */
main h1,
main h2,
main h3,
main .display-title,
main .title-serif {
  font-family: var(--font-heading);
  font-weight: 500;
  text-transform: capitalize !important;
  text-align: left;
  color: var(--sanctuary-charcoal);
  letter-spacing: -0.04em;
  text-wrap: balance;
  margin-top: 0;
}

main h1,
main .hero-title,
[class*="hero"] h1,
main > section:first-of-type h1 {
  font-size: var(--hero-heading);
  line-height: 0.88;
  letter-spacing: -0.06em;
  max-width: 980px;
  margin-bottom: clamp(22px, 3vw, 42px);
}

main h2,
main .display-title {
  font-size: var(--section-heading);
  line-height: 0.94;
  max-width: 900px;
  margin-bottom: clamp(18px, 2.5vw, 34px);
}

main h3 {
  font-size: var(--sub-heading);
  line-height: 1.05;
  letter-spacing: -0.025em;
  max-width: 680px;
  margin-bottom: 14px;
}

main p,
main .prose {
  font-size: var(--body-copy);
  max-width: 720px;
  line-height: 1.75;
  color: rgba(67, 59, 51, 0.78);
}

main h1 + p,
main h2 + p,
main h3 + p {
  margin-top: 0;
}

main .eyebrow,
main [class*="eyebrow"],
main .subtitle,
main [class*="subtitle"] {
  max-width: 720px;
  letter-spacing: 0.18em;
}

.text-center h1,
.text-center h2,
.text-center h3,
.text-center .display-title,
.philosophy--quiet__inner h2,
.philosophy--quiet__inner .display-title,
.work-explore-hero h1,
.work-explore-hero .display-title,
.site-footer h1,
.site-footer h2,
.site-footer h3,
.site-footer-cta__title,
.nav-drawer h1,
.nav-drawer h2,
.nav-drawer h3,
.inquire-drawer h1,
.inquire-drawer h2,
.inquire-drawer h3 {
  text-align: center;
  margin-inline: auto;
}

.hero-editorial .hero-title,
.hero-editorial h1 {
  color: var(--ivory);
  text-align: left;
}

main > section {
  position: relative;
  padding-block: var(--section-y);
  overflow: hidden;
}

@media (max-width: 767px) {
  :root {
    --container-padding: 1rem;
    --text-4xl: 2.5rem;   /* 40px hero */
    --text-3xl: 2rem;     /* 32px section */
    --text-2xl: 1.5rem;   /* 24px sub */
    --text-xl: 1.25rem;   /* 20px */
    --space-3xl: 3rem;
    --space-4xl: 4rem;
    --ssb-section-y: clamp(3rem, 10vw, 4.5rem);
  }

  main h1,
  main h2,
  main h3,
  main p,
  main .prose,
  main .eyebrow,
  main [class*="eyebrow"],
  main .subtitle,
  main [class*="subtitle"] {
    text-align: left;
    margin-inline: 0;
  }

  main h1,
  main .hero-title {
    line-height: 0.92;
  }

  main h2,
  main .display-title {
    line-height: 0.98;
  }

  .text-center h1,
  .text-center h2,
  .text-center h3,
  .work-explore-hero h1,
  .site-footer-cta-band__title {
    text-align: center;
  }
}

@media (min-width: 768px) and (max-width: 1180px) {
  :root {
    --ssb-gutter: clamp(38px, 6vw, 64px);
    --ssb-section-y: clamp(86px, 10vw, 124px);
  }
}

.reveal-luxury {
  opacity: 0;
  transform: translateY(26px);
  transition:
    opacity 900ms var(--lux-ease),
    transform 900ms var(--lux-ease);
}

.reveal-luxury.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.home-page--preview main .hero-editorial--founder {
  min-height: clamp(72vh, 56.25vw, 100svh);
  display: flex;
  align-items: center;
  isolation: isolate;
  padding-block: 0;
}

.home-page--preview main > section {
  padding-block: 0;
}

.home-page--preview main > section.ssb-page-section,
.home-page--preview main > section.section-pad {
  padding-block: var(--ssb-section-y);
}

.home-page--preview main > section.sanctuary-philosophy-section.ssb-page-section {
  /* Slightly higher: less top pad than other sections */
  padding-top: clamp(64px, 7.5vw, 112px);
  padding-bottom: var(--ssb-section-y);
}

.home-page--preview main .hero-editorial--founder {
  padding-block: 0;
}

.home-page--preview main .sanctuary-philosophy-section {
  background: var(--sanctuary-ivory);
}

.home-page--preview main .home-see-inspirations {
  background: var(--sanctuary-ivory);
}

.home-page--preview main .inspiration-collection {
  transition:
    transform 520ms var(--lux-ease),
    box-shadow 520ms var(--lux-ease);
}

.home-page--preview main .inspiration-collection:hover {
  transform: translateY(-8px);
  box-shadow: 0 28px 70px rgba(47, 41, 36, 0.13);
}

.home-page--preview main .btn-outline {
  transition:
    transform 420ms var(--lux-ease),
    background-color 420ms var(--lux-ease),
    color 420ms var(--lux-ease),
    border-color 420ms var(--lux-ease);
}

.home-page--preview main .btn-outline:hover {
  transform: translateY(-2px);
}

@media (max-width: 767px) {
  .home-page--preview main .hero-editorial--founder {
    min-height: clamp(88vh, 125vw, 100svh);
    min-height: clamp(88dvh, 125vw, 100dvh);
    align-items: flex-end;
    padding-bottom: calc(4.5rem + env(safe-area-inset-bottom, 0px));
  }

  .home-page--preview main .hero-editorial--founder .hero-editorial__media img {
    object-position: center 40%;
  }

  .home-page--preview main .hero-editorial--founder .hero-editorial__scrim {
    background:
      linear-gradient(180deg, rgba(32, 27, 23, 0.08) 0%, rgba(32, 27, 23, 0.42) 42%, rgba(32, 27, 23, 0.88) 100%);
  }

  .home-page--preview main .inspiration-collection:hover {
    transform: none;
    box-shadow: 0 18px 40px -28px rgba(67, 59, 51, 0.14);
  }
}

@media (prefers-reduced-motion: reduce) {
  .reveal-luxury {
    opacity: 1;
    transform: none;
    transition: none;
  }

  .home-page--preview main .inspiration-collection,
  .home-page--preview main .btn-outline {
    transition: none;
  }

  .home-page--preview main .inspiration-collection:hover,
  .home-page--preview main .btn-outline:hover {
    transform: none;
  }
}

@media (min-width: 1181px) {
  main h1,
  main h2,
  main h3,
  main p,
  main .prose,
  main .eyebrow,
  main [class*="eyebrow"],
  main .subtitle,
  main [class*="subtitle"] {
    margin-left: 0;
    margin-right: auto;
  }
}

/* ── Header ── */
.site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 50;
  background: var(--header-surface);
  border-bottom: 1px solid var(--header-border);
  transition:
    background 0.45s var(--lux-ease),
    border-color 0.45s var(--lux-ease),
    box-shadow 0.45s var(--lux-ease);
}

.site-header.is-scrolled {
  border-bottom-color: var(--header-border);
  box-shadow: 0 12px 36px -24px rgba(67, 59, 51, 0.12);
}

.site-header-inner {
  position: relative;
  max-width: 90rem;
  margin: 0 auto;
  padding: 1rem 1.5rem;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 1rem;
  min-height: var(--header-h);
}

main {
  padding-top: var(--header-h);
}

main > .hero-full:first-child {
  margin-top: calc(-1 * var(--header-h));
}

.btn-nav-toggle {
  justify-self: start;
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0;
  background: none;
  border: none;
  font-family: var(--font-body);
  font-size: 10px;
  letter-spacing: 3px;
  text-transform: uppercase;
  font-weight: 700;
  color: #171e19;
  cursor: pointer;
}

.btn-nav-toggle__circle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border: 1px solid #747873;
  border-radius: 0;
  transition: background 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

.btn-nav-toggle:hover .btn-nav-toggle__circle {
  background: #171e19;
  color: #ffffff;
  border-color: #171e19;
}

.btn-nav-toggle__icon {
  font-size: 1.1rem;
  line-height: 1;
}

.btn-nav-toggle__label {
  display: none;
}

@media (min-width: 640px) {
  .btn-nav-toggle__label {
    display: inline;
  }
}

.site-header-brand {
  justify-self: center;
  text-align: center;
  color: inherit;
  text-decoration: none;
}

.site-brand-lockup {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: var(--brand-tag-gap);
}

.site-header-inner .btn-inquire {
  justify-self: end;
}

.site-logo-title,
.site-footer-refined__name,
.nav-drawer__logo {
  font-family: var(--font-heading);
  font-size: var(--brand-name-size);
  font-weight: var(--brand-name-weight);
  letter-spacing: var(--brand-name-ls);
  line-height: var(--brand-name-lh);
  margin: 0;
  color: var(--brand-name-color);
}

.site-logo-sub,
.site-footer-refined__tag,
.nav-drawer__tagline {
  display: block;
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--brand-tag-size);
  font-weight: var(--brand-tag-weight);
  letter-spacing: var(--brand-tag-ls);
  line-height: 1.2;
  text-transform: uppercase;
  color: var(--brand-tag-color);
}

.site-brand-lockup--on-dark {
  --brand-name-color: #f7f5f0;
  --brand-tag-color: var(--brand-name-color);
}

.btn-inquire {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #ffffff;
  color: var(--charcoal);
  padding: 0.5rem 0.875rem;
  min-height: auto;
  font-family: var(--font-body);
  font-size: 9px;
  letter-spacing: 0.09375rem;
  text-transform: uppercase;
  font-weight: 600;
  transition: all 0.35s ease;
  border: 1px solid var(--charcoal);
  border-radius: 0;
  flex-shrink: 0;
  box-shadow: none;
}

.btn-inquire:hover {
  background: var(--charcoal);
  color: #ffffff;
  border-color: var(--charcoal);
  transform: none;
  box-shadow: none;
}

.panel-transition {
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.panel-backdrop {
  position: fixed;
  inset: 0;
  background: #000000;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s ease, visibility 0.5s ease;
  z-index: 60;
}

.panel-backdrop.overlay-active,
.panel-backdrop.open {
  opacity: 0.45;
  visibility: visible;
}

.panel-backdrop.overlay-hidden {
  opacity: 0;
  visibility: hidden;
}

.nav-drawer,
.nav-panel {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  width: 16rem;
  max-width: 85vw;
  background: #ffffff;
  z-index: 70;
  transform: translateX(0);
  box-shadow: 0 18px 40px -24px rgba(67, 59, 51, 0.14);
  border-right: 1px solid rgba(67, 59, 51, 0.08);
  padding-top: env(safe-area-inset-top);
  padding-left: env(safe-area-inset-left);
  padding-bottom: env(safe-area-inset-bottom);
}

.nav-drawer.panel-transition,
.nav-panel.panel-transition {
  transition: transform 0.4s cubic-bezier(0.32, 0.72, 0, 1);
}

.nav-drawer.left-panel-closed,
.nav-panel.left-panel-closed {
  transform: translateX(-100%);
}

.nav-drawer__inner {
  height: 100%;
  padding: 1.5rem;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}

.nav-drawer__close-row {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 2rem;
}

.nav-drawer__close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  padding: 0;
  border: none;
  background: none;
  color: var(--charcoal);
  font-size: 1.875rem;
  line-height: 1;
  cursor: pointer;
  transition: color 0.35s ease;
}

.nav-drawer__close:hover {
  color: var(--gold);
}

.nav-drawer__brand {
  margin-bottom: 0;
}



.site-nav-panel {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.site-nav-panel__link {
  font-family: var(--font-body);
  font-size: 1.125rem;
  font-weight: 400;
  letter-spacing: 0.1em;
  color: var(--charcoal);
  text-decoration: none;
  transition: color 0.35s ease;
}

.site-nav-panel:not(.site-nav-panel--drawer) .site-nav-panel__link:hover,
.site-nav-panel:not(.site-nav-panel--drawer) .site-nav-panel__link.is-active {
  color: var(--gold);
}

.site-nav-panel__link--button {
  background: none;
  border: 0;
  padding: 0;
  text-align: left;
  cursor: pointer;
  font-family: inherit;
  font-size: inherit;
  letter-spacing: inherit;
}

/* ===== Document scrollbar — translucent sitewide (past hero + all pages) =====
   No opaque track; soft taupe thumb so page surfaces show through. */
:root {
  --sb-track: transparent;
  --sb-thumb: rgba(67, 59, 51, 0.28);
  --sb-thumb-hover: rgba(67, 59, 51, 0.42);
  --sb-thumb-hero: rgba(247, 245, 241, 0.4);
  --sb-thumb-hero-hover: rgba(247, 245, 241, 0.62);
  --sb-size: 10px;
}

html {
  scrollbar-width: thin;
  scrollbar-color: var(--sb-thumb) transparent;
  scrollbar-gutter: stable;
}

html::-webkit-scrollbar {
  width: var(--sb-size);
  height: var(--sb-size);
  background: transparent;
}

html::-webkit-scrollbar-track {
  background: transparent;
}

html::-webkit-scrollbar-thumb {
  background-color: var(--sb-thumb);
  border-radius: 999px;
  border: 2px solid transparent;
  background-clip: padding-box;
}

html::-webkit-scrollbar-thumb:hover {
  background-color: var(--sb-thumb-hover);
}

html::-webkit-scrollbar-corner {
  background: transparent;
}

/* Homepage hero only: light translucent thumb over the photo */
html.has-hero:not(.is-past-hero) {
  scrollbar-color: var(--sb-thumb-hero) transparent;
}

html.has-hero:not(.is-past-hero)::-webkit-scrollbar-track {
  background: transparent;
}

html.has-hero:not(.is-past-hero)::-webkit-scrollbar-thumb {
  background-color: var(--sb-thumb-hero);
  border: 2px solid transparent;
  background-clip: padding-box;
}

html.has-hero:not(.is-past-hero)::-webkit-scrollbar-thumb:hover {
  background-color: var(--sb-thumb-hero-hover);
}

html.has-hero:not(.is-past-hero)::-webkit-scrollbar-corner {
  background: transparent;
}

/* Past hero / non-hero pages: same translucent style (explicit) */
html.is-past-hero,
html:not(.has-hero) {
  scrollbar-color: var(--sb-thumb) transparent;
}

html.is-past-hero::-webkit-scrollbar-track,
html:not(.has-hero)::-webkit-scrollbar-track,
html.is-past-hero::-webkit-scrollbar-corner,
html:not(.has-hero)::-webkit-scrollbar-corner {
  background: transparent;
}

html.is-past-hero::-webkit-scrollbar-thumb,
html:not(.has-hero)::-webkit-scrollbar-thumb {
  background-color: var(--sb-thumb);
  border: 2px solid transparent;
  background-clip: padding-box;
}

/* Drawers / panels — translucent brand tokens */
.custom-scroll {
  scrollbar-width: thin;
  scrollbar-color: var(--sb-thumb) transparent;
}

.custom-scroll::-webkit-scrollbar {
  width: 6px;
  background: transparent;
}

.custom-scroll::-webkit-scrollbar-track {
  background: transparent;
}

.custom-scroll::-webkit-scrollbar-thumb {
  background: var(--sb-thumb);
  border-radius: 999px;
}

.custom-scroll::-webkit-scrollbar-thumb:hover {
  background: var(--sb-thumb-hover);
}

body.panel-open,
body.nav-open,
body.inquire-open {
  overflow: hidden;
  touch-action: none;
}

@media (min-width: 768px) {
  .site-header-inner {
    padding: 1rem 3rem;
  }

}

@media (min-width: 1024px) {
  .site-header-inner { padding: 1.25rem 2rem; }
}

/* ── Layout ── */
.container-sb {
  width: 100%;
  max-width: var(--content-max);
  margin-inline: auto;
  padding-inline: var(--page-x);
}

.scroll-mt { scroll-margin-top: 96px; }

.section-pad,
.ssb-page-section {
  padding-block: var(--ssb-section-y);
}

main > .section-pad:first-child:not(.hero-full) {
  padding-top: clamp(5rem, 13vw, 9rem);
}

.section-muted {
  background: hsl(var(--secondary));
}

.section-investment {
  border-top: 1px solid rgba(221, 217, 210, 0.7);
  background: hsl(var(--secondary) / 0.4);
}

.section-contact-editorial {
  background: #faf9f7;
  border-top: 1px solid #c4c7c2;
  padding: clamp(5rem, 10vw, 8rem) 0;
  color: #171e19;
  font-family: var(--font-body);
}

.container-sb--wide {
  width: min(90rem, calc(100% - 2.5rem));
  margin-inline: auto;
}

.contact-split-grid {
  display: grid;
  gap: clamp(4rem, 6vw, 6rem);
  align-items: start;
}

.contact-split-philosophy {
  display: grid;
  gap: 0;
}

.contact-split-eyebrow {
  margin: 0 0 1.5rem;
  font-family: var(--font-body);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: #8b9485;
}

.contact-split-title {
  margin: 0 0 2.5rem;
  font-family: var(--font-heading);
  font-size: clamp(3rem, 7vw, 5.25rem);
  line-height: 1.1;
  font-weight: 400;
  letter-spacing: -0.02em;
  color: #171e19;
}

.contact-split-copy {
  display: grid;
  gap: 0;
  max-width: 32rem;
}

.contact-split-lead {
  margin: 0;
  font-size: clamp(1.25rem, 2.5vw, 1.5rem);
  font-weight: 500;
  line-height: 1.25;
  color: #444844;
}

.contact-split-rule {
  width: 5rem;
  height: 1px;
  background: rgba(23, 30, 25, 0.2);
  margin: 2rem 0;
}

.contact-split-body {
  margin: 0;
  font-size: 1.125rem;
  line-height: 1.75;
  color: #685c50;
}

.contact-split-media {
  width: 100%;
  margin-top: 2.5rem;
  border-radius: 0.5rem;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.section-materials-teaser {
  background: hsl(var(--secondary) / 0.4);
  border-top: 1px solid rgba(221, 217, 210, 0.7);
}

.materials-teaser-grid {
  display: grid;
  gap: clamp(2rem, 4vw, 3.5rem);
  align-items: center;
}

.materials-teaser-media {
  min-height: clamp(16rem, 40vw, 24rem);
  border-radius: var(--radius-lg);
  background: url("images/hero-subtle-desire.jpg") center / cover no-repeat;
}

@media (min-width: 900px) {
  .materials-teaser-grid {
    grid-template-columns: 0.95fr 1.05fr;
  }

  .philosophy-grid {
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
    align-items: center;
  }

  .philosophy-media {
    max-width: min(100%, 24rem);
    margin-inline: 0;
  }
}

.contact-box--split {
  max-width: none;
  margin: 0;
  padding: clamp(2rem, 4vw, 5rem);
  border-radius: 0.75rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.contact-box__response {
  margin: 3rem 0 0;
  text-align: center;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #747873;
}

.contact-split-cta {
  display: grid;
  align-content: start;
  gap: 0;
  padding: clamp(2rem, 4vw, 3rem);
  border: 1px solid rgba(196, 199, 194, 0.35);
  border-radius: 0.5rem;
  background: rgba(255, 255, 255, 0.55);
}

.contact-split-cta__title {
  margin: 0 0 2rem;
  font-family: var(--font-heading);
  font-size: clamp(2.25rem, 4.5vw, 3.5rem);
  line-height: 1.12;
  font-weight: 400;
  letter-spacing: -0.02em;
  color: #171e19;
}

.contact-split-cta__italic {
  font-style: italic;
}

.contact-split-cta__lead {
  margin: 0 0 2.5rem;
  max-width: 28rem;
  font-size: 1.0625rem;
  line-height: 1.75;
  color: #685c50;
}

.contact-split-cta__contact {
  margin: 2rem 0 0;
  font-size: 0.875rem;
  line-height: 1.65;
  color: rgba(23, 30, 25, 0.62);
}

.contact-split-cta__contact a {
  color: inherit;
  text-decoration: none;
}

.contact-split-cta__contact a:hover {
  color: #171e19;
  text-decoration: underline;
}

.contact-split-cta .btn-inquire--contact {
  justify-self: start;
  padding: 1rem 2rem;
  font-size: 10px;
}

@media (min-width: 1024px) {
  .contact-split-grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: clamp(4rem, 5vw, 6rem);
    align-items: start;
  }

  .contact-split-philosophy {
    grid-column: span 6;
  }

  .contact-split-cta {
    grid-column: 8 / span 5;
    position: sticky;
    top: calc(var(--header-h) + 2rem);
    padding: clamp(2.5rem, 4vw, 3.5rem);
  }

  .contact-box--split {
    grid-column: 7 / span 6;
  }
}

.editorial-rule {
  width: 2.75rem;
  height: 1px;
  background: var(--gold);
  opacity: 0.85;
}

.section-light {
  background: var(--cream);
  border-bottom: 1px solid var(--border);
}

.eyebrow {
  position: relative;
  display: inline-block;
  margin: 0;
  padding-bottom: 0;
  text-align: left;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: hsl(var(--muted-foreground));
  line-height: 1.4;
}

.eyebrow::after {
  content: none !important;
  display: none !important;
}

.eyebrow-gold {
  color: var(--gold);
  position: relative;
  display: inline-block;
  margin: 0;
  padding-bottom: 0;
  text-align: left;
}

.eyebrow-gold::after {
  content: none !important;
  display: none !important;
}

.title-serif,
.display-title {
  font-family: var(--font-heading);
  font-weight: 400;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--charcoal);
}

.display-title {
  font-size: var(--section-heading-size);
  line-height: 0.96;
  letter-spacing: -0.035em;
}

.section-heading {
  padding-left: 0;
  text-align: left;
}

/* Section titles (site uses display-title / sanctuary-heading) */
.display-title.section-heading,
.home-section-head .display-title,
.home-section-head h2,
.home-section-head .sanctuary-heading,
.sanctuary-intention-copy .display-title,
.sanctuary-intention-copy h2,
.home-experience-process__head .display-title,
.home-experience-process__head h2,
.home-see-inspirations__head .display-title,
.home-see-inspirations__head h2,
.investment-featured__copy .display-title,
.investment-featured__copy h2 {
  padding-left: 0;
  text-align: left;
}

.display-md {
  font-size: clamp(2rem, 4vw, 3.25rem);
  line-height: 1.12;
}

.prose {
  color: var(--slate);
  line-height: 1.75;
  font-size: 1rem;
}

.prose-lead {
  font-size: clamp(1.05rem, 2vw, 1.125rem);
  line-height: 1.7;
}

.prose-tight > p + p {
  margin-top: 0.75rem;
}

.page-intro {
  text-align: center;
  max-width: 40rem;
  margin-inline: auto;
}

.btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 14px 32px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  background: #2f2f2f;
  color: white;
  border: 1px solid #2f2f2f;
  border-radius: 0;
  cursor: pointer;
  transition: all 0.35s ease;
}

.btn-primary:hover {
  background: #c5a46e;
  color: #2f2f2f;
  border-color: #c5a46e;
}

.btn-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 12px 26px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  background: white;
  color: #2f2f2f;
  border: 1px solid #2f2f2f;
  border-radius: 0;
  cursor: pointer;
  transition: all 0.3s ease;
}

.btn-secondary:hover {
  background: #2f2f2f;
  color: white;
  border-color: #2f2f2f;
}

.btn-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.875rem 1.75rem;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  background: transparent;
  color: hsl(var(--foreground));
  border: 1px solid hsl(var(--border-hsl));
  border-radius: 0;
  transition: background 0.25s ease, border-color 0.25s ease;
}

.btn-outline:hover {
  background: var(--stone);
  border-color: var(--border);
}

.philosophy {
  background: var(--cream);
  border-block: 1px solid var(--border);
}
.philosophy-grid {
  display: grid;
  gap: clamp(2rem, 5vw, 3rem);
  align-items: center;
}
.philosophy-grid .content-block {
  max-width: 36rem;
}
.philosophy-media {
  position: relative;
  width: 100%;
  max-width: 28rem;
  margin-inline: auto;
  aspect-ratio: 3 / 4;
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: var(--shadow-card);
  transition: transform var(--transition), box-shadow var(--transition);
}

.philosophy-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 55%, rgba(47, 47, 47, 0.12) 100%);
  pointer-events: none;
}

.philosophy-media:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-hover);
}

.philosophy-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.8s var(--ease-out);
}

.philosophy-media:hover img {
  transform: scale(1.03);
}
.founder-card {
  margin-top: 2rem;
  padding: clamp(1.5rem, 4vw, 2.5rem);
  border: 1px solid var(--border);
  background: var(--cream);
  box-shadow: 0 18px 40px -24px rgba(0, 0, 0, 0.1);
}
.founder-quote {
  margin-top: 1.5rem;
  font-size: clamp(1.2rem, 3vw, 1.5rem);
  font-style: italic;
  line-height: 1.25;
  font-family: var(--font-heading);
}

.section-dark {
  background: linear-gradient(165deg, #433B33 0%, #262626 55%, #2a2826 100%);
  color: #f7f5f0;
}

.section-dark .eyebrow { color: var(--gold); }
.section-dark h2, .section-dark h3 { color: var(--gold-light); }
.section-dark p { color: rgba(247, 245, 240, 0.78); }

.pillars {
  display: grid;
  gap: 2rem;
  margin-top: 3rem;
}

.pillar {
  border-top: 1px solid rgba(197, 164, 110, 0.35);
  padding: 1.75rem 0 0;
  transition: transform var(--transition);
}

.pillar:hover {
  transform: translateY(-3px);
}
.pillar-num {
  font-family: var(--font-heading);
  font-size: 1.7rem;
  color: var(--gold);
}
.pillar h3 {
  margin: 0.75rem 0 0;
  font-size: 0.78rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #f7f5f0;
}

.work-grid {
  display: grid;
  gap: 3rem;
  align-items: center;
}
.work-media {
  min-height: clamp(18rem, 42vw, 26rem);
  border-radius: var(--radius-md);
  border: 1px solid rgba(183, 169, 154, 0.65);
  background-size: cover;
  background-position: center;
  box-shadow: var(--shadow-card);
  transition: transform var(--transition), box-shadow var(--transition);
}

.work-media:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-hover);
}

.transform-grid { display: grid; gap: 3rem; }

.transform-grid > article {
  transition: transform var(--transition);
}

.transform-grid > article:hover {
  transform: translateY(-2px);
}
.transform-pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}
.transform-shot {
  position: relative;
  border-radius: var(--radius-sm);
  border: 1px solid rgba(183, 169, 154, 0.55);
  overflow: hidden;
  box-shadow: var(--shadow-soft);
  transition: transform var(--transition), box-shadow var(--transition);
}

.transform-shot:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-hover);
}

.transform-shot img {
  aspect-ratio: 3 / 4;
  width: 100%;
  object-fit: cover;
  cursor: zoom-in;
  transition: transform 0.7s var(--ease-out);
}

.transform-shot:hover img {
  transform: scale(1.04);
}
.transform-shot.before img { filter: saturate(0.82); }
.transform-label {
  position: absolute;
  top: 1rem;
  padding: 0.35rem 0.75rem;
  background: rgba(247, 245, 240, 0.92);
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #8a6f55;
}
.transform-label.before { left: 1rem; }
.transform-label.after { right: 1rem; }

.process-steps {
  display: grid;
  gap: 1.5rem;
  margin-top: 2rem;
}
.process-step {
  border: 1px solid var(--border-soft);
  border-radius: var(--radius-md);
  background: var(--white);
  padding: 1.35rem 1.25rem;
  box-shadow: var(--shadow-soft);
  transition: transform var(--transition), box-shadow var(--transition);
}

.process-step:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-hover);
}

.process-step strong {
  display: block;
  font-size: 0.78rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--charcoal);
  margin-bottom: 0.35rem;
}

.split-process img,
.section-pad img[style*="aspect-ratio"] {
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-card);
}

.gold-line {
  width: 3rem;
  height: 1px;
  background: var(--gold);
  margin: 1.25rem 0 1.5rem;
}

.contact-form {
  display: grid;
  gap: 1.35rem;
  padding: clamp(1.5rem, 4vw, 2.25rem);
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: 0 18px 40px -24px rgba(47, 47, 47, 0.35);
}

.contact-form label {
  display: block;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--slate);
  margin-bottom: 0.5rem;
}

.contact-form input,
.contact-form textarea {
  width: 100%;
  padding: 0.95rem 1.05rem;
  border: 1px solid var(--border);
  background: var(--cream);
  font-family: var(--font-body);
  font-size: 1rem;
  color: var(--charcoal);
  border-radius: var(--radius-sm);
  transition: border-color var(--transition), background var(--transition), box-shadow var(--transition);
}

.contact-form input:focus,
.contact-form textarea:focus {
  outline: none;
  border-color: var(--gold);
  background: var(--white);
  box-shadow: 0 0 0 3px rgba(197, 164, 110, 0.15);
}

.contact-form textarea { min-height: 8.5rem; resize: vertical; }

.contact-box {
  max-width: 40rem;
  margin-inline: auto;
  padding: clamp(1.75rem, 3.5vw, 2.5rem);
  background: #ffffff;
  border: 1px solid #c4c7c2;
  border-radius: 0.5rem;
  box-shadow: 0 20px 44px -32px rgba(26, 28, 26, 0.28);
}

.contact-box__header {
  display: grid;
  gap: 0.85rem;
  margin-bottom: clamp(1.35rem, 2.5vw, 1.75rem);
}

.contact-box__eyebrow {
  margin: 0;
  font-family: var(--font-body);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: #8b9485;
}

.contact-box__title,
.section-contact-editorial .sanctuary-heading {
  margin: 0;
  font-family: var(--font-heading);
  font-size: clamp(2rem, 3.6vw, 2.65rem);
  line-height: 1.08;
  font-weight: 400;
  letter-spacing: -0.025em;
  color: #171e19;
}

.contact-box__lead {
  margin: 0;
  font-family: var(--font-body);
  font-size: 1rem;
  line-height: 1.75;
  color: #444844;
  max-width: 32rem;
}

.contact-box__form {
  display: grid;
  gap: 2.5rem;
}

.contact-box__field {
  display: grid;
  gap: 0;
}

.contact-box__field label {
  font-family: var(--font-body);
  font-weight: 500;
  text-transform: uppercase;
  font-size: 10px;
  letter-spacing: 1.5px;
  color: #685c50;
  display: block;
  margin-bottom: 4px;
}

.contact-box__field input,
.contact-box__field select,
.contact-box__field textarea {
  width: 100%;
  background: transparent;
  border: none;
  border-bottom: 1px solid rgba(23, 30, 25, 0.1);
  padding: 12px 0;
  font-family: var(--font-body);
  font-size: 15px;
  color: #171e19;
  border-radius: 0;
  transition: border-color 0.3s ease;
}

.contact-box__field select {
  cursor: pointer;
  appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, #685c50 50%), linear-gradient(135deg, #685c50 50%, transparent 50%);
  background-position: calc(100% - 14px) calc(50% + 2px), calc(100% - 9px) calc(50% + 2px);
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
}

.contact-box__field input:focus,
.contact-box__field select:focus,
.contact-box__field textarea:focus {
  outline: none;
  border-bottom-color: #171e19;
}

.contact-box__field textarea {
  min-height: 8rem;
  resize: none;
}

.section-contact-editorial .btn-inquire,
.section-contact-editorial .btn-inquire--contact {
  font-family: var(--font-body);
  background: white;
  color: #171e19;
  border: 1px solid #171e19;
  border-radius: 9999px;
  letter-spacing: 2px;
  text-transform: uppercase;
  font-weight: 500;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: none;
}

.section-contact-editorial .btn-inquire:hover,
.section-contact-editorial .btn-inquire--contact:hover {
  background: #171e19;
  color: white;
  border-color: #171e19;
  transform: none;
  box-shadow: none;
}

.contact-box__form .btn-inquire--wide {
  width: 100%;
  min-height: auto;
  margin-top: 0.25rem;
  border: 1px solid #171e19;
  border-radius: 9999px;
  padding: 10px 24px;
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  font-weight: 500;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  cursor: pointer;
}

.contact-box__meta {
  margin: 0.35rem 0 0;
  text-align: center;
  font-size: 0.8125rem;
  color: #444844;
}

.contact-box__meta a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

.contact-box__meta a:hover {
  color: #171e19;
}

.contact-carousel-split {
  display: grid;
  gap: clamp(1.5rem, 3vw, 2rem);
  align-items: stretch;
}

.contact-carousel-split__form,
.contact-carousel-split__carousel {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: 1.75rem;
}

.contact-carousel-split__media {
  position: relative;
  display: flex;
  min-height: clamp(300px, 52vw, 440px);
  border-radius: var(--radius-lg);
  overflow: hidden;
}

.carousel-frame {
  position: relative;
  overflow: hidden;
}

.carousel-frame .portfolio-carousel {
  padding-bottom: 0;
}

.contact-carousel-split__media::before {
  content: "";
  position: absolute;
  inset: 0.65rem -0.65rem -0.65rem 0.65rem;
  border: 1px solid rgba(197, 164, 110, 0.22);
  border-radius: var(--radius-lg);
  pointer-events: none;
  z-index: 1;
}

.contact-split-header {
  display: grid;
  gap: 1rem;
  max-width: 36rem;
}

.contact-carousel-split__headline {
  display: grid;
  gap: 0.5rem;
}

.contact-carousel-split__headline .display-md,
.contact-split-header .display-md {
  margin: 0;
  font-family: var(--font-heading);
  font-size: clamp(2rem, 3.6vw, 2.75rem);
  line-height: 1.08;
  font-weight: 400;
  letter-spacing: -0.025em;
  color: var(--charcoal);
}

.contact-prose {
  margin: 0;
  font-family: var(--font-body);
  font-size: 1rem;
  line-height: 1.75;
  color: var(--slate);
  max-width: 32rem;
}

.contact-form-contact {
  margin: 0.35rem 0 0;
  text-align: center;
  font-size: 0.8125rem;
  color: var(--slate);
}

.contact-form-contact a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

.contact-form-contact a:hover {
  color: var(--charcoal);
}

.btn-inquire--wide {
  width: 100%;
  min-height: auto;
  padding: 10px 24px;
  font-size: 11px;
  letter-spacing: 2px;
  font-weight: 500;
  margin-top: 0.25rem;
}

.contact-form--split {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  margin: 0;
  padding: clamp(1.35rem, 2.5vw, 1.75rem);
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid rgba(221, 217, 210, 0.65);
  border-radius: var(--radius-lg);
  box-shadow: 0 24px 48px -36px rgba(47, 47, 47, 0.2);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

.contact-form--split textarea {
  min-height: 5rem;
  resize: none;
}

.carousel-nav--overlay {
  position: absolute;
  inset: 0;
  z-index: 3;
  display: block;
  margin: 0;
  pointer-events: none;
}

.carousel-nav--overlay .carousel-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: auto;
  opacity: 0.45;
  background: rgba(255, 255, 255, 0.5);
  border-color: rgba(255, 255, 255, 0.45);
  box-shadow: none;
  transition: opacity var(--transition), background var(--transition), border-color var(--transition), transform 0.2s ease;
}

.carousel-nav--overlay .carousel-arrow[data-carousel-dir="-1"] {
  left: 0.85rem;
}

.carousel-nav--overlay .carousel-arrow[data-carousel-dir="1"] {
  right: 0.85rem;
}

.carousel-nav--overlay .carousel-arrow:hover {
  opacity: 0.92;
  background: rgba(255, 255, 255, 0.82);
  border-color: rgba(255, 255, 255, 0.7);
  box-shadow: 0 6px 20px -10px rgba(47, 47, 47, 0.3);
}

.carousel-nav--overlay .carousel-arrow:active {
  transform: translateY(-50%) scale(0.96);
}

.portfolio-carousel--split {
  flex: 1;
  width: 100%;
  height: 100%;
  min-height: 0;
  padding-bottom: 0;
  align-items: stretch;
}

.portfolio-carousel--split .portfolio-item {
  flex: 0 0 100%;
  height: 100%;
  min-height: 0;
  border: none;
  border-radius: var(--radius-lg);
  box-shadow: 0 28px 56px -40px rgba(47, 47, 47, 0.28);
}

.portfolio-carousel--split .portfolio-item img {
  height: 100%;
  min-height: 100%;
  object-fit: cover;
}

.portfolio-carousel--split .portfolio-overlay {
  background: linear-gradient(to top, rgba(47, 47, 47, 0.72) 0%, rgba(47, 47, 47, 0.15) 48%, transparent 100%);
  padding: 2.25rem 1.75rem 1.75rem;
}

.portfolio-carousel--split .portfolio-overlay h3 {
  font-size: clamp(1.5rem, 2.5vw, 1.85rem);
  font-weight: 400;
  letter-spacing: -0.01em;
}

.portfolio-carousel--split .portfolio-overlay p {
  font-family: var(--font-body);
  font-size: 0.75rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  opacity: 0.88;
}

.material-grid { display: grid; gap: 2rem; }

.material-card {
  border: 1px solid var(--border-soft);
  background: var(--white);
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: var(--shadow-soft);
  transition: transform var(--transition), box-shadow var(--transition);
}

.material-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-hover);
}

.material-card img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  transition: transform 0.7s var(--ease-out);
}

.material-card:hover img {
  transform: scale(1.03);
}

.material-card-body { padding: 1.65rem; }

.experience-grid {
  display: grid;
  gap: 1.5rem;
  margin-top: 2.5rem;
}

.experience-item {
  border: 1px solid var(--border-soft);
  border-radius: var(--radius-md);
  background: var(--white);
  padding: 1.75rem 1.5rem;
  box-shadow: var(--shadow-soft);
  transition: transform var(--transition), box-shadow var(--transition), border-color var(--transition);
}

.experience-item:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-hover);
  border-color: rgba(197, 164, 110, 0.35);
}

.experience-item h3 {
  font-size: 0.78rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 0.65rem;
  color: var(--charcoal);
}

.experience-band {
  border-block: 1px solid var(--border);
  padding-block: 3rem;
  margin-top: 0;
}

.experience-band .experience-item {
  border-top: none;
  background: transparent;
  box-shadow: none;
  border: none;
  padding: 0 1rem;
}

.experience-band .experience-item:hover {
  transform: none;
  box-shadow: none;
}

.hero-full {
  position: relative;
  min-height: 92vh;
  min-height: 92dvh;
  display: flex;
  align-items: center;
  overflow: hidden;
}

.hero-carousel-frame {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  width: 100%;
  height: 100%;
}

.hero-carousel-frame picture,
.hero-cover--single {
  display: block;
  width: 100%;
  height: 100%;
}

.hero-cover--single {
  min-height: 92vh;
  min-height: 92dvh;
  object-fit: cover;
  object-position: center center;
}

.portfolio-carousel--hero {
  width: 100%;
  height: 100%;
  min-height: clamp(78vh, 92vh, 92vh);
  gap: 0;
  padding-bottom: 0;
  scroll-snap-type: x mandatory;
}

.portfolio-carousel--hero .portfolio-item {
  flex: 0 0 100%;
  height: 100%;
  min-height: clamp(78vh, 92vh, 92vh);
  border-radius: 0;
  box-shadow: none;
  cursor: grab;
}

.portfolio-carousel--hero .portfolio-item:hover {
  transform: none;
  box-shadow: none;
}

.portfolio-carousel--hero .portfolio-item img.hero-cover {
  position: static;
  width: 100%;
  height: 100%;
  min-height: clamp(78vh, 92vh, 92vh);
  object-fit: cover;
  object-position: center 42%;
  transform: none;
}

.hero-full .hero-scrim {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(
    100deg,
    rgba(47, 47, 47, 0.78) 0%,
    rgba(47, 47, 47, 0.48) 40%,
    rgba(47, 47, 47, 0.14) 68%,
    rgba(47, 47, 47, 0.04) 100%
  );
}
.hero-full .carousel-nav--overlay {
  z-index: 3;
}

.hero-layout {
  position: relative;
  z-index: 2;
  width: min(var(--max), calc(100% - 2.5rem));
  margin: 0 auto;
  padding: clamp(2rem, 6vw, 4rem) clamp(1.25rem, 4vw, 1.5rem);
  display: grid;
  gap: clamp(1.5rem, 4vw, 2.5rem);
  align-items: end;
}
.hero-content {
  color: #fff;
  max-width: 40rem;
}
.hero-founder-tip {
  justify-self: stretch;
  max-width: 22rem;
  padding: clamp(1.35rem, 3vw, 2.15rem);
  border-radius: var(--radius-md);
  border: 1px solid rgba(255, 255, 255, 0.42);
  background: rgba(247, 245, 240, 0.72);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  box-shadow: 0 24px 48px -28px rgba(0, 0, 0, 0.4);
  color: var(--charcoal);
}
.hero-founder-tip.hero-animate {
  animation:
    heroReveal 1.1s cubic-bezier(0.22, 1, 0.36, 1) forwards,
    heroTipFloat 8s ease-in-out 1.3s infinite;
}
.hero-founder-tip .founder-quote {
  margin-top: 0.85rem;
  font-size: clamp(1.05rem, 2.4vw, 1.35rem);
  color: #3a3a3a;
}
.hero-founder-detail {
  margin-top: 1rem;
  line-height: 1.6;
  color: #545454;
  font-size: 0.95rem;
}
.hero-founder-meta {
  margin-top: 1.5rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(47, 47, 47, 0.12);
}
.hero-founder-meta .title-serif {
  font-size: 1.35rem;
  margin: 0;
}
.hero-founder-meta .eyebrow {
  margin-top: 0.35rem;
  color: var(--slate);
}
.hero-animate {
  opacity: 0;
  animation: heroReveal 1.1s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
.hero-animate-delay {
  animation-delay: 0.4s;
}
@keyframes heroKenBurns {
  from { transform: scale(1.02); }
  to { transform: scale(1.07); }
}
@keyframes heroReveal {
  from {
    opacity: 0;
    transform: translateY(28px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes heroTipFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-6px); }
}
.hero-eyebrow {
  text-transform: uppercase;
  letter-spacing: 0.2em;
  font-size: clamp(0.7rem, 1.5vw, 0.875rem);
  margin: 0 0 0.75rem;
  color: rgba(255, 255, 255, 0.8);
}
.hero-title {
  font-size: clamp(2.35rem, 7.5vw, 4.5rem);
  line-height: 0.98;
  letter-spacing: -0.03em;
  margin: 0 0 1.5rem;
  text-shadow: 0 2px 24px rgba(0, 0, 0, 0.18);
}
.hero-lead {
  max-width: 32rem;
  font-size: clamp(1rem, 2.2vw, 1.125rem);
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.9);
  margin: 0;
}


.inquire-band {
  padding: clamp(4.5rem, 9vw, 6rem) 1.25rem;
  background: linear-gradient(165deg, #433B33 0%, #262626 50%, #2a2826 100%);
  color: #fff;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.inquire-band--home {
  padding: clamp(4rem, 8vw, 5rem) 1.5rem;
  background: #2f2f2f;
  margin-top: 0;
}

.inquire-band-inner {
  max-width: 42rem;
  margin-inline: auto;
}

.inquire-band--home h2 {
  color: #fff;
  font-size: clamp(2rem, 5vw, 2.5rem);
  margin-bottom: 1rem;
}

.inquire-band-contact {
  font-size: 0.875rem;
}

.inquire-band::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 80% 60% at 50% 0%, rgba(197, 164, 110, 0.12), transparent 70%);
  pointer-events: none;
}

.inquire-band h2 {
  position: relative;
  font-family: var(--font-heading);
  font-size: clamp(1.85rem, 5vw, 2.75rem);
  font-weight: 400;
  letter-spacing: -0.02em;
  margin: 0 0 1.25rem;
  line-height: 1.1;
  color: var(--gold-light);
}

.inquire-band p {
  position: relative;
  margin: 1.15rem 0 0;
  font-size: clamp(0.82rem, 1.5vw, 0.9rem);
  color: rgba(255, 255, 255, 0.82);
}

.inquire-band .btn-inquire {
  position: relative;
  margin-top: 0.25rem;
}

.site-footer {
  padding: clamp(2.75rem, 6vw, 4rem) 1.25rem;
  border-top: 1px solid rgba(247, 245, 240, 0.08);
  background: linear-gradient(180deg, #2a2a2a 0%, #242424 100%);
  color: #f7f5f0;
  text-align: center;
}
.site-footer-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(1.25rem, 3vw, 1.75rem);
}
.site-footer-logo {
  font-size: 1.75rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.site-footer-tagline {
  font-size: 0.625rem;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--gold);
  margin-top: 0.35rem;
}
.site-footer-nav,
.site-footer-disclosures {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0.65rem 1.5rem;
}
.site-footer-nav {
  font-size: 0.68rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.site-footer-disclosures {
  max-width: 40rem;
  font-size: 0.72rem;
  letter-spacing: 0.08em;
}
.site-footer-disclosures a {
  color: rgba(247, 245, 240, 0.72);
  text-decoration: underline;
  text-underline-offset: 0.2em;
  text-decoration-color: rgba(247, 245, 240, 0.25);
  transition: color 0.25s ease, text-decoration-color 0.25s ease;
}
.site-footer-contact,
.site-footer-copy {
  margin: 0;
  font-size: 0.75rem;
  opacity: 0.7;
  line-height: 1.6;
}
.site-footer-nav a:hover,
.site-footer-disclosures a:hover,
.site-footer-contact a:hover {
  color: var(--gold);
  text-decoration-color: rgba(197, 164, 110, 0.5);
}

.legal-page {
  padding: clamp(3rem, 8vw, 5rem) 0;
}
.legal-page .legal-eyebrow {
  color: var(--gold);
}
.legal-page h1 {
  font-family: var(--font-heading);
  font-size: clamp(2rem, 5vw, 3rem);
  font-weight: 400;
  margin: 0.75rem 0 0;
  line-height: 1.1;
  color: var(--ink);
}
.legal-effective {
  margin-top: 1rem;
  font-size: 0.875rem;
  color: #625c54;
}
.legal-body {
  margin-top: 2.5rem;
  display: grid;
  gap: 2rem;
  max-width: 48rem;
  line-height: 1.75;
  color: #59544d;
}
.legal-body h2 {
  font-family: var(--font-heading);
  font-size: 1.5rem;
  font-weight: 400;
  color: var(--ink);
  margin: 0 0 0.75rem;
}
.legal-body ul {
  margin: 0.5rem 0 0;
  padding-left: 1.25rem;
}
.legal-body li + li {
  margin-top: 0.35rem;
}
.legal-body a {
  color: var(--charcoal);
  text-decoration: underline;
  text-underline-offset: 0.15em;
  text-decoration-color: var(--border);
}
.legal-body a:hover {
  color: var(--gold);
  text-decoration-color: var(--gold);
}
.legal-back {
  display: inline-block;
  margin-top: 2.5rem;
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  color: var(--charcoal);
}
.legal-back:hover { color: var(--gold); }

.subpage-parent-link {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.2em;
  text-decoration-color: rgba(197, 164, 110, 0.45);
}
.subpage-parent-link:hover {
  color: var(--gold);
  text-decoration-color: var(--gold);
}

.fade-in {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity 0.75s var(--ease-out), transform 0.75s var(--ease-out);
}

.fade-in.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.text-center { text-align: center; }

.lightbox {
  display: flex;
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(8, 7, 6, 0);
  backdrop-filter: blur(0);
  -webkit-backdrop-filter: blur(0);
  align-items: center;
  justify-content: center;
  padding: 40px;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition:
    opacity 620ms cubic-bezier(0.22, 1, 0.36, 1),
    visibility 620ms cubic-bezier(0.22, 1, 0.36, 1),
    background 620ms cubic-bezier(0.22, 1, 0.36, 1),
    backdrop-filter 620ms cubic-bezier(0.22, 1, 0.36, 1);
}
.lightbox.is-open,
.lightbox.active {
  visibility: visible;
  pointer-events: auto;
}
.lightbox.is-visible {
  opacity: 1;
  background: rgba(8, 7, 6, 0.94);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.lightbox img {
  max-width: 100%;
  max-height: 90vh;
  object-fit: contain;
}
.lightbox-inner {
  max-width: 64rem;
  width: 100%;
  margin-inline: auto;
  text-align: center;
  cursor: default;
  transform: translateY(18px) scale(0.96);
  opacity: 0;
  transition:
    transform 720ms cubic-bezier(0.22, 1, 0.36, 1),
    opacity 720ms cubic-bezier(0.22, 1, 0.36, 1);
  transition-delay: 70ms;
}
.lightbox.is-visible .lightbox-inner {
  transform: translateY(0) scale(1);
  opacity: 1;
}
.lightbox.is-closing .lightbox-inner {
  transition-delay: 0ms;
  transform: translateY(10px) scale(0.98);
  opacity: 0;
}
.lightbox--portfolio .lightbox-inner > img {
  max-height: 85vh;
  max-width: 90vw;
  margin-inline: auto;
  margin-bottom: 1.5rem;
  border-radius: 1rem;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.55);
}
.lightbox.is-visible .lightbox-caption,
.lightbox.is-visible .lightbox-dismiss {
  animation: lightbox-caption-rise 680ms cubic-bezier(0.22, 1, 0.36, 1) 140ms both;
}
@keyframes lightbox-caption-rise {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.lightbox-caption {
  color: #fff;
}
.lightbox-caption[hidden] {
  display: none;
}
.lightbox-caption h3 {
  margin: 0 0 0.5rem;
  font-family: var(--font-heading);
  font-size: clamp(1.75rem, 4vw, 1.875rem);
  font-weight: 600;
  line-height: 1.2;
}
.lightbox-caption p {
  margin: 0;
  font-size: 1.125rem;
  opacity: 0.8;
}
.lightbox-panel {
  max-width: 64rem;
}
.lightbox-dismiss {
  margin-top: 2rem;
  background: transparent;
  border: 1px solid #fff;
  color: #fff;
  padding: 0.75rem 2rem;
  border-radius: 9999px;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: none;
  cursor: pointer;
  transition: background var(--transition), color var(--transition);
}
.lightbox-dismiss:hover {
  background: #fff;
  color: #000;
}

.lightbox-dismiss--pill {
  margin-top: 2rem;
  padding: 0.75rem 2rem;
  border: 1px solid #ffffff;
  color: #ffffff;
  border-radius: 9999px;
  background: transparent;
  transition: all 0.35s ease;
}

.lightbox-dismiss--pill:hover {
  background: #ffffff;
  color: #000000;
  border-color: #ffffff;
}
.lightbox-close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: #fff;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 999px;
  font-size: 1.5rem;
  line-height: 1;
  cursor: pointer;
  z-index: 1;
  transition: background var(--transition), border-color var(--transition);
}
.lightbox-close:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.45);
}

.split-process { display: grid; gap: 3rem; align-items: center; }

.split-process--investment {
  gap: clamp(2rem, 4vw, 2.5rem);
}

.split-process-img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  border-radius: var(--radius-md);
  border: 1px solid var(--border);
  box-shadow: var(--shadow-card);
  cursor: zoom-in;
  transition: transform var(--transition), box-shadow var(--transition);
}

.split-process-img--soft {
  border: 1px solid rgba(221, 217, 210, 0.45);
  box-shadow: var(--shadow-soft);
}

.split-process-img--soft:hover {
  transform: none;
  box-shadow: var(--shadow-soft);
}

.split-process-img:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-hover);
}

.investment-content {
  max-width: 42rem;
}

.investment-content .display-md {
  font-family: var(--font-heading);
  font-weight: 400;
  letter-spacing: -0.02em;
  color: var(--charcoal);
}

.investment-prose {
  font-family: var(--font-heading);
  font-size: clamp(1.05rem, 2vw, 1.2rem);
  line-height: 1.65;
  font-weight: 400;
  color: var(--slate);
}

.content-block {
  display: grid;
  gap: 0;
}

.content-block .display-title,
.content-block .display-md {
  margin-top: 0.75rem;
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem 1rem;
  align-items: center;
}

.section-intro {
  max-width: 48rem;
}

.section-intro .display-title { margin-top: 1rem; }
.section-intro .prose { margin-top: 1.25rem; }

.work-media--shower { background-image: url("images/process-inspire-shower.jpg"); }
.work-media--desire { background-image: url("images/hero-subtle-desire.jpg"); }

.process-page {
  background: var(--white);
}

.process-journey-hero {
  padding: clamp(4rem, 8vw, 5rem) 0;
  background: var(--white);
  border-bottom: 1px solid var(--border-soft);
}

.process-journey-hero-inner {
  max-width: 42rem;
}

.process-journey-eyebrow {
  margin: 0 0 0.75rem;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--slate);
}

.process-journey-title {
  margin: 0;
  font-size: clamp(2.75rem, 6vw, 3.75rem);
  line-height: 1.08;
  font-weight: 400;
  letter-spacing: -0.02em;
  color: var(--charcoal);
}

.process-journey-lead {
  margin: 1.5rem auto 0;
  max-width: 32rem;
  font-size: clamp(1.05rem, 2vw, 1.125rem);
  line-height: 1.75;
  color: var(--slate);
}

.process-journey-steps {
  padding: clamp(3.5rem, 7vw, 4rem) 0;
  border-bottom: 1px solid var(--border-soft);
}

.process-journey-steps-inner {
  max-width: 48rem;
}

.process-journey-step {
  display: grid;
  gap: 1rem 2.5rem;
  margin-bottom: clamp(3rem, 6vw, 4rem);
}

.process-journey-step:last-child {
  margin-bottom: 0;
}

.process-journey-step__num {
  margin: 0;
  font-family: var(--font-heading);
  font-size: clamp(2.75rem, 5vw, 3.5rem);
  line-height: 1;
  color: var(--gold);
}

.process-journey-step__title {
  margin: 0 0 0.75rem;
  font-size: clamp(1.75rem, 3.5vw, 2rem);
  line-height: 1.15;
  font-weight: 400;
  color: var(--charcoal);
}

.process-journey-step__body {
  margin: 0 0 1rem;
  font-size: clamp(1.05rem, 2vw, 1.125rem);
  line-height: 1.75;
  color: var(--charcoal);
}

.process-journey-step__note {
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.7;
  color: var(--slate);
}

.process-journey-why {
  padding: clamp(3.5rem, 7vw, 4.5rem) 0;
  background: var(--white);
}

.process-journey-why-inner {
  max-width: 52rem;
}

.process-journey-why__title {
  margin: 0 0 2.5rem;
  font-size: clamp(2rem, 4vw, 2.5rem);
  line-height: 1.12;
  font-weight: 400;
  color: var(--charcoal);
}

.process-journey-why__grid {
  display: grid;
  gap: 2rem;
  text-align: left;
}

.process-journey-why__heading {
  margin: 0 0 0.5rem;
  font-size: 1rem;
  font-weight: 600;
  color: var(--charcoal);
}

.process-journey-why__grid p {
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.7;
  color: var(--slate);
}

.process-page .mat-closing {
  padding: clamp(4rem, 8vw, 5rem) 1.5rem;
  background: var(--charcoal);
  color: #f7f5f0;
  text-align: center;
}

.process-page .mat-closing-inner {
  max-width: 42rem;
  margin: 0 auto;
}

.process-page .mat-closing-cta {
  margin: 0 auto 1rem;
  font-weight: 400;
  letter-spacing: -0.02em;
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  line-height: 1.15;
  max-width: 28rem;
  color: #f7f5f0;
}

.process-page .mat-closing .btn-inquire {
  margin-top: 1rem;
  text-decoration: none;
}

@media (min-width: 768px) {
  .process-journey-step {
    grid-template-columns: 5.5rem 1fr;
    align-items: start;
  }

  .process-journey-why__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2.5rem;
  }
}

.inspiration-page {
  background: var(--paper);
}

.inspiration-hero {
  padding: clamp(4.5rem, 9vw, 6.5rem) 0 clamp(2.5rem, 5vw, 3.5rem);
  background: var(--paper);
  border-bottom: 1px solid var(--border-soft);
}

.inspiration-page .inspiration-hero-inner {
  max-width: 38rem;
  margin: 0 auto;
}

.inspiration-page .inspiration-hero .home-section-head .eyebrow,
.inspiration-page .inspiration-hero .home-section-head .eyebrow-gold {
  font-family: var(--font-body);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  line-height: 1;
  color: #8a7040;
  margin: 0 0 1rem;
}

.inspiration-page .inspiration-hero .home-section-head .display-title {
  font-family: var(--font-heading);
  font-size: clamp(2rem, 4.2vw, 3rem);
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: -0.03em;
  color: var(--ink);
  text-wrap: balance;
  margin: 0 auto 1.25rem;
  max-width: 22em;
}

.inspiration-page .inspiration-hero .home-section-head .prose {
  font-family: var(--font-body);
  font-size: 1rem;
  line-height: 1.6;
  color: rgba(67, 59, 51, 0.72);
  margin: 0 auto;
  max-width: 38rem;
}

@media (max-width: 768px) {
  .inspiration-page .inspiration-hero {
    padding: clamp(3.5rem, 12vw, 4.5rem) 0 clamp(2rem, 6vw, 2.75rem);
  }

  .inspiration-page .inspiration-hero .home-section-head .eyebrow,
  .inspiration-page .inspiration-hero .home-section-head .eyebrow-gold {
    font-size: 11px;
    letter-spacing: 0.22em;
    margin-bottom: 14px;
  }

  .inspiration-page .inspiration-hero .home-section-head .display-title {
    font-size: clamp(34px, 10vw, 48px);
    line-height: 1;
    letter-spacing: -0.035em;
    margin-bottom: 18px;
  }

  .inspiration-page .inspiration-hero .home-section-head .prose {
    font-size: 16px;
    line-height: 1.72;
    max-width: 34ch;
  }
}

.inspiration-collections {
  padding: clamp(3.5rem, 7vw, 4.5rem) 0 clamp(4.5rem, 9vw, 6rem);
}

.inspiration-collection {
  display: grid;
  gap: clamp(2rem, 4vw, 3rem);
  align-items: center;
  margin-bottom: clamp(3.5rem, 7vw, 5rem);
}

.inspiration-collection:last-child {
  margin-bottom: 0;
}

.inspiration-collection__media {
  margin: 0;
  overflow: hidden;
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-card);
}

.inspiration-collection__media-link {
  display: block;
  color: inherit;
  text-decoration: none;
}

.inspiration-collection__media-link:focus-visible {
  outline: 2px solid rgba(197, 164, 110, 0.55);
  outline-offset: 3px;
}

.inspiration-collection__media-link img {
  cursor: pointer;
}

.inspiration-collection__media img {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  cursor: zoom-in;
  transition: transform 0.8s var(--ease-out);
}

.inspiration-collection__media:hover img {
  transform: scale(1.03);
}

.inspiration-collection__eyebrow {
  margin: 0 0 0.75rem;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--gold);
}

.inspiration-collection__title {
  margin: 0 0 1rem;
  font-size: clamp(2rem, 4vw, 2.5rem);
  line-height: 1.12;
  font-weight: 400;
  letter-spacing: -0.02em;
  color: var(--ink);
}

.inspiration-collection__body {
  margin: 0 0 0.85rem;
  font-size: clamp(1.05rem, 2vw, 1.125rem);
  line-height: 1.75;
  color: #59544d;
}

.inspiration-collection__palette {
  display: block;
  width: 100%;
  margin: 0 0 1.25rem;
  font-family: var(--font-body);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  line-height: 1.4;
  text-transform: uppercase;
  color: #59544d;
  text-align: center;
}

.inspiration-collection__note {
  margin: 0 0 1.5rem;
  font-size: 0.875rem;
  line-height: 1.7;
  color: #625c54;
}

.inspiration-collection__link {
  font-size: 0.875rem;
  color: var(--charcoal);
  text-decoration: underline;
  text-underline-offset: 0.25em;
  text-decoration-color: rgba(47, 47, 47, 0.25);
  transition: color var(--transition), text-decoration-color var(--transition);
}

.inspiration-collection__link:hover {
  color: var(--gold);
  text-decoration-color: rgba(197, 164, 110, 0.5);
}

.inspiration-collection__actions {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.875rem;
  margin-top: 0.25rem;
}

.inspiration-collection__work-btn {
  min-height: 2.5rem;
  padding: 0 1.125rem;
  font-size: 0.625rem;
  letter-spacing: 0.16em;
  border-color: rgba(23, 30, 25, 0.22);
  color: rgba(23, 30, 25, 0.72);
  background: transparent;
}

.inspiration-collection__work-btn:hover {
  color: var(--cream);
  background: var(--ink);
  border-color: var(--ink);
}

.home-see-inspirations {
  background: var(--cream);
}

.home-see-inspirations__head {
  max-width: 40rem;
  margin: 0 0 clamp(2rem, 4vw, 3rem);
  text-align: left;
}

.home-see-inspirations__head .display-title {
  margin-top: 0;
}

.home-see-inspirations__lede {
  margin: 0;
  max-width: 420px;
}

.home-see-inspirations__list {
  display: grid;
  gap: 0;
}

.inspiration-collection__materials-btn {
  margin-top: 0.25rem;
  min-height: 2.75rem;
  padding: 0 1.375rem;
  font-size: 0.625rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  border-radius: 999px;
}

@media (min-width: 768px) {
  .inspiration-collection {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: clamp(2.5rem, 5vw, 3.5rem);
  }

  .inspiration-collection--reverse .inspiration-collection__media {
    order: 2;
  }

  .inspiration-collection--reverse .inspiration-collection__copy {
    order: 1;
  }
}

/* ── Our Work page ── */
.our-work-page {
  --work-surface: var(--paper);
  --work-on-surface: var(--ink);
  background: var(--work-surface);
  color: var(--work-on-surface);
  font-family: var(--font-body);
  overflow-x: hidden;
}

.our-work-page .work-hero,
.our-work-page .work-grid-section {
  background: var(--work-surface);
  color: var(--work-on-surface);
}

.our-work-page .work-hero-eyebrow,
.our-work-page .work-hero-title {
  color: var(--work-on-surface);
}

.our-work-page .work-main {
  min-height: calc(100vh - var(--header-h));
}

.our-work-page .work-explore-hero {
  padding: clamp(4rem, 8vw, 5rem) 0;
  background: var(--white);
  text-align: center;
}

.our-work-page .work-explore-hero-inner {
  max-width: 42rem;
  margin-inline: auto;
  padding-inline: 1.5rem;
}

.our-work-page .work-explore-eyebrow {
  margin: 0 0 0.75rem;
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--gold);
}

.our-work-page .work-explore-title {
  margin: 0;
  font-size: clamp(2.75rem, 6vw, 3.75rem);
  line-height: 1;
  font-weight: 400;
  letter-spacing: -0.02em;
  color: var(--ink);
}

.our-work-page .work-explore-lead {
  margin: 1rem auto 0;
  max-width: 28rem;
  font-size: clamp(1.05rem, 2vw, 1.125rem);
  line-height: 1.7;
  color: #59544d;
}

.our-work-page .work-carousel-section {
  padding: 3rem 0;
  background: var(--white);
  border-top: 1px solid var(--border-soft);
}

.our-work-page .work-portfolio-wrap {
  width: min(80rem, calc(100% - 3rem));
  margin-inline: auto;
}

.our-work-page .work-carousel-toolbar {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 1.5rem;
  width: 100%;
}

.our-work-page .work-portfolio-nav {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.75rem;
  flex-shrink: 0;
  margin-inline: auto;
}

.our-work-page .work-carousel-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border: 1px solid #ddd9d2;
  border-radius: 9999px;
  background: transparent;
  color: var(--work-on-surface);
  font-size: 1.25rem;
  line-height: 1;
  transition: background 0.25s ease, transform 0.25s ease;
}

.our-work-page .work-carousel-arrow:hover {
  background: white;
}

.our-work-page .work-carousel-arrow:first-child:hover {
  transform: translateX(-4px);
}

.our-work-page .work-carousel-arrow:last-child:hover {
  transform: translateX(4px);
}

.our-work-page .portfolio-overlay h3 {
  font-size: 1.5rem;
  font-weight: 600;
  margin-bottom: 0.25rem;
}

.our-work-page .portfolio-overlay p {
  font-size: 0.875rem;
  opacity: 0.9;
}

.our-work-page .portfolio-item img {
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  object-position: center center;
}

.our-work-page .work-final-cta {
  padding: clamp(4rem, 8vw, 5rem) 1.5rem;
  background: var(--white);
  border-top: 1px solid var(--border-soft);
  text-align: center;
}

.our-work-page .work-final-cta-inner {
  max-width: 42rem;
  margin-inline: auto;
}

.our-work-page .work-final-cta__title {
  margin: 0 0 1rem;
  font-size: clamp(2rem, 4vw, 2.5rem);
  line-height: 1.15;
  font-weight: 400;
  color: var(--charcoal);
}

.our-work-page .work-final-cta__lead {
  margin: 0;
  font-size: clamp(1.05rem, 2vw, 1.125rem);
  line-height: 1.75;
  color: #59544d;
}

.dark-closing {
  background: #1a1816;
  color: #F7F5F1;
  padding: 100px 20px;
  text-align: center;
}

.dark-closing-content {
  max-width: 620px;
  margin: 0 auto;
}

.dark-closing h2 {
  font-family: var(--font-heading);
  font-size: 2.1rem;
  margin: 0 0 12px;
  color: #F7F5F1;
}

.dark-closing-sub {
  font-size: 1.05rem;
  color: #d4cfc4;
  margin: 0 0 2rem;
}

.dark-closing .sanctuary-submit-btn {
  width: auto;
  min-width: 15rem;
  margin-top: 0;
}

.dark-closing .back-link {
  display: inline-block;
  margin-top: 1.5rem;
  font-size: 0.85rem;
  color: #a89f90;
  text-decoration: none;
  letter-spacing: 0.5px;
  transition: color 0.3s ease;
}

.dark-closing .back-link:hover {
  color: #F7F5F1;
}

.sanctuary-submit-btn.dark-btn {
  background: #F7F5F1;
  color: #2C2A26;
  border: 1px solid var(--sanctuary-charcoal, #433b33);
}

.sanctuary-submit-btn.dark-btn:hover {
  background: #F7F5F1;
  color: #2C2A26;
  border-color: #B49D87;
}

.sanctuary-submit-btn.dark-btn:hover span {
  color: #2C2A26;
}

@media (min-width: 1024px) {
  .our-work-page .work-portfolio-wrap {
    width: min(80rem, calc(100% - 3rem));
  }
}

.work-hero {
  background: var(--white);
  padding: 5rem 0;
}

.work-hero-inner {
  max-width: 56rem;
}

.work-hero-eyebrow {
  margin: 0 0 0.75rem;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--charcoal);
}

.work-hero-title {
  margin: 0;
  font-size: clamp(2.75rem, 6vw, 3.75rem);
  line-height: 1.08;
  font-weight: 400;
  letter-spacing: -0.02em;
  color: var(--charcoal);
}

.work-carousel-section,
.work-grid-section {
  background: var(--white);
  border-top: 1px solid var(--border-soft);
  padding: 3rem 0 4rem;
}

.portfolio-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}

.portfolio-grid .portfolio-item {
  flex: none;
  width: 100%;
  cursor: pointer;
}

.portfolio-grid .portfolio-item img {
  height: clamp(260px, 42vw, 420px);
}

@media (min-width: 640px) {
  .portfolio-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .portfolio-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.work-inquire {
  padding: 5rem 1.5rem;
  text-align: center;
  background: var(--white);
}

.work-inquire-inner {
  max-width: 42rem;
  margin-inline: auto;
}

.work-inquire-title {
  margin: 0 0 1rem;
  font-size: clamp(2rem, 5vw, 2.25rem);
  font-weight: 400;
  line-height: 1.15;
  color: var(--charcoal);
}

.work-inquire-contact {
  margin: 1rem 0 0;
  font-size: 0.875rem;
  color: var(--slate);
}

.work-inquire-contact a {
  color: inherit;
  text-decoration: none;
}

.work-inquire-contact a:hover {
  color: var(--charcoal);
  text-decoration: underline;
}

.carousel-nav {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1.25rem;
}

.carousel-nav--end {
  justify-content: flex-end;
  margin-bottom: 1.5rem;
}

.carousel-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border: 1px solid #ddd9d2;
  border-radius: 9999px;
  background: transparent;
  color: var(--charcoal);
  font-size: 1.1rem;
  line-height: 1;
  cursor: pointer;
  transition: background var(--transition);
}

.carousel-arrow:hover {
  background: var(--white);
}

.carousel-arrow:active {
  transform: scale(0.96);
}

.carousel-arrow:disabled {
  opacity: 0.35;
  cursor: not-allowed;
  pointer-events: none;
}

.portfolio-carousel {
  display: flex;
  gap: 24px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 40px;
  scrollbar-width: none;
  cursor: grab;
  user-select: none;
}

.portfolio-carousel.is-dragging {
  cursor: grabbing;
  scroll-snap-type: none;
}

.portfolio-carousel::-webkit-scrollbar { display: none; }

.portfolio-item {
  flex: 0 0 380px;
  scroll-snap-align: start;
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1);
  cursor: pointer;
  transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.portfolio-item:hover {
  transform: translateY(-8px);
}

.portfolio-item img {
  width: 100%;
  height: 420px;
  object-fit: cover;
  transition: transform 0.6s ease;
}

.portfolio-item:hover img { transform: scale(1.08); }

.portfolio-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(to top, rgba(47, 47, 47, 0.85), transparent);
  padding: 40px 24px 24px;
  color: #fff;
  transition: all 0.4s ease;
}

.portfolio-item:hover .portfolio-overlay {
  background: linear-gradient(to top, rgba(47, 47, 47, 0.95), rgba(47, 47, 47, 0.4));
}

.portfolio-overlay h3 {
  margin: 0 0 0.25rem;
  font-family: var(--font-heading);
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.2;
}

.portfolio-overlay p {
  margin: 0;
  font-size: 0.875rem;
  font-weight: 400;
  letter-spacing: normal;
  text-transform: none;
  opacity: 0.9;
  color: #fff;
}

.transform-grid { margin-top: 3rem; }

.transform-caption {
  margin-top: 1.25rem;
  padding-top: 1rem;
  border-top: 1px solid var(--border);
}

.transform-title {
  font-family: var(--font-heading);
  font-size: 1.75rem;
  font-weight: 400;
  line-height: 1.15;
  margin: 0;
}

.transform-location {
  margin-top: 0.5rem;
  color: var(--gold-muted);
}

.experience-item p {
  color: var(--slate);
  line-height: 1.6;
  margin: 0;
}

.process-step-desc {
  display: block;
  color: var(--slate);
  line-height: 1.6;
}

.prose > p + p { margin-top: 1rem; }

.page-intro .display-title { margin-top: 0.75rem; }

.mt-3 { margin-top: 0.75rem; }
.mt-4 { margin-top: 1rem; }
.mt-6 { margin-top: 1.5rem; }
.mt-8 { margin-top: 2rem; }
.mt-10 { margin-top: 2.5rem; }
.max-w-xl { max-width: 36rem; margin-inline: auto; }
.max-w-2xl { max-width: 48rem; }
.w-full { width: 100%; }

@media (min-width: 640px) {
  .container-sb { width: min(var(--max), calc(100% - 3rem)); }
}

@media (min-width: 900px) {
  .hero-layout {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
  }
  .hero-founder-tip {
    justify-self: end;
  }
}

@media (min-width: 768px) {
  .pillars { grid-template-columns: repeat(2, 1fr); }
  .material-grid { grid-template-columns: repeat(2, 1fr); }
  .experience-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 639px) {
  .transform-pair { grid-template-columns: 1fr; }
}

@media (min-width: 1024px) {
  .split-process--investment {
    grid-template-columns: minmax(12rem, 17.5rem) 1fr;
  }

  .work-grid,
  .split-process,
  .contact-carousel-split {
    grid-template-columns: minmax(0, 0.94fr) minmax(0, 1.06fr);
    grid-template-rows: auto auto;
    column-gap: clamp(2.5rem, 5vw, 4rem);
    row-gap: 1.5rem;
    align-items: end;
  }

  .philosophy-grid {
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
    column-gap: clamp(2.5rem, 5vw, 4rem);
    align-items: center;
  }

  .philosophy-media {
    max-width: min(100%, 26rem);
    margin-inline: 0;
    justify-self: stretch;
  }

  .philosophy-grid .content-block {
    justify-self: start;
    max-width: 34rem;
  }

  .contact-carousel-split__form,
  .contact-carousel-split__carousel {
    display: contents;
  }

  .contact-split-header {
    grid-column: 1;
    grid-row: 1;
    align-self: end;
    padding-bottom: 0.5rem;
  }

  .contact-carousel-split__headline {
    grid-column: 2;
    grid-row: 1;
    align-self: end;
    padding-bottom: 0.5rem;
    text-align: left;
  }

  .contact-form--split {
    grid-column: 1;
    grid-row: 2;
    align-self: end;
    height: auto;
    min-height: 0;
  }

  .contact-carousel-split__media {
    grid-column: 2;
    grid-row: 2;
    align-self: end;
    height: clamp(380px, 34vw, 440px);
    min-height: 380px;
    max-height: 440px;
  }
  .transform-grid { grid-template-columns: repeat(2, 1fr); }
  .pillars { grid-template-columns: repeat(4, 1fr); }
  .process-steps { grid-template-columns: repeat(2, 1fr); }
  .experience-grid { grid-template-columns: repeat(3, 1fr); }
  .material-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 1280px) {
  .material-grid { grid-template-columns: repeat(3, 1fr); }
}

/* ── Materials page (matches sanctuary-bath.vercel.app/materials) ── */
.materials-page {
  --mat-bg: #f7f5f0;
  --mat-border: #ddd9d2;
  --mat-gold: #c5a46e;
  --mat-text: var(--ink);
  --mat-muted: #59544d;
  --mat-charcoal: #2c2c2c;
  background: var(--mat-bg);
  color: var(--mat-text);
}
.materials-page .mat-eyebrow {
  margin: 0 0 1.25rem;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: var(--mat-gold);
  line-height: 1.4;
}
.materials-page .mat-palette-nav {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  width: 100%;
  max-width: none;
  border-top: 1px solid var(--mat-border);
  border-bottom: 1px solid var(--mat-border);
  background: #f7f5f0;
}
.materials-page .mat-palette-nav a {
  min-width: 0;
  width: 100%;
  max-width: none;
  min-height: 10.5rem;
  padding: 1.5rem 1rem 1.1rem;
  text-decoration: none;
  color: var(--mat-text);
  border-right: 1px solid var(--mat-border);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: background 0.25s ease;
  box-sizing: border-box;
}
.materials-page .mat-palette-nav a:last-child { border-right: 0; }
.materials-page .mat-palette-nav a:hover { background: #edeae4; }
.materials-page .mat-palette-nav span {
  font-family: var(--font-heading);
  font-size: 1.5rem;
  line-height: 1;
  color: var(--mat-gold);
}
.materials-page .mat-palette-nav strong {
  font-family: var(--font-heading);
  font-weight: 400;
  display: block;
  margin-top: 0.85rem;
  font-size: 1.15rem;
  line-height: 1.2;
}
.materials-page .mat-palette-nav small {
  display: block;
  margin-top: 1rem;
  height: 7px;
  border: 1px solid var(--mat-border);
  background: currentColor;
  opacity: 0.55;
  text-indent: -9999px;
  overflow: hidden;
}
/* Chip bar colors for the four styles */
.materials-page .mat-palette-nav a:nth-child(1) { color: var(--warm-organic-modern); }
.materials-page .mat-palette-nav a:nth-child(1) strong,
.materials-page .mat-palette-nav a:nth-child(1) span { color: var(--mat-text); }
.materials-page .mat-palette-nav a:nth-child(2) { color: var(--refined-transitional); }
.materials-page .mat-palette-nav a:nth-child(2) strong,
.materials-page .mat-palette-nav a:nth-child(2) span { color: var(--mat-text); }
.materials-page .mat-palette-nav a:nth-child(3) { color: var(--classical-elegance); }
.materials-page .mat-palette-nav a:nth-child(3) strong,
.materials-page .mat-palette-nav a:nth-child(3) span { color: var(--mat-text); }
.materials-page .mat-palette-nav a:nth-child(4) { color: var(--coastal-serenity); }
.materials-page .mat-palette-nav a:nth-child(4) strong,
.materials-page .mat-palette-nav a:nth-child(4) span { color: var(--mat-text); }
.materials-page .mat-hero--editorial {
  display: grid;
  gap: clamp(2rem, 5vw, 3.5rem);
  padding-top: clamp(3rem, 8vw, 5.5rem);
  padding-bottom: clamp(2.5rem, 6vw, 4rem);
}
.materials-page .mat-title {
  font-family: var(--font-heading);
  font-weight: 400;
  letter-spacing: -0.035em;
  font-size: clamp(2.25rem, 5.5vw, 5.5rem);
  line-height: 0.98;
  margin: 0 0 1.5rem;
  max-width: 14ch;
}
.materials-page .mat-lead {
  font-size: clamp(1.05rem, 2vw, 1.2rem);
  line-height: 1.7;
  color: var(--mat-muted);
  max-width: 36rem;
  margin: 0 0 1rem;
}
.materials-page .mat-copy p {
  max-width: 35rem;
  font-size: 1rem;
  line-height: 1.75;
  color: var(--mat-muted);
  margin: 0 0 1rem;
}
.materials-page .mat-hero-feature {
  margin: 0;
  overflow: hidden;
  background: #edeae4;
  aspect-ratio: 16 / 9;
}
.materials-page .mat-hero-feature img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: saturate(0.9) contrast(0.96);
}
.materials-page .mat-palette-sections {
  border-top: 1px solid var(--mat-border);
}
.materials-page .mat-palette-section {
  display: grid;
  gap: clamp(2rem, 5vw, 3.5rem);
  align-items: center;
  padding: clamp(3.5rem, 9vw, 6.5rem) 0;
  border-bottom: 1px solid var(--mat-border);
}

/* Alternating editorial: odd = text then image, even = image then text */
.materials-page .mat-palette-section:nth-child(even) .mat-palette-visual {
  order: -1;
}

.materials-page .mat-palette-section:nth-child(odd) .mat-palette-content {
  justify-self: start;
}

.materials-page .mat-palette-section:nth-child(even) .mat-palette-content {
  justify-self: start;
}
.materials-page .mat-editorial-num {
  font-family: var(--font-heading);
  font-size: clamp(3rem, 8vw, 5rem);
  line-height: 1;
  color: rgba(197, 164, 110, 0.35);
  margin: 0 0 0.75rem;
  letter-spacing: -0.04em;
}
.materials-page .mat-palette-content h3 {
  font-family: var(--font-heading);
  font-weight: 400;
  font-size: clamp(2rem, 4.5vw, 3.75rem);
  letter-spacing: -0.03em;
  line-height: 1.02;
  margin: 0 0 0.5rem;
  max-width: 12ch;
}

.materials-page .mat-palette-subtitle {
  font-family: var(--font-heading);
  font-size: clamp(1.125rem, 2vw, 1.5rem);
  font-style: italic;
  color: var(--gold);
  letter-spacing: 0.02em;
  margin: 0 0 1.25rem;
}
.materials-page .mat-palette-content p {
  max-width: 37.5rem;
  font-size: 1rem;
  line-height: 1.75;
  color: var(--mat-muted);
  margin: 0 0 0.85rem;
}
.materials-page .mat-material-note {
  margin-top: 1.75rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--mat-border);
  max-width: 35rem;
  display: grid;
  gap: 0.85rem;
}
.materials-page .mat-material-note div {
  display: grid;
  gap: 0.25rem;
  font-size: 0.875rem;
  line-height: 1.6;
  color: var(--mat-muted);
}
.materials-page .mat-material-note strong {
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--mat-text);
}
.materials-page .mat-palette-visual { min-width: 0; }

.materials-page .mat-palette-visual-gallery {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.65rem;
}

.materials-page .mat-palette-photo {
  margin: 0;
  overflow: hidden;
  background: #edeae4;
  border: 1px solid var(--mat-border);
  border-radius: var(--radius-sm);
  display: flex;
  flex-direction: column;
}

.materials-page .mat-palette-photo img {
  width: 100%;
  /* 50% taller than 2/3 → 4/9 */
  aspect-ratio: 4 / 9;
  object-fit: cover;
  display: block;
  cursor: zoom-in;
  filter: saturate(0.9) contrast(0.96);
  transition: transform 0.8s var(--ease-out);
  flex: 0 0 auto;
}

.materials-page .mat-palette-photo:hover img {
  transform: scale(1.03);
}

/* Coastal Serenity — focus crop on shower glass / wet area */
.materials-page .mat-palette-photo--focus-shower img {
  object-fit: cover;
  object-position: 82% 36%;
}

.materials-page .mat-palette-photo--focus-shower:hover img {
  transform: scale(1.04);
  transform-origin: 82% 36%;
}

/* Uniform image label tabs — same size, color, type on every materials photo */
.materials-page .mat-palette-photo figcaption,
.materials-page .mat-palette-visual-gallery .mat-palette-photo figcaption {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 100%;
  flex: 0 0 auto;
  min-height: 3.1rem;
  height: 3.1rem;
  margin: 0;
  padding: 0.55rem 0.65rem;
  font-family: var(--font-body) !important;
  font-size: 0.625rem !important;
  font-weight: 600 !important;
  font-style: normal !important;
  letter-spacing: 0.14em !important;
  line-height: 1.25 !important;
  text-transform: uppercase !important;
  color: #59544d !important;
  background: #f3f1eb !important;
  border: 0 !important;
  border-top: 1px solid #ddd9d2 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  box-sizing: border-box;
  white-space: normal;
  overflow: hidden;
}

.materials-page .mat-palette-visual-main {
  overflow: hidden;
  background: #edeae4;
  aspect-ratio: 4 / 9;
  min-height: clamp(33rem, 78vw, 51rem);
}

.materials-page .mat-palette-visual-main img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: saturate(0.88) contrast(0.95);
  transition: transform 0.8s var(--ease-out);
}

.materials-page .mat-palette-visual-main:hover img {
  transform: scale(1.03);
}

.materials-page .mat-palette-strip {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.5rem;
  margin-top: 1.75rem;
  max-width: 14rem;
}
.materials-page .mat-chip {
  min-height: 2.75rem;
  border: 1px solid var(--mat-border);
}
.materials-page .mat-chip-ivory { background: #f7f3ea; }
.materials-page .mat-chip-stone { background: #c9b89d; }
.materials-page .mat-chip-taupe { background: #b7a99a; }
.materials-page .mat-chip-brass {
  background: linear-gradient(90deg, #8e6a32, #B49D87, #d0ac61, #967139);
}
.materials-page .mat-chip-nickel {
  background: linear-gradient(90deg, #8a9098, #c4c8cc, #e8eaec, #9aa0a8);
}
.materials-page .mat-chip-coastal-blue {
  background: var(--coastal-serenity);
}
.materials-page .mat-chip-navy {
  background: var(--refined-transitional);
}
.materials-page .mat-chip-warm-organic {
  background: var(--warm-organic-modern);
}
.materials-page .mat-chip-classical-elegance {
  background: var(--classical-elegance);
}
.materials-page .mat-chip-warm-white {
  background: linear-gradient(90deg, #f5f0e8, #faf7f2, #ede6dc, #f8f4ed);
}
.materials-page .mat-chip-white-oak {
  background: linear-gradient(90deg, #c4a882, #d4bc9a, #e8d4b8, #b89a72);
}
.materials-page .mat-chip-arch-taupe { background: #8a6f55; }
.materials-page .mat-chip-espresso { background: #2f2f2f; }
.materials-page .mat-chip-layered {
  background: linear-gradient(90deg, #f7f3ea, #d8cdbd, #c9b89d, #B49D87, #8a6f55, #433B33);
}
.materials-page .mat-interlude {
  padding: clamp(2rem, 5vw, 3.5rem) 0 0;
  border-bottom: none;
}

#materials-matter .materials-page {
  background: transparent;
}
.materials-page .mat-interlude-intro {
  max-width: 40rem;
  margin-bottom: clamp(2.5rem, 6vw, 4rem);
}
.materials-page .mat-interlude-intro h2 {
  font-family: var(--font-heading);
  font-weight: 400;
  letter-spacing: -0.03em;
  font-size: clamp(2rem, 4.5vw, 3.75rem);
  line-height: 1.03;
  margin: 0 0 1.25rem;
  max-width: 14ch;
}
.materials-page .mat-interlude-intro p {
  font-size: 1rem;
  line-height: 1.75;
  color: var(--mat-muted);
}
.materials-page .mat-editorial-gallery {
  display: grid;
  gap: clamp(2.5rem, 6vw, 4rem);
}
.materials-page .mat-editorial-row {
  display: grid;
  gap: 1.25rem;
  align-items: center;
}

/* Gallery alternates image/text per row */
.materials-page .mat-editorial-row:nth-child(even) .mat-editorial-caption {
  order: -1;
}
.materials-page .mat-editorial-media {
  margin: 0;
  overflow: hidden;
  background: #edeae4;
  aspect-ratio: 5 / 4;
}
.materials-page .mat-editorial-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  cursor: zoom-in;
  filter: saturate(0.85) contrast(0.94);
}
.materials-page .mat-editorial-caption {
  margin: 0;
  font-family: var(--font-heading);
  font-size: clamp(1.35rem, 3vw, 2rem);
  line-height: 1.15;
  color: var(--mat-text);
  max-width: 16ch;
}
.materials-page .mat-closing {
  padding: 4rem 1.25rem 5rem;
  background: var(--mat-charcoal);
  color: #f7f5f0;
  text-align: center;
}
.materials-page .mat-closing-cta {
  font-family: var(--font-heading);
  font-weight: 400;
  letter-spacing: -0.02em;
  font-size: clamp(1.75rem, 4vw, 3rem);
  line-height: 1.15;
  margin: 0 auto;
  max-width: 28rem;
  color: #f7f5f0;
}
.materials-page .mat-closing-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 1.75rem;
  padding: 0.875rem 1.75rem;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  background: #454545;
  color: #fff;
  border: 1px solid #454545;
  border-radius: 0;
  transition: background 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
}
.materials-page .mat-closing-btn:hover {
  background: #545454;
  border-color: #545454;
}
.materials-page .mat-closing-btn--animated {
  animation: matClosingBtnShadow 2.8s ease-in-out infinite;
}
.materials-page .mat-closing-btn--animated:hover {
  animation-play-state: paused;
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.38);
}
@keyframes matClosingBtnShadow {
  0%,
  100% {
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.22);
    transform: translateY(0);
  }
  50% {
    box-shadow: 0 10px 26px rgba(0, 0, 0, 0.34);
    transform: translateY(-3px);
  }
}

.materials-page .mat-closing-back {
  margin-top: 1.5rem;
}

.materials-page .mat-closing-back a {
  color: rgba(247, 245, 240, 0.75);
  text-decoration: underline;
  text-underline-offset: 0.2em;
  text-decoration-color: rgba(247, 245, 240, 0.25);
  transition: color 0.25s ease, text-decoration-color 0.25s ease;
}

.materials-page .mat-closing-back a:hover {
  color: #e8dcc8;
  text-decoration-color: rgba(232, 220, 200, 0.5);
}

@media (min-width: 640px) {
  .materials-page .mat-palette-visual-gallery {
    grid-template-columns: repeat(3, 1fr);
    gap: 0.75rem;
  }

  .materials-page .mat-material-note div {
    grid-template-columns: 9.5rem 1fr;
    gap: 1rem;
  }
  .materials-page .mat-hero--editorial {
    grid-template-columns: 0.95fr 1.05fr;
    align-items: end;
    gap: clamp(2rem, 5vw, 4rem);
  }
  .materials-page .mat-hero-feature { aspect-ratio: 3 / 4; }
}
@media (min-width: 768px) {
  .materials-page .mat-palette-section {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: clamp(3rem, 7vw, 6rem);
  }

  .materials-page .mat-palette-content {
    max-width: 34rem;
  }

  /* Odd rows: text left, image right (default DOM order) */
  .materials-page .mat-palette-section:nth-child(odd) .mat-palette-content {
    justify-self: start;
  }

  /* Even rows: image left, text right */
  .materials-page .mat-palette-section:nth-child(even) .mat-palette-visual {
    order: -1;
    justify-self: start;
  }

  .materials-page .mat-palette-section:nth-child(even) .mat-palette-content {
    justify-self: end;
  }

  .materials-page .mat-editorial-row {
    grid-template-columns: 1.15fr 0.85fr;
    gap: clamp(1.5rem, 4vw, 3rem);
  }

  /* Odd gallery rows: image left, caption right */
  .materials-page .mat-editorial-row:nth-child(odd) .mat-editorial-media {
    order: 1;
  }

  .materials-page .mat-editorial-row:nth-child(odd) .mat-editorial-caption {
    order: 2;
    justify-self: start;
  }

  /* Even gallery rows: caption left, image right */
  .materials-page .mat-editorial-row:nth-child(even) {
    grid-template-columns: 0.85fr 1.15fr;
  }

  .materials-page .mat-editorial-row:nth-child(even) .mat-editorial-caption {
    order: 1;
    justify-self: end;
    text-align: right;
  }

  .materials-page .mat-editorial-row:nth-child(even) .mat-editorial-media {
    order: 2;
  }

  .materials-page .mat-editorial-media {
    aspect-ratio: 4 / 9;
  }
}
@media (min-width: 1024px) {
  .materials-page .mat-hero--editorial {
    grid-template-columns: 0.42fr 0.58fr;
    gap: clamp(3rem, 6vw, 5.5rem);
  }
}
@media (max-width: 1080px) {
  .materials-page .mat-palette-nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .materials-page .mat-palette-nav a {
    border-right: 1px solid var(--mat-border);
  }
  .materials-page .mat-palette-nav a:nth-child(2n) {
    border-right: 0;
  }
  .materials-page .mat-palette-nav a:nth-child(-n + 2) {
    border-bottom: 1px solid var(--mat-border);
  }
}
@media (max-width: 720px) {
  .materials-page .mat-palette-nav {
    grid-template-columns: 1fr;
  }
  .materials-page .mat-palette-nav a {
    min-height: 7.5rem;
    border-right: 0;
    border-bottom: 1px solid var(--mat-border);
  }
  .materials-page .mat-palette-nav a:last-child {
    border-bottom: 0;
  }
}

@media (max-width: 480px) {
  .portfolio-item {
    flex: 0 0 min(380px, 82vw);
  }
}

/* ── Sanctuary Experience — editorial page (reference tokens) ── */
.experience-page {
  --exp-primary: #171e19;
  --exp-on-primary: #ffffff;
  --exp-tertiary: #1e1c18;
  --exp-surface: #faf9f7;
  --exp-on-surface: #1a1c1b;
  --exp-on-tertiary-fixed: #1d1b17;
  --exp-surface-dim: #dadad8;
  --exp-tertiary-container: #33312c;
  --exp-primary-fixed-dim: #c1c8c0;
  --exp-primary-fixed: #dde4db;
  --exp-muted: #444844;
  --exp-sage: #8b9485;
  --exp-outline: #c4c7c2;
  --exp-secondary: #685c50;
  --exp-surface-low: #f4f3f1;
  --exp-radius: 0.125rem;
  --exp-radius-lg: 0.25rem;
  --exp-radius-xl: 0.5rem;
  --exp-radius-full: 0.75rem;
  background-color: var(--exp-surface);
  color: var(--exp-on-surface);
  font-family: var(--font-body);
  overflow-x: hidden;
}

.experience-page .sanctuary-heading {
  font-family: var(--font-heading);
}

.experience-page .exp-title,
.experience-page .exp-pillar__title,
.experience-page .exp-cta__title,
.experience-page .exp-quote__text,
.experience-page .work-inquire-title {
  font-family: var(--font-heading);
}

.experience-page main.exp-main {
  min-height: 100vh;
}

.experience-page .exp-editorial-wrap {
  width: min(90rem, calc(100% - 3rem));
  margin-inline: auto;
}

@media (min-width: 768px) {
  .experience-page .exp-editorial-wrap {
    width: min(90rem, calc(100% - 6rem));
  }
}

.exp-editorial-hero {
  padding: clamp(4rem, 10vw, 6rem) 0;
}

.exp-editorial-hero__grid {
  display: grid;
  gap: 4rem;
  align-items: center;
}

.exp-editorial-eyebrow {
  display: block;
  margin-bottom: 1.5rem;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 5px;
  text-transform: uppercase;
  color: #747873;
}

.exp-editorial-title {
  margin: 0 0 2rem;
  font-size: clamp(3rem, 8vw, 5rem);
  font-weight: 500;
  line-height: 1.1;
  color: var(--exp-on-surface);
}

.exp-editorial-title__italic {
  font-style: italic;
}

.exp-editorial-lead {
  margin: 0 0 3rem;
  max-width: 32rem;
  font-size: 20px;
  line-height: 1.6;
  color: var(--exp-muted);
}

.exp-editorial-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

.exp-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 1rem 2.5rem;
  font-family: var(--font-body);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: 0;
  cursor: pointer;
  transition: background 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

.exp-btn--primary {
  background: #171e19;
  color: #ffffff;
  border: 1px solid #171e19;
}

.exp-btn--primary:hover {
  background: #000000;
  border-color: #000000;
}

.exp-btn--outline {
  background: transparent;
  color: #171e19;
  border: 1px solid #747873;
}

.exp-btn--outline:hover {
  border-color: #171e19;
}

.exp-editorial-hero__media {
  position: relative;
  margin: 0;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  border-radius: 0.125rem;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.18);
}

.exp-editorial-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero-image {
  transition: transform 0.8s ease-out;
  will-change: transform;
}

.exp-editorial-hero__caption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 2rem;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.6), transparent);
  color: #ffffff;
}

.exp-editorial-hero__caption-label {
  margin: 0 0 0.25rem;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.exp-editorial-hero__caption-title {
  margin: 0;
  font-size: 1.5rem;
  line-height: 1.2;
}

.exp-work {
  background: #ffffff;
  padding: 6rem 0;
}

.exp-work__head {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  margin-bottom: 4rem;
}

.exp-work__title {
  margin: 0 0 1.5rem;
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 500;
  line-height: 1.2;
}

.exp-work__desc {
  margin: 0;
  max-width: 36rem;
  line-height: 1.65;
  color: rgba(23, 30, 25, 0.7);
}

.exp-work__link {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: inherit;
  text-decoration: none;
}

.exp-work__link span:last-child {
  transition: transform 0.3s ease;
}

.exp-work__link:hover span:last-child {
  transform: translateX(0.5rem);
}

.exp-work__grid {
  display: grid;
  gap: 3rem;
}

.exp-work-card {
  color: inherit;
  text-decoration: none;
}

.exp-work-card__media {
  margin: 0 0 1.5rem;
  aspect-ratio: 3 / 4;
  overflow: hidden;
  border-radius: 0.125rem;
}

.exp-work-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.7s ease;
}

.exp-work-card:hover .exp-work-card__media img {
  transform: scale(1.1);
}

.exp-work-card__meta {
  margin: 0 0 0.5rem;
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  opacity: 0.4;
}

.exp-work-card__title {
  margin: 0 0 0.5rem;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.2;
}

.exp-work-card__copy {
  margin: 0;
  font-size: 0.875rem;
  opacity: 0.6;
}

.exp-footer {
  background: #171e19;
  color: #ffffff;
  padding: 5rem 0 0;
}

.exp-footer__grid {
  display: grid;
  gap: 3rem;
  padding-bottom: 5rem;
}

.exp-footer__logo {
  margin: 0 0 0.35rem;
  font-size: 1.75rem;
  letter-spacing: 0.12em;
}

.exp-footer__tagline {
  margin: 0 0 2rem;
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  opacity: 0.7;
}

.exp-footer__about {
  margin: 0;
  max-width: 20rem;
  font-size: 0.875rem;
  line-height: 1.65;
  opacity: 0.6;
}

.exp-footer__links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 3rem;
}

.exp-footer__heading {
  margin: 0 0 1.5rem;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  opacity: 0.4;
}

.exp-footer__links ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 1rem;
  font-size: 0.875rem;
}

.exp-footer__links a {
  color: inherit;
  text-decoration: none;
}

.exp-footer__links a:hover {
  opacity: 0.6;
}

.exp-footer__bar {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 2rem 0;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  opacity: 0.4;
}

@media (min-width: 768px) {
  .exp-editorial-hero__grid {
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
  }

  .exp-work__head {
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
  }

  .exp-work__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .exp-footer__grid {
    grid-template-columns: 1fr 1fr;
    align-items: start;
  }

  .exp-footer__links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6rem;
    justify-self: end;
  }

  .exp-footer__bar {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
  }
}

@media (min-width: 1024px) {
  .exp-work__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.exp-shell {
  padding-bottom: clamp(3rem, 8vw, 5rem);
}

.exp-eyebrow {
  margin: 0 0 1.25rem;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--exp-sage);
}

.exp-title {
  margin: 0 0 1.5rem;
  font-size: clamp(2.5rem, 6vw, 4rem);
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: -0.02em;
  max-width: 12ch;
  color: var(--exp-on-surface);
}

.exp-lead {
  margin: 0 0 1rem;
  font-size: 16px;
  line-height: 1.6;
  font-weight: 400;
  color: var(--exp-muted);
  max-width: 36rem;
}

.exp-body {
  margin: 0;
  font-size: 16px;
  line-height: 1.6;
  font-weight: 400;
  color: var(--exp-muted);
  max-width: 35rem;
}

.exp-hero {
  display: grid;
  gap: clamp(2rem, 5vw, 3.5rem);
  padding: clamp(2.5rem, 7vw, 4.5rem) 0 clamp(2rem, 5vw, 3rem);
  border-bottom: 1px solid var(--exp-outline);
}

.exp-hero__media {
  margin: 0;
  overflow: hidden;
  background: var(--exp-surface-dim);
  border-radius: var(--exp-radius-xl);
  aspect-ratio: 4 / 3;
}

.exp-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: saturate(0.92) contrast(0.97);
}

.exp-quote {
  padding: clamp(3rem, 8vw, 5rem) 0;
  text-align: center;
  border-bottom: 1px solid var(--exp-outline);
}

.exp-quote__text {
  margin: 0 auto 1.25rem;
  max-width: 28ch;
  font-size: clamp(1.75rem, 4vw, 3rem);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -0.02em;
  color: var(--exp-on-surface);
}

.exp-quote__cite {
  margin: 0;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--exp-sage);
}

.exp-pillars {
  border-bottom: 1px solid var(--exp-outline);
}

.exp-pillar {
  display: grid;
  gap: clamp(2rem, 5vw, 3.5rem);
  align-items: center;
  padding: clamp(3.5rem, 9vw, 6rem) 0;
  border-bottom: 1px solid var(--exp-outline);
}

.exp-pillar:last-child {
  border-bottom: none;
}

.exp-pillar:nth-child(even) .exp-pillar__media {
  order: -1;
}

.exp-pillar__num {
  margin: 0 0 0.75rem;
  font-family: var(--font-heading);
  font-size: clamp(3rem, 8vw, 5rem);
  line-height: 1;
  letter-spacing: -0.04em;
  color: rgba(197, 164, 110, 0.35);
}

.exp-pillar__title {
  margin: 0 0 1.25rem;
  font-size: clamp(1.75rem, 3.5vw, 3rem);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -0.02em;
  max-width: 12ch;
  color: var(--exp-on-surface);
}

.exp-pillar__lead {
  margin: 0 0 1rem;
  font-size: 16px;
  line-height: 1.6;
  font-weight: 400;
  color: var(--exp-secondary);
  max-width: 34rem;
}

.exp-pillar__content p {
  margin: 0 0 0.85rem;
  max-width: 37rem;
  font-size: 16px;
  line-height: 1.6;
  font-weight: 400;
  color: var(--exp-muted);
}

.exp-pillar__note {
  margin-top: 1.75rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--exp-outline);
  max-width: 35rem;
  display: grid;
  gap: 0.85rem;
}

.exp-pillar__note div {
  display: grid;
  gap: 0.25rem;
  font-size: 0.875rem;
  line-height: 1.6;
  color: var(--exp-muted);
}

.exp-pillar__note strong {
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--exp-secondary);
}

.exp-text-link {
  display: inline-block;
  margin-top: 1.5rem;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--exp-primary);
  text-decoration: none;
  border-bottom: 1px solid var(--exp-outline);
  padding-bottom: 0.2rem;
  transition: color 0.25s ease, border-color 0.25s ease;
}

.exp-text-link:hover {
  color: var(--gold-muted);
  border-color: var(--gold);
}

.exp-pillar__media {
  margin: 0;
  overflow: hidden;
  background: var(--exp-surface-dim);
  border-radius: var(--exp-radius-xl);
  aspect-ratio: 4 / 5;
}

.exp-pillar__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.exp-cta {
  display: grid;
  gap: clamp(2rem, 5vw, 3.5rem);
  align-items: center;
  padding: clamp(3.5rem, 9vw, 6rem) 0 0;
}

.exp-cta__media {
  margin: 0;
  overflow: hidden;
  background: var(--exp-surface-dim);
  border-radius: var(--exp-radius-xl);
  aspect-ratio: 5 / 4;
}

.exp-cta__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.exp-cta__title {
  margin: 0 0 1.25rem;
  font-size: clamp(1.75rem, 3vw, 2rem);
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: -0.02em;
  max-width: 14ch;
  color: var(--exp-on-surface);
}

.exp-rule {
  width: 3.5rem;
  height: 1px;
  background: var(--gold);
  margin: 0 0 1.5rem;
}

.exp-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 2rem;
}

.experience-page .btn-outline {
  font-family: inherit;
  cursor: pointer;
}

.experience-page .work-inquire {
  background: var(--exp-tertiary);
  color: var(--exp-on-primary);
}

.experience-page .work-inquire-title {
  color: var(--exp-on-primary);
  font-size: clamp(1.75rem, 3vw, 3rem);
  font-weight: 500;
  line-height: 1.2;
}

.experience-page .work-inquire-contact {
  color: var(--exp-primary-fixed-dim);
}

.experience-page .work-inquire-contact a {
  color: var(--exp-primary-fixed);
}

.experience-page .work-inquire-contact a:hover {
  color: var(--exp-on-primary);
}

.experience-page .work-inquire .btn-inquire {
  background: var(--exp-on-primary);
  color: var(--exp-tertiary);
  border-color: var(--exp-on-primary);
}

.experience-page .work-inquire .btn-inquire:hover {
  background: var(--exp-primary-fixed);
  color: var(--exp-tertiary);
  border-color: var(--exp-primary-fixed);
}

@media (min-width: 768px) {
  .exp-hero {
    grid-template-columns: 1fr 1.05fr;
    align-items: center;
  }

  .exp-pillar {
    grid-template-columns: 1fr 1fr;
  }

  .exp-cta {
    grid-template-columns: 1.05fr 1fr;
  }

  .exp-cta__copy {
    padding-left: clamp(1rem, 3vw, 2rem);
  }
}

@media (min-width: 1024px) {
  .exp-hero__copy {
    padding-right: 2rem;
  }
}

.section-investment-only {
  padding-bottom: clamp(5rem, 10vw, 8rem);
}

.section-investment-only .contact-split-grid {
  max-width: 42rem;
}

@media (min-width: 1024px) {
  .section-investment-only .contact-split-philosophy {
    grid-column: 1 / -1;
  }
}

.inquire-drawer {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: 85%;
  max-width: 450px;
  background: #ffffff;
  z-index: 80;
  transform: translateX(0);
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.18);
  display: flex;
  flex-direction: column;
  padding-top: env(safe-area-inset-top);
  padding-right: env(safe-area-inset-right);
  padding-bottom: env(safe-area-inset-bottom);
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
  visibility: visible;
  pointer-events: auto;
}

.inquire-drawer.right-panel-closed {
  transform: translateX(100%);
  pointer-events: none;
}

.inquire-drawer.is-open,
.inquire-drawer:not(.right-panel-closed) {
  transform: translateX(0);
  pointer-events: auto;
  visibility: visible;
}

.inquire-drawer__head {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 2rem;
  border-bottom: 1px solid rgba(196, 199, 194, 0.2);
}

.inquire-drawer__label {
  font-family: var(--font-body);
  font-size: var(--panel-kicker-size);
  font-weight: 700;
  letter-spacing: var(--panel-kicker-ls);
  text-transform: uppercase;
  color: rgba(23, 30, 25, 0.6);
}

.inquire-drawer__close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  min-width: 44px;
  min-height: 44px;
  border: none;
  background: none;
  color: #747873;
  font-size: 1.75rem;
  line-height: 1;
  cursor: pointer;
  transition: color 0.25s ease;
}

.inquire-drawer__close:hover {
  color: #171e19;
}

.inquire-drawer__scroll {
  flex: 1;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  padding: 2rem clamp(2rem, 5vw, 3rem);
}

.inquire-drawer__intro {
  margin-bottom: 1.5rem;
  text-align: center;
}

.inquire-drawer__title {
  margin: 0 0 0.55rem;
  font-family: var(--font-heading);
  font-size: var(--panel-title-size);
  font-weight: 500;
  line-height: 1.2;
  color: var(--ink);
  text-align: center;
}

.inquire-drawer__lead {
  margin: 0 auto 1.5rem;
  font-size: var(--panel-body-size);
  line-height: 1.5;
  color: #59544d;
  text-align: center;
  max-width: 22rem;
}

.inquire-drawer__form {
  display: grid;
  gap: 1.25rem;
}

.inquire-field label {
  display: block;
  margin-bottom: 0.4rem;
  font-family: var(--font-body);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: #6b665f;
}

.inquire-required {
  color: #c9a27e;
}

.inquire-field label::after {
  content: none;
}

.inquire-field input,
.inquire-field select,
.inquire-field textarea {
  width: 100%;
  padding: 0.85rem 1rem;
  border: 1px solid #e5e0d8;
  border-radius: 12px;
  background: #fdfaf4;
  font-family: var(--font-body);
  font-size: 1rem;
  color: var(--charcoal);
  outline: none;
  transition: all 300ms ease;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03);
}

.inquire-field input:focus,
.inquire-field select:focus,
.inquire-field textarea:focus {
  border-color: var(--gold);
  background: #fff;
  box-shadow: 0 0 0 4px rgba(184, 164, 126, 0.1);
  transform: translateY(-1px);
}

.inquire-field select {
  cursor: pointer;
  appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, #747873 50%), linear-gradient(135deg, #747873 50%, transparent 50%);
  background-position: calc(100% - 14px) calc(50% + 2px), calc(100% - 9px) calc(50% + 2px);
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
  padding-right: 1.5rem;
}

.inquire-field textarea {
  min-height: 6.5rem;
  resize: vertical;
}

.sanctuary-submit-btn {
  width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 16px 36px;
  background: #2c2a26;
  color: #f7f5f1;
  border: 1px solid #2c2a26;
  border-radius: 0;
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  transition: all 0.42s cubic-bezier(0.23, 1, 0.32, 1);
  margin-top: 0.5rem;
}

.sanctuary-submit-btn::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #b49d87;
  transform: translateX(-100%);
  transition: transform 0.52s cubic-bezier(0.23, 1, 0.32, 1);
  z-index: 0;
}

.sanctuary-submit-btn span {
  position: relative;
  z-index: 1;
  transition: color 0.35s ease;
}

.sanctuary-submit-btn:hover::before {
  transform: translateX(0);
}

.sanctuary-submit-btn:hover {
  border-color: #b49d87;
  color: #2c2a26;
}

.sanctuary-submit-btn:hover span {
  color: #2c2a26;
}

.submit-arrow {
  font-size: 15px;
  line-height: 1;
  transform: translateX(0);
  transition: transform 0.48s cubic-bezier(0.23, 1, 0.32, 1);
}

.sanctuary-submit-btn:hover .submit-arrow {
  transform: translateX(7px);
}

.sanctuary-submit-btn:active {
  transform: scale(0.985);
}

.sanctuary-submit-btn:disabled {
  cursor: wait;
  opacity: 0.85;
}

.inquire-confirmation__content {
  padding-top: 1rem;
}

.inquire-confirmation__title {
  margin: 0 0 1rem;
  font-size: clamp(2rem, 5vw, 2.75rem);
  font-weight: 500;
  line-height: 1.1;
  color: var(--ink);
}

.inquire-confirmation__message {
  margin: 0 0 0.75rem;
  font-size: 1rem;
  line-height: 1.65;
  color: #59544d;
}

.inquire-confirmation__sub {
  margin: 0 0 2rem;
  font-size: 0.95rem;
  line-height: 1.6;
  color: #625c54;
}

.inquire-confirmation .btn-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.875rem 1.75rem;
  border: 1px solid rgba(23, 30, 25, 0.22);
  border-radius: 999px;
  background: transparent;
  color: var(--ink);
  font-family: var(--font-body);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

.inquire-confirmation .btn-secondary:hover {
  background: var(--ink);
  color: var(--cream);
  border-color: var(--ink);
}

.inquire-drawer__foot {
  flex-shrink: 0;
  padding: 1.75rem clamp(2rem, 5vw, 3rem) 2rem;
  background: #f4f3f1;
  border-top: 1px solid rgba(196, 199, 194, 0.2);
}

.inquire-drawer__copy {
  margin: 0;
  font-size: 0.6875rem;
  line-height: 1.5;
  color: rgba(23, 30, 25, 0.45);
}

button.btn-inquire {
  font-family: inherit;
  cursor: pointer;
}

.site-footer-inquire {
  background: none;
  border: none;
  padding: 0;
  font: inherit;
  color: inherit;
  cursor: pointer;
  text-decoration: none;
}

.site-footer-inquire:hover {
  color: #e8dcc8;
}

/* ── Home (Architecture of Stillness) ── */
.home-page {
  background: var(--cream);
}

.home-page main > .home-hero:first-child {
  margin-top: calc(-1 * var(--header-h));
}

.home-label {
  display: block;
  margin: 0 0 1rem;
  font-family: var(--font-body);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--slate);
}

.home-label--gold { color: var(--gold); }

.home-hero {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 90vh;
  min-height: 90dvh;
  overflow: hidden;
  text-align: center;
}

.home-hero__media {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.home-hero__img {
  width: 100%;
  height: 100%;
  min-height: 90vh;
  min-height: 90dvh;
  object-fit: cover;
  object-position: center;
  transform: scale(1.05);
  transition: transform 10s linear;
}

.home-hero:hover .home-hero__img {
  transform: scale(1);
}

.home-hero__overlay {
  position: absolute;
  inset: 0;
  background: rgba(67, 59, 51, 0.22);
  mix-blend-mode: multiply;
}

.home-hero__overlay--sanctuary {
  background: rgba(67, 59, 51, 0.1);
  mix-blend-mode: multiply;
}

.home-hero--editorial {
  min-height: 90vh;
  min-height: 90dvh;
}

.home-hero__content--editorial {
  text-align: center;
  max-width: 56rem;
}

.home-hero__content--editorial .home-hero__eyebrow {
  display: inline-block;
  margin-bottom: 1.5rem;
  color: rgba(247, 245, 241, 0.92);
}

.home-hero__content--editorial .home-hero__title {
  margin-bottom: 2rem;
  color: var(--ivory);
  text-shadow: 0 2px 10px rgba(67, 59, 51, 0.18);
}

.home-hero__content--editorial .home-hero__lead {
  max-width: 36rem;
  margin-left: auto;
  margin-right: auto;
  color: rgba(247, 245, 241, 0.9);
  text-shadow: 0 2px 10px rgba(67, 59, 51, 0.12);
}

.home-hero__content--editorial .home-hero__scroll {
  margin-top: 3rem;
  background: rgba(247, 245, 241, 0.4);
}

.home-hero__content {
  position: relative;
  z-index: 1;
  max-width: 56rem;
  padding: clamp(2rem, 6vw, 4rem) clamp(1.5rem, 4vw, 2rem);
  color: #fff;
}

.home-hero__eyebrow {
  margin: 0 0 1.5rem;
  font-family: var(--font-body);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.4em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.9);
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.home-hero__title {
  margin: 0 0 2rem;
  font-size: clamp(3rem, 10vw, 6rem);
  font-weight: 300;
  line-height: 1.1;
  letter-spacing: -0.02em;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.home-hero__lead {
  margin: 0 auto;
  max-width: 36rem;
  font-size: clamp(1.05rem, 2.4vw, 1.25rem);
  font-weight: 300;
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.9);
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.home-hero__scroll {
  width: 1px;
  height: 6rem;
  margin: 3rem auto 0;
  background: rgba(255, 255, 255, 0.4);
  animation: homeHeroPulse 2s ease-in-out infinite;
}

@keyframes homeHeroPulse {
  0%, 100% { opacity: 0.35; }
  50% { opacity: 1; }
}

.home-philosophy {
  padding: clamp(6rem, 12vw, 10rem) 0;
  background: var(--cream);
}

.home-philosophy__grid {
  display: grid;
  gap: clamp(3rem, 6vw, 6rem);
  align-items: center;
}

.home-philosophy__title {
  margin: 0 0 2rem;
  font-size: clamp(2.25rem, 5.5vw, 3.75rem);
  line-height: 1.1;
  color: var(--charcoal);
}

.home-philosophy__title em {
  font-style: italic;
  font-weight: 300;
}

.home-philosophy__prose {
  display: grid;
  gap: 1.5rem;
}

.home-philosophy__prose p {
  margin: 0;
  font-size: clamp(1.05rem, 2vw, 1.25rem);
  font-weight: 300;
  line-height: 1.7;
  color: var(--slate);
}

.home-philosophy__prose p:last-child {
  color: rgba(84, 84, 84, 0.8);
  font-size: clamp(1rem, 1.8vw, 1.125rem);
}

.home-link-arrow {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  margin-top: 3rem;
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--charcoal);
  text-decoration: none;
  transition: color var(--transition);
}

.home-link-arrow::after {
  content: "";
  width: 3rem;
  height: 1px;
  background: rgba(67, 59, 51, 0.3);
  transition: width var(--transition), background var(--transition);
}

.home-link-arrow:hover {
  color: var(--gold-muted);
}

.home-link-arrow:hover::after {
  width: 4rem;
  background: var(--gold);
}

.home-philosophy__media {
  position: relative;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  border-radius: 2px;
  box-shadow: var(--shadow-card);
}

.home-philosophy__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.home-philosophy__media::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 24px solid rgba(247, 245, 241, 0.1);
  pointer-events: none;
}

.home-craft {
  padding: clamp(6rem, 10vw, 8rem) 0;
  background: var(--charcoal);
  color: #fff;
}

.home-craft__intro {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  margin-bottom: 5rem;
}

.home-craft__title {
  margin: 0;
  font-size: clamp(2.25rem, 5vw, 3.125rem);
  font-weight: 400;
  line-height: 1.1;
  color: #fff;
}

.home-craft__lede {
  margin: 0;
  max-width: 20rem;
  font-weight: 300;
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.6);
}

.home-craft__grid {
  display: grid;
  gap: 1px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.home-craft__block {
  padding: clamp(2.5rem, 4vw, 3rem);
  background: var(--charcoal);
  transition: background 0.5s var(--ease-out);
}

.home-craft__block:hover {
  background: rgba(255, 255, 255, 0.05);
}

.home-craft__num {
  display: block;
  margin-bottom: 3rem;
  font-family: var(--font-heading);
  font-size: 1.875rem;
  font-style: italic;
  color: var(--gold);
}

.home-craft__block h3 {
  margin: 0 0 1.5rem;
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #fff;
}

.home-craft__block p {
  margin: 0;
  font-size: 0.875rem;
  font-weight: 300;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.7);
}

.home-founder {
  padding: clamp(8rem, 14vw, 12rem) 0;
  background: var(--warm-stone);
  overflow: hidden;
}

.home-founder__grid {
  display: grid;
  gap: clamp(3rem, 6vw, 4rem);
  align-items: center;
}

.home-founder__headline {
  margin: 0 0 2rem;
  font-size: clamp(1.875rem, 4.5vw, 3.125rem);
  font-weight: 300;
  font-style: italic;
  line-height: 1.15;
  color: var(--charcoal);
}

.home-founder__prose {
  display: grid;
  gap: 1.5rem;
}

.home-founder__prose p {
  margin: 0;
  font-weight: 300;
  line-height: 1.7;
  color: var(--slate);
}

.home-founder__prose p:first-child {
  font-size: clamp(1.05rem, 2vw, 1.25rem);
}

.home-founder__prose p:last-child {
  font-size: clamp(1rem, 1.8vw, 1.125rem);
  color: rgba(84, 84, 84, 0.8);
}

.home-founder__quote-mark {
  display: block;
  margin-bottom: 2rem;
  font-family: var(--font-heading);
  font-size: 3rem;
  line-height: 1;
  color: var(--gold);
  opacity: 0.4;
}

.home-founder__blockquote {
  margin: 0 0 2.5rem;
  font-size: clamp(1.875rem, 4.5vw, 3.125rem);
  font-weight: 300;
  font-style: italic;
  line-height: 1.15;
  color: var(--charcoal);
}

.home-founder__cite {
  display: block;
  font-style: normal;
}

.home-founder__name {
  display: block;
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--charcoal);
}

.home-founder__role {
  display: block;
  margin-top: 0.25rem;
  font-size: 0.875rem;
  color: var(--slate);
}

.home-process {
  padding: clamp(6rem, 12vw, 9rem) 0;
  background: #fff;
}

.home-process__head {
  max-width: 40rem;
  margin-bottom: clamp(3rem, 6vw, 4.5rem);
}

.home-process__title {
  margin: 0 0 1.25rem;
  font-size: clamp(2.25rem, 5vw, 3.5rem);
  line-height: 1.1;
  color: var(--charcoal);
}

.home-process__lede {
  margin: 0;
  font-size: clamp(1rem, 2vw, 1.125rem);
  font-weight: 300;
  line-height: 1.75;
  color: var(--slate);
}

.home-process__steps {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0;
  border-top: 1px solid rgba(67, 59, 51, 0.12);
}

.home-process__step {
  display: grid;
  grid-template-columns: 5rem 1fr;
  gap: 1.5rem 2rem;
  padding: clamp(2rem, 4vw, 2.75rem) 0;
  border-bottom: 1px solid rgba(67, 59, 51, 0.12);
  align-items: start;
}

.home-process__num {
  font-family: var(--font-heading);
  font-size: clamp(2rem, 4vw, 2.75rem);
  font-weight: 300;
  line-height: 1;
  color: rgba(23, 30, 25, 0.18);
}

.home-process__body h3 {
  margin: 0 0 0.75rem;
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--charcoal);
}

.home-process__body p {
  margin: 0;
  max-width: 42rem;
  font-size: 0.9375rem;
  font-weight: 300;
  line-height: 1.7;
  color: var(--slate);
}

.home-process__footer {
  margin-top: 2.5rem;
}

.home-process__footer .home-link-arrow {
  margin-top: 0;
}

.home-inspire {
  padding: clamp(6rem, 12vw, 9rem) 0;
  background: var(--cream);
}

.home-inspire__head {
  max-width: 46rem;
  margin-bottom: clamp(3rem, 6vw, 4rem);
}

.home-inspire__title {
  margin: 0 0 1.25rem;
  font-size: clamp(2.25rem, 5vw, 3.25rem);
  line-height: 1.12;
  color: var(--charcoal);
}

.home-inspire__lede {
  margin: 0;
  font-weight: 300;
  line-height: 1.75;
  color: var(--slate);
}

.home-inspire__grid {
  display: grid;
  gap: clamp(1.5rem, 3vw, 2rem);
}

.home-inspire__card {
  display: grid;
  gap: 0;
  background: #fff;
  border-radius: 2px;
  overflow: hidden;
  box-shadow: var(--shadow-soft);
  transition: transform var(--transition), box-shadow var(--transition);
}

.home-inspire__card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-hover);
}

.home-inspire__media {
  margin: 0;
  aspect-ratio: 3 / 2;
  overflow: hidden;
}

.home-inspire__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.8s var(--ease-out);
}

.home-inspire__card:hover .home-inspire__media img {
  transform: scale(1.03);
}

.home-inspire__copy {
  padding: 1.5rem 1.75rem 1.75rem;
}

.home-inspire__copy h3 {
  margin: 0 0 0.5rem;
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--charcoal);
}

.home-inspire__copy p {
  margin: 0;
  font-size: 0.9375rem;
  font-weight: 300;
  line-height: 1.65;
  color: var(--slate);
}

.home-inspire__footer {
  margin-top: 2.5rem;
}

.home-inspire__footer .home-link-arrow {
  margin-top: 0;
}

.home-work {
  padding: clamp(6rem, 12vw, 9rem) 0;
  background: var(--charcoal);
  color: #fff;
}

.home-work__head {
  max-width: 42rem;
  margin-bottom: clamp(3rem, 6vw, 4rem);
}

.home-work__title {
  margin: 0 0 1.25rem;
  font-size: clamp(2.25rem, 5vw, 3.25rem);
  line-height: 1.12;
  color: #fff;
}

.home-work__lede {
  margin: 0;
  font-weight: 300;
  line-height: 1.75;
  color: rgba(255, 255, 255, 0.68);
}

.home-work__grid {
  display: grid;
  gap: clamp(1.25rem, 2.5vw, 1.75rem);
}

.home-work__card {
  position: relative;
  overflow: hidden;
  border-radius: 2px;
  aspect-ratio: 4 / 3;
}

.home-work__card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.8s var(--ease-out);
}

.home-work__card:hover img {
  transform: scale(1.04);
}

.home-work__meta {
  position: absolute;
  inset: auto 0 0 0;
  padding: 1.5rem 1.75rem;
  background: linear-gradient(0deg, rgba(67, 59, 51, 0.88), rgba(67, 59, 51, 0));
}

.home-work__meta h3 {
  margin: 0 0 0.35rem;
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #fff;
}

.home-work__meta p {
  margin: 0;
  font-size: 0.875rem;
  font-weight: 300;
  color: rgba(255, 255, 255, 0.78);
}

.home-work__footer {
  margin-top: 2.5rem;
}

.home-work__footer .home-link-arrow {
  margin-top: 0;
  color: #fff;
}

.home-work__footer .home-link-arrow::after {
  background: rgba(255, 255, 255, 0.35);
}

.home-work__footer .home-link-arrow:hover {
  color: var(--gold);
}

.home-investment {
  padding: clamp(6rem, 12vw, 10rem) 0;
  background: var(--warm-stone);
}

.home-investment__grid {
  display: grid;
  gap: clamp(3rem, 6vw, 4rem);
  align-items: center;
}

.home-investment__title {
  margin: 0 0 1.5rem;
  font-size: clamp(2.25rem, 5vw, 3.5rem);
  line-height: 1.1;
  color: var(--charcoal);
}

.home-investment__prose {
  display: grid;
  gap: 1.25rem;
  margin-bottom: 2rem;
}

.home-investment__prose p {
  margin: 0;
  font-weight: 300;
  line-height: 1.75;
  color: var(--slate);
}

.home-investment__media {
  margin: 0;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: 2px;
  box-shadow: var(--shadow-card);
}

.home-investment__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.home-investment__cta {
  max-width: 100%;
  white-space: normal;
  text-align: center;
  line-height: 1.5;
  padding: 1rem 1.5rem;
}

.home-materials {
  padding: clamp(5rem, 10vw, 8rem) 0;
  background: var(--cream);
}

.home-materials__inner {
  display: grid;
  gap: clamp(2rem, 4vw, 3rem);
  align-items: center;
}

.home-materials__swatches {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.home-materials__swatches span {
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 2px;
  box-shadow: inset 0 0 0 1px rgba(67, 59, 51, 0.08);
}

.home-materials__title {
  margin: 0 0 1rem;
  font-size: clamp(2rem, 4.5vw, 3rem);
  line-height: 1.12;
  color: var(--charcoal);
}

.home-materials__lede {
  margin: 0 0 2rem;
  max-width: 40rem;
  font-weight: 300;
  line-height: 1.75;
  color: var(--slate);
}

.home-cta-text {
  font-size: clamp(0.625rem, 1.6vw, 0.75rem);
  letter-spacing: 0.12em;
  line-height: 1.5;
  text-transform: none;
}

.home-hero__actions {
  display: flex;
  justify-content: center;
  margin-top: 2rem;
}

.home-btn-inquire {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  background: #fff;
  color: var(--charcoal);
  border: 1px solid var(--charcoal);
  border-radius: 999px;
  padding: 1rem 1.75rem;
  font-family: var(--font-body);
  font-size: 0.5625rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.home-btn-inquire:hover {
  background: var(--charcoal);
  color: #fff;
  border-color: var(--charcoal);
  transform: translateY(-2px);
  box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
}

.home-btn-inquire.home-cta-text {
  max-width: min(36rem, 100%);
  white-space: normal;
  text-align: center;
  line-height: 1.55;
  padding: 1rem 1.5rem;
  letter-spacing: 0.06em;
  font-size: clamp(0.625rem, 1.8vw, 0.6875rem);
}

.home-cta--dark .home-cta__title.home-cta-text {
  font-size: clamp(1.25rem, 3.5vw, 1.75rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.45;
  margin-bottom: 2rem;
}

.home-cta--dark .home-cta__btn.home-cta-text {
  max-width: min(36rem, 100%);
  white-space: normal;
  line-height: 1.55;
  letter-spacing: 0.06em;
  font-size: clamp(0.625rem, 1.8vw, 0.6875rem);
  padding: 1rem 1.5rem;
}

@media (min-width: 768px) {
  .home-philosophy__grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: clamp(4rem, 6vw, 6rem);
  }

  .home-philosophy__copy {
    grid-column: span 6;
  }

  .home-philosophy__media {
    grid-column: span 6;
  }

  .home-craft__intro {
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-end;
  }

  .home-craft__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-founder__grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 4rem;
  }

  .home-founder__understand {
    grid-column: span 5;
    order: 1;
  }

  .home-founder__quote {
    grid-column: span 7;
    order: 2;
    padding-left: 3rem;
  }

  .home-inspire__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-work__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-investment__grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }

  .home-investment__copy {
    grid-column: span 6;
  }

  .home-investment__media {
    grid-column: span 6;
  }

  .home-materials__inner {
    grid-template-columns: auto 1fr;
    gap: 3rem;
  }
}

@media (min-width: 1024px) {
  .home-craft__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .home-work__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .home-inspire__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

/* ── Sanctuary nav chrome (inner pages) ── */
body:has(#sanctuary-nav-only) {
  padding-top: 86px;
}

#sanctuary-nav-only {
  --line: rgba(47, 47, 47, 0.14);
  --soft-text: #66625d;
  --paper: #fbfaf7;
  --deep: #101411;
  position: relative;
  z-index: 50;
}

#sanctuary-nav-only .sanctuary-nav-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 50;
  background: #ffffff;
  border-bottom: 1px solid var(--line);
  transition: border-color 0.35s ease, box-shadow 0.35s ease;
}

#sanctuary-nav-only .sanctuary-nav-header.is-scrolled {
  border-bottom-color: rgba(196, 199, 194, 0.45);
  box-shadow: 0 10px 30px -22px rgba(47, 47, 47, 0.12);
}

#sanctuary-nav-only .sanctuary-nav-inner {
  max-width: 80rem;
  margin: 0 auto;
  padding: 1.25rem 1.5rem;
  min-height: 86px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
}

#sanctuary-nav-only .sanctuary-nav-logo {
  display: block;
  line-height: 1;
  color: var(--charcoal);
  text-decoration: none;
}

#sanctuary-nav-only .sanctuary-nav-logo-title {
  margin: 0;
  font-size: 1.25rem;
  letter-spacing: 3px;
  font-weight: 600;
  line-height: 1;
}

#sanctuary-nav-only .sanctuary-nav-logo-sub {
  margin: 0.25rem 0 0;
  font-size: 8px;
  letter-spacing: 2.5px;
  font-weight: 600;
  text-transform: uppercase;
}

#sanctuary-nav-only .sanctuary-nav-desktop {
  display: none;
  align-items: center;
  gap: 2rem;
  font-size: 0.875rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

#sanctuary-nav-only .nav-link {
  transition: color 0.25s ease;
  text-decoration: none;
  color: var(--charcoal);
}

#sanctuary-nav-only .nav-link:hover,
#sanctuary-nav-only .nav-link.is-active {
  color: var(--gold);
}

#sanctuary-nav-only .sanctuary-nav-actions {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

#sanctuary-nav-only .sanctuary-menu-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--charcoal);
  background: #ffffff;
  color: var(--charcoal);
  border-radius: 9999px;
  padding: 0.5rem 1rem;
  font-size: 10px;
  letter-spacing: 2px;
  text-transform: uppercase;
  font-weight: 700;
  cursor: pointer;
  font-family: var(--font-body);
  white-space: nowrap;
}

#sanctuary-nav-only .btn-inquire {
  background: #ffffff;
  color: var(--charcoal);
  padding: 10px 20px;
  font-size: 10px;
  letter-spacing: 2px;
  text-transform: uppercase;
  font-weight: 700;
  transition: all 0.35s ease;
  border: 1px solid var(--charcoal);
  border-radius: 9999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  cursor: pointer;
  font-family: var(--font-body);
}

#sanctuary-nav-only .btn-inquire:hover {
  background: var(--charcoal);
  color: #ffffff;
}

#sanctuary-nav-only .nav-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.3);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  z-index: 60;
}

#sanctuary-nav-only .nav-overlay.open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

#sanctuary-nav-only .nav-panel {
  display: flex;
  flex-direction: column;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  width: 18rem;
  max-width: 85vw;
  background: #ffffff;
  z-index: 70;
  transform: translateX(-100%);
  transition: transform 0.4s cubic-bezier(0.32, 0.72, 0, 1);
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  border-right: 1px solid #e5e7eb;
  padding-top: env(safe-area-inset-top);
  padding-left: env(safe-area-inset-left);
  padding-bottom: env(safe-area-inset-bottom);
}

#sanctuary-nav-only .nav-panel.open {
  transform: translateX(0);
}

#sanctuary-nav-only .nav-panel-inner {
  height: 100%;
  padding: 1.5rem;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

#sanctuary-nav-only .nav-panel-top {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 2rem;
}

#sanctuary-nav-only .nav-panel-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  border: 0;
  background: transparent;
  font-size: 1.875rem;
  line-height: 1;
  color: var(--charcoal);
  cursor: pointer;
  padding: 0;
}

#sanctuary-nav-only .nav-panel-close:hover {
  color: var(--gold);
}

#sanctuary-nav-only .nav-panel-brand {
  margin-bottom: 2.5rem;
}

#sanctuary-nav-only .nav-panel-logo-title {
  margin: 0;
  font-size: 1.5rem;
  letter-spacing: 3px;
  font-weight: 600;
  line-height: 1;
}

#sanctuary-nav-only .nav-panel-logo-sub {
  margin: 0.25rem 0 0;
  font-size: 9px;
  letter-spacing: 2.5px;
  font-weight: 600;
  text-transform: uppercase;
}

#sanctuary-nav-only .nav-panel-links {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

#sanctuary-nav-only .nav-panel-links .nav-link {
  font-size: 1.125rem;
  letter-spacing: 0.1em;
}

#sanctuary-nav-only .nav-panel-links .nav-link--button {
  background: transparent;
  border: 0;
  padding: 0;
  text-align: left;
  cursor: pointer;
  font-family: var(--font-body);
  font-size: 1.125rem;
  letter-spacing: 0.1em;
  color: var(--charcoal);
}

#sanctuary-nav-only .inquiry-drawer {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: min(520px, 100%);
  background: var(--paper);
  transform: translateX(100%);
  transition: transform 0.45s cubic-bezier(0.32, 0.72, 0, 1);
  z-index: 70;
  display: flex;
  flex-direction: column;
  box-shadow: -22px 0 60px rgba(0, 0, 0, 0.22);
}

#sanctuary-nav-only .inquiry-drawer.is-open {
  transform: translateX(0);
}

#sanctuary-nav-only .drawer-top {
  flex-shrink: 0;
  min-height: 86px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 1.5rem 2rem;
  border-bottom: 1px solid var(--line);
  background: #ffffff;
}

#sanctuary-nav-only .drawer-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  border: 0;
  background: transparent;
  color: #77726c;
  font-size: 1.75rem;
  line-height: 1;
  cursor: pointer;
}

#sanctuary-nav-only .drawer-body {
  flex: 1;
  overflow-y: auto;
  padding: 2rem clamp(2rem, 5vw, 2.75rem);
}

#sanctuary-nav-only .drawer-title {
  margin: 0 0 1.5rem;
  font-family: var(--font-heading);
  font-size: clamp(2rem, 5vw, 2.5rem);
  font-weight: 500;
  line-height: 1.15;
  color: var(--charcoal);
}

#sanctuary-nav-only .drawer-kicker {
  font-family: var(--font-body);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #5a554f;
}

#sanctuary-nav-only .drawer-intro {
  margin: 0 0 1.75rem;
  color: #5d574f;
  line-height: 1.7;
}

#sanctuary-nav-only .sanctuary-form {
  display: grid;
  gap: 2rem;
}

#sanctuary-nav-only .form-field label {
  display: block;
  margin-bottom: 0.5rem;
  font-size: 10px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  font-weight: 700;
  color: rgba(47, 47, 47, 0.5);
}

#sanctuary-nav-only .form-field input,
#sanctuary-nav-only .form-field textarea {
  width: 100%;
  border: 0;
  border-bottom: 1px solid rgba(47, 47, 47, 0.28);
  background: transparent;
  padding: 0.5rem 0;
  font-size: 16px;
  color: var(--charcoal);
  font-family: var(--font-body);
  outline: none;
}

#sanctuary-nav-only .form-field textarea {
  min-height: 8rem;
  resize: vertical;
}

#sanctuary-nav-only .drawer-submit {
  width: 100%;
  margin-top: 0.5rem;
  padding: 1.1rem 1.5rem;
  background: var(--charcoal);
  color: #ffffff;
  border: 0;
  font-size: 10px;
  letter-spacing: 4px;
  text-transform: uppercase;
  font-weight: 700;
  cursor: pointer;
  font-family: var(--font-body);
}

#sanctuary-nav-only .drawer-submit:hover {
  background: #000000;
}

#sanctuary-nav-only .drawer-footer {
  flex-shrink: 0;
  background: #f1f0ec;
  padding: 1.5rem 2rem;
  font-size: 0.75rem;
  color: #8a8580;
  border-top: 1px solid rgba(47, 47, 47, 0.08);
}

@media (min-width: 1024px) {
  #sanctuary-nav-only .sanctuary-nav-desktop {
    display: flex;
  }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .nav-drawer,
  .panel-backdrop,
  .panel-transition,
  .fade-in { transition: none; }
  .portfolio-carousel--hero .portfolio-item img.hero-cover,
  .hero-founder-tip,
  .hero-founder-note--fade,
  .hero-animate,
  .materials-page .mat-closing-btn--animated {
    animation: none;
    opacity: 1;
    transform: none;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.28);
  }

  .hero-founder-note,
  .hero-founder-note::after {
    transition: none;
  }

  .hero-founder-note:hover {
    transform: none;
  }

  .hero-founder-note:hover::after {
    transform: scaleX(0);
  }

  .inquire-drawer {
    transition: none;
  }
}

.home-cta {
  padding: clamp(8rem, 14vw, 12rem) 0;
  background: var(--cream);
  text-align: center;
}

.home-cta__inner {
  max-width: 42rem;
}

.home-cta__title {
  margin: 0 0 1.5rem;
  font-size: clamp(3rem, 8vw, 4.5rem);
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: -0.02em;
  color: var(--charcoal);
}

.home-cta__subtitle {
  margin: 0 0 3rem;
  font-size: clamp(1.125rem, 2.5vw, 1.5rem);
  font-weight: 300;
  font-style: italic;
  color: rgba(84, 84, 84, 0.8);
}

.home-cta__btn {
  padding: 1.25rem 3rem;
  letter-spacing: 0.3em;
  box-shadow: var(--shadow-soft);
}

.home-cta--dark {
  background: var(--charcoal);
  color: #fff;
  text-align: center;
}

.home-cta--dark .home-cta__inner {
  max-width: 42rem;
  margin: 0 auto;
}

.home-cta--dark .home-cta__title {
  color: #fff;
  font-size: clamp(2rem, 4.5vw, 2.5rem);
  line-height: 1.2;
  margin-bottom: 1.5rem;
}

.home-cta__btn--light {
  background: #fff;
  color: var(--charcoal);
  border: 1px solid #fff;
  border-radius: 999px;
  padding: 0.75rem 1.75rem;
  font-family: var(--font-body);
  font-size: 0.5625rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.35s ease;
}

.home-cta__btn--light:hover {
  background: transparent;
  color: #fff;
}

.process-page .home-cta--dark {
  padding: 5rem 0;
  background: #2f2f2f;
}

.process-page .home-cta--dark .home-cta__inner {
  max-width: 42rem;
  padding: 0 1.5rem;
}

.process-page .home-cta--dark .home-cta__title {
  margin: 0 0 1rem;
  font-size: 2.25rem;
  line-height: 1.2;
}

.process-page .home-cta--dark .btn-inquire {
  margin-top: 0.25rem;
  text-decoration: none;
}

/* ── ChatGPT pasted layout (no Tailwind) ── */
.process-page--chatgpt {
  background: #f8f7f2;
  color: #2f2f2f;
}

.process-page--chatgpt main {
  padding-top: 0;
}

.btn-inquire--chatgpt {
  background: #fff;
  color: #2f2f2f;
  padding: 8px 14px;
  font-size: 9px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  font-weight: 600;
  border: 1px solid #2f2f2f;
  border-radius: 9999px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.btn-inquire--chatgpt:hover {
  background: #2f2f2f;
  color: #fff;
}

.process-chatgpt-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: #fff;
  border-bottom: 1px solid #e5e7eb;
}

.process-chatgpt-header__inner {
  max-width: 80rem;
  margin: 0 auto;
  padding: 1.25rem 1.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.process-chatgpt-header__brand {
  color: inherit;
  text-decoration: none;
  line-height: 1;
}

.process-chatgpt-header__title {
  margin: 0;
  font-size: clamp(1.25rem, 2vw, 1.375rem);
  letter-spacing: 0.1875rem;
  font-weight: 400;
}

.process-chatgpt-header__sub {
  margin: -0.25rem 0 0;
  font-size: clamp(0.5rem, 1.2vw, 0.5625rem);
  letter-spacing: 0.15625rem;
  text-transform: uppercase;
}

.process-chatgpt-header__nav {
  display: none;
  align-items: center;
  gap: 2rem;
  font-size: 0.875rem;
  letter-spacing: 0.1em;
}

.process-chatgpt-header__nav a {
  color: inherit;
  text-decoration: none;
}

.process-chatgpt-header__nav a:hover,
.process-chatgpt-header__nav a.is-active {
  color: var(--gold);
}

.process-chatgpt-header__actions {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.process-chatgpt-header__menu {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 12px;
  font-size: 9px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  font-weight: 600;
  background: transparent;
  border: 1px solid #2f2f2f;
  border-radius: 9999px;
  cursor: pointer;
  color: #2f2f2f;
}

.process-page--chatgpt .nav-overlay {
  position: fixed;
  inset: 0;
  z-index: 90;
  background: rgba(47, 47, 47, 0.45);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease;
}

.process-page--chatgpt .nav-overlay.open {
  opacity: 1;
  pointer-events: auto;
}

.process-page--chatgpt .nav-panel {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  z-index: 100;
  width: min(420px, 100vw);
  background: #fff;
  transform: translateX(-105%);
  transition: transform 0.38s ease;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
}

.process-page--chatgpt .nav-panel.open {
  transform: translateX(0);
}

.process-page--chatgpt .nav-panel-inner {
  height: 100%;
  overflow-y: auto;
  padding: 2rem 1.75rem;
}

.process-page--chatgpt .nav-panel-top {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 1.5rem;
}

.process-page--chatgpt .nav-panel-close {
  background: none;
  border: 0;
  font-size: 2rem;
  line-height: 1;
  cursor: pointer;
  color: #2f2f2f;
}

.process-page--chatgpt .nav-panel-logo-title {
  margin: 0;
  font-size: 1.5rem;
  letter-spacing: 0.1875rem;
}

.process-page--chatgpt .nav-panel-logo-sub {
  margin: 0.25rem 0 0;
  font-size: 0.5625rem;
  letter-spacing: 0.15625rem;
  text-transform: uppercase;
}

.process-page--chatgpt .nav-panel-links {
  display: grid;
  gap: 1.25rem;
  margin-top: 2rem;
}

.process-page--chatgpt .nav-panel-links .nav-link {
  font-size: 1rem;
  letter-spacing: 0.08em;
  text-decoration: none;
  color: #2f2f2f;
}

.step-number {
  font-family: var(--font-heading);
  font-size: 3.5rem;
  line-height: 1;
  color: #B49D87;
}

.process-chatgpt-hero {
  padding: 5rem 0;
  background: #fff;
}

.process-chatgpt-hero__inner {
  max-width: 56rem;
  margin: 0 auto;
  padding: 0 1.5rem;
  text-align: center;
}

.process-chatgpt-hero__eyebrow {
  margin: 0 0 0.75rem;
  font-size: 0.875rem;
  letter-spacing: 0.1875rem;
  text-transform: uppercase;
}

.process-chatgpt-hero__title {
  margin: 0;
  font-size: clamp(3rem, 6vw, 3.75rem);
  line-height: 1.08;
  font-weight: 400;
}

.process-chatgpt-hero__lead {
  margin: 1.5rem auto 0;
  max-width: 32rem;
  font-size: 1.125rem;
  line-height: 1.75;
}

.process-chatgpt-steps {
  padding: 4rem 0;
  background: #fff;
  border-top: 1px solid #e5e7eb;
}

.process-chatgpt-steps__inner {
  max-width: 64rem;
  margin: 0 auto;
  padding: 0 1.5rem;
}

.process-chatgpt-step {
  display: grid;
  gap: 1rem 2.5rem;
  align-items: start;
  margin-bottom: 4rem;
}

.process-chatgpt-step:last-child {
  margin-bottom: 0;
}

.process-chatgpt-step__title {
  margin: 0 0 0.75rem;
  font-size: 1.875rem;
  line-height: 1.15;
  font-weight: 400;
}

.process-chatgpt-step__body {
  margin: 0 0 1rem;
  font-size: 1.125rem;
  line-height: 1.75;
}

.process-chatgpt-step__note {
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.7;
  color: #545454;
}

.process-chatgpt-why {
  padding: 4rem 0;
  background: #fff;
  border-top: 1px solid #e5e7eb;
}

.process-chatgpt-why__inner {
  max-width: 56rem;
  margin: 0 auto;
  padding: 0 1.5rem;
  text-align: center;
}

.process-chatgpt-why__title {
  margin: 0 0 1.5rem;
  font-size: 2.25rem;
  line-height: 1.12;
  font-weight: 400;
}

.process-chatgpt-why__grid {
  display: grid;
  gap: 2rem;
  text-align: left;
}

.process-chatgpt-why__heading {
  margin: 0 0 0.5rem;
  font-size: 1rem;
  font-weight: 600;
}

.process-chatgpt-why__grid p {
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.7;
  color: #545454;
}

.process-chatgpt-cta {
  padding: 5rem 0;
  background: #2f2f2f;
  color: #fff;
  text-align: center;
}

.process-chatgpt-cta__inner {
  max-width: 42rem;
  margin: 0 auto;
  padding: 0 1.5rem;
}

.process-chatgpt-cta__title {
  margin: 0 0 1rem;
  font-size: 2.25rem;
  line-height: 1.2;
  font-weight: 400;
  color: #fff;
}

.process-chatgpt-cta .btn-inquire {
  margin-top: 0.5rem;
  text-decoration: none;
}

@media (min-width: 768px) {
  .process-chatgpt-header__nav {
    display: flex;
  }

  .process-chatgpt-header__menu {
    display: none;
  }

  .process-chatgpt-step {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: 2.5rem;
  }

  .process-chatgpt-step__num-col {
    grid-column: span 2;
  }

  .process-chatgpt-step__copy {
    grid-column: span 10;
  }

  .process-chatgpt-why__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2rem;
  }
}

/* ── Preview editorial homepage layout (merged from preview(3).html) ── */
.home-page--preview,
.site-chrome {
  --header-h: 88px;
}

.home-page--preview {
  --container: 80rem;
}

.home-page--preview main {
  padding-top: 0;
}

.home-page--preview .container-sb {
  width: min(var(--ssb-max), calc(100% - var(--ssb-gutter) * 2));
  max-width: none;
  padding-inline: 0;
}

.home-page--preview .eyebrow,
.site-chrome .eyebrow {
  font-family: var(--font-body);
  text-transform: uppercase;
  letter-spacing: 0.22em;
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--muted);
}

.home-next-steps {
  background: var(--cream);
  padding: clamp(4.5rem, 9vw, 6.75rem) 0;
  text-align: center;
}

.home-next-steps__inner {
  max-width: 44rem;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.home-next-steps__eyebrow {
  margin: 0 0 1.25rem;
  color: var(--muted);
}

.home-next-steps__title {
  margin: 0;
  font-size: clamp(2.75rem, 5.8vw, 4.25rem);
  font-weight: 500;
  letter-spacing: -0.03em;
  line-height: 1.04;
  color: var(--ink);
}

.home-next-steps__subtitle {
  margin: 1rem 0 2.25rem;
  font-family: var(--font-heading);
  font-size: clamp(1.05rem, 1.8vw, 1.3rem);
  font-style: italic;
  font-weight: 400;
  color: rgba(136, 116, 93, 0.88);
}

.home-next-steps__btn {
  text-transform: uppercase;
  letter-spacing: 0.22em;
  font-size: 0.62rem;
  font-weight: 700;
  padding: 1rem 2.25rem;
  min-width: 15rem;
}

.site-chrome .home-next-steps .btn-primary {
  background: var(--ink);
  color: var(--cream);
  border-color: var(--ink);
  border-radius: 999px;
  box-shadow: 0 14px 35px rgba(67, 59, 51, 0.18);
}

.site-chrome .home-next-steps .btn-primary:hover {
  transform: translateY(-2px);
  background: #2a332d;
  color: var(--cream);
  border-color: #2a332d;
}

.site-chrome .home-next-steps .eyebrow {
  font-family: var(--font-body);
  text-transform: uppercase;
  letter-spacing: 0.22em;
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--muted);
}

.home-page--preview .site-footer,
.site-chrome .site-footer--mock {
  background: var(--charcoal);
  color: var(--cream);
  padding: 0 0 clamp(2rem, 4vw, 2.75rem);
  text-align: center;
  border-top: 0;
}

.home-page--preview .site-footer-inner,
.site-chrome .site-footer--mock .site-footer-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.75rem;
  width: 100%;
  max-width: none;
  padding: 0;
}

.home-page--preview .site-footer-brand--founder,
.site-chrome .site-footer-brand--founder {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  text-decoration: none;
  color: inherit;
  line-height: 1;
  padding-inline: var(--page-x);
}



.home-page--preview .site-footer-legal,
.site-chrome .site-footer-legal {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem 1.75rem;
  padding-inline: var(--page-x);
  padding-top: clamp(2.5rem, 5vw, 3.5rem);
  font-family: var(--font-body);
  font-size: 0.72rem;
  letter-spacing: 0.06em;
  color: rgba(247, 245, 241, 0.72);
}

.home-page--preview .site-footer-legal a,
.site-chrome .site-footer-legal a {
  color: inherit;
  text-decoration: none;
  transition: color 0.25s ease;
}

.home-page--preview .site-footer-legal a:hover,
.site-chrome .site-footer-legal a:hover {
  color: var(--gold);
}

.home-page--preview .site-footer-cta,
.site-chrome .site-footer-cta {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: clamp(84px, 10vw, 128px) var(--page-x);
  background: var(--sanctuary-ivory);
  color: var(--sanctuary-charcoal);
}

.home-page--preview .site-footer-cta__title,
.site-chrome .site-footer-cta__title {
  margin: 0 0 1rem;
  font-size: var(--section-heading-size);
  font-weight: 500;
  line-height: 0.96;
  letter-spacing: -0.04em;
  color: var(--sanctuary-charcoal);
  max-width: 14ch;
}

.home-page--preview .site-footer-cta__sub,
.site-chrome .site-footer-cta__sub {
  margin: 0 0 2rem;
  font-family: var(--font-heading);
  font-size: clamp(1.1rem, 2vw, 1.35rem);
  font-style: italic;
  line-height: 1.45;
  color: #665f57;
}

.home-page--preview .site-footer-cta .sanctuary-submit-btn,
.site-chrome .site-footer-cta .sanctuary-submit-btn {
  width: auto;
  min-width: 15rem;
}

.home-page--preview .site-footer-bottom,
.site-chrome .site-footer-bottom {
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  gap: 1rem;
  padding-top: 1.75rem;
  margin-top: 0.5rem;
  border-top: 1px solid rgba(247, 245, 241, 0.16);
}

.home-page--preview .site-footer-copy,
.site-chrome .site-footer-copy {
  margin: 0;
  color: rgba(247, 245, 241, 0.52);
  font-size: 0.8rem;
}

.home-page--preview .site-footer-social,
.site-chrome .site-footer-social {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.home-page--preview .site-footer-social__link,
.site-chrome .site-footer-social__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: rgba(247, 245, 241, 0.72);
  transition: color 0.25s ease;
}

.home-page--preview .site-footer-social__link:hover,
.site-chrome .site-footer-social__link:hover {
  color: var(--gold);
}

.home-page--preview .nav-drawer,
.site-chrome .nav-drawer {
  --nav-drawer-surface: #ffffff;
  width: var(--panel-width);
  background: var(--nav-drawer-surface);
  border-right: 1px solid var(--panel-border);
  box-shadow: var(--panel-shadow);
}

.home-page--preview .nav-drawer__inner,
.site-chrome .nav-drawer__inner {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: var(--panel-pad-y) var(--panel-pad-x) var(--panel-pad-bottom);
}

.home-page--preview .nav-drawer__social,
.site-chrome .nav-drawer__social {
  margin-top: auto;
  padding-top: 2.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.25rem;
}

.home-page--preview .nav-drawer__social-link,
.site-chrome .nav-drawer__social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: rgba(23, 30, 25, 0.55);
  transition: color 0.25s ease;
}

.home-page--preview .nav-drawer__social-link:hover,
.site-chrome .nav-drawer__social-link:hover {
  color: var(--gold);
}

.home-page--preview .site-nav-panel--drawer,
.site-chrome .site-nav-panel--drawer {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--panel-item-gap);
  margin-top: var(--panel-content-gap);
  text-align: center;
}



.home-page--preview .inquire-drawer,
.site-chrome .inquire-drawer {
  width: min(540px, 100vw);
  background: var(--paper);
}

.home-page--preview .inquire-drawer__head,
.site-chrome .inquire-drawer__head {
  min-height: var(--panel-header-min-h);
  height: var(--panel-header-min-h);
  padding: 0 var(--panel-pad-x);
  border-bottom: 1px solid var(--line);
}

.home-page--preview .inquire-drawer__scroll,
.site-chrome .inquire-drawer__scroll {
  padding: var(--panel-pad-y) var(--panel-pad-x) var(--panel-pad-bottom);
}

.home-page--preview .inquire-drawer__title,
.site-chrome .inquire-drawer__title {
  font-size: var(--panel-title-size);
  line-height: 1.2;
  letter-spacing: -0.02em;
  margin: 0 0 0.55rem;
  font-family: var(--font-heading);
  font-weight: 500;
  color: var(--ink);
}

.home-page--preview .inquire-drawer__lead,
.site-chrome .inquire-drawer__lead {
  font-size: var(--panel-body-size);
  line-height: 1.5;
  color: #59544d;
}

.home-page--preview .inquire-field label::after,
.site-chrome .inquire-field label::after {
  content: none;
}

.home-page--preview .inquire-field input,
.home-page--preview .inquire-field textarea,
.site-chrome .inquire-field input,
.site-chrome .inquire-field textarea {
  border: 1px solid #e5e0d8;
  background: #fdfaf4;
  border-radius: 12px;
  padding: 0.85rem 1rem;
  font-size: 1rem;
}

.home-page--preview .inquire-field input:focus,
.home-page--preview .inquire-field textarea:focus,
.site-chrome .inquire-field input:focus,
.site-chrome .inquire-field textarea:focus {
  border-color: var(--gold);
  box-shadow: 0 0 0 3px rgba(180, 157, 135, 0.15);
}

.home-page--preview .inquire-field label,
.site-chrome .inquire-field label {
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.5px;
  color: #6b665f;
}

.home-page--preview .inquire-field textarea,
.site-chrome .inquire-field textarea {
  min-height: 6.5rem;
  resize: vertical;
}

.home-page--preview .inquire-drawer__label,
.site-chrome .inquire-drawer__label {
  font-size: var(--panel-kicker-size);
  font-weight: 700;
  letter-spacing: var(--panel-kicker-ls);
  text-transform: uppercase;
  color: rgba(23, 30, 25, 0.6);
}

.home-page--preview .site-nav-panel--drawer .site-nav-panel__link,
.site-chrome .site-nav-panel--drawer .site-nav-panel__link {
  display: inline-block;
  position: relative;
  width: fit-content;
  padding: 0.5rem 0;
  border: 0;
  font-family: var(--font-body);
  font-size: var(--panel-nav-size);
  font-weight: var(--panel-nav-weight);
  letter-spacing: var(--panel-nav-ls);
  text-transform: uppercase;
  line-height: 1.45;
  color: var(--panel-text);
  transition: color 0.25s ease;
}

.home-page--preview .site-nav-panel--drawer .site-nav-panel__link::after,
.site-chrome .site-nav-panel--drawer .site-nav-panel__link::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 5px;
  height: 1px;
  background: var(--gold);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 0.25s ease;
}

.home-page--preview .site-nav-panel--drawer .site-nav-panel__link:hover::after,
.home-page--preview .site-nav-panel--drawer .site-nav-panel__link.is-active::after,
.site-chrome .site-nav-panel--drawer .site-nav-panel__link:hover::after,
.site-chrome .site-nav-panel--drawer .site-nav-panel__link.is-active::after {
  transform: scaleX(1);
}

.home-page--preview .panel-backdrop,
.site-chrome .panel-backdrop {
  background: rgba(67, 59, 51, 0.46);
  backdrop-filter: blur(3px);
}

.home-page--preview .panel-backdrop.overlay-active,
.home-page--preview .panel-backdrop.open,
.site-chrome .panel-backdrop.overlay-active,
.site-chrome .panel-backdrop.open {
  opacity: 1;
  visibility: visible;
}

.home-page--preview .display-title,
.site-chrome .display-title {
  font-size: clamp(2.5rem, 5.4vw, 5.9rem);
  font-weight: 500;
  letter-spacing: -0.045em;
  line-height: 0.92;
  color: var(--ink);
}

.home-page--preview .prose,
.site-chrome .prose {
  font-size: clamp(1.03rem, 1.3vw, 1.2rem);
  line-height: 1.85;
  color: #59544d;
}

.home-page--preview .gold-line,
.site-chrome .gold-line {
  width: 88px;
  height: 1px;
  background: var(--gold);
  margin: 28px 0;
}

.home-page--preview .mt-4 { margin-top: 16px; }
.home-page--preview .mt-8 { margin-top: 32px; }
.home-page--preview .max-w-xl { max-width: 650px; }

.home-page--preview .btn-primary,
.site-chrome .btn-primary {
  background: var(--ink);
  color: var(--cream);
  border-color: var(--ink);
  border-radius: 0;
  box-shadow: 0 14px 35px rgba(67, 59, 51, 0.18);
}

.home-page--preview .btn-primary:hover,
.site-chrome .btn-primary:hover {
  transform: translateY(-2px);
  background: #2a332d;
  color: var(--cream);
  border-color: #2a332d;
}

.home-page--preview .btn-outline,
.site-chrome .btn-outline {
  border-radius: 0;
  border-color: rgba(23, 30, 25, 0.3);
  color: var(--ink);
}

.home-page--preview .inspiration-collection__materials-btn,
.site-chrome .inspiration-collection__materials-btn {
  border-radius: 999px;
}

.home-page--preview .btn-outline:hover,
.site-chrome .btn-outline:hover {
  background: var(--ink);
  color: var(--cream);
  border-color: var(--ink);
}

.home-page--preview .btn-ghost,
.site-chrome .btn-ghost {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 22px;
  border-radius: 0;
  background: rgba(255, 255, 255, 0.18);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.42);
  backdrop-filter: blur(12px);
  font-family: var(--font-body);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  transition: background 0.28s ease, color 0.28s ease;
}

.home-page--preview .btn-ghost:hover,
.site-chrome .btn-ghost:hover {
  background: #fff;
  color: var(--ink);
}

.home-page--preview .home-cta-text {
  white-space: normal;
  text-align: center;
  line-height: 1.5;
  letter-spacing: 0.08em;
  text-transform: none;
  font-size: clamp(0.625rem, 1.5vw, 0.72rem);
  padding: 14px 22px;
}



.hero-editorial {
  min-height: 100svh;
  position: relative;
  display: flex;
  align-items: flex-end;
  padding-top: 88px;
  overflow: hidden;
  background: var(--ink);
  color: #fff;
}

.hero-editorial__media,
.hero-editorial__media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.hero-editorial__media img {
  object-fit: cover;
  object-position: center;
}

.hero-editorial__scrim {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(67, 59, 51, 0.76), rgba(67, 59, 51, 0.22) 48%, rgba(67, 59, 51, 0.34)),
    linear-gradient(0deg, rgba(67, 59, 51, 0.72), rgba(67, 59, 51, 0) 42%);
}

.hero-editorial--founder {
  --hero-type-base: 1rem;
  --hero-type-lh: 1.5;
  --hero-type-measure: clamp(45ch, 92vw, 65ch);
  --hero-type-h1: clamp(2rem, 1rem + 3.5vw, 4rem);
  --hero-type-h1-lh: 1.2;
  --hero-type-copy-gap: 1rem;
  /* 16px base · 45–75ch measure · 1.5 lh body · fluid h1 hierarchy */
  font-size: var(--hero-type-base);
  line-height: var(--hero-type-lh);
  min-height: 100svh;
  align-items: center;
  padding-top: 88px;
}

.hero-editorial--founder .hero-editorial__media img {
  object-position: center;
  filter: saturate(0.95) contrast(1.02);
}

.hero-editorial--founder .hero-editorial__scrim {
  background:
    linear-gradient(90deg, rgba(26, 24, 22, 0.9) 0%, rgba(26, 24, 22, 0.68) 38%, rgba(26, 24, 22, 0.42) 68%, rgba(26, 24, 22, 0.22) 100%),
    linear-gradient(0deg, rgba(26, 24, 22, 0.78), rgba(26, 24, 22, 0.12) 52%);
}

.hero-editorial--founder .hero-title {
  font-size: calc(var(--hero-type-h1, var(--hero-heading-size)) * 0.85);
  line-height: var(--hero-type-h1-lh);
  letter-spacing: -0.035em;
  max-width: min(22ch, 100%);
  margin: 0 0 var(--hero-type-copy-gap);
}

.hero-founder-scroll-line {
  position: absolute;
  right: 0;
  top: 10px;
  width: 1px;
  height: 186px;
  background: rgba(247, 245, 241, 0.52);
  z-index: 4;
}

.hero-founder-layout {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(min(100%, 20rem), 0.95fr);
  gap: clamp(1.5rem, 4.5vw, 4.5rem);
  align-items: center;
  padding-top: clamp(1.5rem, 4vw, 2.75rem);
  padding-bottom: clamp(1.5rem, 4vw, 2.75rem);
}

.hero-founder-copy {
  max-width: var(--hero-type-measure, clamp(45ch, 92vw, 65ch));
  color: #fff;
}

.hero-kicker {
  font-family: var(--font-body);
  text-transform: uppercase;
  letter-spacing: 0.24em;
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--champagne-brass);
  margin-bottom: 18px;
}

.hero-editorial--founder .hero-kicker {
  color: #F4EBDD;
  text-shadow: 0 1px 14px rgba(67, 59, 51, 0.42);
}

.hero-title {
  font-family: var(--font-heading);
  font-size: var(--hero-heading-size);
  max-width: 980px;
  line-height: 0.9;
  letter-spacing: -0.055em;
  margin: 0;
  color: var(--ivory);
  text-wrap: balance;
}

.hero-editorial--founder .hero-lead {
  max-width: var(--hero-type-measure, clamp(45ch, 92vw, 65ch));
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--hero-type-base, 1rem);
  line-height: var(--hero-type-lh, 1.5);
  color: rgba(247, 245, 241, 0.9);
}

.hero-lead {
  max-width: 650px;
  margin: 26px 0 0;
  font-size: clamp(1.05rem, 1.35vw, 1.32rem);
  line-height: 1.75;
  color: rgba(247, 245, 241, 0.86);
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 36px;
}

.hero-founder-note {
  position: relative;
  isolation: isolate;
  overflow: visible;
  width: min(100%, 370px);
  justify-self: center;
  background: #f7f5f1;
  border: 1px solid rgba(67, 59, 51, 0.1);
  border-radius: 10px;
  padding: 45px 35px 31px;
  box-shadow: 0 22px 56px rgba(0, 0, 0, 0.18);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  color: var(--charcoal-espresso);
}

.hero-founder-note::before {
  content: none;
}

.hero-founder-note > * {
  position: relative;
  z-index: 1;
}

/* Match philosophy quote microinteraction (lift + gold rule) */
.hero-founder-note::after {
  content: "";
  position: absolute;
  left: clamp(1.35rem, 2vw + 0.55rem, 2.15rem);
  right: clamp(1.35rem, 2vw + 0.55rem, 2.15rem);
  bottom: clamp(0.85rem, 1.6vw, 1.15rem);
  height: 1px;
  background: linear-gradient(
    90deg,
    rgba(197, 164, 110, 0.95),
    rgba(197, 164, 110, 0)
  );
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 700ms var(--lux-ease);
  pointer-events: none;
  z-index: 2;
}

@media (hover: hover) {
  .hero-founder-note {
    transition:
      transform 700ms var(--lux-ease),
      box-shadow 700ms var(--lux-ease),
      background 700ms ease,
      border-color 700ms ease;
  }

  .hero-founder-note:hover {
    /* Drop entrance animation so transform is free for the hover lift */
    animation: none;
    opacity: 1;
    transform: translateY(-6px);
    background: rgba(255, 255, 255, 0.92);
    border-color: rgba(197, 164, 110, 0.38);
    box-shadow: 0 22px 48px rgba(67, 59, 51, 0.16);
  }

  .hero-founder-note:hover::after {
    transform: scaleX(1);
  }
}

.hero-founder-note--fade {
  opacity: 0;
  animation: heroFounderNoteFade 1.25s var(--lux-ease) 0.55s forwards;
}

@keyframes heroFounderNoteFade {
  from {
    opacity: 0;
    transform: translateY(24px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.hero-founder-note__kicker {
  margin: 0 0 20px;
  color: var(--champagne-brass);
  text-transform: uppercase;
  letter-spacing: 0.27em;
  font-size: 0.65rem;
  font-weight: 800;
  font-family: var(--font-body);
}

.hero-founder-note__quote {
  font-family: var(--font-heading);
  font-size: 1.55rem;
  line-height: 1.24;
  font-style: normal;
  color: var(--charcoal-espresso);
  margin: 0 0 28px;
}

.hero-founder-note__body {
  font-size: 1rem;
  line-height: 1.65;
  color: #565656;
  margin: 0;
}

.hero-founder-note--prose {
  --founder-note-pad-y: clamp(1.35rem, 2.2vw + 0.5rem, 2.15rem);
  --founder-note-pad-x: clamp(1.35rem, 2vw + 0.55rem, 2.15rem);
  --founder-note-quote-size: var(--hero-type-base, 1rem);
  --founder-note-quote-lh: var(--hero-type-lh, 1.55);
  --founder-note-quote-gap: 0.55rem;
  width: min(100%, 34rem);
  max-width: min(100%, 34rem);
  justify-self: end;
  padding: var(--founder-note-pad-y) var(--founder-note-pad-x);
  border-radius: clamp(8px, 1.1vw, 10px);
  background: #f7f5f1;
  border: 1px solid rgba(67, 59, 51, 0.1);
  box-shadow: 0 22px 56px rgba(0, 0, 0, 0.18);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  box-sizing: border-box;
}

.hero-founder-note--prose .hero-founder-note__quote {
  display: flex;
  flex-direction: column;
  gap: var(--founder-note-quote-gap);
  /* Philosophy typeface; readable hero quote size */
  font-family: var(--font-heading);
  font-size: clamp(1.125rem, 1.05rem + 0.4vw, 1.35rem);
  line-height: 1.45;
  font-style: normal;
  font-weight: 400;
  letter-spacing: -0.015em;
  margin: 0;
  max-width: none;
  width: 100%;
  color: var(--editorial-ink, var(--charcoal-espresso, #433b33));
  text-shadow: 0 1px 14px rgba(247, 245, 241, 0.55);
  text-wrap: pretty;
  text-align: left;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.hero-founder-note__quote-line {
  display: block;
}

.home-page--preview main .hero-founder-note--prose .hero-founder-note__attribution,
.hero-founder-note--prose .hero-founder-note__attribution {
  margin: clamp(0.85rem, 2.2vw, 1.25rem) 0 0;
  font-family: var(--font-body);
  font-size: calc(var(--home-eyebrow, 0.6875rem) * 1.2);
  font-weight: 600;
  letter-spacing: var(--home-eyebrow-ls, 0.12em);
  text-transform: none;
  line-height: 1.35;
  color: var(--editorial-gold-text, #8a7040);
  max-width: none;
}

.hero-founder-note__rule {
  height: 1px;
  background: rgba(67, 59, 51, 0.16);
  margin-bottom: 21px;
}

.hero-founder-note__name {
  font-family: var(--font-heading);
  font-size: 1.5rem;
  color: var(--charcoal-espresso);
  margin: 0 0 5px;
}

.hero-founder-note__role {
  margin: 0;
  color: #5c5650;
  text-transform: uppercase;
  letter-spacing: 0.25em;
  font-size: 0.62rem;
  font-weight: 800;
  font-family: var(--font-body);
}

.editorial-split {
  display: grid;
  grid-template-columns: 0.96fr 1.04fr;
  gap: clamp(44px, 7vw, 110px);
  align-items: center;
}

.editorial-split--offset .editorial-copy {
  padding-top: 8vh;
}

.editorial-media {
  position: relative;
  overflow: hidden;
  box-shadow: var(--shadow);
  background: var(--cream-2);
}

.tall-media {
  height: min(760px, 78vw);
  border-radius: 0 120px 0 0;
}

.editorial-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.editorial-copy {
  max-width: 690px;
}

.editorial-copy .display-title {
  margin-top: 10px;
}

.editorial-copy .prose + .prose {
  margin-top: 18px;
}

.section-dark {
  background: var(--ink);
  color: var(--cream);
}

.section-dark .display-title {
  color: var(--cream);
}

.section-dark .prose,
.section-dark p {
  color: rgba(247, 245, 241, 0.76);
}

.section-intro {
  max-width: 850px;
}

.section-intro--wide {
  max-width: 1040px;
}

.lux-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: rgba(247, 245, 241, 0.2);
  border: 1px solid rgba(247, 245, 241, 0.16);
  margin-top: 54px;
}

.lux-card {
  background: var(--ink);
  padding: 38px 32px;
  min-height: 304px;
}

.lux-card span {
  font-family: var(--font-body);
  font-size: 0.72rem;
  letter-spacing: 0.2em;
  color: var(--gold);
  font-weight: 700;
}

.lux-card h3 {
  font-family: var(--font-heading);
  font-size: 2rem;
  line-height: 1;
  margin: 48px 0 16px;
  color: var(--cream);
}

.lux-card p {
  font-size: 1rem;
  line-height: 1.75;
  margin: 0;
  color: rgba(247, 245, 241, 0.74);
}

.process-steps {
  display: grid;
  gap: 14px;
  margin-top: 30px;
}

.process-step {
  border-top: 1px solid var(--line);
  padding: 18px 0;
}

.process-step strong {
  display: block;
  font-family: var(--font-body);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 0.78rem;
  color: var(--ink);
}

.process-step-desc {
  display: block;
  color: #665f57;
  margin-top: 5px;
  line-height: 1.72;
}

.materials-editorial {
  background: var(--paper);
}

.materials-editorial-grid {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: clamp(46px, 7vw, 100px);
  align-items: center;
}

.materials-collage {
  position: relative;
  min-height: 680px;
}

.materials-collage__main {
  height: 620px;
  width: 82%;
  object-fit: cover;
  border-radius: 0 0 110px 0;
  box-shadow: var(--shadow);
}

.materials-collage__small {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 42%;
  height: 300px;
  object-fit: cover;
  border: 14px solid var(--paper);
  box-shadow: 0 24px 70px rgba(67, 59, 51, 0.2);
}

.swatch-row {
  display: flex;
  gap: 10px;
  margin: 28px 0 34px;
  flex-wrap: wrap;
}

.swatch-row span {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--swatch);
  border: 1px solid rgba(67, 59, 51, 0.12);
  box-shadow: inset 0 0 0 7px rgba(255, 255, 255, 0.42);
}

.projects-head {
  display: flex;
  justify-content: space-between;
  gap: 36px;
  align-items: end;
  margin-bottom: 44px;
}

.projects-head .display-title {
  max-width: 860px;
}

.project-strip {
  display: grid;
  grid-template-columns: 0.85fr 1.25fr 0.85fr;
  gap: 24px;
  align-items: stretch;
}

.project-strip--four {
  grid-template-columns: repeat(4, 1fr);
}

.project-strip--six {
  grid-template-columns: repeat(3, 1fr);
}

.project-card {
  position: relative;
  overflow: hidden;
  min-height: 500px;
  background: var(--ink);
  box-shadow: var(--shadow);
}

.project-card--large {
  min-height: 610px;
}

.project-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.8s ease;
}

.project-card:hover img {
  transform: scale(1.055);
}

.project-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(67, 59, 51, 0.75), rgba(67, 59, 51, 0) 60%);
}

.project-card div {
  position: absolute;
  z-index: 2;
  left: 24px;
  right: 24px;
  bottom: 24px;
  color: #fff;
}

.project-card h3 {
  font-family: var(--font-heading);
  font-size: 2rem;
  line-height: 1;
  margin: 0 0 8px;
}

.project-card p {
  margin: 0;
  color: rgba(255, 255, 255, 0.78);
}

.investment-editorial {
  background: var(--paper);
}

.philosophy--quiet {
  background: var(--sanctuary-ivory);
  border-block: 0;
}

.philosophy--quiet__inner {
  max-width: 42rem;
  margin-inline: auto;
  text-align: center;
}

.philosophy--quiet__inner .eyebrow,
.philosophy--quiet__inner .display-title,
.philosophy--quiet__inner .prose,
.philosophy--quiet__inner h2 {
  margin-inline: auto;
  text-align: center;
}

.philosophy--quiet__rule {
  margin-inline: auto;
}

main > .sanctuary-philosophy-section {
  padding-block: 0;
}

.sanctuary-philosophy-section {
  background: var(--sanctuary-ivory);
  padding: var(--ssb-section-y) var(--ssb-gutter);
  overflow: hidden;
}

.sanctuary-intention-section {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(82px, 10vw, 150px) var(--ssb-gutter);
  background: var(--sanctuary-ivory);
  color: var(--sanctuary-charcoal);
}

main > .sanctuary-intention-section {
  padding-block: clamp(82px, 10vw, 150px);
}

.home-page--preview main > .sanctuary-intention-section {
  padding-block: var(--ssb-section-y);
}

.sanctuary-intention-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    radial-gradient(circle at 18% 20%, rgba(180, 157, 135, 0.22), transparent 34%),
    linear-gradient(135deg, #f7f5f1 0%, #eee8df 48%, #ded4c8 100%);
  transform: scale(1.08);
  will-change: transform;
  animation: sanctuary-bg-drift 16s ease-in-out infinite alternate;
}

.sanctuary-intention-section::before {
  content: "";
  position: absolute;
  inset: 28px;
  border: 1px solid rgba(67, 59, 51, 0.12);
  pointer-events: none;
}

.sanctuary-intention-inner {
  position: relative;
  z-index: 2;
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 0.95fr 1.35fr;
  gap: clamp(42px, 6vw, 86px);
  align-items: start;
}

.sanctuary-intention-eyebrow {
  margin: 0 0 18px;
  font-family: var(--font-body);
  font-size: 12px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--sanctuary-taupe);
  font-weight: 700;
}

.sanctuary-intention-copy h2 {
  margin: 0;
  font-family: var(--font-heading);
  font-size: clamp(46px, 6.8vw, 92px);
  font-weight: 500;
  line-height: 0.92;
  letter-spacing: -0.045em;
  color: var(--sanctuary-charcoal);
  max-width: 520px;
}

.sanctuary-intention-copy > p:last-child {
  margin: 28px 0 0;
  max-width: 420px;
  font-family: var(--font-body);
  font-size: clamp(17px, 1.5vw, 20px);
  line-height: 1.65;
  color: rgba(67, 59, 51, 0.74);
}

.sanctuary-intention-left {
  display: flex;
  flex-direction: column;
  gap: clamp(1.75rem, 3vw, 2.5rem);
}

.sanctuary-palette-preview {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  max-width: 100%;
}

.sanctuary-palette-preview__item {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  padding: 0.75rem;
  background: rgba(255, 255, 255, 0.42);
  border: 1px solid rgba(67, 59, 51, 0.1);
  border-radius: 2px;
  text-decoration: none;
  color: inherit;
  transition:
    transform 520ms var(--lux-ease),
    box-shadow 520ms var(--lux-ease),
    border-color 520ms var(--lux-ease),
    background-color 520ms var(--lux-ease);
}

.sanctuary-palette-preview__swatches {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4px;
}

.sanctuary-palette-preview__chip {
  display: block;
  height: 10px;
  border: 1px solid rgba(67, 59, 51, 0.08);
  border-radius: 1px;
}

.sanctuary-palette-preview__chip--ivory { background: #f7f3ea; }
.sanctuary-palette-preview__chip--stone { background: #c9b89d; }
.sanctuary-palette-preview__chip--taupe { background: #b7a99a; }
.sanctuary-palette-preview__chip--brass {
  background: linear-gradient(90deg, #8e6a32, #b49d87, #d0ac61);
}
.sanctuary-palette-preview__chip--arch-taupe { background: #8a6f55; }
.sanctuary-palette-preview__chip--espresso { background: #3a2f27; }
.sanctuary-palette-preview__chip--layered {
  background: linear-gradient(90deg, #f7f3ea, #d8cdbd, #c9b89d, #B49D87, #8a6f55, #433B33);
}

.sanctuary-palette-preview__media {
  margin: 0;
  overflow: hidden;
  border-radius: 1px;
  aspect-ratio: 4 / 3;
}

.sanctuary-palette-preview__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 900ms var(--lux-ease);
}

.sanctuary-palette-preview__name {
  font-family: var(--font-body);
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--sanctuary-charcoal);
}

@media (hover: hover) {
  .sanctuary-palette-preview__item:hover {
    transform: translateY(-4px);
    background: rgba(255, 255, 255, 0.62);
    border-color: rgba(201, 168, 108, 0.28);
    box-shadow: 0 18px 44px rgba(67, 59, 51, 0.1);
  }

  .sanctuary-palette-preview__item:hover .sanctuary-palette-preview__media img {
    transform: scale(1.04);
  }
}

.sanctuary-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.sanctuary-detail-card {
  position: relative;
  min-height: 245px;
  padding: clamp(28px, 3vw, 38px);
  background: rgba(255, 255, 255, 0.48);
  border: 1px solid rgba(67, 59, 51, 0.13);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
  box-shadow: 0 24px 60px rgba(67, 59, 51, 0.08);
}

.sanctuary-detail-card.is-visible {
  transition:
    transform 700ms var(--lux-ease),
    box-shadow 700ms var(--lux-ease),
    background 700ms ease,
    border-color 700ms ease;
}

.sanctuary-detail-card::after {
  content: "";
  position: absolute;
  left: 28px;
  right: 28px;
  bottom: 24px;
  height: 1px;
  background: linear-gradient(
    90deg,
    rgba(197, 164, 110, 0.95),
    rgba(197, 164, 110, 0)
  );
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 700ms var(--lux-ease);
}

.sanctuary-detail-card span {
  display: block;
  margin-bottom: 42px;
  font-family: var(--font-heading);
  font-size: 42px;
  line-height: 1;
  color: rgba(180, 157, 135, 0.82);
  transition: transform 700ms var(--lux-ease);
}

.sanctuary-detail-card h3 {
  margin: 0 0 14px;
  font-family: var(--font-heading);
  font-size: clamp(26px, 2.8vw, 36px);
  font-weight: 500;
  line-height: 1;
  letter-spacing: -0.025em;
  color: var(--sanctuary-charcoal);
}

.sanctuary-detail-card p {
  margin: 0;
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.65;
  color: rgba(67, 59, 51, 0.7);
}

@media (hover: hover) {
  .sanctuary-detail-card.is-visible:hover {
    transform: translateY(-6px);
    background: rgba(255, 255, 255, 0.68);
    border-color: rgba(197, 164, 110, 0.38);
    box-shadow: 0 22px 48px rgba(67, 59, 51, 0.12);
  }

  .sanctuary-detail-card.is-visible:hover::after {
    transform: scaleX(1);
  }

  .sanctuary-detail-card.is-visible:hover span {
    transform: translateY(-4px);
  }
}

.sanctuary-intention-section .reveal-up {
  opacity: 0;
  transform: translateY(34px);
}

.sanctuary-intention-section .reveal-up.is-visible {
  animation: sanctuary-reveal-up 900ms var(--lux-ease) forwards;
}

.sanctuary-intention-section .sanctuary-intention-copy.reveal-up.is-visible {
  animation-delay: 0ms;
}

.sanctuary-intention-section .sanctuary-detail-card.reveal-up.is-visible:nth-child(1) {
  animation-delay: 100ms;
}

.sanctuary-intention-section .sanctuary-detail-card.reveal-up.is-visible:nth-child(2) {
  animation-delay: 180ms;
}

.sanctuary-intention-section .sanctuary-detail-card.reveal-up.is-visible:nth-child(3) {
  animation-delay: 260ms;
}

.sanctuary-intention-section .sanctuary-detail-card.reveal-up.is-visible:nth-child(4) {
  animation-delay: 340ms;
}

.sanctuary-intention-section .sanctuary-detail-card.reveal-up.is-visible:nth-child(5) {
  animation-delay: 420ms;
}

.sanctuary-intention-section .sanctuary-detail-card.reveal-up.is-visible:nth-child(6) {
  animation-delay: 500ms;
}

@keyframes sanctuary-reveal-up {
  from {
    opacity: 0;
    transform: translateY(34px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes sanctuary-bg-drift {
  from {
    transform: scale(1.08) translate3d(0, 0, 0);
  }

  to {
    transform: scale(1.14) translate3d(-18px, 14px, 0);
  }
}

@media (max-width: 900px) {
  .sanctuary-intention-inner {
    grid-template-columns: 1fr;
    gap: clamp(36px, 8vw, 56px);
  }

  .sanctuary-intention-copy h2,
  .sanctuary-intention-copy > p:last-child {
    max-width: 100%;
  }

  .sanctuary-detail-grid {
    gap: 16px;
  }
}

@media (max-width: 640px) {
  .sanctuary-intention-section,
  main > .sanctuary-intention-section,
  .home-page--preview main > .sanctuary-intention-section {
    padding: 76px 20px;
    padding-block: 76px;
  }

  .sanctuary-intention-section::before {
    inset: 16px;
  }

  .sanctuary-intention-inner {
    gap: 32px;
  }

  .sanctuary-palette-preview {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .sanctuary-detail-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .sanctuary-detail-card {
    min-height: auto;
    padding: 28px 24px 34px;
  }

  .sanctuary-detail-card span {
    margin-bottom: 30px;
    font-size: 36px;
  }

  .sanctuary-intention-section .sanctuary-detail-card.reveal-up.is-visible:nth-child(1) {
    animation-delay: 60ms;
  }

  .sanctuary-intention-section .sanctuary-detail-card.reveal-up.is-visible:nth-child(2) {
    animation-delay: 120ms;
  }

  .sanctuary-intention-section .sanctuary-detail-card.reveal-up.is-visible:nth-child(3) {
    animation-delay: 180ms;
  }

  .sanctuary-intention-section .sanctuary-detail-card.reveal-up.is-visible:nth-child(4) {
    animation-delay: 240ms;
  }

  .sanctuary-intention-section .sanctuary-detail-card.reveal-up.is-visible:nth-child(5) {
    animation-delay: 300ms;
  }

  .sanctuary-intention-section .sanctuary-detail-card.reveal-up.is-visible:nth-child(6) {
    animation-delay: 360ms;
  }
}

@media (prefers-reduced-motion: reduce) {
  .sanctuary-intention-bg {
    animation: none;
    transform: scale(1.08);
  }

  .sanctuary-intention-section .reveal-up,
  .home-see-inspirations .reveal-up {
    opacity: 1;
    transform: none;
    animation: none;
  }

  .sanctuary-detail-card.is-visible,
  .sanctuary-detail-card span,
  .sanctuary-detail-card::after,
  .sanctuary-philosophy-callout.is-visible,
  .sanctuary-philosophy-callout::after {
    transition: none;
  }

  .sanctuary-philosophy-callout.is-visible:hover {
    transform: none;
  }
}

/* ── Founder quote + image (2-col editorial) ── */
.founder-editorial-section {
  background: var(--sanctuary-ivory);
}

.founder-editorial-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(2rem, 4vw, 3rem);
  align-items: center;
  max-width: 96rem;
  margin-inline: auto;
  padding-inline: clamp(1.5rem, 2vw, 2rem);
  padding-block: clamp(4rem, 6vw, 6rem);
}

.founder-editorial-quote {
  margin: 0;
  max-width: 65ch;
}

.founder-editorial-quote__text {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin: 0;
  font-family: var(--font-heading);
  font-size: clamp(1.25rem, 1.1rem + 0.65vw, 1.5rem);
  line-height: 1.625;
  font-style: italic;
  color: var(--sanctuary-charcoal);
  text-wrap: pretty;
}

.founder-editorial-quote__line {
  display: block;
}

.home-page--preview main .founder-editorial-quote__attribution,
.founder-editorial-quote__attribution {
  margin: clamp(1.25rem, 2.5vw, 1.75rem) 0 0;
  font-family: var(--font-body);
  font-size: calc(var(--home-eyebrow, 0.6875rem) * 1.2);
  font-weight: 600;
  letter-spacing: var(--home-eyebrow-ls, 0.12em);
  text-transform: none;
  line-height: 1.35;
  color: var(--editorial-gold-text, #8a7040);
}

.founder-editorial-image {
  margin: 0;
  border-radius: 1.5rem;
  overflow: hidden;
  box-shadow: 0 25px 50px -12px rgba(67, 59, 51, 0.28);
  aspect-ratio: 1792 / 1008;
  background: var(--sanctuary-stone);
}

.founder-editorial-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (min-width: 768px) {
  .founder-editorial-grid {
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
  }
}

@media (max-width: 767px) {
  .founder-editorial-image {
    border-radius: 1.25rem;
    aspect-ratio: 16 / 10;
  }
}

.sanctuary-philosophy-section--editorial {
  padding-block: clamp(5rem, 8vw, 7rem);
}

.sanctuary-philosophy-section--editorial .sanctuary-philosophy-wrap {
  max-width: 1320px;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: clamp(2.5rem, 5vw, 4rem);
  align-items: stretch;
}

.sanctuary-philosophy-section--editorial .sanctuary-philosophy-image {
  border-radius: 0;
  box-shadow: 0 16px 42px rgba(67, 59, 51, 0.09);
  aspect-ratio: auto;
  height: 100%;
  min-height: 100%;
  background: transparent;
  overflow: hidden;
  transition:
    box-shadow 560ms var(--lux-ease),
    transform 560ms var(--lux-ease);
}

.sanctuary-philosophy-section--editorial .sanctuary-philosophy-image img {
  width: 100%;
  height: 100%;
  min-height: 100%;
  object-fit: cover;
  object-position: center 42%;
  transform: scale(1.01);
  display: block;
  transition: transform 1s var(--lux-ease);
}

@media (hover: hover) {
  .sanctuary-philosophy-section--editorial .sanctuary-philosophy-image:hover {
    box-shadow: 0 28px 64px rgba(67, 59, 51, 0.17);
    transform: translateY(-4px);
  }

  .sanctuary-philosophy-section--editorial .sanctuary-philosophy-image:hover img {
    transform: scale(1.035);
  }
}

.sanctuary-philosophy-content--editorial {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  height: 100%;
  min-height: 100%;
  max-width: none;
  padding-right: clamp(1.25rem, 2.5vw, 2rem);
  padding-left: clamp(1.25rem, 2.5vw, 2rem);
}

.sanctuary-philosophy-title {
  display: flex;
  flex-direction: column;
  gap: 0.12em;
}

.sanctuary-philosophy-title__lead {
  display: block;
}

.sanctuary-philosophy-title__emphasis {
  display: flex;
  align-items: stretch;
  gap: 0.65rem;
  font-weight: 600;
}

.sanctuary-philosophy-title__bar {
  width: 3px;
  flex-shrink: 0;
  background: var(--editorial-ink, var(--sanctuary-charcoal));
  margin-block: 0.08em 0.02em;
}

.sanctuary-philosophy-rail {
  position: absolute;
  top: 0;
  right: 0;
  width: 1px;
  height: 100%;
  background: var(--editorial-ink, var(--sanctuary-charcoal));
  opacity: 0.85;
}

/* Philosophy Eames quote callout (not a section header) */
.sanctuary-philosophy-callout {
  position: relative;
  margin: 0 auto clamp(1.75rem, 3.8vw, 2.75rem);
  padding: clamp(1.15rem, 2.5vw, 1.6rem) clamp(1.25rem, 3vw, 1.85rem);
  max-width: min(100%, 34rem);
  width: 100%;
  border: 1px solid rgba(67, 59, 51, 0.12);
  border-left: 3px solid var(--editorial-gold, var(--gold, #c9a86c));
  background: rgba(247, 245, 241, 0.72);
  box-shadow: 0 14px 36px -22px rgba(67, 59, 51, 0.18);
  text-align: center;
  box-sizing: border-box;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}

/* Match Sanctuary Standard card microinteraction (lift + gold rule) */
.sanctuary-philosophy-callout.is-visible {
  transition:
    transform 700ms var(--lux-ease),
    box-shadow 700ms var(--lux-ease),
    background 700ms ease,
    border-color 700ms ease;
}

.sanctuary-philosophy-callout::after {
  content: "";
  position: absolute;
  left: clamp(1.25rem, 3vw, 1.85rem);
  right: clamp(1.25rem, 3vw, 1.85rem);
  bottom: clamp(0.85rem, 1.8vw, 1.1rem);
  height: 1px;
  background: linear-gradient(
    90deg,
    rgba(197, 164, 110, 0.95),
    rgba(197, 164, 110, 0)
  );
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 700ms var(--lux-ease);
  pointer-events: none;
}

@media (hover: hover) {
  .sanctuary-philosophy-callout.is-visible:hover {
    transform: translateY(-6px);
    background: rgba(255, 255, 255, 0.78);
    border-color: rgba(197, 164, 110, 0.38);
    box-shadow: 0 22px 48px rgba(67, 59, 51, 0.12);
  }

  .sanctuary-philosophy-callout.is-visible:hover::after {
    transform: scaleX(1);
  }
}

.sanctuary-philosophy-callout__quote {
  margin: 0;
  font-family: var(--font-heading);
  /* Single-line quote when space allows */
  font-size: clamp(1.25rem, 2.2vw, 1.85rem);
  font-weight: 400;
  font-style: italic;
  line-height: 1.35;
  letter-spacing: -0.015em;
  color: var(--editorial-ink, var(--charcoal-espresso, #433b33));
}

.sanctuary-philosophy-callout__line {
  display: inline;
  white-space: nowrap;
}

@media (max-width: 720px) {
  .sanctuary-philosophy-callout__line {
    white-space: normal;
  }

  .sanctuary-philosophy-callout__quote {
    font-size: clamp(1.2rem, 4.5vw, 1.55rem);
  }

  .hero-founder-note--prose .hero-founder-note__quote,
  .home-page--preview .hero-founder-note--prose .hero-founder-note__quote {
    font-size: clamp(1.1rem, 1rem + 0.5vw, 1.25rem);
    line-height: 1.45;
  }
}

.home-page--preview main .sanctuary-philosophy-section--editorial .sanctuary-philosophy-callout {
  max-width: min(100%, 42rem);
}

.sanctuary-philosophy-callout__attribution {
  display: block;
  margin-top: 0.95rem;
  font-family: var(--font-body);
  /* ~48% of quote size — clearly secondary to the quote */
  font-size: clamp(0.72rem, 1.05vw, 0.88rem);
  font-weight: 600;
  font-style: normal;
  letter-spacing: 0.16em;
  line-height: 1.4;
  color: var(--editorial-gold-text, var(--gold, #8a7040));
}

.sanctuary-philosophy-section--editorial .sanctuary-philosophy-copy {
  max-width: 38rem;
  margin: 0 auto;
  text-align: center;
}

.sanctuary-philosophy-section--editorial .sanctuary-philosophy-copy .prose {
  margin: 0 auto;
  max-width: 36rem;
  line-height: 1.8;
  text-align: center;
}

.sanctuary-philosophy-section--editorial .sanctuary-philosophy-copy .prose + .prose {
  margin-top: 1rem;
}

.home-page--preview main .sanctuary-philosophy-section--editorial .sanctuary-philosophy-callout {
  margin-bottom: clamp(1.75rem, 3.8vw, 2.75rem);
}

.home-page--preview main .sanctuary-philosophy-section--editorial .sanctuary-philosophy-copy .prose {
  margin-top: 0;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.8;
  text-align: center;
}

.home-page--preview main .sanctuary-philosophy-section--editorial .sanctuary-philosophy-content--editorial {
  align-items: center;
  text-align: center;
}

.home-page--preview main .sanctuary-philosophy-section--editorial .eyebrow,
.home-page--preview main .sanctuary-philosophy-section--editorial .eyebrow-gold {
  text-align: center;
  width: 100%;
}

.sanctuary-philosophy-wrap {
  max-width: 1160px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 0.382fr 0.618fr;
  gap: clamp(40px, 6vw, 96px);
  align-items: center;
}

.sanctuary-philosophy-image {
  position: relative;
  aspect-ratio: 1792 / 1008;
  overflow: hidden;
  border-radius: 0 72px 0 0;
  box-shadow: 0 34px 90px rgba(67, 59, 51, 0.13);
  background: var(--sanctuary-stone);
}

.sanctuary-philosophy-image--static {
  cursor: default;
  pointer-events: none;
}

.sanctuary-philosophy-image--zoomable {
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  cursor: zoom-in;
  text-align: left;
  transition:
    box-shadow 520ms cubic-bezier(0.22, 1, 0.36, 1),
    transform 520ms cubic-bezier(0.22, 1, 0.36, 1);
}

.sanctuary-philosophy-image--zoomable:focus-visible {
  outline: 2px solid rgba(197, 164, 110, 0.55);
  outline-offset: 4px;
}

.sanctuary-philosophy-image__hint {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  padding: 0.45rem 0.8rem;
  border-radius: 999px;
  background: rgba(247, 245, 241, 0.88);
  color: var(--sanctuary-charcoal);
  font-family: var(--font-body);
  font-size: 0.62rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  opacity: 0;
  transform: translateY(6px);
  transition:
    opacity 420ms cubic-bezier(0.22, 1, 0.36, 1),
    transform 420ms cubic-bezier(0.22, 1, 0.36, 1);
  pointer-events: none;
}

.sanctuary-philosophy-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
  transform: scale(1.01);
  transition: transform 1200ms var(--lux-ease);
}

.sanctuary-philosophy-section:hover .sanctuary-philosophy-image img,
.sanctuary-philosophy-image--zoomable:hover img,
.sanctuary-philosophy-image--zoomable:focus-visible img {
  transform: scale(1.045);
}

.sanctuary-philosophy-image--zoomable:hover,
.sanctuary-philosophy-image--zoomable:focus-visible {
  box-shadow: 0 40px 100px rgba(67, 59, 51, 0.18);
  transform: translateY(-2px);
}

.sanctuary-philosophy-image--zoomable:hover .sanctuary-philosophy-image__hint,
.sanctuary-philosophy-image--zoomable:focus-visible .sanctuary-philosophy-image__hint {
  opacity: 1;
  transform: translateY(0);
}

.sanctuary-philosophy-content {
  max-width: 610px;
}

.sanctuary-eyebrow {
  margin: 0 0 14px;
  font-family: var(--font-body);
  font-size: 10px;
  line-height: 1;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--sanctuary-taupe);
  font-weight: 700;
}

.sanctuary-philosophy-content:not(.home-section-head) h2 {
  margin: 0 0 10px;
  max-width: 580px;
  font-family: var(--font-heading);
  font-size: clamp(3.25rem, 5.8vw, 5.55rem);
  line-height: 0.86;
  letter-spacing: -0.065em;
  font-weight: 500;
  color: var(--sanctuary-charcoal);
  text-transform: capitalize;
  text-wrap: balance;
}

.sanctuary-philosophy-rule {
  width: clamp(3rem, 8vw, 5.5rem);
  height: 1px;
  margin: 0 0 clamp(36px, 5vw, 58px);
  background: var(--sanctuary-brass);
}

.sanctuary-philosophy-copy {
  max-width: 560px;
}

.sanctuary-philosophy-copy p {
  margin: 0 0 18px;
  font-family: var(--font-body);
  font-size: clamp(0.98rem, 1.05vw, 1.08rem);
  line-height: 1.85;
  color: rgba(67, 59, 51, 0.82);
  max-width: none;
}

.sanctuary-philosophy-copy p:last-child {
  margin-bottom: 0;
}

@media (max-width: 900px) {
  .sanctuary-philosophy-section {
    padding: var(--ssb-section-y) var(--ssb-gutter);
  }

  .sanctuary-philosophy-section--editorial {
    padding-block: clamp(3.5rem, 8vw, 5rem);
  }

  .sanctuary-philosophy-section--editorial .sanctuary-philosophy-wrap {
    grid-template-columns: 1fr;
    gap: clamp(2rem, 5vw, 2.75rem);
    align-items: start;
  }

  .sanctuary-philosophy-section--editorial .sanctuary-philosophy-image {
    aspect-ratio: 16 / 10;
    height: auto;
    min-height: 0;
    border-radius: 0;
  }

  .sanctuary-philosophy-section--editorial .sanctuary-philosophy-image img {
    height: 100%;
    min-height: 0;
    object-fit: cover;
  }

  .sanctuary-philosophy-section--editorial .sanctuary-philosophy-rail {
    display: none;
  }

  .sanctuary-philosophy-section--editorial .sanctuary-philosophy-content--editorial {
    display: block;
    height: auto;
    min-height: 0;
    padding-right: 0;
  }

  .sanctuary-philosophy-wrap {
    grid-template-columns: 1fr;
    gap: 44px;
    align-items: start;
  }

  .sanctuary-philosophy-image {
    height: auto;
    aspect-ratio: 16 / 10;
    border-radius: 0 54px 0 0;
  }

  .sanctuary-philosophy-image img {
    min-height: 0;
  }

  .sanctuary-philosophy-content:not(.home-section-head) h2 {
    font-size: clamp(2.85rem, 13vw, 4.25rem);
    line-height: 0.9;
    letter-spacing: -0.055em;
  }
}

@media (max-width: 520px) {
  .sanctuary-philosophy-section {
    padding: var(--ssb-section-y) var(--ssb-gutter);
  }

  .sanctuary-philosophy-image {
    border-radius: 0 42px 0 0;
  }

  .sanctuary-eyebrow {
    font-size: 9px;
    letter-spacing: 0.24em;
  }

  .sanctuary-philosophy-content:not(.home-section-head) h2 {
    font-size: clamp(2.65rem, 15vw, 3.75rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  .sanctuary-philosophy-section:hover .sanctuary-philosophy-image img,
  .sanctuary-philosophy-image img,
  .sanctuary-philosophy-image--zoomable:hover img,
  .sanctuary-philosophy-image--zoomable:focus-visible img {
    transform: scale(1.01);
    transition: none;
  }

  .sanctuary-philosophy-section--editorial .sanctuary-philosophy-image,
  .sanctuary-philosophy-section--editorial .sanctuary-philosophy-image img {
    transition: none;
  }

  .sanctuary-philosophy-section--editorial .sanctuary-philosophy-image:hover {
    box-shadow: 0 16px 42px rgba(67, 59, 51, 0.09);
    transform: none;
  }

  .sanctuary-philosophy-image--zoomable:hover,
  .sanctuary-philosophy-image--zoomable:focus-visible {
    transform: none;
    transition: none;
  }

  .lightbox,
  .lightbox-inner,
  .lightbox.is-visible .lightbox-caption,
  .lightbox.is-visible .lightbox-dismiss {
    transition: none;
    animation: none;
  }

  .lightbox.is-visible .lightbox-inner {
    transform: none;
    opacity: 1;
  }
}

.home-inspiration-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.25rem, 2.5vw, 2rem);
}

.home-inspiration-grid .inspiration-collection {
  grid-template-columns: 1fr;
  margin-bottom: 0;
  background: var(--white);
  border: 1px solid rgba(67, 59, 51, 0.08);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 18px 40px -28px rgba(67, 59, 51, 0.14);
  transition: transform 0.4s var(--ease-out), box-shadow 0.4s var(--ease-out);
}

.home-inspiration-grid .inspiration-collection:hover {
  transform: translateY(-6px);
  box-shadow: 0 28px 56px -24px rgba(67, 59, 51, 0.22);
}

.home-inspiration-grid .inspiration-collection--reverse .inspiration-collection__media,
.home-inspiration-grid .inspiration-collection--reverse .inspiration-collection__copy {
  order: unset;
}

.home-inspiration-grid .inspiration-collection__media {
  border-radius: 0;
  box-shadow: none;
}

.home-inspiration-grid .inspiration-collection__media img {
  aspect-ratio: 4 / 3;
  transition: transform 0.75s var(--ease-out);
}

.home-inspiration-grid .inspiration-collection:hover .inspiration-collection__media img {
  transform: scale(1.06);
}

.home-inspiration-grid .inspiration-collection__copy {
  padding: 1.35rem 1.5rem 1.65rem;
}

.home-inspiration-grid .inspiration-collection__body,
.home-inspiration-grid .inspiration-collection__note {
  font-size: 0.9375rem;
}

.home-page--preview .home-inspiration-grid .inspiration-collection__body,
.home-page--preview .home-inspiration-grid .inspiration-collection__note {
  font-size: var(--home-body);
  line-height: var(--home-body-lh);
}

.home-page--preview .home-inspiration-grid .inspiration-collection__eyebrow {
  font-size: var(--home-eyebrow);
  font-weight: 600;
  letter-spacing: var(--home-eyebrow-ls);
}

.home-section-cta {
  margin-top: clamp(2rem, 4vw, 3rem);
  display: flex;
  justify-content: center;
  text-align: center;
}

.home-section-cta .btn-outline {
  margin-top: 0;
}

.home-see-inspirations .reveal-up {
  opacity: 0;
  transform: translateY(34px);
}

.home-see-inspirations .reveal-up.is-visible {
  animation: sanctuary-reveal-up 900ms var(--lux-ease) forwards;
}

.home-see-inspirations .home-see-inspirations__head.reveal-up.is-visible {
  animation-delay: 0ms;
}

.home-page--preview .home-inspiration-grid .inspiration-collection.reveal-up.is-visible:nth-child(1) {
  animation-delay: 80ms;
}

.home-page--preview .home-inspiration-grid .inspiration-collection.reveal-up.is-visible:nth-child(2) {
  animation-delay: 160ms;
}

.home-page--preview .home-inspiration-grid .inspiration-collection.reveal-up.is-visible:nth-child(3) {
  animation-delay: 240ms;
}

.home-page--preview .home-inspiration-grid .inspiration-collection.reveal-up.is-visible:nth-child(4) {
  animation-delay: 320ms;
}

@media (max-width: 720px) {
  .home-inspiration-grid {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }

  .home-page--preview .home-inspiration-grid .inspiration-collection__copy {
    padding: clamp(1.25rem, 4vw, 1.5rem);
  }
}

.investment-editorial--dark {
  background: #1a1a1a;
  color: var(--sanctuary-ivory);
}

.investment-editorial--dark .eyebrow {
  color: var(--gold);
}

.investment-editorial--dark h2,
.investment-editorial--dark .display-title {
  color: var(--sanctuary-ivory);
}

.investment-editorial--dark .prose {
  color: rgba(247, 245, 241, 0.78);
}

.investment-editorial--dark .investment-grid {
  border-color: rgba(247, 245, 241, 0.14);
}

.investment-editorial--dark .btn-outline {
  color: var(--sanctuary-ivory);
  border-color: rgba(247, 245, 241, 0.42);
}

.investment-editorial--dark .btn-outline:hover {
  background: rgba(247, 245, 241, 0.1);
  border-color: var(--gold);
  color: var(--sanctuary-ivory);
}

@media (max-width: 767px) {
  .home-inspiration-grid {
    grid-template-columns: 1fr;
  }
}

.investment-grid {
  display: grid;
  grid-template-columns: 1.18fr 0.82fr;
  gap: clamp(42px, 7vw, 110px);
  align-items: center;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  padding: 72px 0;
}

.investment-grid .display-title {
  font-size: clamp(2.55rem, 5.2vw, 5.8rem);
}

.investment-grid .btn-primary {
  margin-top: 28px;
}

.process-final-cta {
  background: var(--charcoal);
  color: var(--cream);
}

.process-final-cta .display-title {
  color: var(--cream);
  font-size: clamp(2rem, 4.5vw, 3.5rem);
  line-height: 1.08;
}

.process-final-cta__grid {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: clamp(42px, 7vw, 100px);
  align-items: center;
}

.process-final-cta .prose {
  color: rgba(247, 245, 241, 0.76);
}

.process-final-cta .btn-primary {
  margin-top: 28px;
  background: var(--cream);
  color: var(--ink);
  border-color: var(--cream);
}

.process-final-cta .btn-primary:hover {
  background: #fff;
  color: var(--ink);
  border-color: #fff;
}

@media (max-width: 1100px) {
  .editorial-split,
  .materials-editorial-grid,
  .investment-grid,
  .process-final-cta__grid {
    grid-template-columns: 1fr;
  }

  .lux-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .materials-collage {
    min-height: auto;
  }

  .materials-collage__main {
    width: 100%;
    height: 560px;
  }

  .materials-collage__small {
    width: 45%;
    height: 260px;
  }

  .project-strip,
  .project-strip--four,
  .project-strip--six {
    grid-template-columns: 1fr 1fr;
  }

  .project-card--large {
    min-height: 500px;
  }

  .hero-founder-layout {
    grid-template-columns: 1fr;
    gap: clamp(1.5rem, 4vw, 2.375rem);
    padding-top: clamp(2.5rem, 6vw, 4.625rem);
    padding-bottom: clamp(2.5rem, 6vw, 4.625rem);
  }

  .hero-founder-note {
    justify-self: start;
  }

  .hero-founder-note--prose {
    width: min(100%, 34rem);
    max-width: min(100%, 34rem);
    justify-self: start;
  }
}

/* ── PDF mock: Curated Materials + Experience & Process ── */
.home-curated-materials {
  padding-top: 0;
  padding-bottom: 0;
  background: var(--ink);
  color: var(--cream);
}

.home-curated-materials .container-sb {
  padding-top: clamp(4.5rem, 9vw, 6.5rem);
  padding-bottom: clamp(3rem, 6vw, 4.5rem);
}

.home-curated-materials__layout {
  display: grid;
  grid-template-columns: minmax(280px, 0.95fr) minmax(0, 1.65fr);
  gap: clamp(2.5rem, 5vw, 4rem);
  align-items: start;
}

.home-curated-materials__eyebrow {
  margin: 0 0 1.25rem;
  font-family: var(--font-body);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--gold);
}

.home-curated-materials__title {
  margin: 0 0 1.5rem;
  font-size: clamp(2.5rem, 5vw, 4.25rem);
  font-weight: 500;
  line-height: 0.95;
  letter-spacing: -0.03em;
  color: var(--cream);
}

.home-curated-materials__lede {
  margin: 0 0 2rem;
  max-width: 26rem;
  font-size: clamp(1rem, 1.35vw, 1.125rem);
  line-height: 1.75;
  color: rgba(247, 245, 241, 0.82);
}

.home-curated-materials__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.85rem 1.35rem;
  border: 1px solid var(--gold);
  border-radius: 2px;
  font-family: var(--font-body);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--gold);
  transition: background 0.28s ease, color 0.28s ease;
}

.home-curated-materials__cta:hover {
  background: var(--gold);
  color: var(--ink);
}

.home-curated-materials__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  border-top: 1px solid rgba(247, 245, 241, 0.14);
}

.home-material-card {
  padding: clamp(1.5rem, 3vw, 2rem) clamp(1.25rem, 2.5vw, 1.75rem);
  border-left: 1px solid rgba(247, 245, 241, 0.14);
}

.home-material-card:first-child {
  border-left: 0;
}

.home-material-card__num {
  margin: 0 0 0.75rem;
  font-family: var(--font-body);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  color: rgba(247, 245, 241, 0.55);
}

.home-material-card__name {
  margin: 0 0 0.85rem;
  font-family: var(--font-heading);
  font-size: clamp(1.35rem, 2.2vw, 1.75rem);
  font-weight: 500;
  line-height: 1.1;
  color: var(--cream);
}

.home-material-card__desc {
  margin: 0 0 1.25rem;
  font-size: 0.9375rem;
  line-height: 1.65;
  color: rgba(247, 245, 241, 0.72);
}

.home-material-card__swatches {
  display: flex;
  gap: 6px;
  margin-bottom: 1.25rem;
}

.home-material-card__swatches span {
  flex: 1;
  height: 14px;
  border: 1px solid rgba(247, 245, 241, 0.18);
}

.home-material-card img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.home-curated-materials__footer {
  border-top: 1px solid rgba(247, 245, 241, 0.14);
  padding: 1.35rem 0 1.75rem;
  text-align: center;
}

.home-curated-materials__stories {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--font-body);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--gold);
}

.home-curated-materials__stories:hover {
  color: var(--cream);
}

.home-experience-process {
  background: var(--sanctuary-stone);
}

.home-experience-process__head {
  max-width: 52rem;
  margin-bottom: clamp(2.5rem, 5vw, 3.5rem);
}

.home-experience-process__head .display-title {
  margin-top: 0.75rem;
  margin-bottom: 1.25rem;
}

.home-experience-process__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  border-top: 1px solid var(--line);
}

.home-experience-step {
  padding: clamp(2.25rem, 4vw, 3rem) clamp(1.35rem, 2.5vw, 2rem) clamp(2.5rem, 4.5vw, 3.25rem);
  border-bottom: 1px solid var(--line);
  border-right: 1px solid var(--line);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 0;
  min-height: 14.5rem;
}

.home-experience-step:nth-child(3n) {
  border-right: 0;
}

.home-experience-step__num {
  display: block;
  margin: 0 auto 1.15rem;
  font-family: var(--font-heading);
  font-size: clamp(2.25rem, 3.5vw, 3rem);
  font-weight: 300;
  line-height: 1;
  color: rgba(23, 30, 25, 0.22);
  text-align: center;
}

.home-experience-step h3 {
  margin: 0 auto 0.95rem;
  font-family: var(--font-body);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink);
  text-align: center;
  max-width: none;
}

.home-experience-step p {
  margin: 0 auto;
  font-size: 0.9375rem;
  line-height: 1.65;
  color: #665f57;
  text-align: center;
  max-width: 26ch;
}

@media (max-width: 1100px) {
  .home-curated-materials__layout {
    grid-template-columns: 1fr;
  }

  .home-curated-materials__grid {
    grid-template-columns: 1fr;
    border-top: 0;
  }

  .home-material-card {
    border-left: 0;
    border-top: 1px solid rgba(247, 245, 241, 0.14);
  }

  .home-experience-process__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-experience-step:nth-child(3n) {
    border-right: 1px solid var(--line);
  }

  .home-experience-step:nth-child(2n) {
    border-right: 0;
  }

}

@media (max-width: 720px) {
  .home-page--preview {
    --header-h: 72px;
  }

  .home-page--preview .section-pad,
  .home-page--preview .ssb-page-section {
    padding-block: var(--ssb-section-y);
  }

  .home-page--preview .container-sb {
    width: min(var(--ssb-max), calc(100% - var(--ssb-gutter) * 2));
  }

  .home-page--preview .site-footer-bottom,
  .site-chrome .site-footer-bottom {
    flex-direction: column;
    text-align: center;
  }

  :root {
    --panel-pad-x: 22px;
    --panel-pad-y: 30px;
    --panel-nav-size: 0.9375rem;
    --panel-item-gap: 1.15rem;
  }

  .home-page--preview .inquire-drawer__scroll,
  .home-page--preview .nav-drawer__inner,
  .site-chrome .inquire-drawer__scroll,
  .site-chrome .nav-drawer__inner {
    padding: var(--panel-pad-y) var(--panel-pad-x);
  }

  .home-experience-process__grid {
    grid-template-columns: 1fr;
  }

  .home-experience-step {
    border-right: 0;
  }

  .hero-editorial--founder {
    min-height: 830px;
    padding-top: 76px;
  }

  .hero-editorial--founder .hero-editorial__scrim {
    background:
      linear-gradient(0deg, rgba(67, 59, 51, 0.88), rgba(67, 59, 51, 0.28) 58%),
      linear-gradient(90deg, rgba(67, 59, 51, 0.62), rgba(67, 59, 51, 0.16));
  }

  .hero-founder-scroll-line {
    height: 126px;
    opacity: 0.4;
  }

  .hero-founder-layout {
    width: calc(100% - 40px);
    padding-top: clamp(2rem, 7vw, 3.625rem);
    padding-bottom: clamp(1.5rem, 5vw, 2.375rem);
    gap: clamp(1.25rem, 4.5vw, 1.625rem);
  }

  .hero-title {
    font-size: clamp(3.3rem, 17vw, 5.4rem);
  }

  .hero-actions {
    display: grid;
  }

  .hero-actions .btn-primary,
  .hero-actions .btn-ghost {
    width: 100%;
  }

  .hero-founder-note {
    width: 100%;
  }

  .hero-founder-note:not(.hero-founder-note--prose) {
    padding: 28px 24px 24px;
  }

  .hero-founder-note--prose {
    --founder-note-quote-size: var(--hero-type-base, 1rem);
    --founder-note-quote-lh: var(--hero-type-lh, 1.5);
    --founder-note-quote-gap: 0.75rem;
    width: 100%;
    max-width: min(34rem, 100%);
  }

  .tall-media {
    height: 460px;
    border-radius: 0 72px 0 0;
  }

  .lux-grid,
  .project-strip,
  .project-strip--four,
  .project-strip--six {
    grid-template-columns: 1fr;
  }

  .lux-card {
    min-height: 230px;
  }

  .materials-collage__main {
    height: 420px;
    border-radius: 0 0 70px 0;
  }

  .materials-collage__small {
    position: relative;
    width: 80%;
    height: 230px;
    margin: -70px 0 0 auto;
  }

  .projects-head {
    display: grid;
    align-items: start;
  }

  .project-card,
  .project-card--large {
    min-height: 420px;
  }

  .investment-grid {
    padding: 44px 0;
  }
}

/* ── Founder header (Grok-inspired) ── */
.site-header--founder {
  --header-control-size: 2.5rem;
  /* Logo / nav / inquire — balanced so logo never collides with links */
  --header-logo-size: clamp(1.05rem, 0.92rem + 0.65vw, 1.45rem);
  --header-logo-tag: clamp(0.6rem, 0.55rem + 0.18vw, 0.7rem);
  --header-nav-size: 0.8125rem; /* 13px — fits 4 links + Inquire beside logo */
  --header-inquire-size: 0.8125rem;
  --header-logo-ls: 0.16em;
  --header-logo-tag-ls: 0.18em;
  height: 88px;
  background: var(--header-surface);
  border-bottom: 1px solid var(--header-border);
}

/* Header logo — proportional (+15%), never wrap into nav */
.site-header--founder .site-logo-title,
.site-header--founder .site-header-brand .site-logo-title {
  font-size: calc(var(--header-logo-size) * 1.15);
  letter-spacing: var(--header-logo-ls);
  line-height: 1.05;
  white-space: nowrap;
}

.site-header--founder .site-logo-sub,
.site-header--founder .site-header-brand .site-logo-sub {
  font-size: calc(var(--header-logo-tag) * 1.15);
  letter-spacing: var(--header-logo-tag-ls);
  line-height: 1.2;
  white-space: nowrap;
}

.site-header--founder .site-brand-lockup {
  gap: 0.35rem;
}

.site-header--founder .btn-nav-toggle__circle {
  width: var(--header-control-size);
  height: var(--header-control-size);
  box-sizing: border-box;
}

.site-header--founder .site-header-inner {
  width: min(1440px, calc(100% - 40px));
  max-width: 100%;
  display: grid;
  grid-template-columns: minmax(5.5rem, 1fr) auto minmax(5.5rem, 1fr);
  align-items: center;
  justify-content: center;
  position: relative;
  gap: 0.5rem 0.75rem;
  box-sizing: border-box;
  min-height: 88px;
  margin-inline: auto;
  padding-inline: 0;
}

.site-header-left {
  position: static;
  left: auto;
  top: auto;
  height: auto;
  display: flex;
  align-items: center;
  justify-self: start;
  min-width: 0;
  z-index: 2;
}

.site-header-brand--center {
  align-items: center;
  text-align: center;
  position: static;
  left: auto;
  top: auto;
  transform: none;
  justify-self: center;
  z-index: 2;
  max-width: none;
  flex-shrink: 0;
  pointer-events: auto;
}

.site-header-brand-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
}

.site-header-brand-wrap .site-header-brand {
  position: static;
  transform: none;
}

.site-hidden-contact {
  margin: 0;
  padding: 0;
  font-family: var(--font-body);
  font-size: 0.75rem;
  line-height: 1.2;
  font-weight: 400;
}

.site-hidden-contact--header {
  color: #1a1a1a;
}

.site-hidden-contact--header a {
  color: inherit;
  text-decoration: none;
}

/* Blends the email link and address into the footer background */
footer .site-hidden-contact--footer,
footer .site-hidden-contact--footer a[href^="mailto:"] {
  color: #1c1917 !important;
  background-color: transparent !important;
  user-select: none;
  pointer-events: none;
  font-size: 0.625rem;
  line-height: 1.2;
  margin: 0;
  margin-top: -0.35rem;
}

footer .site-hidden-contact--footer a,
footer .site-hidden-contact--footer .site-hidden-contact__address {
  color: inherit !important;
  text-decoration: none;
  pointer-events: none;
}

footer .site-hidden-contact--footer .site-hidden-contact__address {
  display: inline;
  margin: 0 0 0 0.65rem;
}

footer .site-hidden-contact--footer a[href*="maps"],
footer .site-hidden-contact--footer a[href*="google.com/maps"] {
  color: #1c1917 !important;
  background-color: transparent !important;
  pointer-events: none !important;
  user-select: none;
}

.site-footer-refined__contact-value a[href^="tel:"] {
  color: inherit;
  pointer-events: auto;
  user-select: auto;
}

.site-header-actions--founder {
  position: static;
  right: auto;
  top: auto;
  height: auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  justify-self: end;
  gap: 0.65rem;
  min-width: 0;
  max-width: 100%;
  z-index: 2;
}

.site-nav-desktop {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-wrap: nowrap;
  gap: 0.65rem;
  min-width: 0;
}

.site-nav-desktop--quiet {
  gap: 0.65rem;
}

.site-nav-desktop--quiet a,
.site-nav-panel--drawer .site-nav-panel__link {
  position: relative;
  display: inline-block;
  width: fit-content;
  padding: 0.5rem 0;
  border: 0;
  font-family: var(--font-body);
  font-size: var(--panel-nav-size);
  font-weight: var(--panel-nav-weight);
  letter-spacing: var(--panel-nav-ls);
  text-transform: uppercase;
  line-height: 1.45;
  color: var(--panel-text);
  text-decoration: none;
  background: none;
  cursor: pointer;
  transition: color 0.25s ease;
}

.site-nav-desktop--quiet a::after,
.site-nav-panel--drawer .site-nav-panel__link::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 5px;
  height: 1px;
  background: var(--gold);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 0.25s ease;
}

.site-nav-desktop--quiet a:hover::after,
.site-nav-desktop--quiet a.is-active::after,
.site-nav-panel--drawer .site-nav-panel__link:hover::after,
.site-nav-panel--drawer .site-nav-panel__link.is-active::after {
  transform: scaleX(1);
}

.site-header--founder .btn-nav-toggle {
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 0;
  background: transparent;
  border: 0;
  color: #111827;
}

.btn-nav-toggle--circle:hover .btn-nav-toggle__circle {
  background: #111827;
  border-color: #111827;
}

.site-header--founder .btn-nav-toggle__icon {
  width: 15px;
  height: 11px;
  border-top: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  display: block;
  position: relative;
}

.site-header--founder .btn-nav-toggle__icon::before {
  content: "";
  position: absolute;
  left: 0;
  top: 4px;
  width: 15px;
  height: 1px;
  background: currentColor;
}

.btn-nav-toggle--circle:hover .btn-nav-toggle__icon {
  color: #fff;
}

.site-header--founder .btn-nav-toggle__label {
  font-size: 0.62rem;
  letter-spacing: 0.38em;
  color: #111827;
  font-weight: 800;
  font-family: var(--font-body);
}

.btn-inquire--founder {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--header-control-size, 2.5rem);
  height: var(--header-control-size, 2.5rem);
  padding: 0 1.1875rem;
  box-sizing: border-box;
  border: 1px solid rgba(17, 24, 39, 0.86);
  background: transparent;
  color: #111827;
  border-radius: 0;
  font-size: var(--header-inquire-size, 0.72rem);
  letter-spacing: 0.12em;
  font-weight: 400;
  font-family: var(--font-body);
  text-transform: uppercase;
}

.btn-inquire--founder:hover {
  background: #111827;
  color: #fff;
}

.site-nav-panel--drawer {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.25rem;
  margin-top: 0;
  text-align: center;
}

.site-nav-panel--drawer .site-nav-panel__link {
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 0.4rem 0;
  color: var(--charcoal);
}

.btn-full {
  width: 100%;
}

/*
  Hide desktop nav until there is room for logo + 4 links + Inquire.
  MacBook / laptop: Menu + logo + Inquire only.
*/
@media (max-width: 1519px) {
  .site-nav-desktop--quiet {
    display: none !important;
  }

  .site-header-actions--founder {
    gap: 12px;
  }
}

/* Wide desktop: show full nav without colliding with centered logo */
@media (min-width: 1520px) {
  .site-nav-desktop--quiet {
    display: flex;
  }

  .site-header--founder {
    --header-nav-size: 0.8125rem;
    --header-inquire-size: 0.8125rem;
  }

  .site-header--founder .site-nav-desktop--quiet a {
    font-size: var(--header-nav-size) !important;
    letter-spacing: 0.08em !important;
    white-space: nowrap;
  }

  .site-header-actions--founder {
    gap: 0.75rem;
  }

  .site-nav-desktop--quiet {
    gap: 0.75rem;
  }
}

@media (min-width: 1728px) {
  .site-header--founder {
    --header-nav-size: 0.875rem;
    --header-inquire-size: 0.875rem;
    --header-logo-size: 1.45rem;
    --header-logo-tag: 0.7rem;
  }

  .site-nav-desktop--quiet {
    gap: 1rem;
  }

  .site-header-actions--founder {
    gap: 1rem;
  }
}

/* Tablet / MacBook: balanced logo + inquire */
@media (min-width: 768px) and (max-width: 1519px) {
  .site-header--founder {
    --header-logo-size: clamp(1.12rem, 1rem + 0.5vw, 1.32rem);
    --header-logo-tag: clamp(0.6rem, 0.55rem + 0.15vw, 0.68rem);
    --header-inquire-size: 0.8125rem;
  }
}

/* Phones */
@media (max-width: 767px) {
  .site-header--founder {
    --header-logo-size: clamp(1rem, 0.9rem + 1.2vw, 1.15rem);
    --header-logo-tag: clamp(0.58rem, 0.52rem + 0.35vw, 0.66rem);
    --header-inquire-size: 0.8125rem;
    --header-control-size: 2.35rem;
    height: auto;
    min-height: 72px;
  }

  .site-header--founder .site-header-inner {
    min-height: 72px;
    width: calc(100% - 1.5rem);
  }
}

@media (max-width: 720px) {
  .site-header--founder {
    --header-control-size: 2.25rem;
    height: 76px;
  }

  .site-header--founder .site-header-inner {
    width: calc(100% - 32px);
  }

  .site-header--founder .btn-nav-toggle__label {
    display: none;
  }

  .btn-inquire--founder {
    display: inline-flex;
    padding-inline: 0.75rem;
    font-size: var(--header-inquire-size, 0.7rem);
    letter-spacing: 0.06em;
    font-weight: 400;
  }
}

/* ── Design Process V2 ── */
body[data-page="design-process"] {
  --header-h: 88px;
}

body[data-page="design-process"] .nav-drawer,
body[data-page="design-process"] .nav-panel {
  width: min(540px, 100vw);
}

.nav-drawer__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding-bottom: 1.25rem;
  margin-bottom: 1.5rem;
  border-bottom: 1px solid rgba(67, 59, 51, 0.08);
}

.home-page--preview .nav-drawer__top,
.site-chrome .nav-drawer__top {
  position: relative;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding-top: 0.25rem;
  min-height: var(--panel-header-min-h);
  margin-bottom: var(--panel-content-gap);
}

.home-page--preview .nav-drawer__top .nav-drawer__brand,
.site-chrome .nav-drawer__top .nav-drawer__brand {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  width: 100%;
  gap: 0.35rem;
}

/* Drawer brand lockup — same size as header logo */
.nav-drawer__brand .site-logo-title,
.nav-drawer .site-logo-title,
.home-page--preview .nav-drawer__brand .site-logo-title,
.site-chrome .nav-drawer__brand .site-logo-title {
  font-size: calc(var(--header-logo-size, 1.25rem) * 1.15) !important;
  font-weight: var(--brand-name-weight, 400);
  letter-spacing: var(--header-logo-ls, 0.16em);
  line-height: 1.05;
  white-space: nowrap;
}

.nav-drawer__brand .site-logo-sub,
.nav-drawer .site-logo-sub,
.home-page--preview .nav-drawer__brand .site-logo-sub,
.site-chrome .nav-drawer__brand .site-logo-sub {
  font-size: calc(var(--header-logo-tag, 0.65rem) * 1.15) !important;
  font-weight: var(--brand-tag-weight, 600);
  letter-spacing: var(--header-logo-tag-ls, 0.18em);
  line-height: 1.2;
  white-space: nowrap;
}

/* Ensure drawer inherits header logo scale tokens */
.site-chrome .nav-drawer,
.home-page--preview .nav-drawer,
.nav-drawer {
  --header-logo-size: clamp(1.05rem, 0.92rem + 0.65vw, 1.45rem);
  --header-logo-tag: clamp(0.6rem, 0.55rem + 0.18vw, 0.7rem);
  --header-logo-ls: 0.16em;
  --header-logo-tag-ls: 0.18em;
}

.home-page--preview .nav-drawer__top .nav-drawer__close,
.site-chrome .nav-drawer__top .nav-drawer__close {
  position: absolute;
  top: 0;
  right: 0;
  width: 2.5rem;
  height: 2.5rem;
  min-width: 44px;
  min-height: 44px;
  font-size: 1.75rem;
  color: #111827;
}

.home-page--preview .nav-drawer__top .nav-drawer__close:hover,
.site-chrome .nav-drawer__top .nav-drawer__close:hover {
  color: #433b33;
}

.nav-drawer__intro,
.nav-drawer__cta {
  display: none !important;
}

.site-nav-panel--drawer .site-nav-panel__link > span {
  display: none;
}

.form-note {
  font-size: 0.82rem;
  color: #81786f;
  margin: 0;
}

main.process-page-v2 {
  padding-top: 0;
}

main.process-page-v2 > .process-hero-v2:first-child {
  margin-top: 0;
}

.process-hero-v2 {
  position: relative;
  min-height: 92svh;
  padding-top: var(--header-h);
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  background: var(--ink);
  color: white;
}

.process-hero-v2__media,
.process-hero-v2__media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.process-hero-v2__media img {
  object-fit: cover;
  object-position: center;
}

.process-hero-v2__scrim {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(23, 30, 25, 0.82), rgba(23, 30, 25, 0.38) 46%, rgba(23, 30, 25, 0.18)),
    linear-gradient(0deg, rgba(23, 30, 25, 0.78), rgba(23, 30, 25, 0) 52%);
}

.process-hero-v2__layout {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr 370px;
  gap: 48px;
  align-items: end;
  padding-bottom: clamp(72px, 9vw, 120px);
}

.process-hero-v2__copy {
  max-width: 900px;
}

.process-hero-v2__title {
  font-size: clamp(4rem, 8.6vw, 9.8rem);
  line-height: 0.82;
  letter-spacing: -0.065em;
  margin: 0;
  color: #fffdf8;
  max-width: 860px;
}

.process-hero-v2__lead {
  max-width: 680px;
  margin: 26px 0 0;
  font-size: clamp(1.08rem, 1.4vw, 1.34rem);
  line-height: 1.76;
  color: rgba(255, 253, 248, 0.86);
}

.process-hero-v2__card {
  background: rgba(255, 253, 248, 0.84);
  backdrop-filter: blur(18px);
  border: 1px solid rgba(255, 255, 255, 0.42);
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.22);
  padding: 28px;
  color: var(--ink);
}

.process-hero-v2__card p:last-child {
  font-family: var(--font-heading);
  font-size: 1.7rem;
  line-height: 1.16;
  margin: 16px 0 0;
  color: var(--ink);
}

.process-intro-strip {
  background: var(--paper);
}

.process-intro-grid {
  display: grid;
  grid-template-columns: 0.92fr 1.08fr;
  gap: clamp(42px, 7vw, 100px);
  align-items: end;
}

.process-proof-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  margin-top: 58px;
  background: var(--line);
  border: 1px solid var(--line);
}

.process-proof-grid article {
  background: var(--paper);
  padding: 34px 30px;
  min-height: 240px;
}

.process-proof-grid span {
  font-family: var(--font-body);
  letter-spacing: 0.18em;
  color: var(--gold);
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
}

.process-proof-grid strong {
  display: block;
  font-family: var(--font-heading);
  font-size: 2rem;
  line-height: 1;
  margin: 52px 0 12px;
  color: var(--ink);
  font-weight: 400;
}

.process-proof-grid p {
  margin: 0;
  color: #625c54;
  line-height: 1.72;
}

.process-path {
  padding-top: 120px;
}

.process-path__head {
  max-width: 980px;
  margin-bottom: 68px;
}

.process-timeline {
  display: grid;
  gap: 28px;
}

.process-stage {
  display: grid;
  grid-template-columns: 120px minmax(0, 0.93fr) minmax(340px, 0.84fr);
  gap: 34px;
  align-items: stretch;
  border-top: 1px solid rgba(247, 245, 240, 0.18);
  padding-top: 28px;
}

.process-stage--reverse {
  grid-template-columns: 120px minmax(340px, 0.84fr) minmax(0, 0.93fr);
}

.process-stage--reverse .process-stage__body {
  grid-column: 3;
}

.process-stage--reverse figure {
  grid-column: 2;
  grid-row: 1;
}

.process-stage__number {
  font-family: var(--font-heading);
  font-size: clamp(4.2rem, 7vw, 7.2rem);
  line-height: 0.82;
  color: var(--gold);
  letter-spacing: -0.06em;
  margin: 0;
}

.process-stage__body {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.12);
  padding: 38px;
  min-height: 340px;
}

.process-stage__body h3 {
  font-family: var(--font-heading);
  font-size: clamp(2.35rem, 4.2vw, 4.4rem);
  line-height: 0.9;
  letter-spacing: -0.04em;
  margin: 10px 0 20px;
  color: var(--cream);
  font-weight: 400;
}

.process-stage__body p {
  font-size: 1.09rem;
  line-height: 1.82;
  color: rgba(247, 245, 240, 0.78);
  margin: 0;
}

.process-stage__body small {
  display: block;
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid rgba(247, 245, 240, 0.14);
  font-size: 0.94rem;
  line-height: 1.7;
  color: rgba(247, 245, 240, 0.62);
}

.process-stage figure {
  margin: 0;
  min-height: 340px;
  overflow: hidden;
  background: #111;
}

.process-stage figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.8s ease;
}

.process-stage:hover figure img {
  transform: scale(1.045);
}

.process-difference {
  background: #fbf8f1;
}

.process-difference__head {
  max-width: 920px;
  margin-bottom: 52px;
}

.process-difference-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

.process-difference-grid article {
  background: var(--paper);
  border: 1px solid var(--line);
  padding: 34px 30px;
  box-shadow: 0 18px 50px rgba(23, 30, 25, 0.07);
}

.process-difference-grid h3 {
  font-family: var(--font-heading);
  font-size: 2.1rem;
  line-height: 1;
  margin: 0 0 18px;
  color: var(--ink);
  font-weight: 400;
}

.process-difference-grid p {
  margin: 0;
  color: #625c54;
  line-height: 1.78;
}

.process-final-cta {
  background: var(--charcoal);
  color: var(--cream);
}

.process-final-cta .display-title {
  color: var(--cream);
  font-size: clamp(3rem, 6.2vw, 6.7rem);
  line-height: 0.95;
}

.process-final-cta__grid {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: clamp(42px, 7vw, 100px);
  align-items: center;
}

.process-final-cta .prose {
  color: rgba(247, 245, 240, 0.76);
}

.process-final-cta .btn-primary {
  margin-top: 28px;
  background: var(--cream);
  color: var(--ink);
  border-color: var(--cream);
}

.process-final-cta .btn-primary:hover {
  background: #fff;
  color: var(--ink);
  border-color: #fff;
}

@media (max-width: 1100px) {
  .process-hero-v2__layout,
  .process-intro-grid,
  .process-final-cta__grid {
    grid-template-columns: 1fr;
  }

  .process-hero-v2__card {
    max-width: 520px;
  }

  .process-proof-grid,
  .process-difference-grid {
    grid-template-columns: 1fr 1fr;
  }

  .process-stage,
  .process-stage--reverse {
    grid-template-columns: 90px 1fr;
  }

  .process-stage figure,
  .process-stage--reverse figure {
    grid-column: 2;
    grid-row: 2;
    min-height: 360px;
  }

  .process-stage__body,
  .process-stage--reverse .process-stage__body {
    grid-column: 2;
    grid-row: 1;
  }

  .process-stage__number {
    grid-column: 1;
    grid-row: 1 / span 2;
  }
}

@media (max-width: 720px) {
  .process-hero-v2 {
    min-height: 790px;
  }

  .process-hero-v2__scrim {
    background:
      linear-gradient(0deg, rgba(23, 30, 25, 0.86), rgba(23, 30, 25, 0.2) 62%),
      linear-gradient(90deg, rgba(23, 30, 25, 0.58), rgba(23, 30, 25, 0.18));
  }

  .process-hero-v2__layout {
    padding-bottom: 38px;
    gap: 28px;
  }

  .process-hero-v2__title {
    font-size: clamp(3.7rem, 17vw, 5.7rem);
  }

  .process-hero-v2__card {
    padding: 22px;
  }

  .process-hero-v2__card p:last-child {
    font-size: 1.45rem;
  }

  .process-proof-grid,
  .process-difference-grid {
    grid-template-columns: 1fr;
  }

  .process-proof-grid article {
    min-height: auto;
  }

  .process-stage,
  .process-stage--reverse {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .process-stage__number {
    grid-column: 1;
    grid-row: auto;
    font-size: 4.8rem;
  }

  .process-stage__body,
  .process-stage--reverse .process-stage__body {
    grid-column: 1;
    grid-row: auto;
    padding: 28px 24px;
    min-height: auto;
  }

  .process-stage figure,
  .process-stage--reverse figure {
    grid-column: 1;
    grid-row: auto;
    min-height: 310px;
  }

  .process-path {
    padding-top: 82px;
  }

  .process-path__head {
    margin-bottom: 42px;
  }
}

/* ── Universal contrast (aligned with design-process page) ── */
body.site-chrome {
  background: hsl(var(--background));
  color: hsl(var(--foreground));
}

.site-chrome .prose-lead,
.site-chrome .page-intro .prose {
  color: #59544d;
}

.site-chrome .section-light,
.site-chrome .philosophy,
.site-chrome .home-see-inspirations,
.site-chrome .home-next-steps,
.site-chrome .process-intro-strip {
  background: var(--paper);
}

.site-chrome.experience-page {
  background: hsl(var(--background));
  color: hsl(var(--foreground));
}

.site-chrome.experience-page .exp-editorial-eyebrow {
  color: var(--muted);
}

.site-chrome.experience-page .exp-editorial-title,
.site-chrome.experience-page .exp-work__title,
.site-chrome.experience-page .exp-pillar__title {
  color: var(--ink);
}

.site-chrome.experience-page .exp-editorial-lead,
.site-chrome.experience-page .exp-work__desc,
.site-chrome.experience-page .exp-pillar__lead,
.site-chrome.experience-page .exp-pillar__content p,
.site-chrome.experience-page .exp-pillar__note div,
.site-chrome.experience-page .exp-quote__cite {
  color: #59544d;
}

.site-chrome.experience-page .exp-btn--primary {
  background: var(--ink);
  color: var(--cream);
  border-color: var(--ink);
}

.site-chrome.experience-page .exp-btn--primary:hover {
  background: #2a332d;
  border-color: #2a332d;
}

.site-chrome.experience-page .exp-btn--outline {
  border-color: rgba(23, 30, 25, 0.3);
  color: var(--ink);
}

.site-chrome.experience-page .exp-btn--outline:hover {
  background: var(--ink);
  color: var(--cream);
  border-color: var(--ink);
}

@media (max-width: 640px) {
  :root {
    --ssb-gutter: 20px;
    --ssb-section-y: 72px;
    --ssb-section-y-tight: 56px;
  }
}

/* ── Homepage type system (Display Lg 48 / Display Md 36 / Body 16 / Eyebrow 11) ── */
.home-page--preview {
  --home-display-lg: clamp(2rem, 4.2vw, 3rem);
  --home-display-md: clamp(1.625rem, 3vw, 2.25rem);
  --home-body: 1rem;
  --home-body-lh: 1.6;
  --home-eyebrow: 0.6875rem;
  --home-eyebrow-ls: 0.12em;
  --home-head-gap: 1rem;
  --home-copy-gap: 1.25rem;
  --editorial-bg: #f7f5f1;
  --editorial-bg-alt: #e6e2dd;
  --editorial-dark: #433b33;
  --editorial-ink: #433b33;
  --editorial-muted: rgba(67, 59, 51, 0.72);
  --editorial-muted-soft: rgba(67, 59, 51, 0.58);
  --editorial-gold: #c9a86c;
  --editorial-gold-text: #8a7040;
  --editorial-border: rgba(67, 59, 51, 0.1);
  background: var(--editorial-bg);
  color: var(--editorial-ink);
}

.home-page--preview main h1,
.home-page--preview main h2,
.home-page--preview main .display-title {
  font-family: var(--font-heading);
  font-size: var(--home-display-lg);
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: -0.03em;
  text-align: left;
  margin-inline: 0;
  margin-bottom: var(--home-copy-gap);
  max-width: 22em;
}

.home-page--preview main h3,
.home-page--preview main .inspiration-collection__title {
  font-family: var(--font-heading);
  font-size: var(--home-display-md);
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: -0.025em;
  text-align: left;
  margin-inline: 0;
  margin-bottom: 0.75rem;
  max-width: 18em;
}

.home-page--preview main p,
.home-page--preview main .prose,
.home-page--preview main .sanctuary-philosophy-copy p,
.home-page--preview main .sanctuary-intention-copy > p,
.home-page--preview main .inspiration-collection__body,
.home-page--preview main .inspiration-collection__note,
.home-page--preview main .home-experience-step p,
.home-page--preview main .sanctuary-detail-card p,
.home-page--preview main .hero-lead,
.home-page--preview main .hero-founder-note__body {
  font-family: var(--font-body);
  font-size: var(--home-body);
  line-height: var(--home-body-lh);
  max-width: 38rem;
}

.home-page--preview main .eyebrow,
.home-page--preview main .eyebrow-gold,
.home-page--preview main .sanctuary-eyebrow,
.home-page--preview main .sanctuary-intention-eyebrow,
.home-page--preview main .inspiration-collection__eyebrow,
.home-page--preview main .hero-kicker {
  font-family: var(--font-body);
  font-size: var(--home-eyebrow);
  font-weight: 600;
  letter-spacing: var(--home-eyebrow-ls);
  text-transform: uppercase;
  line-height: 1;
  margin: 0 0 var(--home-head-gap);
  max-width: none;
}

.home-page--preview main .hero-editorial--founder .hero-title {
  color: var(--ivory);
  font-size: calc(var(--hero-type-h1, clamp(2rem, 1rem + 3.5vw, 4rem)) * 0.85);
  line-height: var(--hero-type-h1-lh, 1.2);
  max-width: min(22ch, 100%);
  margin-bottom: var(--hero-type-copy-gap, 1rem);
}

.home-page--preview main .hero-editorial--founder .hero-lead {
  margin-top: 0;
  font-size: var(--hero-type-base, 1rem);
  line-height: var(--hero-type-lh, 1.5);
  max-width: var(--hero-type-measure, clamp(45ch, 92vw, 65ch));
  color: rgba(247, 245, 241, 0.9);
}

.home-page--preview main .hero-kicker {
  color: #f4ebdd;
}

.home-page--preview .sanctuary-philosophy-content:not(.home-section-head) h2,
.home-page--preview .sanctuary-intention-copy h2 {
  font-size: var(--home-display-lg);
  line-height: 1.1;
  letter-spacing: -0.03em;
  max-width: 14em;
  margin-bottom: var(--home-head-gap);
}

.home-page--preview .sanctuary-philosophy-rule {
  margin: 0 0 var(--home-copy-gap);
}

.home-page--preview .sanctuary-philosophy-copy p:last-child,
.home-page--preview .sanctuary-intention-copy > p:last-child {
  margin-top: 0;
  margin-bottom: 0;
}

.home-page--preview .sanctuary-detail-card h3 {
  font-size: var(--home-display-md);
  line-height: 1.15;
  margin-bottom: 0.75rem;
}

.home-page--preview .sanctuary-detail-card span {
  font-size: var(--home-display-md);
  margin-bottom: 1.5rem;
}

.home-page--preview .home-experience-process__head {
  text-align: left;
  margin-inline: 0;
  margin-bottom: clamp(2rem, 4vw, 3rem);
  max-width: 38rem;
}

.home-page--preview .home-see-inspirations__head {
  text-align: left;
  margin-inline: 0;
  margin-bottom: clamp(2rem, 4vw, 3rem);
  max-width: 40rem;
}

.home-page--preview .home-see-inspirations__head h2,
.home-page--preview .home-see-inspirations__head .display-title,
.home-page--preview .home-see-inspirations__head .prose,
.home-page--preview .home-see-inspirations__head .eyebrow,
.home-page--preview .home-see-inspirations__head .eyebrow-gold,
.home-page--preview .home-see-inspirations__lede {
  text-align: left;
  margin-inline: 0;
}

.home-page--preview .home-experience-process__head .display-title {
  text-align: left;
  margin-inline: 0;
}

.home-page--preview .home-experience-process__head .display-title {
  margin-top: 0;
}

.home-page--preview .home-experience-step h3 {
  font-family: var(--font-heading);
  font-size: var(--home-display-md);
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: -0.025em;
  text-transform: capitalize;
  color: var(--sanctuary-charcoal);
}

.home-page--preview .home-experience-step p {
  font-size: var(--home-body);
  line-height: var(--home-body-lh);
}

.home-page--preview .inspiration-collection__copy {
  padding: clamp(1.5rem, 3vw, 2rem);
}

.home-page--preview .inspiration-collection__title {
  font-weight: 500;
  color: var(--sanctuary-charcoal);
}

.home-page--preview .investment-editorial--dark .display-title {
  max-width: 16em;
}

.home-page--preview .investment-grid {
  align-items: start;
  gap: clamp(2rem, 4vw, 3rem);
}

.site-footer-cta-band {
  background: var(--sanctuary-ivory);
  padding: clamp(4.5rem, 9vw, 7.5rem) clamp(1.25rem, 4vw, 2.5rem);
  text-align: center;
}

.site-footer-cta-band__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 100%;
  max-width: 42rem;
  margin-inline: auto;
  gap: 0;
}

.site-footer-cta-band__title {
  margin: 0 0 0.85rem;
  font-family: var(--font-heading);
  font-size: clamp(1.85rem, 4vw, 2.75rem);
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--sanctuary-charcoal);
  text-align: center;
  max-width: none;
  white-space: nowrap;
  text-wrap: nowrap;
}

.site-footer-cta-band__sub {
  margin: 0 0 1.75rem;
  font-family: var(--font-body);
  font-size: clamp(0.95rem, 1.5vw, 1.05rem);
  line-height: 1.55;
  color: rgba(67, 59, 51, 0.74);
  text-align: center;
  max-width: 28rem;
}

.site-footer-cta-band .sanctuary-submit-btn {
  width: auto;
  min-width: 0;
}

.site-footer--refined,
.site-chrome .site-footer--refined {
  --site-footer-bg: #1a1a1a;
  background: var(--site-footer-bg);
  color: #f5f5f5;
  padding: clamp(2.75rem, 5.5vw, 4rem) var(--ssb-gutter);
  text-align: center;
  border-top: 0;
}

.site-footer-refined__inner {
  width: min(var(--ssb-max), 100%);
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(1.1rem, 2.5vw, 1.65rem);
}

.site-footer-refined__brand {
  text-decoration: none;
  color: inherit;
}

.site-footer-service-areas {
  margin: 0;
  max-width: 40rem;
  text-align: center;
  font-family: var(--font-body);
  font-size: clamp(0.75rem, 1.4vw, 0.875rem);
  line-height: 1.65;
  color: rgba(245, 245, 245, 0.62);
}

.site-footer-refined__contact {
  display: flex;
  justify-content: center;
  width: 100%;
  max-width: 52rem;
  margin-inline: auto;
}

.site-footer-refined__contact-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.3rem;
  min-width: 0;
}

.site-footer-refined__contact-value {
  margin: 0;
  font-family: var(--font-body);
  font-size: 0.9375rem;
  line-height: 1.55;
  color: rgba(245, 245, 245, 0.88);
  font-style: normal;
}

.site-footer-refined__contact-value a {
  color: inherit;
  text-decoration: none;
  transition: color 0.2s ease;
  overflow-wrap: anywhere;
}

.site-footer-refined__contact-value a:hover {
  color: var(--brand-tag-color);
}

@media (min-width: 900px) {
  .site-footer-refined__contact-value {
    font-size: 1rem;
  }
}

.site-footer-refined__legal {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.45rem 1.25rem;
  font-family: var(--font-body);
  font-size: 0.8125rem;
  line-height: 1.4;
  color: rgba(245, 245, 245, 0.62);
}

.site-footer-refined__legal a {
  color: inherit;
  text-decoration: none;
  transition: color 0.2s ease;
}

.site-footer-refined__legal a:hover {
  color: var(--brand-tag-color);
}

.site-footer-refined__copy {
  margin: 0;
  font-family: var(--font-body);
  font-size: 0.75rem;
  line-height: 1.5;
  color: rgba(245, 245, 245, 0.45);
}

@media (max-width: 640px) {
  :root {
    --brand-name-size: clamp(1.15rem, 5.2vw, 1.35rem);
    --brand-tag-size: 0.625rem;
    --brand-tag-gap: 0.65rem;
  }

  .site-footer-refined__legal {
    flex-direction: column;
    gap: 0.4rem;
  }

  .site-footer--refined,
  .site-chrome .site-footer--refined {
    padding: 2.25rem 20px;
  }
}

@media (max-width: 900px) {
  .home-page--preview main h1,
  .home-page--preview main h2,
  .home-page--preview main .display-title,
  .home-page--preview .sanctuary-philosophy-content h2,
  .home-page--preview .sanctuary-intention-copy h2 {
    max-width: 100%;
  }
}

@media (max-width: 640px) {
  .home-page--preview {
    --home-head-gap: 0.875rem;
    --home-copy-gap: 1rem;
  }

  .home-page--preview .sanctuary-philosophy-wrap,
  .home-page--preview .sanctuary-intention-inner {
    gap: 2rem;
  }

  .home-page--preview .home-see-inspirations__head,
  .home-page--preview .home-experience-process__head {
    margin-bottom: 1.75rem;
  }
}

/* ── Homepage editorial theme (Footer2 subtle contrast) ── */
.home-page--preview main .sanctuary-philosophy-section,
.home-page--preview main .home-see-inspirations {
  background: var(--editorial-bg);
}

.home-page--preview main .home-experience-process {
  background: var(--editorial-bg-alt);
}

.home-page--preview main .investment-editorial--dark {
  background: var(--editorial-dark);
}

.home-page--preview .sanctuary-intention-bg {
  background:
    radial-gradient(circle at 20% 18%, rgba(201, 168, 108, 0.09), transparent 42%),
    linear-gradient(165deg, #f7f5f1 0%, #f1ece5 52%, #e9e3db 100%);
  animation: sanctuary-bg-drift 22s ease-in-out infinite alternate;
}

.home-page--preview .sanctuary-intention-section::before {
  border-color: var(--editorial-border);
}

.home-page--preview .sanctuary-philosophy-copy p,
.home-page--preview .sanctuary-intention-copy > p:last-child,
.home-page--preview main .prose,
.home-page--preview main .home-experience-step p,
.home-page--preview .home-inspiration-grid .inspiration-collection__body,
.home-page--preview .home-inspiration-grid .inspiration-collection__note {
  color: var(--editorial-muted);
}

.home-page--preview .home-inspiration-grid .inspiration-collection__note {
  color: var(--editorial-muted-soft);
}

.home-page--preview main .eyebrow-gold,
.home-page--preview .sanctuary-intention-eyebrow,
.home-page--preview .sanctuary-eyebrow {
  color: var(--editorial-gold);
}

.home-page--preview .home-inspiration-grid .inspiration-collection {
  background: #fdfcfa;
  border-color: var(--editorial-border);
  box-shadow: 0 14px 36px -28px rgba(67, 59, 51, 0.1);
}

.home-page--preview main .inspiration-collection:hover {
  box-shadow: 0 22px 48px -24px rgba(67, 59, 51, 0.14);
}

.home-page--preview .home-experience-process__grid {
  border-color: var(--editorial-border);
}

.home-page--preview .home-experience-step {
  border-color: var(--editorial-border);
  text-align: center !important;
  align-items: center !important;
  justify-content: flex-start;
  padding: clamp(2.25rem, 4vw, 3rem) clamp(1.25rem, 2.2vw, 1.85rem) clamp(2.5rem, 4.5vw, 3.25rem) !important;
  min-height: 15rem;
}

.home-page--preview .home-experience-step__num {
  color: rgba(67, 59, 51, 0.16);
  text-align: center !important;
  margin: 0 auto 1.1rem !important;
  width: 100%;
  font-size: clamp(2.25rem, 3.5vw, 3rem) !important;
  line-height: 1 !important;
}

.home-page--preview main .home-experience-step h3,
.home-page--preview main .home-experience-step h3.sanctuary-heading,
.home-page--preview .home-experience-step h3 {
  text-align: center !important;
  margin: 0 auto 1rem !important;
  max-width: 14em !important;
  width: 100% !important;
  font-family: var(--font-heading) !important;
  font-size: clamp(1.2rem, 1.55vw, 1.4rem) !important;
  font-weight: 500 !important;
  letter-spacing: -0.02em !important;
  text-transform: capitalize !important;
  line-height: 1.25 !important;
  color: var(--editorial-ink, #433b33) !important;
}

.home-page--preview main .home-experience-step p,
.home-page--preview .home-experience-step p {
  text-align: center !important;
  margin: 0 auto !important;
  max-width: 26ch !important;
  font-size: 0.9375rem !important;
  line-height: 1.65 !important;
  color: #665f57 !important;
}

.home-page--preview .btn-outline {
  border-color: rgba(67, 59, 51, 0.28);
  color: var(--editorial-ink);
}

.home-page--preview .btn-outline:hover {
  background: var(--editorial-ink);
  border-color: var(--editorial-ink);
  color: var(--editorial-bg);
}

.home-page--preview .home-section-cta .btn-outline {
  border-color: rgba(67, 59, 51, 0.28);
  color: var(--editorial-ink);
  background: transparent;
}

.home-page--preview .investment-editorial--dark .home-section-cta .btn-outline {
  background: var(--editorial-bg);
}

.home-page--preview .home-section-cta .btn-outline:hover,
.home-page--preview .investment-editorial--dark .home-section-cta .btn-outline:hover {
  background: var(--editorial-ink);
  border-color: var(--editorial-ink);
  color: var(--editorial-bg);
}

.home-page--preview .investment-editorial--dark .investment-grid {
  border-bottom: 0;
  padding-bottom: 0;
}

.home-page--preview .investment-editorial--dark .home-section-cta {
  padding-bottom: clamp(3rem, 6vw, 4.5rem);
}

.home-page--preview .investment-editorial--dark .prose {
  color: rgba(247, 245, 241, 0.78);
}

.home-page--preview .investment-editorial--dark .eyebrow-gold {
  color: var(--editorial-gold);
}

.home-page--preview .site-footer-cta-band {
  background: var(--editorial-bg);
  border-top: 1px solid var(--editorial-border);
}

.home-page--preview .site-footer-cta-band__title {
  color: var(--editorial-ink);
}

.home-page--preview .site-footer-cta-band__sub {
  color: var(--editorial-muted);
}

.home-page--preview .sanctuary-detail-card {
  background: rgba(253, 252, 250, 0.62);
  border-color: var(--editorial-border);
  box-shadow: 0 16px 44px -28px rgba(67, 59, 51, 0.08);
}

.home-page--preview .sanctuary-detail-card p {
  color: var(--editorial-muted);
}

.home-page--preview .sanctuary-detail-card span {
  color: rgba(201, 168, 108, 0.72);
}

/* ── Homepage unified section typography (single source of truth) ── */
.home-page--preview main .eyebrow,
.home-page--preview main .eyebrow-gold,
.home-page--preview main .sanctuary-eyebrow,
.home-page--preview main .sanctuary-intention-eyebrow,
.home-page--preview main .inspiration-collection__eyebrow,
.home-page--preview main .inspiration-collection__copy .eyebrow {
  font-family: var(--font-body);
  font-size: var(--home-eyebrow);
  font-weight: 600;
  letter-spacing: var(--home-eyebrow-ls);
  text-transform: uppercase;
  line-height: 1;
  color: var(--editorial-gold);
  margin: 0 0 var(--home-head-gap);
  max-width: none;
}

.home-page--preview main h2,
.home-page--preview main .display-title,
.home-page--preview main .sanctuary-philosophy-content h2,
.home-page--preview main .sanctuary-intention-copy h2,
.home-page--preview .site-footer-cta-band__title {
  font-family: var(--font-heading);
  font-size: var(--home-display-lg);
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: -0.03em;
  color: var(--editorial-ink);
  text-transform: capitalize;
  text-wrap: balance;
  margin-top: 0;
  margin-bottom: var(--home-copy-gap);
}

.home-page--preview main .investment-editorial--dark h2,
.home-page--preview main .investment-editorial--dark .display-title {
  color: var(--sanctuary-ivory);
}

.home-page--preview main h3,
.home-page--preview main h3.sanctuary-heading,
.home-page--preview main .inspiration-collection__title,
.home-page--preview main .home-experience-step h3,
.home-page--preview main .sanctuary-detail-card h3 {
  font-family: var(--font-heading);
  font-size: var(--home-display-md);
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: -0.025em;
  color: var(--editorial-ink);
  text-transform: capitalize;
  margin-top: 0;
  margin-bottom: 0.75rem;
  max-width: 18em;
}

.home-page--preview main .home-experience-step h3 {
  max-width: none;
}

.home-page--preview .home-see-inspirations__head .eyebrow,
.home-page--preview .home-see-inspirations__head .eyebrow-gold,
.home-page--preview .home-see-inspirations__head h2,
.home-page--preview .home-see-inspirations__head .display-title,
.home-page--preview .home-see-inspirations__lede {
  text-align: left;
  margin-inline: 0;
}

.home-page--preview .home-experience-process__head .eyebrow,
.home-page--preview .home-experience-process__head .eyebrow-gold,
.home-page--preview .home-experience-process__head h2,
.home-page--preview .home-experience-process__head .display-title {
  text-align: left;
  margin-inline: 0;
}

/* ── Client presentation polish: contrast, motion, device tuning ── */
@supports (height: 100dvh) {
  .home-page--preview main .hero-editorial--founder {
    min-height: max(72vh, 100dvh);
  }
}

.home-page--preview {
  --editorial-muted: rgba(67, 59, 51, 0.78);
  --editorial-muted-soft: rgba(67, 59, 51, 0.66);
  --editorial-gold-text: #8a7040;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

.home-page--preview main .eyebrow,
.home-page--preview main .eyebrow-gold,
.home-page--preview main .sanctuary-eyebrow,
.home-page--preview main .sanctuary-intention-eyebrow,
.home-page--preview main .inspiration-collection__eyebrow,
.home-page--preview main .inspiration-collection__copy .eyebrow {
  color: var(--editorial-gold-text);
}

.home-page--preview main .investment-editorial--dark .eyebrow,
.home-page--preview main .investment-editorial--dark .eyebrow-gold {
  color: #b49d87;
}

.home-page--preview main .investment-editorial--dark .prose {
  color: rgba(247, 245, 241, 0.78);
}

/* ── Uniform founder header — fully opaque on all pages (incl. past hero) ── */
.site-header,
.site-header.is-scrolled,
.site-header--founder,
.site-header--founder.is-scrolled,
.site-chrome .site-header--founder,
.site-chrome .site-header--founder.is-scrolled,
.home-page--preview .site-header--founder,
.home-page--preview .site-header--founder.is-scrolled,
.home-page--preview .site-header--founder:not(.is-scrolled) {
  padding-top: env(safe-area-inset-top, 0px);
  height: 88px;
  background: #f7f5f1 !important;
  background-color: #f7f5f1 !important;
  opacity: 1 !important;
  border-bottom: 1px solid #e8e4dc !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

.site-chrome .site-header--founder .site-header-brand,
.home-page--preview .site-header--founder .site-header-brand,
.home-page--preview .site-header--founder:not(.is-scrolled) .site-header-brand,
.home-page--preview .site-header--founder.is-scrolled .site-header-brand {
  --brand-name-color: var(--header-ink);
  --brand-tag-color: var(--header-ink);
}

.site-chrome .site-header--founder .btn-nav-toggle,
.site-chrome .site-header--founder .btn-nav-toggle__label,
.home-page--preview .site-header--founder .btn-nav-toggle,
.home-page--preview .site-header--founder .btn-nav-toggle__label,
.home-page--preview .site-header--founder:not(.is-scrolled) .btn-nav-toggle,
.home-page--preview .site-header--founder:not(.is-scrolled) .btn-nav-toggle__label,
.home-page--preview .site-header--founder.is-scrolled .btn-nav-toggle,
.home-page--preview .site-header--founder.is-scrolled .btn-nav-toggle__label {
  color: var(--header-ink);
}

.site-chrome .site-header--founder .btn-nav-toggle__circle,
.home-page--preview .site-header--founder .btn-nav-toggle__circle,
.home-page--preview .site-header--founder:not(.is-scrolled) .btn-nav-toggle__circle,
.home-page--preview .site-header--founder.is-scrolled .btn-nav-toggle__circle {
  border-color: rgba(67, 59, 51, 0.34);
  background: transparent;
  color: inherit;
}

.site-chrome .site-header--founder .btn-nav-toggle--circle:hover .btn-nav-toggle__circle,
.home-page--preview .site-header--founder .btn-nav-toggle--circle:hover .btn-nav-toggle__circle,
.home-page--preview .site-header--founder:not(.is-scrolled) .btn-nav-toggle--circle:hover .btn-nav-toggle__circle {
  background: var(--header-ink);
  border-color: var(--header-ink);
  color: var(--header-surface);
}

.site-chrome .site-header--founder .site-nav-desktop--quiet a,
.home-page--preview .site-header--founder .site-nav-desktop--quiet a,
.home-page--preview .site-header--founder:not(.is-scrolled) .site-nav-desktop--quiet a,
.home-page--preview .site-header--founder.is-scrolled .site-nav-desktop--quiet a {
  color: var(--panel-text);
}

.site-chrome .site-header--founder .btn-inquire--founder,
.home-page--preview .site-header--founder .btn-inquire--founder,
.home-page--preview .site-header--founder:not(.is-scrolled) .btn-inquire--founder,
.home-page--preview .site-header--founder.is-scrolled .btn-inquire--founder {
  border-color: rgba(67, 59, 51, 0.42);
  color: var(--header-ink);
  background: transparent;
}

.site-chrome .site-header--founder .btn-inquire--founder:hover,
.home-page--preview .site-header--founder .btn-inquire--founder:hover,
.home-page--preview .site-header--founder:not(.is-scrolled) .btn-inquire--founder:hover,
.home-page--preview .site-header--founder.is-scrolled .btn-inquire--founder:hover {
  background: var(--header-ink);
  border-color: var(--header-ink);
  color: var(--header-surface);
}

.site-chrome .site-header--founder .site-header-brand,
.site-chrome .site-header--founder .btn-nav-toggle,
.site-chrome .site-header--founder .btn-nav-toggle__label,
.site-chrome .site-header--founder .site-nav-desktop--quiet a,
.site-chrome .site-header--founder .btn-inquire--founder,
.home-page--preview .site-header--founder .site-header-brand,
.home-page--preview .site-header--founder .btn-nav-toggle,
.home-page--preview .site-header--founder .btn-nav-toggle__label,
.home-page--preview .site-header--founder .site-nav-desktop--quiet a,
.home-page--preview .site-header--founder .btn-inquire--founder {
  transition:
    color 0.45s var(--lux-ease),
    border-color 0.45s var(--lux-ease),
    background-color 0.45s var(--lux-ease);
}

.home-page--preview .site-footer--refined,
.home-page--preview .site-footer-cta-band {
  padding-bottom: calc(clamp(2rem, 4vw, 3rem) + env(safe-area-inset-bottom, 0px));
}

.home-page--preview .btn-outline,
.home-page--preview .btn-inquire,
.home-page--preview .btn-nav-toggle,
.home-page--preview .sanctuary-submit-btn {
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}

.home-page--preview .btn-outline:active {
  transform: translateY(0);
}

.home-page--preview main .hero-editorial__media {
  overflow: hidden;
}

.home-page--preview main .hero-editorial__media img {
  transform: scale(1.05);
  will-change: transform;
}

@media (prefers-reduced-motion: no-preference) {
  .home-page--preview main .hero-editorial__media img {
    animation: hero-ken-burns 32s ease-in-out infinite alternate;
  }
}

@keyframes hero-ken-burns {
  from { transform: scale(1.05); }
  to { transform: scale(1.08); }
}

.hero-copy-enter .hero-kicker,
.hero-copy-enter .hero-title,
.hero-copy-enter .hero-lead {
  opacity: 0;
  animation: hero-copy-rise 1s var(--lux-ease) forwards;
}

.hero-copy-enter .hero-kicker { animation-delay: 0.12s; }
.hero-copy-enter .hero-title { animation-delay: 0.28s; }
.hero-copy-enter .hero-lead { animation-delay: 0.46s; }

@keyframes hero-copy-rise {
  from {
    opacity: 0;
    transform: translateY(22px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.sanctuary-philosophy-section .reveal-up,
.home-experience-process .reveal-up,
.investment-editorial .reveal-up,
.site-footer-cta-band .reveal-up {
  opacity: 0;
  transform: translateY(28px);
}

.sanctuary-philosophy-section .reveal-up.is-visible,
.home-experience-process .reveal-up.is-visible,
.investment-editorial .reveal-up.is-visible,
.site-footer-cta-band .reveal-up.is-visible {
  animation: sanctuary-reveal-up 880ms var(--lux-ease) forwards;
}

/* Philosophy cascade — same stagger language as Sanctuary Standard cards */
.sanctuary-philosophy-section .sanctuary-philosophy-image.reveal-up.is-visible {
  animation-delay: 0ms;
}

.sanctuary-philosophy-section .eyebrow.reveal-up.is-visible,
.sanctuary-philosophy-section .eyebrow-gold.reveal-up.is-visible {
  animation-delay: 80ms;
}

.sanctuary-philosophy-section .sanctuary-philosophy-callout.reveal-up.is-visible {
  animation-delay: 160ms;
}

.sanctuary-philosophy-section .sanctuary-philosophy-copy.reveal-up.is-visible {
  animation-delay: 240ms;
}

.home-experience-process .home-experience-step.reveal-up.is-visible:nth-child(1) { animation-delay: 0ms; }
.home-experience-process .home-experience-step.reveal-up.is-visible:nth-child(2) { animation-delay: 70ms; }
.home-experience-process .home-experience-step.reveal-up.is-visible:nth-child(3) { animation-delay: 140ms; }
.home-experience-process .home-experience-step.reveal-up.is-visible:nth-child(4) { animation-delay: 210ms; }
.home-experience-process .home-experience-step.reveal-up.is-visible:nth-child(5) { animation-delay: 280ms; }

.home-experience-process .home-section-cta.reveal-up.is-visible {
  animation-delay: 340ms;
}

.investment-editorial .home-section-cta.reveal-up.is-visible {
  animation-delay: 140ms;
}

.sanctuary-rule-draw {
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 900ms var(--lux-ease);
}

.sanctuary-rule-draw.is-drawn {
  transform: scaleX(1);
}

.home-page--preview .sanctuary-philosophy-image {
  overflow: hidden;
  border-radius: 2px;
}

.home-page--preview .sanctuary-philosophy-image img {
  transition: transform 1.1s var(--lux-ease);
}

.home-page--preview .sanctuary-philosophy-image:hover img {
  transform: scale(1.03);
}

.home-page--preview .home-experience-step {
  transition:
    background-color 420ms var(--lux-ease),
    border-color 420ms var(--lux-ease);
}

@media (hover: hover) {
  .home-page--preview .home-experience-step:hover {
    background: rgba(253, 252, 250, 0.72);
    border-color: rgba(201, 168, 108, 0.22);
  }

  .home-page--preview .home-experience-step:hover .home-experience-step__num {
    color: rgba(138, 112, 64, 0.34);
  }
}

.home-page--preview .inspiration-collection__media img {
  transition: transform 1s var(--lux-ease);
}

.home-page--preview .gold-line,
.home-page--preview .sanctuary-philosophy-rule {
  background: var(--editorial-gold-text);
  opacity: 0.88;
}

@media (prefers-reduced-motion: reduce) {
  .home-page--preview main .hero-editorial__media img {
    animation: none;
    transform: none;
    will-change: auto;
  }

  .hero-copy-enter .hero-kicker,
  .hero-copy-enter .hero-title,
  .hero-copy-enter .hero-lead,
  .sanctuary-philosophy-section .reveal-up,
  .home-experience-process .reveal-up,
  .investment-editorial .reveal-up,
  .site-footer-cta-band .reveal-up {
    opacity: 1;
    transform: none;
    animation: none;
  }

  .sanctuary-rule-draw {
    transform: scaleX(1);
    transition: none;
  }

  .sanctuary-palette-preview__item:hover {
    transform: none;
  }
}

.home-page--preview .sanctuary-palette-preview__item {
  background: rgba(253, 252, 250, 0.72);
  border-color: var(--editorial-border);
}

.home-page--preview .sanctuary-palette-preview__name {
  color: var(--editorial-ink);
}

.home-page--preview .sanctuary-intention-copy > p:last-child {
  margin-bottom: 0;
}

.home-page--preview .hero-founder-note {
  background: #f7f5f1;
  border-color: rgba(67, 59, 51, 0.1);
  box-shadow: 0 22px 56px rgba(0, 0, 0, 0.18);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

.home-page--preview .hero-founder-note::before {
  background: linear-gradient(
    165deg,
    rgba(255, 255, 255, 0.34) 0%,
    rgba(247, 245, 241, 0.18) 52%,
    rgba(247, 245, 241, 0.08) 100%
  );
}

.home-page--preview .hero-founder-note__kicker {
  color: var(--editorial-gold-text);
  text-shadow: 0 1px 10px rgba(247, 245, 241, 0.45);
}

.home-page--preview .hero-founder-note__quote {
  color: var(--editorial-ink);
  text-shadow: 0 1px 12px rgba(247, 245, 241, 0.35);
}

.home-page--preview .hero-founder-note__body {
  color: var(--editorial-muted);
  text-shadow: 0 1px 10px rgba(247, 245, 241, 0.3);
}

.home-page--preview .hero-founder-note__name {
  color: var(--editorial-ink);
  text-shadow: none;
}

.home-page--preview .hero-founder-note__role {
  color: var(--editorial-muted-soft);
  text-shadow: none;
}

.home-page--preview .hero-founder-note__rule {
  background: linear-gradient(
    90deg,
    rgba(138, 112, 64, 0),
    rgba(138, 112, 64, 0.42) 20%,
    rgba(138, 112, 64, 0.42) 80%,
    rgba(138, 112, 64, 0)
  );
}

.home-page--preview .home-section-cta .btn-outline {
  font-family: var(--font-body);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  line-height: 1;
  text-transform: uppercase;
  text-align: center;
  justify-content: center;
  min-height: 2.875rem;
  padding: 0.875rem 1.75rem;
}

/* ── Homepage section heads: unified eyebrow, title, lede ── */
.home-page--preview main .home-section-head .eyebrow,
.home-page--preview main .home-section-head .eyebrow-gold {
  font-family: var(--font-body);
  font-size: var(--home-eyebrow);
  font-weight: 600;
  letter-spacing: var(--home-eyebrow-ls);
  text-transform: uppercase;
  line-height: 1;
  color: var(--editorial-gold-text);
  margin: 0 0 var(--home-head-gap);
  max-width: none;
}

.home-page--preview main .home-section-head h2,
.home-page--preview main .home-section-head .display-title {
  font-family: var(--font-heading);
  font-size: var(--home-display-lg);
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: -0.03em;
  color: var(--editorial-ink);
  text-transform: capitalize;
  text-wrap: balance;
  margin: 0 0 var(--home-copy-gap);
  max-width: 22em;
}

.home-page--preview main .home-section-head .prose,
.home-page--preview main .home-section-head > p:not(.eyebrow):not(.eyebrow-gold) {
  font-family: var(--font-body);
  font-size: var(--home-body);
  line-height: var(--home-body-lh);
  color: var(--editorial-muted);
  margin: 0;
  max-width: 38rem;
}

.home-page--preview .home-experience-process__head.home-section-head,
.home-page--preview .home-see-inspirations__head.home-section-head {
  margin-bottom: clamp(2rem, 4vw, 3rem);
  max-width: 38rem;
}

.home-page--preview .home-experience-process__head.home-section-head .display-title,
.home-page--preview .home-experience-process__head.home-section-head h2 {
  margin-top: 0;
}

.home-page--preview .investment-editorial--dark .home-section-head .eyebrow,
.home-page--preview .investment-editorial--dark .home-section-head .eyebrow-gold {
  color: #b49d87;
}

.home-page--preview .investment-editorial--dark .home-section-head h2,
.home-page--preview .investment-editorial--dark .home-section-head .display-title {
  color: var(--sanctuary-ivory);
  max-width: 16em;
}

.home-page--preview .sanctuary-intention-copy.home-section-head {
  margin-bottom: 0;
}

.home-page--preview .sanctuary-philosophy-content.home-section-head h2,
.home-page--preview .sanctuary-philosophy-content.home-section-head .display-title {
  margin-bottom: var(--home-head-gap);
}

/* ── Homepage client presentation (apply in order) ── */

/* 6. Ivory, taupe, and dark contrast section rhythm */
.home-page--preview main .sanctuary-philosophy-section,
.home-page--preview main .home-see-inspirations,
.home-page--preview .site-footer-cta-band {
  background: #f7f5f1;
}

.home-page--preview .luxury-soft,
.home-page--preview main .home-experience-process {
  background: #e6e2dd;
}

.home-page--preview .luxury-contrast,
.home-page--preview main .investment-editorial--dark {
  background: #433b33;
  color: #f7f5f1;
}

.home-page--preview .luxury-contrast p,
.home-page--preview main .investment-editorial--dark p,
.home-page--preview main .investment-editorial--dark .prose {
  color: rgba(247, 245, 241, 0.78);
}

.home-page--preview .luxury-contrast .eyebrow,
.home-page--preview .luxury-contrast .eyebrow-gold,
.home-page--preview main .investment-editorial--dark .eyebrow,
.home-page--preview main .investment-editorial--dark .eyebrow-gold {
  color: #b49d87;
}

.home-page--preview .luxury-contrast h2,
.home-page--preview .luxury-contrast .display-title,
.home-page--preview main .investment-editorial--dark h2,
.home-page--preview main .investment-editorial--dark .display-title {
  color: #f7f5f1;
}

.home-page--preview .sanctuary-intention-bg {
  background:
    radial-gradient(circle at 20% 18%, rgba(201, 168, 108, 0.09), transparent 42%),
    linear-gradient(165deg, #f7f5f1 0%, #f1ece5 52%, #e9e3db 100%);
}

/* 7. Subtle reveal animation */
.reveal,
.home-page--preview .sanctuary-intention-section .reveal-up,
.home-page--preview .sanctuary-philosophy-section .reveal-up,
.home-page--preview .home-experience-process .reveal-up,
.home-page--preview .home-see-inspirations .reveal-up,
.home-page--preview .investment-editorial .reveal-up,
.home-page--preview .site-footer-cta-band .reveal-up {
  opacity: 0;
  transform: translateY(18px);
  transition:
    opacity 900ms cubic-bezier(0.22, 1, 0.36, 1),
    transform 900ms cubic-bezier(0.22, 1, 0.36, 1);
}

.reveal.is-visible,
.home-page--preview .sanctuary-intention-section .reveal-up.is-visible,
.home-page--preview .sanctuary-philosophy-section .reveal-up.is-visible,
.home-page--preview .home-experience-process .reveal-up.is-visible,
.home-page--preview .home-see-inspirations .reveal-up.is-visible,
.home-page--preview .investment-editorial .reveal-up.is-visible,
.home-page--preview .site-footer-cta-band .reveal-up.is-visible {
  opacity: 1;
  transform: translateY(0);
  animation: none;
}

@media (prefers-reduced-motion: reduce) {
  .reveal,
  .home-page--preview .sanctuary-intention-section .reveal-up,
  .home-page--preview .sanctuary-philosophy-section .reveal-up,
  .home-page--preview .home-experience-process .reveal-up,
  .home-page--preview .home-see-inspirations .reveal-up,
  .home-page--preview .investment-editorial .reveal-up,
  .home-page--preview .site-footer-cta-band .reveal-up {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

/* 1–5. Mobile editorial (≤768px) */
@media (max-width: 768px) {
  .home-page--preview {
    --ssb-gutter: 22px;
    --ssb-section-y: 74px;
    --ssb-section-y-tight: 74px;
    --home-eyebrow-ls: 0.22em;
    --home-head-gap: 0.875rem;
    --home-body-lh: 1.72;
  }

  /* 1. Hero gradient and text width */
  .home-page--preview main .hero-editorial--founder {
    min-height: 88vh;
    min-height: 88dvh;
    padding:
      calc(7.5rem + env(safe-area-inset-top, 0px))
      max(1.375rem, env(safe-area-inset-right, 0px))
      calc(3.5rem + env(safe-area-inset-bottom, 0px))
      max(1.375rem, env(safe-area-inset-left, 0px));
    align-items: flex-end;
    overflow: hidden;
  }

  .home-page--preview main .hero-editorial--founder .hero-editorial__scrim {
    background:
      linear-gradient(
        to bottom,
        rgba(20, 18, 15, 0.18) 0%,
        rgba(20, 18, 15, 0.42) 48%,
        rgba(20, 18, 15, 0.78) 100%
      );
  }

  .home-page--preview .hero-founder-layout {
    width: 100%;
    max-width: 100%;
    padding-top: 0;
    padding-bottom: 0;
    gap: clamp(1.125rem, 4.8vw, 1.75rem);
  }

  .home-page--preview .hero-founder-copy {
    max-width: min(92%, 36rem);
  }

  .home-page--preview main .hero-editorial--founder .hero-title {
    font-size: var(--hero-type-h1, clamp(2rem, 1rem + 5vw, 3.25rem));
    line-height: var(--hero-type-h1-lh, 1.2);
    letter-spacing: -0.035em;
    max-width: min(20ch, 100%);
    margin-bottom: var(--hero-type-copy-gap, 1rem);
  }

  .home-page--preview main .hero-editorial--founder .hero-lead {
    font-size: var(--hero-type-base, 1rem);
    line-height: var(--hero-type-lh, 1.5);
    max-width: var(--hero-type-measure, clamp(45ch, 92vw, 65ch));
    opacity: 0.92;
  }

  .home-page--preview .hero-founder-note {
    width: 100%;
  }

  .home-page--preview .hero-founder-note--prose {
    --founder-note-pad-y: clamp(1.25rem, 4.5vw, 1.625rem);
    --founder-note-pad-x: clamp(1.25rem, 4vw, 1.75rem);
    --founder-note-quote-size: var(--hero-type-base, 1rem);
    --founder-note-quote-lh: var(--hero-type-lh, 1.5);
    --founder-note-quote-gap: 0.75rem;
    width: 100%;
    max-width: min(34rem, 100%);
  }

  .home-page--preview .hero-founder-note--prose .hero-founder-note__quote {
    max-width: none;
  }

  .home-page--preview .hero-founder-note--prose .hero-founder-note__attribution {
    font-size: calc(var(--home-eyebrow) * 1.2);
    letter-spacing: var(--home-eyebrow-ls);
    color: var(--editorial-gold-text);
  }

  /* 2. Uniform h1, h2, h3 sizing */
  .home-page--preview main h1,
  .home-page--preview main .hero-title {
    font-size: clamp(42px, 13vw, 64px);
    line-height: 0.94;
    letter-spacing: -0.045em;
  }

  .home-page--preview main .hero-editorial--founder .hero-title {
    font-size: var(--hero-type-h1, clamp(2rem, 1rem + 5vw, 3.25rem));
    line-height: var(--hero-type-h1-lh, 1.2);
    letter-spacing: -0.035em;
    max-width: min(20ch, 100%);
  }

  .home-page--preview main h2,
  .home-page--preview main .display-title,
  .home-page--preview main .home-section-head h2,
  .home-page--preview main .home-section-head .display-title {
    font-size: clamp(34px, 10vw, 48px);
    line-height: 1;
    letter-spacing: -0.035em;
    margin-bottom: 18px;
  }

  .home-page--preview main h3,
  .home-page--preview main h3.sanctuary-heading,
  .home-page--preview main .inspiration-collection__title,
  .home-page--preview main .home-experience-step h3,
  .home-page--preview main .sanctuary-detail-card h3 {
    font-size: clamp(22px, 6vw, 30px);
    line-height: 1.08;
    letter-spacing: -0.02em;
  }

  .home-page--preview main .eyebrow,
  .home-page--preview main .eyebrow-gold,
  .home-page--preview main .sanctuary-eyebrow,
  .home-page--preview main .sanctuary-intention-eyebrow,
  .home-page--preview main .inspiration-collection__eyebrow,
  .home-page--preview main .home-section-head .eyebrow,
  .home-page--preview main .home-section-head .eyebrow-gold {
    font-size: 11px;
    letter-spacing: 0.22em;
    margin-bottom: 14px;
  }

  .home-page--preview main p,
  .home-page--preview main .prose,
  .home-page--preview main .home-section-head .prose,
  .home-page--preview main .home-section-head > p:not(.eyebrow):not(.eyebrow-gold) {
    font-size: 16px;
    line-height: 1.72;
  }

  /* 3. Section padding */
  .home-page--preview main > section.ssb-page-section,
  .home-page--preview main > section.section-pad,
  .home-page--preview main > .sanctuary-intention-section {
    padding: 74px 22px;
    padding-block: 74px;
  }

  .home-page--preview main > section + section {
    margin-top: 0;
  }

  .home-page--preview .container-sb {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
  }

  .home-page--preview main .home-section-head,
  .home-page--preview .home-experience-process__head.home-section-head,
  .home-page--preview .home-see-inspirations__head.home-section-head {
    margin-bottom: 34px;
  }

  .home-page--preview main .home-section-head .prose,
  .home-page--preview main .home-section-head > p:not(.eyebrow):not(.eyebrow-gold) {
    max-width: 34ch;
  }

  /* 4. Full-width mobile CTA buttons */
  .home-page--preview .home-section-cta {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    margin-top: 28px;
  }

  .home-page--preview .home-section-cta .btn-outline {
    min-height: 52px;
    width: 100%;
    max-width: 340px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 15px 22px;
    font-size: 12px;
    letter-spacing: 0.16em;
    border-radius: 0;
  }

  /* 5. Editorial process cards */
  .home-page--preview .home-experience-process__grid,
  .home-page--preview .sanctuary-detail-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
    border-top: 0;
  }

  .home-page--preview .home-experience-step,
  .home-page--preview .sanctuary-detail-card {
    border-right: 0;
    padding: 26px 22px 28px;
    border: 1px solid rgba(67, 59, 51, 0.13);
    background: rgba(255, 255, 255, 0.42);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
  }

  .home-page--preview .home-experience-step__num,
  .home-page--preview .sanctuary-detail-card span {
    font-family: var(--font-heading);
    font-size: 38px;
    line-height: 1;
    color: #b49d87;
    margin-bottom: 18px;
  }

  .home-page--preview .home-experience-step h3,
  .home-page--preview .sanctuary-detail-card h3 {
    margin-bottom: 10px;
  }

  .home-page--preview .home-experience-step p,
  .home-page--preview .sanctuary-detail-card p {
    font-size: 15.5px;
    line-height: 1.68;
  }
}
/* ── Editorial remodel-styles carousel (used on Inspiration) ── */
.mat-ed-app {
  width: 100%;
  height: 100%;
  display: grid;
  grid-template-rows: 1fr auto;
}

.mat-ed-viewport {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  min-height: 0;
}

.mat-ed-track {
  height: 100%;
  display: flex;
  transition: transform 0.75s cubic-bezier(0.2, 0.8, 0.2, 1);
  will-change: transform;
}

.mat-ed-slide {
  min-width: 100%;
  width: 100%;
  height: 100%;
  padding: clamp(22px, 4vw, 68px);
  background: var(--mat-ed-ivory);
  position: relative;
  overflow: hidden;
  display: grid;
  box-sizing: border-box;
}

.mat-ed-brand {
  position: absolute;
  top: 28px;
  left: clamp(28px, 5vw, 72px);
  right: clamp(28px, 5vw, 72px);
  display: flex;
  justify-content: space-between;
  align-items: center;
  z-index: 4;
  font-size: 12px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: rgba(67, 59, 51, 0.66);
  border-bottom: 1px solid var(--mat-ed-line);
  padding-bottom: 16px;
  font-weight: 700;
  font-family: var(--font-body);
}

.mat-ed-brand--light {
  color: rgba(247, 245, 241, 0.78);
  border-color: rgba(247, 245, 241, 0.2);
}

.mat-ed-num {
  position: absolute;
  left: clamp(28px, 5vw, 72px);
  bottom: 28px;
  z-index: 5;
  font-size: 13px;
  letter-spacing: 0.15em;
  color: rgba(67, 59, 51, 0.72);
  font-family: var(--font-body);
}

.mat-ed-display,
.mat-ed-h2,
.mat-ed-h3,
.mat-ed-serif {
  font-family: var(--font-heading);
  font-weight: 500;
  line-height: 0.95;
  margin: 0;
}

.mat-ed-display {
  font-size: clamp(58px, 10vw, 150px);
  letter-spacing: 0.08em;
}

.mat-ed-h2 {
  font-size: clamp(46px, 7vw, 112px);
  font-weight: 500;
}

.mat-ed-h3 {
  font-size: clamp(34px, 4vw, 68px);
  font-weight: 500;
}

.mat-ed-p,
.mat-ed-slide p {
  font-size: clamp(16px, 1.5vw, 23px);
  line-height: 1.35;
  margin: 0;
  color: var(--mat-ed-deep);
  font-family: var(--font-body);
}

.mat-ed-p {
  margin-top: 28px;
  max-width: 620px;
}

.mat-ed-p--lg {
  font-size: clamp(22px, 2.4vw, 36px);
  line-height: 1.4;
  font-family: var(--font-heading);
}

.mat-ed-eyebrow {
  font-size: 13px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--mat-ed-muted);
  font-family: var(--font-body);
  margin: 0;
}

.mat-ed-italic {
  font-style: italic;
}

.mat-ed-photo {
  background:
    linear-gradient(115deg, rgba(42, 34, 28, 0.18), rgba(255, 255, 255, 0.04)),
    linear-gradient(135deg, #cfc5b8, #8e7d69 45%, #332d28);
  background-size: cover;
  background-position: center;
  position: relative;
  overflow: hidden;
}

.mat-ed-photo--cover {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
}

.mat-ed-photo--cover::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, rgba(20, 17, 15, 0.62), rgba(20, 17, 15, 0.12));
}

.mat-ed-photo--tall {
  height: 70vh;
  max-height: calc(100% - 40px);
  min-height: 240px;
  background-size: cover;
  background-position: center;
}

.mat-ed-photo--gallery {
  height: 62vh;
  max-height: calc(100% - 80px);
  background-size: cover;
  background-position: center;
}

.mat-ed-photo--grid {
  height: 62vh;
  max-height: calc(100% - 60px);
  background-size: cover;
  background-position: center;
}

/* Layouts */
.mat-ed-slide--hero {
  grid-template-columns: 1fr;
  align-items: end;
  color: #fff;
}

.mat-ed-slide--hero .mat-ed-copy {
  position: relative;
  z-index: 2;
  max-width: 850px;
  margin-bottom: 7vh;
}

.mat-ed-slide--hero .mat-ed-display {
  color: #fff;
  text-shadow: 0 8px 40px rgba(0, 0, 0, 0.4);
}

.mat-ed-hero-sub {
  font-size: clamp(26px, 3vw, 46px);
  color: #fff;
  margin-top: 20px;
}

.mat-ed-slide--hero .mat-ed-num,
.mat-ed-slide--hero .mat-ed-brand {
  color: rgba(247, 245, 241, 0.78);
  border-color: rgba(247, 245, 241, 0.2);
}

.mat-ed-slide--quote {
  place-items: center;
  grid-template-columns: 1fr auto 1fr;
  gap: 56px;
}

.mat-ed-rule {
  width: 1px;
  background: var(--mat-ed-line);
  min-height: 180px;
}

.mat-ed-rule--light {
  background: rgba(247, 245, 241, 0.28);
}

.mat-ed-text {
  max-width: 560px;
}

.mat-ed-quote-lg {
  font-size: clamp(31px, 4vw, 64px);
  line-height: 1.15;
  color: var(--mat-ed-ink);
  font-family: var(--font-heading);
}

.mat-ed-slide--split {
  grid-template-columns: 1fr 1fr;
  gap: 6vw;
  align-items: center;
}

.mat-ed-body {
  min-width: 0;
}

.mat-ed-slide--dark {
  background: #1d1a17;
  color: var(--mat-ed-ivory);
}

.mat-ed-slide--dark .mat-ed-num,
.mat-ed-slide--dark .mat-ed-p,
.mat-ed-slide--dark .mat-ed-eyebrow,
.mat-ed-slide--dark .mat-ed-h2,
.mat-ed-slide--dark p {
  color: rgba(247, 245, 241, 0.88);
}

.mat-ed-dark-copy {
  align-self: center;
  max-width: 760px;
  margin-left: 6vw;
}

.mat-ed-slide--gallery {
  grid-template-columns: 1.3fr 0.8fr 0.8fr;
  gap: 18px;
  align-items: center;
}

.mat-ed-slide--texture {
  grid-template-columns: 0.55fr 1fr;
  gap: 30px;
  align-items: center;
}

.mat-ed-texture-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 18px;
  font-size: 15px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-family: var(--font-body);
  color: var(--mat-ed-deep);
  font-weight: 600;
}

.mat-ed-slide--texture .mat-ed-photo--tall {
  height: 72vh;
}

.mat-ed-slide--grid3 {
  grid-template-columns: 1fr 1fr 1fr;
  gap: 18px;
  align-content: center;
  align-items: center;
}

.mat-ed-grid-label {
  position: absolute;
  top: 110px;
  left: clamp(28px, 5vw, 72px);
  z-index: 3;
}

.mat-ed-panels {
  align-self: center;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 18px;
  width: 100%;
  padding: 0 clamp(28px, 5vw, 72px);
}

.mat-ed-panel {
  border: 1px solid rgba(247, 245, 241, 0.2);
  padding: 28px;
  background: rgba(255, 255, 255, 0.06);
}

.mat-ed-panel p {
  margin-top: 12px;
  color: rgba(247, 245, 241, 0.78);
}

.mat-ed-panel small {
  display: block;
  margin-top: 6px;
  font-size: 13px;
  letter-spacing: 0.06em;
  opacity: 0.75;
}

.mat-ed-chips {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.5rem;
  margin-top: 1.75rem;
  max-width: 14rem;
}

.mat-ed-chips .mat-chip {
  min-height: 2.75rem;
  border: 1px solid var(--mat-ed-line);
  display: block;
}

.mat-ed-slide--cta .mat-ed-cta-mark {
  justify-self: center;
  align-self: center;
  text-align: center;
}

.mat-ed-mark-sub {
  letter-spacing: 0.22em;
  text-transform: uppercase;
  font-size: 13px;
  margin-top: 8px;
}

.mat-ed-swatch-stack {
  margin: 34px auto 0;
  width: 130px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
}

.mat-ed-swatch-stack .mat-chip {
  min-height: 36px;
  border: 1px solid var(--mat-ed-line);
  display: block;
}

.mat-ed-cta-btn {
  margin-top: 38px;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  border: 1px solid var(--mat-ed-deep);
  background: var(--mat-ed-deep);
  color: var(--mat-ed-ivory);
  padding: 14px 22px;
  border-radius: 999px;
  font-size: 13px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  cursor: pointer;
  font-family: var(--font-body);
  font-weight: 600;
  transition: background 0.2s ease, color 0.2s ease;
}

.mat-ed-cta-btn:hover {
  background: transparent;
  color: var(--mat-ed-deep);
}

/* Controls bar */
.mat-ed-controls {
  background: #151311;
  color: var(--mat-ed-ivory);
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 14px;
  padding: 14px 18px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  z-index: 6;
}

.mat-ed-btn {
  border: 1px solid rgba(247, 245, 241, 0.24);
  background: transparent;
  color: var(--mat-ed-ivory);
  padding: 10px 16px;
  border-radius: 999px;
  font-size: 13px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  cursor: pointer;
  font-family: var(--font-body);
  transition: background 0.2s ease;
}

.mat-ed-btn:hover {
  background: rgba(255, 255, 255, 0.08);
}

.mat-ed-counter {
  min-width: 70px;
  text-align: center;
  color: rgba(247, 245, 241, 0.7);
  letter-spacing: 0.14em;
  font-family: var(--font-body);
  font-size: 13px;
}

@media (max-width: 800px) {
  .mat-ed--inline {
    height: min(78svh, 720px);
    min-height: 480px;
  }

  .mat-ed-slide {
    padding: 74px 26px 56px;
  }

  .mat-ed-brand {
    left: 26px;
    right: 26px;
    top: 20px;
  }

  .mat-ed-slide--split,
  .mat-ed-slide--quote,
  .mat-ed-slide--gallery,
  .mat-ed-slide--texture {
    grid-template-columns: 1fr;
    gap: 22px;
    align-content: center;
  }

  .mat-ed-slide--grid3,
  .mat-ed-panels {
    grid-template-columns: 1fr;
  }

  .mat-ed-slide .mat-ed-photo--tall,
  .mat-ed-slide .mat-ed-photo--gallery,
  .mat-ed-slide .mat-ed-photo--grid {
    height: 36vh;
    max-height: 36vh;
  }

  .mat-ed-display {
    font-size: 54px;
  }

  .mat-ed-h2 {
    font-size: clamp(32px, 10vw, 48px);
  }

  .mat-ed-rule {
    display: none;
  }

  .mat-ed-slide--quote {
    grid-template-columns: 1fr;
  }

  .mat-ed-dark-copy {
    margin-left: 0;
  }

  .mat-ed-grid-label {
    top: 88px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mat-ed-track {
    transition: none;
  }
}


.inspiration-palette-section {
  padding: clamp(3rem, 7vw, 5rem) var(--ssb-gutter);
  background: var(--paper);
  border-top: 1px solid var(--border-soft);
}

.inspiration-palette-section .sanctuary-palette-preview--seven .sanctuary-palette-preview__item {
  padding: 0.55rem;
  gap: 0.5rem;
  min-width: 0;
}

.inspiration-palette-section .sanctuary-palette-preview--seven .sanctuary-palette-preview__chip {
  height: 8px;
}

.inspiration-palette-section .sanctuary-palette-preview--seven .sanctuary-palette-preview__name {
  font-size: 0.58rem;
  letter-spacing: 0.1em;
  line-height: 1.3;
  text-align: center;
  text-wrap: balance;
}

.inspiration-palette-section .reveal-up {
  opacity: 0;
  transform: translateY(34px);
}

.inspiration-palette-section .reveal-up.is-visible {
  animation: sanctuary-reveal-up 900ms var(--lux-ease) forwards;
}

.inspiration-palette-section .sanctuary-palette-preview__item.reveal-up.is-visible:nth-child(1) {
  animation-delay: 0ms;
}

.inspiration-palette-section .sanctuary-palette-preview__item.reveal-up.is-visible:nth-child(2) {
  animation-delay: 80ms;
}

.inspiration-palette-section .sanctuary-palette-preview__item.reveal-up.is-visible:nth-child(3) {
  animation-delay: 160ms;
}

.inspiration-palette-section .sanctuary-palette-preview__item.reveal-up.is-visible:nth-child(4) {
  animation-delay: 240ms;
}

.inspiration-palette-section .sanctuary-palette-preview__item.reveal-up.is-visible:nth-child(5) {
  animation-delay: 320ms;
}

.inspiration-palette-section .sanctuary-palette-preview__item.reveal-up.is-visible:nth-child(6) {
  animation-delay: 400ms;
}

.inspiration-palette-section .sanctuary-palette-preview__item.reveal-up.is-visible:nth-child(7) {
  animation-delay: 480ms;
}

.inspiration-palette-section .home-section-cta.reveal-up.is-visible {
  animation-delay: 560ms;
}

/* Inspiration remodel-styles editorial carousel (inline section) */
.inspiration-styles-section {
  --mat-ed-ivory: #F7F5F1;
  --mat-ed-stone: #E6E2DD;
  --mat-ed-taupe: #C1B5AA;
  --mat-ed-brass: #B49D87;
  --mat-ed-deep: #433B33;
  --mat-ed-ink: #2F2C29;
  --mat-ed-muted: #837A70;
  --mat-ed-line: rgba(67, 59, 51, 0.18);
  --mat-ed-dark: #151311;
  background: var(--mat-ed-dark);
  color: var(--mat-ed-ink);
  padding: 0 0 0;
  margin: 0;
}

.inspiration-styles-intro {
  background: var(--paper, #f7f5f0);
  padding: clamp(3rem, 7vw, 5rem) var(--ssb-gutter, 1.5rem) clamp(2rem, 4vw, 3rem);
  text-align: center;
}

.inspiration-styles-title {
  font-family: var(--font-heading);
  font-weight: 400;
  font-size: clamp(2rem, 4.5vw, 3.5rem);
  line-height: 1.05;
  margin: 0.75rem auto 1rem;
  max-width: 18ch;
  color: var(--ink);
}

.inspiration-styles-lead {
  margin: 0 auto;
  max-width: 38rem;
  font-size: 1.05rem;
  line-height: 1.7;
  color: #59544d;
}

.mat-ed {
  --mat-ed-ivory: #F7F5F1;
  --mat-ed-stone: #E6E2DD;
  --mat-ed-taupe: #C1B5AA;
  --mat-ed-brass: #B49D87;
  --mat-ed-deep: #433B33;
  --mat-ed-ink: #2F2C29;
  --mat-ed-muted: #837A70;
  --mat-ed-line: rgba(67, 59, 51, 0.18);
  --mat-ed-dark: #151311;
  margin: 0;
  padding: 0;
  background: var(--mat-ed-dark);
  color: var(--mat-ed-ink);
}

.mat-ed--inline {
  height: min(88svh, 920px);
  max-height: 920px;
  min-height: 520px;
  overflow: hidden;
}

.mat-ed .mat-chip-ivory { background: #f7f3ea; }
.mat-ed .mat-chip-stone { background: #c9b89d; }
.mat-ed .mat-chip-taupe { background: #b7a99a; }
.mat-ed .mat-chip-brass {
  background: linear-gradient(90deg, #8e6a32, #B49D87, #d0ac61, #967139);
}
.mat-ed .mat-chip-arch-taupe { background: #8a6f55; }
.mat-ed .mat-chip-espresso { background: #2f2f2f; }
.mat-ed .mat-chip-layered {
  background: linear-gradient(90deg, #f7f3ea, #d8cdbd, #c9b89d, #B49D87, #8a6f55, #433B33);
}
.mat-ed-palette-label {
  margin: 1.5rem 0 0.5rem;
  font-size: 12px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--mat-ed-muted);
}

.mat-ed-palette-names {
  margin: 0.65rem 0 0 !important;
  font-size: 13px !important;
  letter-spacing: 0.06em;
  color: var(--mat-ed-muted) !important;
}

.mat-ed-link {
  display: inline-block;
  margin-top: 1.25rem;
  font-size: 13px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 600;
  color: var(--mat-ed-deep);
  text-decoration: none;
  border-bottom: 1px solid rgba(67, 59, 51, 0.25);
  padding-bottom: 2px;
}

.mat-ed-link:hover {
  border-bottom-color: var(--mat-ed-deep);
}

.mat-ed-cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
  align-items: center;
}

.mat-ed-cta-btn--outline,
a.mat-ed-cta-btn {
  text-decoration: none;
}

a.mat-ed-cta-btn--outline,
.mat-ed-cta-btn--outline {
  background: transparent !important;
  color: var(--mat-ed-deep) !important;
  border-color: var(--mat-ed-deep) !important;
}

a.mat-ed-cta-btn--outline:hover,
.mat-ed-cta-btn--outline:hover {
  background: var(--mat-ed-deep) !important;
  color: var(--mat-ed-ivory) !important;
}
/* -- Homepage July 8 review fixes -- */
.hero-founder-layout {
  gap: clamp(28px, 4vw, 56px);
  padding-top: clamp(28px, 5vw, 56px);
  padding-bottom: clamp(28px, 5vw, 56px);
  align-items: end;
}

.hero-founder-copy {
  padding-inline: 0;
}

.hero-kicker {
  margin-bottom: 12px;
}

.hero-founder-note:not(.hero-founder-note--prose) {
  width: min(100%, 340px);
  padding: 32px 28px 26px;
}

.hero-founder-note:not(.hero-founder-note--prose) .hero-founder-note__quote {
  font-size: 1.3rem;
  margin-bottom: 18px;
}

/* Philosophy � Cam founder photo */
.sanctuary-philosophy-image--founder {
  position: relative;
}

.sanctuary-philosophy-image--founder img {
  object-fit: cover;
  object-position: center top;
}

.sanctuary-philosophy-founder-caption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0;
  padding: 1.25rem 1.35rem;
  background: linear-gradient(180deg, transparent, rgba(26, 24, 22, 0.72));
  color: #f7f5f0;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.sanctuary-philosophy-founder-name {
  font-family: var(--font-heading);
  font-size: 1.5rem;
  letter-spacing: 0.02em;
}

.sanctuary-philosophy-founder-role {
  font-size: 0.68rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  font-weight: 600;
  opacity: 0.85;
}

/* Principles � 4 cards in one row, stacked section */
.sanctuary-intention-inner--stacked {
  grid-template-columns: 1fr !important;
  gap: clamp(2rem, 4vw, 3rem) !important;
}

.sanctuary-intention-section--july8 .sanctuary-intention-copy {
  max-width: 40rem;
}

.sanctuary-detail-grid--row4 {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

.sanctuary-detail-grid--row4 .sanctuary-detail-card {
  min-height: 0;
  padding: clamp(20px, 2.2vw, 28px);
}

.sanctuary-detail-grid--row4 .sanctuary-detail-card span {
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  margin-bottom: 0.85rem;
}

.sanctuary-detail-grid--row4 .sanctuary-detail-card h3 {
  font-size: clamp(1.15rem, 1.6vw, 1.45rem);
  line-height: 1.15;
  margin-bottom: 0.65rem;
}

.sanctuary-detail-grid--row4 .sanctuary-detail-card p {
  font-size: 0.9rem;
  line-height: 1.55;
}

.sanctuary-palette-preview--row {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  max-width: none;
  gap: 14px;
}

.sanctuary-palette-preview--seven {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 10px;
  max-width: none;
}

/* Inspiration — single row of 3 (centered type; overrides home left-align) */
.home-inspiration-grid--row3 {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: clamp(1rem, 2vw, 1.5rem);
  align-items: stretch !important;
}

@media (max-width: 1100px) {
  .home-inspiration-grid--row3 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Uniform card shell matching Style 01 */
.home-inspiration-grid--row3 .inspiration-collection {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  min-height: 100% !important;
}

.home-inspiration-grid--row3 .inspiration-collection__media,
.home-inspiration-grid--row3 .inspiration-collection__media-link {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  line-height: 0 !important;
  flex: 0 0 auto !important;
}

.home-inspiration-grid--row3 .inspiration-collection__media img,
.home-inspiration-grid--row3 .inspiration-collection__media-link img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 4 / 3 !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
  vertical-align: top !important;
}

.home-inspiration-grid--row3 .inspiration-collection__copy {
  padding: 1.4rem 1.15rem 1.55rem !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  flex: 1 1 auto !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.home-page--preview main .home-inspiration-grid--row3 .inspiration-collection__copy,
.home-page--preview main .home-inspiration-grid--row3 .inspiration-collection__copy .eyebrow,
.home-page--preview main .home-inspiration-grid--row3 .inspiration-collection__eyebrow,
.home-page--preview main .home-inspiration-grid--row3 h3,
.home-page--preview main .home-inspiration-grid--row3 .inspiration-collection__title,
.home-page--preview main .home-inspiration-grid--row3 p,
.home-page--preview main .home-inspiration-grid--row3 .inspiration-collection__body {
  text-align: center !important;
  margin-inline: auto !important;
}

.home-page--preview main .home-inspiration-grid--row3 .inspiration-collection__copy .eyebrow,
.home-page--preview main .home-inspiration-grid--row3 .inspiration-collection__eyebrow {
  margin: 0 0 0.7rem !important;
  width: 100% !important;
  max-width: none !important;
  font-family: var(--font-body) !important;
  font-size: 0.6875rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  line-height: 1.35 !important;
  color: var(--editorial-gold, #c5a46e) !important;
}

.home-page--preview main .home-inspiration-grid--row3 h3,
.home-page--preview main .home-inspiration-grid--row3 .inspiration-collection__title {
  width: 100% !important;
  max-width: 14em !important;
  margin: 0 auto 0.85rem !important;
  font-family: var(--font-heading) !important;
  font-size: clamp(1.4rem, 2vw, 1.7rem) !important;
  font-weight: 500 !important;
  line-height: 1.18 !important;
  letter-spacing: -0.02em !important;
  color: var(--editorial-ink, #433b33) !important;
}

.home-page--preview main .home-inspiration-grid--row3 p.inspiration-collection__body,
.home-page--preview main .home-inspiration-grid--row3 .inspiration-collection__body,
.home-inspiration-grid--row3 .inspiration-collection__body {
  width: 100% !important;
  max-width: 28ch !important;
  min-height: 4.6em !important;
  margin: 0 auto 0.55rem !important;
  font-family: var(--font-body) !important;
  font-size: 0.9375rem !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  color: #59544d !important;
  display: block !important;
  text-align: center !important;
  -webkit-line-clamp: unset !important;
  overflow: visible !important;
}

.home-page--preview main .home-inspiration-grid--row3 .inspiration-collection__palette,
.home-inspiration-grid--row3 .inspiration-collection__palette {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 1.4em !important;
  margin: 0 auto 1.1rem !important;
  font-family: var(--font-body) !important;
  font-size: 0.6875rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.14em !important;
  line-height: 1.4 !important;
  text-transform: uppercase !important;
  text-align: center !important;
  color: #59544d !important;
}

.home-inspiration-grid--row3 .inspiration-collection__note {
  display: none !important;
}

.home-inspiration-grid--row3 .inspiration-collection__materials-btn,
.home-page--preview .home-inspiration-grid--row3 .inspiration-collection__materials-btn {
  align-self: center !important;
  margin-top: auto !important;
  margin-inline: auto !important;
}

/* Time for a change — centered stack, title one line */
.site-footer-cta-band__title,
.home-page--preview .site-footer-cta-band__title {
  max-width: none !important;
  width: auto !important;
  margin-inline: auto !important;
  margin-bottom: 0.85rem !important;
  text-align: center !important;
  white-space: nowrap !important;
  text-wrap: nowrap !important;
  font-size: clamp(1.75rem, 3.8vw, 2.65rem) !important;
  line-height: 1.15 !important;
  letter-spacing: -0.02em !important;
}

.site-footer-cta-band__sub,
.home-page--preview .site-footer-cta-band__sub {
  margin: 0 auto 1.85rem !important;
  text-align: center !important;
  max-width: 28rem;
}

.site-footer-cta-band__actions {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  gap: 0.65rem 1rem;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin-inline: auto;
}

.site-footer-cta-band .sanctuary-submit-btn,
.site-footer-cta-band .sanctuary-submit-btn.dark-btn {
  margin: 0;
  width: auto;
  min-width: 0;
  justify-content: center;
  border: 1px solid var(--sanctuary-charcoal, #433b33);
}

@media (max-width: 480px) {
  .site-footer-cta-band {
    padding-block: clamp(3.5rem, 12vw, 5rem);
  }

  .site-footer-cta-band__title,
  .home-page--preview .site-footer-cta-band__title {
    /* Keep one line: scale down rather than wrap */
    white-space: nowrap !important;
    font-size: clamp(1.35rem, 6.8vw, 1.85rem) !important;
  }

  .site-footer-cta-band__actions {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.5rem 0.75rem;
  }

  .site-footer-cta-band__sub {
    margin-bottom: 1.5rem !important;
  }
}

/* Header phone */
.btn-phone--header {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.55rem 0.95rem;
  border-radius: 999px;
  border: 1px solid rgba(67, 59, 51, 0.18);
  color: var(--ink, #433b33);
  text-decoration: none;
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  background: transparent;
  transition: background 0.2s ease, border-color 0.2s ease;
}

.btn-phone--header:hover {
  background: rgba(67, 59, 51, 0.06);
  border-color: rgba(67, 59, 51, 0.35);
}

.btn-phone__icon {
  display: inline-flex;
  line-height: 0;
}

/* Floating phone FAB */
.site-phone-fab {
  position: fixed;
  right: max(16px, env(safe-area-inset-right));
  bottom: max(18px, env(safe-area-inset-bottom));
  z-index: 60;
  width: 54px;
  height: 54px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #433b33;
  color: #f7f5f0;
  box-shadow: 0 12px 28px rgba(26, 24, 22, 0.28);
  text-decoration: none;
  transition: transform 0.2s ease, background 0.2s ease;
}

.site-phone-fab:hover {
  transform: translateY(-2px);
  background: #2f2a25;
}

@media (max-width: 1100px) {
  .sanctuary-detail-grid--row4 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .sanctuary-palette-preview--row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .inspiration-palette-section .container-sb--wide {
    width: min(100% - 2rem, 100%);
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
  }

  .sanctuary-palette-preview--seven {
    grid-template-columns: repeat(7, minmax(118px, 1fr));
    min-width: 826px;
    gap: 8px;
  }
}

@media (min-width: 601px) and (max-width: 1100px) {
  .home-inspiration-grid--row3 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 600px) {
  .home-inspiration-grid--row3 {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 900px) {
  .btn-phone__label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
  }
  .btn-phone--header {
    padding: 0.55rem 0.7rem;
  }
}

@media (max-width: 640px) {
  .sanctuary-detail-grid--row4 {
    grid-template-columns: 1fr !important;
  }
  .hero-editorial--founder .hero-title {
    font-size: var(--hero-type-h1, clamp(2rem, 1rem + 5vw, 3rem));
    line-height: var(--hero-type-h1-lh, 1.2);
  }
}

/* Experience process steps � full center stack (all 5 cards) */
.home-page--preview main .home-experience-process__grid .home-experience-step,
.home-experience-process__grid .home-experience-step {
  text-align: center !important;
  align-items: center !important;
}

.home-page--preview main .home-experience-process__grid .home-experience-step__num,
.home-page--preview main .home-experience-process__grid .home-experience-step h3,
.home-page--preview main .home-experience-process__grid .home-experience-step p {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Experience process � head/cta spacing + mobile pad */
.home-page--preview .home-experience-process__head {
  margin-bottom: clamp(2.75rem, 5vw, 3.75rem);
}

.home-page--preview .home-experience-process .home-section-cta {
  margin-top: clamp(2.25rem, 4vw, 3rem);
}

@media (max-width: 720px) {
  .home-page--preview .home-experience-step {
    min-height: 0;
    padding: 2rem 1.35rem 2.15rem !important;
  }

  .home-page--preview .home-experience-step__num {
    margin-bottom: 0.9rem !important;
  }

  .home-page--preview main .home-experience-step h3 {
    margin-bottom: 0.85rem !important;
  }
}

/* Rectangular CTA buttons site-wide — See More stays pill */
.btn-nav-toggle__circle,
.site-chrome .btn-nav-toggle__circle,
.home-page--preview .btn-nav-toggle__circle,
.site-chrome .sanctuary-submit-btn,
.site-chrome .sanctuary-submit-btn.dark-btn,
.site-chrome .site-footer-cta-band .sanctuary-submit-btn,
.home-page--preview .sanctuary-submit-btn,
.home-page--preview .sanctuary-submit-btn.dark-btn,
.home-page--preview .site-footer-cta-band .sanctuary-submit-btn,
.site-chrome .btn-inquire,
.site-chrome .btn-primary,
.site-chrome .btn-secondary,
.site-chrome .btn-ghost,
.site-chrome .btn-outline:not(.inspiration-collection__materials-btn),
.site-chrome .exp-btn,
.site-chrome .mat-closing-btn,
.site-chrome .mat-ed-btn,
.site-chrome .home-cta__btn,
.site-chrome .home-btn-inquire,
.site-chrome .inquire-confirmation .btn-secondary,
.site-chrome .lightbox-dismiss--pill,
.site-chrome .btn-phone--header,
.home-page--preview .btn-inquire,
.home-page--preview .btn-primary,
.home-page--preview .btn-secondary,
.home-page--preview .btn-ghost,
.home-page--preview .btn-outline:not(.inspiration-collection__materials-btn),
.home-page--preview .exp-btn,
.home-page--preview .inquire-confirmation .btn-secondary,
.btn-inquire--founder,
.btn-inquire--contact,
.btn-inquire--wide,
.section-contact-editorial .btn-inquire,
.contact-box__form .btn-inquire--wide,
.process-page .mat-closing .btn-inquire,
.materials-page .mat-closing-btn {
  border-radius: 0 !important;
}

.inspiration-collection__materials-btn,
.home-page--preview .inspiration-collection__materials-btn,
.site-chrome .inspiration-collection__materials-btn {
  border-radius: 999px !important;
}

/* ── Cross-device responsive (iOS, Android, tablet, desktop) ── */
@supports (padding: max(0px)) {
  body.site-chrome,
  body.home-page--preview {
    padding-left: max(0px, env(safe-area-inset-left));
    padding-right: max(0px, env(safe-area-inset-right));
  }
}

.site-chrome img,
.site-chrome video,
.home-page--preview img,
.home-page--preview video {
  max-width: 100%;
  height: auto;
}

.site-chrome a,
.site-chrome button,
.home-page--preview a,
.home-page--preview button {
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}

@media (max-width: 1024px) {
  .site-chrome .inquire-drawer,
  .home-page--preview .inquire-drawer {
    width: min(540px, 100vw);
    max-width: 100vw;
  }

  .site-chrome .nav-drawer,
  .home-page--preview .nav-drawer {
    max-width: 100vw;
  }

  .inquire-drawer__head,
  .inquire-drawer__scroll {
    padding-left: max(var(--panel-pad-x), env(safe-area-inset-left));
    padding-right: max(var(--panel-pad-x), env(safe-area-inset-right));
  }
}

@media (max-width: 768px) {
  :root {
    --ssb-gutter: clamp(16px, 4.5vw, 24px);
    --panel-pad-x: clamp(18px, 5vw, 28px);
    --panel-pad-y: clamp(28px, 6vw, 42px);
    --panel-pad-bottom: clamp(24px, 5vw, 34px);
  }

  .scroll-mt {
    scroll-margin-top: calc(76px + env(safe-area-inset-top, 0px));
  }

  .site-chrome .container-sb,
  .home-page--preview .container-sb {
    width: 100%;
    max-width: 100%;
  }

  .site-footer-cta-band {
    padding-inline: max(1.25rem, env(safe-area-inset-left)) max(1.25rem, env(safe-area-inset-right));
  }

  .site-footer-cta-band__title,
  .home-page--preview .site-footer-cta-band__title {
    white-space: normal !important;
    text-wrap: balance !important;
    font-size: clamp(1.35rem, 6.5vw, 1.85rem) !important;
  }

  .site-footer-cta-band__actions {
    width: 100%;
    padding-inline: 0.25rem;
  }

  .site-footer-cta-band .sanctuary-submit-btn,
  .site-footer-cta-band .sanctuary-submit-btn.dark-btn {
    width: 100%;
    max-width: 22rem;
    min-height: 48px;
  }

  .site-chrome .btn-nav-toggle,
  .site-chrome .btn-inquire--founder,
  .site-chrome .sanctuary-submit-btn,
  .site-chrome .btn-outline:not(.inspiration-collection__materials-btn),
  .site-chrome .site-nav-panel--drawer .site-nav-panel__link,
  .home-page--preview .btn-nav-toggle,
  .home-page--preview .btn-inquire--founder,
  .home-page--preview .sanctuary-submit-btn,
  .home-page--preview .btn-outline:not(.inspiration-collection__materials-btn) {
    min-height: 44px;
  }

  .site-chrome .btn-nav-toggle__circle,
  .site-header--founder .btn-nav-toggle__circle {
    min-width: 44px;
    min-height: 44px;
  }

  .inquire-drawer__close,
  .nav-drawer__close {
    min-width: 44px;
    min-height: 44px;
  }

  .site-phone-fab {
    bottom: max(18px, env(safe-area-inset-bottom));
    right: max(16px, env(safe-area-inset-right));
  }

  .site-chrome main,
  .home-page--preview main {
    overflow-x: clip;
  }
}

@media (max-width: 480px) {
  .hero-founder-note--prose,
  .home-page--preview .hero-founder-note--prose {
    --founder-note-pad-y: 1.2rem;
    --founder-note-pad-x: 1.05rem;
    --founder-note-quote-size: var(--hero-type-base, 1rem);
    --founder-note-quote-lh: var(--hero-type-lh, 1.5);
    --founder-note-quote-gap: 0.75rem;
  }
}

@media (max-width: 380px) {
  .site-header--founder .site-header-inner {
    width: calc(100% - 20px);
  }

  .btn-inquire--founder {
    padding-inline: 0.65rem;
    font-size: var(--header-inquire-size, 0.7rem);
    letter-spacing: 0.06em;
    font-weight: 400;
  }
}

@media (min-width: 769px) and (max-width: 1100px) {
  .hero-founder-note--prose,
  .home-page--preview .hero-founder-note--prose {
    width: min(100%, 34rem);
    max-width: min(100%, 34rem);
    --founder-note-quote-size: var(--hero-type-base, 1rem);
  }
}

/* Homepage founder note: roomy card for body copy */
.home-page--preview .hero-founder-note--prose {
  width: min(100%, 34rem);
  max-width: min(100%, 34rem);
  background: #f7f5f1;
  border-color: rgba(67, 59, 51, 0.1);
}

.home-page--preview .hero-founder-note--prose .hero-founder-note__quote {
  max-width: none;
  width: 100%;
}

.hero-founder-layout--solo {
  grid-template-columns: 1fr;
  max-width: 820px;
}



/* ── Homepage Portfolio: private client + side-by-side before/after ── */
/* Matched to philosophy section footprint (max-width + column share) */
.investment-editorial--featured {
  position: relative;
  overflow: hidden;
  padding: clamp(5rem, 8vw, 7rem) 0; /* same vertical rhythm as philosophy */
}

.investment-editorial--featured::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 55% 70% at 78% 48%, rgba(201, 168, 108, 0.12), transparent 62%),
    radial-gradient(circle at 12% 88%, rgba(247, 245, 241, 0.04), transparent 40%);
  pointer-events: none;
}

.investment-featured {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(2.5rem, 5vw, 4rem); /* match philosophy editorial gap */
  align-items: stretch;
  width: 100%;
  max-width: 1320px; /* same as .sanctuary-philosophy-section--editorial .sanctuary-philosophy-wrap */
  margin-inline: auto;
}

.investment-featured__copy {
  max-width: none;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.investment-featured__copy .home-section-head {
  margin-bottom: 1.15rem;
}

.investment-featured__copy .prose {
  margin: 0;
  max-width: 36ch;
}

.investment-featured__media {
  margin: 0;
  position: relative;
  justify-self: stretch;
  align-self: stretch;
  width: 100%;
  min-height: 0;
  height: 100%;
}

/* Legacy single frame (kept for other uses) */
.investment-featured__frame {
  position: relative;
  margin: 0;
  aspect-ratio: 3 / 4;
  overflow: hidden;
  background: #121212;
  box-shadow:
    0 40px 80px -36px rgba(0, 0, 0, 0.72),
    0 0 0 1px rgba(247, 245, 241, 0.08);
}

.investment-featured__frame picture,
.investment-featured__frame img {
  display: block;
  width: 100%;
  height: 100%;
}

.investment-featured__frame img {
  object-fit: cover;
  object-position: center 40%;
}

/* ── Clean side-by-side before/after (flush, full section height) ── */
.ba-pair-clean {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  border: 0;
  display: flex;
  flex-direction: column;
  min-height: clamp(300px, 58vw, 520px);
}

.ba-pair-clean__open {
  display: flex;
  flex: 1 1 auto;
  width: 100%;
  min-height: 0;
  height: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  font: inherit;
  color: inherit;
  text-align: left;
}

.ba-pair-clean__open:focus-visible {
  outline: 2px solid rgba(201, 168, 108, 0.85);
  outline-offset: 3px;
}

.ba-pair-clean__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
  flex: 1 1 auto;
  border: 0;
  overflow: hidden;
  /* Match philosophy image aspect (~16:9 / 1792×1008) for same visual weight */
  aspect-ratio: 1792 / 1008;
  align-items: stretch;
}

.ba-pair-clean__cell {
  position: relative;
  margin: 0;
  padding: 0;
  border: 0;
  min-width: 0;
  min-height: 0;
  height: 100%;
  overflow: hidden;
  background: transparent;
  width: 100%;
}

.ba-pair-clean__cell picture,
.ba-pair-clean__cell img {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  border: 0;
}

.ba-pair-clean__cell picture {
  position: absolute;
  inset: 0;
}

.ba-pair-clean__cell img {
  position: absolute;
  inset: 0;
  /* Fill the philosophy-sized frame; full scene visible as much as ratio allows */
  object-fit: cover;
  object-position: center center;
  transition: transform 1.1s cubic-bezier(0.22, 1, 0.36, 1);
}

.ba-pair-clean__open:hover .ba-pair-clean__cell img {
  transform: scale(1.02);
}

.ba-pair-clean__caption {
  flex: 0 0 auto;
  margin: 0.55rem 0 0;
  padding: 0;
  border: 0;
  text-align: center;
  font-family: var(--font-body);
  font-size: 0.66rem;
  letter-spacing: 0.06em;
  font-style: italic;
  color: rgba(247, 245, 241, 0.55);
  line-height: 1.5;
}

/* legacy ba-wide kept for lightbox styles only — media uses ba-pair-clean */
.ba-wide-wrap {
  margin: 0;
  width: 100%;
  max-width: none;
}

.ba-wide {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  margin: 0;
  overflow: hidden;
  border-radius: 14px;
  background: transparent;
  border: 1px solid rgba(247, 245, 241, 0.14);
  box-shadow: 0 24px 48px -28px rgba(0, 0, 0, 0.45);
  opacity: 0;
  transform: translateY(18px);
  cursor: pointer;
  font: inherit;
  color: inherit;
  text-align: left;
  transition:
    opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.9s cubic-bezier(0.22, 1, 0.36, 1),
    border-color 0.35s ease,
    box-shadow 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.ba-wide--openable:focus-visible {
  outline: 2px solid rgba(201, 168, 108, 0.85);
  outline-offset: 3px;
}

.ba-wide--composite {
  /* Native ratio of test2 composite (~1800×1202) */
  aspect-ratio: 1800 / 1202;
}

.investment-featured.reveal-up.is-visible .ba-wide {
  opacity: 1;
  transform: translateY(0);
}

.ba-wide:hover {
  border-color: rgba(201, 168, 108, 0.4);
  box-shadow: 0 28px 52px -26px rgba(0, 0, 0, 0.5);
}

.ba-wide__photo,
.ba-wide__photo img {
  display: block;
  width: 100%;
  height: 100%;
}

.ba-wide__photo {
  position: absolute;
  inset: 0;
}

.ba-wide__photo img {
  object-fit: cover;
  object-position: center center;
  transform: scale(1.01);
  transition: transform 1.15s cubic-bezier(0.22, 1, 0.36, 1);
}

.ba-wide:hover .ba-wide__photo img {
  transform: scale(1.03);
}

/* BEFORE / AFTER — same as Inquire button (white / charcoal) */
.ba-wide__tag {
  position: absolute;
  top: 1rem;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: auto;
  padding: 0.5rem 0.875rem;
  font-family: var(--font-body);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.09375rem;
  text-transform: uppercase;
  color: var(--charcoal, #2f2f2f);
  background: #ffffff;
  border: 1px solid var(--charcoal, #2f2f2f);
  border-radius: 0;
  box-shadow: none;
  pointer-events: none;
  opacity: 0;
  transform: translateY(6px);
  transition:
    opacity 0.5s cubic-bezier(0.22, 1, 0.36, 1) 0.18s,
    transform 0.5s cubic-bezier(0.22, 1, 0.36, 1) 0.18s,
    background 0.35s ease,
    border-color 0.35s ease,
    color 0.35s ease;
}

.ba-wide__tag--before {
  left: 1rem;
}

.ba-wide__tag--after {
  left: calc(50% + 1rem);
  transition-delay: 0.28s;
}

.investment-featured.reveal-up.is-visible .ba-wide__tag {
  opacity: 1;
  transform: translateY(0);
}

.ba-wide:hover .ba-wide__tag {
  background: var(--charcoal, #2f2f2f);
  border-color: var(--charcoal, #2f2f2f);
  color: #ffffff;
}

/* Center arrow — Inquire colors + micro hover */
.ba-wide__handle {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 4;
  width: 2.65rem;
  height: 2.65rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  border-radius: 999px;
  color: var(--charcoal, #2f2f2f);
  background: #ffffff;
  border: 1px solid var(--charcoal, #2f2f2f);
  box-shadow: none;
  cursor: default;
  transform: translate(-50%, -50%) scale(0.92);
  opacity: 0;
  transition:
    opacity 0.5s cubic-bezier(0.22, 1, 0.36, 1) 0.32s,
    transform 0.35s ease,
    background 0.35s ease,
    border-color 0.35s ease,
    color 0.35s ease;
}

.investment-featured.reveal-up.is-visible .ba-wide__handle {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}

.ba-wide:hover .ba-wide__handle {
  background: var(--charcoal, #2f2f2f);
  border-color: var(--charcoal, #2f2f2f);
  color: #ffffff;
  transform: translate(-50%, -50%) scale(1.05);
}

.ba-wide__handle-icon {
  display: block;
  transition: transform 0.35s ease;
}

.ba-wide:hover .ba-wide__handle-icon {
  transform: scale(1.05);
}

.ba-wide__caption {
  margin: 0.75rem 0 0;
  text-align: center;
  font-family: var(--font-body);
  font-size: 0.66rem;
  letter-spacing: 0.06em;
  font-style: italic;
  color: rgba(247, 245, 241, 0.55);
  line-height: 1.5;
  opacity: 0;
  transform: translateY(8px);
  transition:
    opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.4s,
    transform 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.4s;
}

.investment-featured.reveal-up.is-visible .ba-wide__caption {
  opacity: 1;
  transform: translateY(0);
}

@media (min-width: 900px) {
  /*
   * Same footprint as philosophy editorial:
   * philosophy: image 1.05fr | copy 0.95fr
   * portfolio:  copy 0.95fr | image 1.05fr  (image column same size)
   */
  .investment-featured {
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
    gap: clamp(2.5rem, 5vw, 4rem);
    align-items: stretch;
  }

  .investment-featured__copy {
    max-width: none;
    padding-right: 0.25rem;
  }

  .investment-featured__copy .prose {
    max-width: 40ch;
  }

  .investment-featured__media.ba-pair-clean {
    justify-self: stretch;
    align-self: stretch;
    width: 100%;
    max-width: none;
    height: 100%;
    min-height: 100%;
  }

  .ba-pair-clean {
    min-height: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
  }

  .ba-pair-clean__open {
    flex: 1 1 auto;
    min-height: 0;
    height: 100%;
    display: flex;
  }

  .ba-pair-clean__grid {
    /* Same aspect as philosophy image (1792 / 1008) */
    aspect-ratio: 1792 / 1008;
    width: 100%;
    height: auto;
    max-height: none;
    flex: 1 1 auto;
  }

  .ba-pair-clean__cell {
    height: 100%;
  }
}

@media (min-width: 1200px) {
  .investment-featured {
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
    gap: clamp(2.5rem, 5vw, 4rem);
  }

  .investment-featured__copy .prose {
    max-width: 42ch;
  }
}

@media (max-width: 899px) {
  .ba-pair-clean {
    min-height: 0;
  }

  .ba-pair-clean__grid {
    aspect-ratio: 1792 / 1008;
    width: 100%;
    height: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ba-wide,
  .ba-wide__tag,
  .ba-wide__handle,
  .ba-wide__caption,
  .ba-wide__photo img,
  .ba-wide__handle-icon {
    transition: none !important;
    animation: none !important;
  }

  .ba-wide,
  .ba-wide__tag,
  .ba-wide__caption {
    opacity: 1 !important;
    transform: none !important;
  }

  .ba-wide__handle {
    opacity: 1 !important;
    transform: translate(-50%, -50%) !important;
  }
}

/* ── Before/after click popup (side-by-side, no center arrow) ── */
.ba-lightbox {
  position: fixed;
  inset: 0;
  z-index: 12000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(1rem, 3vw, 2rem);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.35s ease, visibility 0.35s ease;
}

.ba-lightbox.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.ba-lightbox__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(12, 11, 10, 0.88);
  border: 0;
  padding: 0;
  margin: 0;
  cursor: pointer;
}

.ba-lightbox__close {
  position: absolute;
  top: max(0.85rem, env(safe-area-inset-top));
  right: max(0.85rem, env(safe-area-inset-right));
  z-index: 3;
  width: 2.75rem;
  height: 2.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  border: 1px solid var(--charcoal, #2f2f2f);
  border-radius: 0;
  background: #ffffff;
  color: var(--charcoal, #2f2f2f);
  font-size: 1.65rem;
  line-height: 1;
  cursor: pointer;
  transition: background 0.35s ease, color 0.35s ease, border-color 0.35s ease;
}

.ba-lightbox__close:hover {
  background: var(--charcoal, #2f2f2f);
  color: #ffffff;
  border-color: var(--charcoal, #2f2f2f);
}

.ba-lightbox__panel {
  position: relative;
  z-index: 2;
  width: min(1100px, 100%);
  max-height: min(92vh, 920px);
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  transform: translateY(12px) scale(0.98);
  opacity: 0;
  transition:
    transform 0.4s cubic-bezier(0.22, 1, 0.36, 1),
    opacity 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

.ba-lightbox.is-open .ba-lightbox__panel {
  transform: translateY(0) scale(1);
  opacity: 1;
}

.ba-lightbox__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(0.5rem, 1.2vw, 0.85rem);
  min-height: 0;
}

.ba-lightbox__col {
  position: relative;
  margin: 0;
  overflow: hidden;
  border-radius: 12px;
  background: #111;
  border: 1px solid rgba(247, 245, 241, 0.12);
}

.ba-lightbox__col img {
  display: block;
  width: 100%;
  height: min(72vh, 760px);
  object-fit: contain;
  object-position: center center;
  background: transparent;
}

.ba-lightbox__tag {
  position: absolute;
  top: 0.9rem;
  left: 0.9rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 0.875rem;
  font-family: var(--font-body);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.09375rem;
  text-transform: uppercase;
  color: var(--charcoal, #2f2f2f);
  background: #ffffff;
  border: 1px solid var(--charcoal, #2f2f2f);
}

.ba-lightbox__caption {
  margin: 0;
  text-align: center;
  font-family: var(--font-body);
  font-size: 0.7rem;
  letter-spacing: 0.06em;
  font-style: italic;
  color: rgba(247, 245, 241, 0.7);
}

body.ba-lightbox-open {
  overflow: hidden;
}

@media (max-width: 700px) {
  .ba-lightbox__grid {
    grid-template-columns: 1fr;
    gap: 0.65rem;
    overflow: auto;
    max-height: min(78vh, 820px);
  }

  .ba-lightbox__col img {
    height: min(42vh, 360px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .ba-lightbox,
  .ba-lightbox__panel {
    transition: none !important;
  }
}

.home-page--preview .investment-editorial--featured .investment-featured__copy .home-section-cta .btn-outline {
  width: auto;
  max-width: none;
}

.home-page--preview .investment-editorial--dark.investment-editorial--featured .home-section-cta {
  margin-top: 0;
}

/* Philosophy title — centered quote + attribution */
.sanctuary-philosophy-title--quote {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  max-width: min(100%, 40rem);
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  font-weight: 500;
  line-height: 1.12;
  letter-spacing: -0.02em;
  text-align: center;
}

.sanctuary-philosophy-title--quote .sanctuary-philosophy-title__lines {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.22em;
  min-width: 0;
  width: 100%;
  text-align: center;
}

.sanctuary-philosophy-title--quote .sanctuary-philosophy-title__line {
  display: block;
  font-weight: inherit;
  white-space: nowrap;
  text-align: center;
}

.sanctuary-philosophy-title--quote .sanctuary-philosophy-title__attribution {
  display: block;
  flex-shrink: 0;
  margin-top: 0.35em;
  margin-bottom: 0;
  font-family: var(--font-body);
  font-size: clamp(0.78rem, 1.2vw, 0.92rem);
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.14em;
  text-transform: none;
  white-space: nowrap;
  text-align: center;
  color: var(--editorial-gold, var(--gold, #c9a86c));
}

.home-page--preview main .sanctuary-philosophy-title--quote {
  max-width: min(100%, 40rem);
  font-size: clamp(1.5rem, 3.6vw, 2.65rem);
  line-height: 1.14;
  letter-spacing: -0.025em;
  text-align: center;
  align-items: center;
}

/* On very narrow screens allow wrap */
@media (max-width: 520px) {
  .sanctuary-philosophy-title--quote .sanctuary-philosophy-title__line {
    white-space: normal;
  }
}

/* See Inspiration head — match Sanctuary Difference / Experience & Process */
.home-page--preview .home-see-inspirations__head,
.home-page--preview .home-see-inspirations__head.home-section-head,
.home-page--preview .home-see-inspirations__head.text-center {
  text-align: left !important;
  align-items: flex-start !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  margin-inline: 0 !important;
  max-width: 40rem !important;
}

.home-page--preview .home-see-inspirations__head .eyebrow,
.home-page--preview .home-see-inspirations__head .eyebrow-gold,
.home-page--preview .home-see-inspirations__head .display-title,
.home-page--preview .home-see-inspirations__head h2,
.home-page--preview .home-see-inspirations__head .prose,
.home-page--preview .home-see-inspirations__lede {
  text-align: left !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  margin-inline: 0 !important;
  padding-left: 0 !important;
  max-width: none;
}

.home-page--preview .home-see-inspirations__head .display-title,
.home-page--preview .home-see-inspirations__head h2 {
  max-width: 14em !important;
  margin-bottom: var(--home-head-gap, 1rem) !important;
}

.home-page--preview .home-see-inspirations__head .prose,
.home-page--preview .home-see-inspirations__lede {
  max-width: 420px !important;
  font-size: clamp(17px, 1.5vw, 20px) !important;
  line-height: 1.65 !important;
  color: rgba(67, 59, 51, 0.74) !important;
}

/* Eyebrow underline sits under label start (left-aligned headers) */
.home-page--preview .home-see-inspirations__head .eyebrow,
.home-page--preview .home-see-inspirations__head .eyebrow-gold {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.home-page--preview .home-see-inspirations__head .eyebrow::after,
.home-page--preview .home-see-inspirations__head .eyebrow-gold::after {
  left: 0 !important;
  transform: none !important;
}

.home-page--preview .home-see-inspirations .home-section-cta {
  justify-content: flex-start !important;
  align-items: flex-start !important;
}

@media (max-width: 768px) {
  .home-page--preview .home-see-inspirations__head,
  .home-page--preview .home-see-inspirations__head.text-center,
  .home-page--preview .home-see-inspirations__head .display-title,
  .home-page--preview .home-see-inspirations__head .eyebrow,
  .home-page--preview .home-see-inspirations__head .eyebrow-gold,
  .home-page--preview .home-see-inspirations__lede {
    text-align: left !important;
    align-items: flex-start !important;
    margin-inline: 0 !important;
  }
}

/* ==========================================================================
   Homepage micro-motion � elegant � modern � sleek
   Scoped to .home-page / .home-page--preview. Respects reduced-motion.
   ========================================================================== */

.home-page {
  --micro-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --micro-ease-soft: cubic-bezier(0.33, 1, 0.68, 1);
  /* Subtle motion: short travel, 180–500ms range */
  --micro-duration: 420ms;
  --micro-travel: 14px;
}

/* Page chrome entrance — keep header fully opaque (no glass fade) */
.home-page--preview .site-header--founder {
  transition:
    border-color 480ms var(--micro-ease),
    box-shadow 480ms var(--micro-ease);
  background: #f7f5f1 !important;
  background-color: #f7f5f1 !important;
  opacity: 1 !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

@media (prefers-reduced-motion: no-preference) {
  .home-page--preview .site-header--founder {
    animation: micro-header-in 900ms var(--micro-ease) both;
  }

  .home-page--preview .site-phone-fab {
    animation:
      micro-fab-in 700ms var(--micro-ease) 1.1s both,
      micro-fab-pulse 3.6s var(--micro-ease-soft) 2s infinite;
  }
}

@keyframes micro-header-in {
  from {
    opacity: 1; /* never fade the header — solid bar only */
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes micro-fab-in {
  from {
    opacity: 0;
    transform: translateY(14px) scale(0.92);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes micro-fab-pulse {
  0%,
  100% {
    box-shadow: 0 12px 28px rgba(26, 24, 22, 0.28);
  }
  50% {
    box-shadow:
      0 12px 28px rgba(26, 24, 22, 0.28),
      0 0 0 8px rgba(197, 164, 110, 0.08);
  }
}

.home-page--preview .site-phone-fab {
  transition:
    transform 320ms var(--micro-ease),
    background-color 320ms ease,
    box-shadow 420ms var(--micro-ease);
}

.home-page--preview .site-phone-fab:hover {
  transform: translateY(-3px) scale(1.04);
  box-shadow: 0 16px 36px rgba(26, 24, 22, 0.34);
}

.home-page--preview .site-phone-fab:active {
  transform: translateY(-1px) scale(0.98);
}

/* �� Hero: refined entrance �� */
@media (prefers-reduced-motion: no-preference) {
  .home-page--preview main .hero-editorial__scrim {
    animation: micro-scrim-settle 1.4s var(--micro-ease) both;
  }

  .home-page--preview .hero-copy-enter .hero-title {
    animation: micro-hero-title 1.05s var(--micro-ease) 0.18s both;
  }

  .home-page--preview .hero-copy-enter .hero-lead {
    animation: micro-hero-rise 1s var(--micro-ease) 0.38s both;
  }

  .home-page--preview .hero-founder-note--fade {
    animation: micro-founder-card 1.15s var(--micro-ease) 0.58s both;
  }
}

@keyframes micro-scrim-settle {
  from { opacity: 0.72; }
  to { opacity: 1; }
}

@keyframes micro-hero-title {
  from {
    opacity: 0;
    transform: translateY(28px);
    letter-spacing: -0.04em;
  }
  to {
    opacity: 1;
    transform: translateY(0);
    letter-spacing: -0.03em;
  }
}

@keyframes micro-hero-rise {
  from {
    opacity: 0;
    transform: translateY(18px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes micro-founder-card {
  from {
    opacity: 0;
    transform: translateY(28px) scale(0.985);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

/* �� Unified reveal: shorter travel, cleaner ease �� */
.home-page--preview .sanctuary-philosophy-section .reveal-up,
.home-page--preview .home-experience-process .reveal-up,
.home-page--preview .investment-editorial .reveal-up,
.home-page--preview .site-footer-cta-band .reveal-up,
.home-page--preview .sanctuary-intention-section .reveal-up,
.home-page--preview .home-see-inspirations .reveal-up {
  opacity: 0;
  transform: translate3d(0, var(--micro-travel), 0);
  will-change: opacity, transform;
}

.home-page--preview .sanctuary-philosophy-section .reveal-up.is-visible,
.home-page--preview .home-experience-process .reveal-up.is-visible,
.home-page--preview .investment-editorial .reveal-up.is-visible,
.home-page--preview .site-footer-cta-band .reveal-up.is-visible,
.home-page--preview .sanctuary-intention-section .reveal-up.is-visible,
.home-page--preview .home-see-inspirations .reveal-up.is-visible {
  animation: micro-reveal-up var(--micro-duration) var(--micro-ease) forwards;
}

/* Philosophy quote cascade — matches Sanctuary Standard card stagger */
.home-page--preview .sanctuary-philosophy-section .sanctuary-philosophy-image.reveal-up.is-visible {
  animation-delay: 0ms;
}

.home-page--preview .sanctuary-philosophy-section .eyebrow.reveal-up.is-visible,
.home-page--preview .sanctuary-philosophy-section .eyebrow-gold.reveal-up.is-visible {
  animation-delay: 80ms;
}

.home-page--preview .sanctuary-philosophy-section .sanctuary-philosophy-callout.reveal-up.is-visible {
  animation-delay: 160ms;
}

.home-page--preview .sanctuary-philosophy-section .sanctuary-philosophy-copy.reveal-up.is-visible {
  animation-delay: 240ms;
}

@keyframes micro-reveal-up {
  from {
    opacity: 0;
    transform: translate3d(0, var(--micro-travel), 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

/* Process step 6 stagger (was missing) + tighter cascade */
.home-page--preview .home-experience-process .home-experience-step.reveal-up.is-visible:nth-child(1) { animation-delay: 40ms; }
.home-page--preview .home-experience-process .home-experience-step.reveal-up.is-visible:nth-child(2) { animation-delay: 100ms; }
.home-page--preview .home-experience-process .home-experience-step.reveal-up.is-visible:nth-child(3) { animation-delay: 160ms; }
.home-page--preview .home-experience-process .home-experience-step.reveal-up.is-visible:nth-child(4) { animation-delay: 220ms; }
.home-page--preview .home-experience-process .home-experience-step.reveal-up.is-visible:nth-child(5) { animation-delay: 280ms; }
.home-page--preview .home-experience-process .home-experience-step.reveal-up.is-visible:nth-child(6) { animation-delay: 340ms; }

/* Eyebrow underline: centered 48px gold rule */
.home-page--preview .home-section-head .eyebrow,
.home-page--preview .home-section-head .eyebrow-gold,
.home-page--preview .sanctuary-intention-copy .eyebrow,
.home-page--preview .sanctuary-intention-copy .eyebrow-gold,
.home-page--preview .sanctuary-philosophy-content .eyebrow,
.home-page--preview .sanctuary-philosophy-content .eyebrow-gold,
.home-page--preview .home-see-inspirations__head .eyebrow,
.home-page--preview .home-see-inspirations__head .eyebrow-gold,
.home-page--preview .home-experience-process__head .eyebrow,
.home-page--preview .home-experience-process__head .eyebrow-gold,
.home-page--preview main .eyebrow,
.home-page--preview main .eyebrow-gold {
  position: relative !important;
  display: inline-block !important;
  margin: 0 auto !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-bottom: 14px !important;
  text-align: left !important;
}

.home-page--preview .home-section-head .eyebrow::after,
.home-page--preview .home-section-head .eyebrow-gold::after,
.home-page--preview .sanctuary-intention-copy .eyebrow::after,
.home-page--preview .sanctuary-intention-copy .eyebrow-gold::after,
.home-page--preview .sanctuary-philosophy-content .eyebrow::after,
.home-page--preview .sanctuary-philosophy-content .eyebrow-gold::after,
.home-page--preview .home-see-inspirations__head .eyebrow::after,
.home-page--preview .home-see-inspirations__head .eyebrow-gold::after,
.home-page--preview .home-experience-process__head .eyebrow::after,
.home-page--preview .home-experience-process__head .eyebrow-gold::after,
.home-page--preview main .eyebrow::after,
.home-page--preview main .eyebrow-gold::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  bottom: 0 !important;
  width: 48px !important;
  height: 1px !important;
  background-color: #b49d87 !important;
  background: #b49d87 !important;
  transform: translateX(-50%) !important;
  opacity: 1 !important;
  transition: none !important;
}

@media (hover: none) {
  .home-page--preview .inspiration-collection:hover,
  .home-page--preview .home-experience-step.is-visible:hover,
  .home-page--preview .sanctuary-detail-card.is-visible:hover {
    transform: none;
    box-shadow: none;
  }
}

/* ==========================================================================
   UNIFORM HOVER SYSTEM (sitewide)
   One elegant interaction language across all pages.
   EXCEPTIONS (left untouched below):
   1) Left nav panel / drawer (.nav-drawer, .site-nav-panel--drawer)
   2) Start a Conversation (.sanctuary-submit-btn)
   ========================================================================== */

:root {
  --hover-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --hover-duration: 380ms;
  --hover-lift: -3px;
  --hover-lift-strong: -4px;
  --hover-img-scale: 1.04;
  --hover-img-duration: 900ms;
  --hover-shadow: 0 18px 42px -22px rgba(67, 59, 51, 0.22);
  --hover-shadow-soft: 0 14px 32px -18px rgba(67, 59, 51, 0.18);
}

/* Shared transition baseline (does not apply to excluded controls) */
.btn-primary,
.btn-secondary,
.btn-outline,
.btn-ghost,
.btn-inquire,
.btn-inquire--founder,
.btn-inquire--chatgpt,
.btn-phone--header,
.site-phone-fab,
.exp-btn--primary,
.exp-btn--outline,
.mat-ed-cta-btn,
.mat-ed-btn,
.mat-closing-btn,
.inspiration-collection__materials-btn,
.inspiration-collection__work-btn,
.inspiration-collection__link,
.home-link-arrow,
.home-cta__btn--light,
.home-btn-inquire,
.home-curated-materials__cta,
.carousel-arrow,
.work-carousel-arrow,
.mat-ed-link,
.exp-text-link,
.exp-work__link,
.legal-back,
.subpage-parent-link,
.back-link {
  transition:
    transform var(--hover-duration) var(--hover-ease),
    background-color var(--hover-duration) ease,
    color var(--hover-duration) ease,
    border-color var(--hover-duration) ease,
    box-shadow var(--hover-duration) var(--hover-ease),
    opacity var(--hover-duration) ease !important;
}

/* ---- Buttons: uniform fill / lift (NOT Start a Conversation) ---- */
@media (hover: hover) {
  .btn-outline:hover,
  .home-page--preview .btn-outline:hover,
  .site-chrome .btn-outline:hover,
  .home-page--preview main .btn-outline:hover,
  .home-page--preview .home-section-cta .btn-outline:hover,
  .home-page--preview .investment-editorial--dark .home-section-cta .btn-outline:hover,
  .investment-editorial--dark .btn-outline:hover,
  .inspiration-collection__materials-btn:hover,
  .inspiration-collection__work-btn:hover,
  .exp-btn--outline:hover,
  .site-chrome.experience-page .exp-btn--outline:hover,
  .mat-ed-cta-btn--outline:hover,
  a.mat-ed-cta-btn--outline:hover,
  .home-cta__btn--light:hover {
    transform: translateY(var(--hover-lift)) !important;
    background: var(--ink, #433b33) !important;
    color: var(--cream, #f7f5f1) !important;
    border-color: var(--ink, #433b33) !important;
    box-shadow: var(--hover-shadow-soft) !important;
    letter-spacing: inherit !important;
  }

  .btn-primary:hover,
  .home-page--preview .btn-primary:hover,
  .site-chrome .btn-primary:hover,
  .exp-btn--primary:hover,
  .site-chrome.experience-page .exp-btn--primary:hover,
  .process-final-cta .btn-primary:hover,
  .home-page--preview .site-chrome .home-next-steps .btn-primary:hover,
  .site-chrome .home-next-steps .btn-primary:hover,
  .mat-ed-cta-btn:not(.mat-ed-cta-btn--outline):hover,
  .mat-ed-btn:hover,
  .mat-closing-btn:hover,
  .mat-closing-btn--animated:hover {
    transform: translateY(var(--hover-lift)) !important;
    box-shadow: var(--hover-shadow-soft) !important;
  }

  .btn-secondary:hover,
  .inquire-confirmation .btn-secondary:hover {
    transform: translateY(var(--hover-lift)) !important;
    box-shadow: var(--hover-shadow-soft) !important;
  }

  .btn-ghost:hover,
  .home-page--preview .btn-ghost:hover,
  .site-chrome .btn-ghost:hover {
    transform: translateY(var(--hover-lift)) !important;
    background: #fff !important;
    color: var(--ink, #433b33) !important;
    box-shadow: var(--hover-shadow-soft) !important;
  }

  /* Header Inquire (not Start a Conversation submit) */
  .btn-inquire:hover,
  .btn-inquire--founder:hover,
  .btn-inquire--chatgpt:hover,
  .home-btn-inquire:hover,
  .section-contact-editorial .btn-inquire:hover,
  .section-contact-editorial .btn-inquire--contact:hover,
  .experience-page .work-inquire .btn-inquire:hover,
  .home-page--preview .site-header--founder:not(.is-scrolled) .btn-inquire--founder:hover,
  .home-page--preview .site-header--founder.is-scrolled .btn-inquire--founder:hover,
  .site-chrome .site-header--founder .btn-inquire--founder:hover {
    transform: translateY(var(--hover-lift)) !important;
    box-shadow: var(--hover-shadow-soft) !important;
  }

  .btn-phone--header:hover,
  .site-phone-fab:hover,
  .home-page--preview .site-phone-fab:hover {
    transform: translateY(var(--hover-lift)) !important;
    box-shadow: var(--hover-shadow-soft) !important;
  }

  .carousel-arrow:hover,
  .carousel-nav--overlay .carousel-arrow:hover,
  .our-work-page .work-carousel-arrow:hover,
  .our-work-page .work-carousel-arrow:first-child:hover,
  .our-work-page .work-carousel-arrow:last-child:hover {
    transform: translateY(var(--hover-lift)) !important;
    box-shadow: var(--hover-shadow-soft) !important;
  }
}

/* Kill homepage-only button sheen so outline matches other pages */
.home-page--preview .btn-outline::before {
  content: none !important;
  display: none !important;
}

/* ---- Cards / tiles: one lift + shadow ---- */
.inspiration-collection,
.home-page--preview .inspiration-collection,
.home-page--preview main .inspiration-collection,
.home-inspiration-grid .inspiration-collection,
.sanctuary-detail-card,
.home-experience-step,
.home-page--preview .home-experience-step,
.portfolio-item,
.material-card,
.project-card,
.exp-work-card,
.experience-item,
.experience-band .experience-item,
.home-inspire__card,
.home-work__card,
.home-craft__block,
.pillar,
.work-media,
.transform-grid > article,
.transform-shot,
.process-step,
.philosophy-media,
.sanctuary-palette-preview__item {
  transition:
    transform var(--hover-duration) var(--hover-ease),
    box-shadow var(--hover-duration) var(--hover-ease),
    background-color var(--hover-duration) ease,
    border-color var(--hover-duration) ease !important;
}

@media (hover: hover) {
  .inspiration-collection:hover,
  .home-page--preview .inspiration-collection:hover,
  .home-page--preview main .inspiration-collection:hover,
  .home-inspiration-grid .inspiration-collection:hover,
  .sanctuary-detail-card:hover,
  .sanctuary-detail-card.is-visible:hover,
  .home-page--preview .sanctuary-detail-card.is-visible:hover,
  .home-experience-step:hover,
  .home-page--preview .home-experience-step:hover,
  .home-page--preview .home-experience-step.is-visible:hover,
  .home-page--preview .home-experience-step.reveal-up.is-visible:hover,
  .portfolio-item:hover,
  .material-card:hover,
  .project-card:hover,
  .exp-work-card:hover,
  .experience-item:hover,
  .experience-band .experience-item:hover,
  .home-inspire__card:hover,
  .home-work__card:hover,
  .home-craft__block:hover,
  .pillar:hover,
  .work-media:hover,
  .transform-grid > article:hover,
  .transform-shot:hover,
  .process-step:hover,
  .philosophy-media:hover,
  .sanctuary-palette-preview__item:hover {
    transform: translateY(var(--hover-lift-strong)) !important;
    box-shadow: var(--hover-shadow) !important;
  }

  /* Soften oversized card lifts from older rules */
  .portfolio-item:hover {
    transform: translateY(var(--hover-lift-strong)) !important;
  }
}

/* ---- Media zoom: one scale everywhere ---- */
.inspiration-collection__media img,
.home-page--preview .inspiration-collection__media img,
.home-inspiration-grid .inspiration-collection__media img,
.philosophy-media img,
.sanctuary-philosophy-image img,
.home-page--preview .sanctuary-philosophy-image img,
.materials-page .mat-palette-photo img,
.materials-page .mat-palette-visual-main img,
.portfolio-item img,
.material-card img,
.project-card img,
.exp-work-card__media img,
.transform-shot img,
.process-stage figure img,
.investment-featured__frame img,
.home-inspire__media img,
.home-work__card img,
.home-hero__img,
.sanctuary-palette-preview__media img {
  transition:
    transform var(--hover-img-duration) var(--hover-ease),
    filter var(--hover-img-duration) ease !important;
}

@media (hover: hover) {
  .inspiration-collection__media:hover img,
  .inspiration-collection:hover .inspiration-collection__media img,
  .home-page--preview .inspiration-collection:hover .inspiration-collection__media img,
  .home-inspiration-grid .inspiration-collection:hover .inspiration-collection__media img,
  .philosophy-media:hover img,
  .sanctuary-philosophy-image:hover img,
  .home-page--preview .sanctuary-philosophy-image:hover img,
  .sanctuary-philosophy-section:hover .sanctuary-philosophy-image img,
  .sanctuary-philosophy-section--editorial .sanctuary-philosophy-image:hover img,
  .sanctuary-philosophy-image--zoomable:hover img,
  .materials-page .mat-palette-photo:hover img,
  .materials-page .mat-palette-visual-main:hover img,
  .portfolio-item:hover img,
  .material-card:hover img,
  .project-card:hover img,
  .exp-work-card:hover .exp-work-card__media img,
  .transform-shot:hover img,
  .process-stage:hover figure img,
  .investment-featured__frame:hover img,
  .home-inspire__card:hover .home-inspire__media img,
  .home-work__card:hover img,
  .home-hero:hover .home-hero__img,
  .sanctuary-palette-preview__item:hover .sanctuary-palette-preview__media img {
    transform: scale(var(--hover-img-scale)) !important;
    filter: none !important;
  }
}

/* Neutralize homepage-only card extras (copy shift, letter-spacing) */
@media (hover: hover) {
  .home-page--preview .inspiration-collection:hover .inspiration-collection__copy {
    transform: none !important;
  }

  .home-page--preview .inspiration-collection:hover .inspiration-collection__materials-btn,
  .home-page--preview .inspiration-collection:hover .btn-outline {
    letter-spacing: inherit !important;
  }

  .home-page--preview .home-experience-step:hover .home-experience-step__num,
  .home-page--preview .home-experience-step.is-visible:hover .home-experience-step__num,
  .home-page--preview .home-experience-step.reveal-up.is-visible:hover .home-experience-step__num {
    transform: none !important;
    color: inherit !important;
  }

  .home-page--preview .sanctuary-detail-card.is-visible:hover span {
    transform: none !important;
  }
}

/* ---- Text links: uniform color shift (not nav panel) ---- */
.site-footer a,
.site-footer-nav a,
.site-footer-disclosures a,
.site-footer-contact a,
.site-footer-legal a,
.site-footer-refined__legal a,
.site-footer-refined__contact-value a,
.legal-body a,
.legal-back,
.subpage-parent-link,
.mat-ed-link,
.exp-text-link,
.exp-footer__links a,
.exp-work__link,
.contact-box__meta a,
.contact-form-contact a,
.contact-split-cta__contact a,
.work-inquire-contact a,
.home-link-arrow,
.dark-closing .back-link,
.materials-page .mat-closing-back a {
  transition: color var(--hover-duration) ease, opacity var(--hover-duration) ease !important;
}

@media (hover: hover) {
  .site-footer a:hover,
  .site-footer-nav a:hover,
  .site-footer-disclosures a:hover,
  .site-footer-contact a:hover,
  .site-footer-legal a:hover,
  .home-page--preview .site-footer-legal a:hover,
  .site-chrome .site-footer-legal a:hover,
  .site-footer-refined__legal a:hover,
  .site-footer-refined__contact-value a:hover,
  .legal-body a:hover,
  .legal-back:hover,
  .subpage-parent-link:hover,
  .mat-ed-link:hover,
  .exp-text-link:hover,
  .exp-footer__links a:hover,
  .exp-work__link:hover,
  .contact-box__meta a:hover,
  .contact-form-contact a:hover,
  .contact-split-cta__contact a:hover,
  .work-inquire-contact a:hover,
  .experience-page .work-inquire-contact a:hover,
  .home-link-arrow:hover,
  .home-work__footer .home-link-arrow:hover,
  .dark-closing .back-link:hover,
  .materials-page .mat-closing-back a:hover {
    color: var(--gold, #c5a46e) !important;
    opacity: 1 !important;
  }
}

/* Desktop header nav underline — keep simple gold line (not drawer) */
.site-nav-desktop--quiet a::after {
  transition: transform var(--hover-duration) var(--hover-ease) !important;
  transform-origin: center !important;
}

/* ==========================================================================
   EXCEPTIONS — restore original behavior (must come last)
   ========================================================================== */

/* 1) NAV PANEL / DRAWER — leave as designed */
.nav-drawer .site-nav-panel__link,
.site-nav-panel--drawer .site-nav-panel__link,
.nav-drawer__close,
.home-page--preview .nav-drawer__top .nav-drawer__close,
.site-chrome .nav-drawer__top .nav-drawer__close,
.nav-drawer__social-link,
.home-page--preview .nav-drawer__social-link,
.site-chrome .nav-drawer__social-link {
  transform: none !important;
  box-shadow: none !important;
}

.nav-drawer .site-nav-panel__link:hover,
.site-nav-panel--drawer .site-nav-panel__link:hover {
  transform: none !important;
  background: transparent !important;
  box-shadow: none !important;
  /* color handled by existing drawer rules */
}

.site-nav-panel--drawer .site-nav-panel__link::after {
  /* keep existing gold underline behavior */
  transition: transform 0.25s ease !important;
}

.nav-drawer__close:hover,
.home-page--preview .nav-drawer__top .nav-drawer__close:hover,
.site-chrome .nav-drawer__top .nav-drawer__close:hover {
  transform: none !important;
  box-shadow: none !important;
}

/* 2) START A CONVERSATION — full original gold wipe + arrow (beats all later overrides) */
.sanctuary-submit-btn,
.home-page--preview .sanctuary-submit-btn,
.site-chrome .sanctuary-submit-btn,
.home-page--preview main .sanctuary-submit-btn,
.site-footer-cta-band .sanctuary-submit-btn,
.home-page--preview .site-footer-cta-band__actions .sanctuary-submit-btn,
.home-page--preview .site-footer-cta-band .sanctuary-submit-btn {
  position: relative !important;
  overflow: hidden !important;
  width: 100%;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  padding: 16px 36px !important;
  background: #2c2a26 !important;
  color: #f7f5f1 !important;
  border: 1px solid #2c2a26 !important;
  border-radius: 0 !important;
  font-family: var(--font-body) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  box-shadow: none !important;
  transform: none !important;
  transition: border-color 0.42s cubic-bezier(0.23, 1, 0.32, 1), color 0.42s cubic-bezier(0.23, 1, 0.32, 1) !important;
}

.sanctuary-submit-btn::before,
.home-page--preview .sanctuary-submit-btn::before,
.site-chrome .sanctuary-submit-btn::before,
.site-footer-cta-band .sanctuary-submit-btn::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  background: #b49d87 !important;
  transform: translateX(-100%) !important;
  transition: transform 0.52s cubic-bezier(0.23, 1, 0.32, 1) !important;
  z-index: 0 !important;
  pointer-events: none !important;
  opacity: 1 !important;
}

.sanctuary-submit-btn span,
.sanctuary-submit-btn .submit-arrow {
  position: relative !important;
  z-index: 1 !important;
}

.sanctuary-submit-btn span {
  transition: color 0.35s ease !important;
}

.submit-arrow {
  font-size: 15px !important;
  line-height: 1 !important;
  transform: translateX(0) !important;
  transition: transform 0.48s cubic-bezier(0.23, 1, 0.32, 1) !important;
}

.sanctuary-submit-btn:hover,
.home-page--preview .sanctuary-submit-btn:hover,
.site-chrome .sanctuary-submit-btn:hover,
.home-page--preview main .sanctuary-submit-btn:hover,
.site-footer-cta-band .sanctuary-submit-btn:hover {
  transform: none !important;
  box-shadow: none !important;
  background: #2c2a26 !important;
  border-color: #b49d87 !important;
  color: #2c2a26 !important;
  letter-spacing: 0.18em !important;
}

.sanctuary-submit-btn:hover::before,
.home-page--preview .sanctuary-submit-btn:hover::before,
.site-chrome .sanctuary-submit-btn:hover::before,
.site-footer-cta-band .sanctuary-submit-btn:hover::before {
  transform: translateX(0) !important;
  background: #b49d87 !important;
}

.sanctuary-submit-btn:hover span,
.home-page--preview .sanctuary-submit-btn:hover span,
.site-chrome .sanctuary-submit-btn:hover span {
  color: #2c2a26 !important;
}

.sanctuary-submit-btn:hover .submit-arrow,
.home-page--preview .sanctuary-submit-btn:hover .submit-arrow,
.site-chrome .sanctuary-submit-btn:hover .submit-arrow {
  transform: translateX(7px) !important;
}

/* Dark CTA band variant (cream surface, same gold wipe) */
.sanctuary-submit-btn.dark-btn,
.home-page--preview .sanctuary-submit-btn.dark-btn,
.site-chrome .sanctuary-submit-btn.dark-btn,
.site-footer-cta-band .sanctuary-submit-btn.dark-btn {
  background: #F7F5F1 !important;
  color: #2C2A26 !important;
  border: 1px solid var(--sanctuary-charcoal, #433b33) !important;
  width: auto !important;
  margin: 0 !important;
}

.sanctuary-submit-btn.dark-btn:hover,
.home-page--preview .sanctuary-submit-btn.dark-btn:hover,
.site-chrome .sanctuary-submit-btn.dark-btn:hover,
.site-footer-cta-band .sanctuary-submit-btn.dark-btn:hover {
  background: #F7F5F1 !important;
  color: #2C2A26 !important;
  border-color: #B49D87 !important;
  transform: none !important;
  box-shadow: none !important;
}

.sanctuary-submit-btn.dark-btn:hover span,
.home-page--preview .sanctuary-submit-btn.dark-btn:hover span {
  color: #2C2A26 !important;
}

.sanctuary-submit-btn:active,
.home-page--preview .sanctuary-submit-btn:active {
  transform: scale(0.985) !important;
}
/* Touch devices: no lift */
@media (hover: none) {
  .inspiration-collection:hover,
  .sanctuary-detail-card:hover,
  .home-experience-step:hover,
  .portfolio-item:hover,
  .btn-outline:hover,
  .btn-primary:hover {
    transform: none !important;
    box-shadow: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .btn-outline,
  .btn-primary,
  .btn-secondary,
  .btn-ghost,
  .btn-inquire,
  .inspiration-collection,
  .sanctuary-detail-card,
  .home-experience-step,
  .portfolio-item,
  .material-card,
  .philosophy-media img,
  .inspiration-collection__media img,
  .materials-page .mat-palette-photo img {
    transition: none !important;
  }

  .btn-outline:hover,
  .btn-primary:hover,
  .inspiration-collection:hover,
  .portfolio-item:hover,
  .sanctuary-detail-card:hover {
    transform: none !important;
  }

  .inspiration-collection:hover .inspiration-collection__media img,
  .materials-page .mat-palette-photo:hover img,
  .portfolio-item:hover img {
    transform: none !important;
  }
}

/* ==========================================================================
   Experience & Process — match Sanctuary Difference cards + header
   ========================================================================== */

.home-experience-process--difference {
  position: relative;
  isolation: isolate;
}

.home-experience-process--difference .home-experience-process__inner {
  position: relative;
  z-index: 1;
  max-width: 1180px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: clamp(2rem, 4vw, 3rem);
}

/* Header: same as Sanctuary Difference intention copy */
.home-page--preview .home-experience-process--difference .home-experience-process__head.sanctuary-intention-copy,
.home-experience-process--difference .home-experience-process__head.sanctuary-intention-copy {
  max-width: 40rem;
  margin: 0;
  margin-inline: 0;
  text-align: left;
}

.home-page--preview .home-experience-process--difference .home-experience-process__head .eyebrow-gold,
.home-experience-process--difference .home-experience-process__head .eyebrow-gold {
  margin: 0 0 0.85rem;
}

.home-page--preview .home-experience-process--difference .home-experience-process__head .display-title,
.home-page--preview .home-experience-process--difference .home-experience-process__head h2,
.home-experience-process--difference .home-experience-process__head .display-title {
  margin: 0 0 var(--home-head-gap, 1rem);
  max-width: 14em;
  font-family: var(--font-heading);
  font-size: var(--home-display-lg, clamp(2.35rem, 5vw, 4.5rem));
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: -0.03em;
  color: var(--editorial-ink, var(--sanctuary-charcoal));
  text-transform: capitalize;
}

.home-page--preview .home-experience-process--difference .home-experience-process__head .prose,
.home-experience-process--difference .home-experience-process__head .prose {
  margin: 0;
  max-width: 420px;
  font-family: var(--font-body);
  font-size: clamp(17px, 1.5vw, 20px);
  line-height: 1.65;
  color: rgba(67, 59, 51, 0.74);
}

/* 3-col process cards (6 steps) using Sanctuary Difference card system */
.sanctuary-detail-grid--process {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

.sanctuary-detail-grid--process .sanctuary-detail-card {
  min-height: 0;
  padding: clamp(20px, 2.2vw, 28px);
}

.sanctuary-detail-grid--process .sanctuary-detail-card span {
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  margin-bottom: 0.85rem;
}

.sanctuary-detail-grid--process .sanctuary-detail-card h3 {
  font-size: clamp(1.15rem, 1.6vw, 1.45rem);
  line-height: 1.15;
  margin-bottom: 0.65rem;
}

.sanctuary-detail-grid--process .sanctuary-detail-card p {
  font-size: 0.9rem;
  line-height: 1.55;
}

/* Reveal + stagger: same language as Sanctuary Difference */
.home-experience-process--difference .reveal-up {
  opacity: 0;
  transform: translateY(34px);
}

.home-experience-process--difference .reveal-up.is-visible {
  animation: sanctuary-reveal-up 900ms var(--lux-ease) forwards;
}

.home-experience-process--difference .home-experience-process__head.reveal-up.is-visible {
  animation-delay: 0ms;
}

.home-experience-process--difference .sanctuary-detail-card.reveal-up.is-visible:nth-child(1) { animation-delay: 100ms; }
.home-experience-process--difference .sanctuary-detail-card.reveal-up.is-visible:nth-child(2) { animation-delay: 180ms; }
.home-experience-process--difference .sanctuary-detail-card.reveal-up.is-visible:nth-child(3) { animation-delay: 260ms; }
.home-experience-process--difference .sanctuary-detail-card.reveal-up.is-visible:nth-child(4) { animation-delay: 340ms; }
.home-experience-process--difference .sanctuary-detail-card.reveal-up.is-visible:nth-child(5) { animation-delay: 420ms; }
.home-experience-process--difference .sanctuary-detail-card.reveal-up.is-visible:nth-child(6) { animation-delay: 500ms; }

/* Restore Sanctuary Difference card hover (gold line + lift) for both sections */
@media (hover: hover) {
  .sanctuary-detail-card.is-visible:hover,
  .home-page--preview .sanctuary-detail-card.is-visible:hover,
  .home-experience-process--difference .sanctuary-detail-card.is-visible:hover {
    transform: translateY(-10px) !important;
    background: rgba(255, 255, 255, 0.68) !important;
    border-color: rgba(197, 164, 110, 0.38) !important;
    box-shadow: 0 34px 84px rgba(67, 59, 51, 0.14) !important;
  }

  .sanctuary-detail-card.is-visible:hover::after,
  .home-page--preview .sanctuary-detail-card.is-visible:hover::after {
    transform: scaleX(1) !important;
  }

  .sanctuary-detail-card.is-visible:hover span,
  .home-page--preview .sanctuary-detail-card.is-visible:hover span {
    transform: translateY(-4px) !important;
    color: rgba(180, 157, 135, 1) !important;
  }
}

@media (max-width: 1100px) {
  .sanctuary-detail-grid--process {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 640px) {
  .sanctuary-detail-grid--process {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .home-experience-process--difference .sanctuary-detail-card.reveal-up.is-visible:nth-child(1) { animation-delay: 60ms; }
  .home-experience-process--difference .sanctuary-detail-card.reveal-up.is-visible:nth-child(2) { animation-delay: 120ms; }
  .home-experience-process--difference .sanctuary-detail-card.reveal-up.is-visible:nth-child(3) { animation-delay: 180ms; }
  .home-experience-process--difference .sanctuary-detail-card.reveal-up.is-visible:nth-child(4) { animation-delay: 240ms; }
  .home-experience-process--difference .sanctuary-detail-card.reveal-up.is-visible:nth-child(5) { animation-delay: 300ms; }
  .home-experience-process--difference .sanctuary-detail-card.reveal-up.is-visible:nth-child(6) { animation-delay: 360ms; }
}

@media (prefers-reduced-motion: reduce) {
  .home-experience-process--difference .reveal-up {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
  }
}

/* ==========================================================================
   See Inspiration — same container / left edge as Experience & Process
   ========================================================================== */

.home-page--preview .home-see-inspirations__inner,
.home-see-inspirations__inner {
  position: relative;
  z-index: 1;
  max-width: 1180px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: clamp(2rem, 4vw, 3rem);
  width: min(var(--ssb-max, 1180px), calc(100% - var(--ssb-gutter, 24px) * 2));
  padding-inline: 0;
  box-sizing: border-box;
}

/* Head: identical left edge + type treatment as process head */
.home-page--preview .home-see-inspirations__inner .home-see-inspirations__head,
.home-page--preview .home-see-inspirations__inner .home-see-inspirations__head.sanctuary-intention-copy,
.home-page--preview .home-see-inspirations__inner .home-see-inspirations__head.home-section-head,
.home-see-inspirations__inner .home-see-inspirations__head {
  max-width: 40rem !important;
  width: 100% !important;
  margin: 0 !important;
  margin-inline: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-inline: 0 !important;
  text-align: left !important;
  align-items: flex-start !important;
  align-self: flex-start !important;
}

.home-page--preview .home-see-inspirations__inner .home-see-inspirations__head .eyebrow,
.home-page--preview .home-see-inspirations__inner .home-see-inspirations__head .eyebrow-gold,
.home-page--preview .home-see-inspirations__inner .home-see-inspirations__head .display-title,
.home-page--preview .home-see-inspirations__inner .home-see-inspirations__head h2,
.home-page--preview .home-see-inspirations__inner .home-see-inspirations__head .prose,
.home-page--preview .home-see-inspirations__inner .home-see-inspirations__lede {
  text-align: left !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  margin-inline: 0 !important;
  padding-left: 0 !important;
}

.home-page--preview .home-see-inspirations__inner .home-see-inspirations__head .display-title,
.home-page--preview .home-see-inspirations__inner .home-see-inspirations__head h2 {
  max-width: 14em !important;
  margin: 0 0 var(--home-head-gap, 1rem) !important;
  font-family: var(--font-heading);
  font-size: var(--home-display-lg, clamp(2.35rem, 5vw, 4.5rem));
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: -0.03em;
}

.home-page--preview .home-see-inspirations__inner .home-see-inspirations__lede,
.home-page--preview .home-see-inspirations__inner .home-see-inspirations__head .prose {
  max-width: 420px !important;
  margin: 0 !important;
  font-size: clamp(17px, 1.5vw, 20px) !important;
  line-height: 1.65 !important;
  color: rgba(67, 59, 51, 0.74) !important;
}

.home-page--preview .home-see-inspirations__inner .home-see-inspirations__head .eyebrow-gold {
  margin: 0 0 0.85rem !important;
}

.home-page--preview .home-see-inspirations__inner .home-see-inspirations__head .eyebrow::after,
.home-page--preview .home-see-inspirations__inner .home-see-inspirations__head .eyebrow-gold::after {
  left: 0 !important;
  transform: none !important;
}

.home-page--preview .home-see-inspirations__inner .home-section-cta {
  justify-content: flex-start !important;
  align-items: flex-start !important;
  margin-left: 0 !important;
  margin-inline: 0 !important;
  width: 100%;
}

/* Also lock process inner width formula (same gutter math) */
.home-page--preview .home-experience-process--difference .home-experience-process__inner {
  width: min(var(--ssb-max, 1180px), calc(100% - var(--ssb-gutter, 24px) * 2));
  padding-inline: 0;
  box-sizing: border-box;
}

@media (max-width: 768px) {
  .home-page--preview .home-see-inspirations__inner .home-see-inspirations__head,
  .home-page--preview .home-see-inspirations__inner .home-see-inspirations__head .display-title,
  .home-page--preview .home-see-inspirations__inner .home-see-inspirations__head .eyebrow,
  .home-page--preview .home-see-inspirations__inner .home-see-inspirations__lede {
    text-align: left !important;
    margin-inline: 0 !important;
    align-items: flex-start !important;
  }
}
/* ==========================================================================
   SHARED HOME STACK — Process + See Inspiration: one left edge
   ========================================================================== */

.home-page--preview .home-stack-inner,
.home-page--preview .home-experience-process__inner,
.home-page--preview .home-see-inspirations__inner,
.home-page--preview main #experience-process > .container-sb,
.home-page--preview main #inspirations > .container-sb {
  width: min(var(--ssb-max), calc(100% - var(--ssb-gutter) * 2)) !important;
  max-width: var(--ssb-max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-inline: 0 !important;
  box-sizing: border-box !important;
}

.home-page--preview .home-stack-head,
.home-page--preview .home-experience-process__head,
.home-page--preview .home-see-inspirations__head,
.home-page--preview main #experience-process .home-section-head,
.home-page--preview main #inspirations .home-section-head {
  display: block !important;
  width: 100% !important;
  max-width: 40rem !important;
  margin: 0 0 clamp(2rem, 4vw, 3rem) 0 !important;
  margin-left: 0 !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-inline: 0 !important;
  text-align: left !important;
  align-self: stretch !important;
  align-items: flex-start !important;
}

.home-page--preview .home-stack-head .eyebrow,
.home-page--preview .home-stack-head .eyebrow-gold,
.home-page--preview .home-stack-head .display-title,
.home-page--preview .home-stack-head h2,
.home-page--preview .home-stack-head .prose,
.home-page--preview .home-stack-head .home-see-inspirations__lede,
.home-page--preview main #experience-process .home-section-head .eyebrow,
.home-page--preview main #experience-process .home-section-head .eyebrow-gold,
.home-page--preview main #experience-process .home-section-head .display-title,
.home-page--preview main #experience-process .home-section-head h2,
.home-page--preview main #experience-process .home-section-head .prose,
.home-page--preview main #inspirations .home-section-head .eyebrow,
.home-page--preview main #inspirations .home-section-head .eyebrow-gold,
.home-page--preview main #inspirations .home-section-head .display-title,
.home-page--preview main #inspirations .home-section-head h2,
.home-page--preview main #inspirations .home-section-head .prose,
.home-page--preview main #inspirations .home-see-inspirations__lede {
  text-align: left !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  margin-inline: 0 !important;
  padding-left: 0 !important;
  float: none !important;
}

.home-page--preview .home-stack-head .eyebrow,
.home-page--preview .home-stack-head .eyebrow-gold,
.home-page--preview main #experience-process .home-section-head .eyebrow-gold,
.home-page--preview main #inspirations .home-section-head .eyebrow-gold {
  display: inline-block !important;
  margin: 0 0 0.85rem 0 !important;
  padding-bottom: 14px !important;
}

.home-page--preview .home-stack-head .eyebrow::after,
.home-page--preview .home-stack-head .eyebrow-gold::after,
.home-page--preview main #experience-process .home-section-head .eyebrow-gold::after,
.home-page--preview main #inspirations .home-section-head .eyebrow-gold::after {
  left: 0 !important;
  transform: none !important;
  width: 48px !important;
  background-color: #b49d87 !important;
}

.home-page--preview .home-stack-head .display-title,
.home-page--preview .home-stack-head h2,
.home-page--preview main #experience-process .home-section-head .display-title,
.home-page--preview main #experience-process .home-section-head h2,
.home-page--preview main #inspirations .home-section-head .display-title,
.home-page--preview main #inspirations .home-section-head h2 {
  max-width: 14em !important;
  margin: 0 0 var(--home-head-gap, 1rem) 0 !important;
  font-family: var(--font-heading) !important;
  font-size: var(--home-display-lg, clamp(2.35rem, 5vw, 4.5rem)) !important;
  font-weight: 500 !important;
  line-height: 1.1 !important;
  letter-spacing: -0.03em !important;
  color: var(--editorial-ink, var(--sanctuary-charcoal)) !important;
}

.home-page--preview .home-stack-head .prose,
.home-page--preview .home-stack-head .home-see-inspirations__lede,
.home-page--preview main #experience-process .home-section-head .prose,
.home-page--preview main #inspirations .home-see-inspirations__lede {
  max-width: 420px !important;
  margin: 0 !important;
  font-size: clamp(17px, 1.5vw, 20px) !important;
  line-height: 1.65 !important;
  color: rgba(67, 59, 51, 0.74) !important;
}

@media (max-width: 768px) {
  .home-page--preview .home-stack-head,
  .home-page--preview main #experience-process .home-section-head,
  .home-page--preview main #inspirations .home-section-head,
  .home-page--preview main #inspirations .home-section-head .display-title,
  .home-page--preview main #inspirations .home-see-inspirations__lede {
    text-align: left !important;
    margin-left: 0 !important;
    margin-inline: 0 !important;
  }
}
/* Kill all header/eyebrow underlines sitewide */
.eyebrow::after,
.eyebrow-gold::after,
.home-page--preview .eyebrow::after,
.home-page--preview .eyebrow-gold::after,
.home-page--preview main .eyebrow::after,
.home-page--preview main .eyebrow-gold::after,
.home-page--preview .home-section-head .eyebrow::after,
.home-page--preview .home-section-head .eyebrow-gold::after,
.home-page--preview .sanctuary-intention-copy .eyebrow::after,
.home-page--preview .sanctuary-intention-copy .eyebrow-gold::after,
.home-page--preview .sanctuary-philosophy-content .eyebrow::after,
.home-page--preview .sanctuary-philosophy-content .eyebrow-gold::after,
.home-page--preview .home-see-inspirations__head .eyebrow::after,
.home-page--preview .home-see-inspirations__head .eyebrow-gold::after,
.home-page--preview .home-experience-process__head .eyebrow::after,
.home-page--preview .home-experience-process__head .eyebrow-gold::after,
.home-page--preview .home-stack-head .eyebrow::after,
.home-page--preview .home-stack-head .eyebrow-gold::after,
.home-page--preview main #experience-process .home-section-head .eyebrow-gold::after,
.home-page--preview main #inspirations .home-section-head .eyebrow-gold::after,
.site-chrome .eyebrow::after,
.site-chrome .eyebrow-gold::after {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  background: none !important;
  border: 0 !important;
  transform: none !important;
}

.home-page--preview .eyebrow,
.home-page--preview .eyebrow-gold,
.home-page--preview main .eyebrow,
.home-page--preview main .eyebrow-gold,
.home-page--preview .home-stack-head .eyebrow,
.home-page--preview .home-stack-head .eyebrow-gold {
  padding-bottom: 0 !important;
}
/* See Inspiration lede — keep as continuous single flow */
.home-page--preview .home-see-inspirations__lede,
.home-page--preview main #inspirations .home-see-inspirations__lede,
.home-page--preview .home-stack-head .home-see-inspirations__lede {
  max-width: min(42rem, 100%) !important;
  white-space: normal;
  text-wrap: pretty;
}

@media (min-width: 900px) {
  .home-page--preview .home-see-inspirations__lede,
  .home-page--preview main #inspirations .home-see-inspirations__lede {
    /* Wide enough that the second sentence stays one line on desktop */
    max-width: 48rem !important;
  }
}
/* Experience & Process lede — keep full sentence on one row (desktop) */
.home-page--preview .home-experience-process__head .prose,
.home-page--preview .home-experience-process--difference .home-experience-process__head .prose,
.home-page--preview main #experience-process .home-section-head .prose,
.home-page--preview .home-stack-head.home-experience-process__head .prose {
  max-width: min(48rem, 100%) !important;
  white-space: normal;
  text-wrap: pretty;
}

@media (min-width: 900px) {
  .home-page--preview .home-experience-process__head .prose,
  .home-page--preview .home-experience-process--difference .home-experience-process__head .prose,
  .home-page--preview main #experience-process .home-section-head .prose,
  .home-page--preview .home-stack-head.home-experience-process__head .prose {
    max-width: 52rem !important;
    white-space: nowrap;
  }
}

@media (max-width: 899px) {
  .home-page--preview .home-experience-process__head .prose,
  .home-page--preview main #experience-process .home-section-head .prose {
    white-space: normal !important;
  }
}

/* ==========================================================================
   HOMEPAGE MOBILE-FIRST (rem + touch) — base = phone, then min-width
   Section order: hero → our work → philosophy → difference → inspiration
   → process → time for a change → footer
   ========================================================================== */

/* Base (smartphones first) */
.home-page--preview {
  --home-touch: 2.75rem; /* 44px @ 16px root — touch-friendly */
  --home-gutter: 1rem;
  --home-section-y: 3.5rem;
  --home-gap: 1rem;
  --home-gap-lg: 1.5rem;
  --home-type-h1: clamp(1.75rem, 7vw, 2.25rem);
  --home-type-h2: clamp(1.5rem, 5.5vw, 1.85rem);
  --home-type-body: 1rem;
  --home-type-lh: 1.55;
}

.home-page--preview main > section.ssb-page-section,
.home-page--preview main > section.sanctuary-intention-section,
.home-page--preview main > section.sanctuary-philosophy-section {
  padding-block: var(--home-section-y);
  padding-inline: 0;
}

.home-page--preview .home-stack-inner,
.home-page--preview .home-experience-process__inner,
.home-page--preview .home-see-inspirations__inner,
.home-page--preview .investment-featured,
.home-page--preview main #investment > .container-sb,
.home-page--preview main #experience-process > .container-sb,
.home-page--preview main #inspirations > .container-sb {
  width: calc(100% - var(--home-gutter) * 2) !important;
  max-width: none !important;
  margin-inline: auto !important;
  padding-inline: 0 !important;
  gap: var(--home-gap-lg);
  box-sizing: border-box !important;
}

/* Touch-friendly controls — content CTAs only (not header Inquire / nav chrome) */
.home-page--preview .btn-outline,
.home-page--preview .sanctuary-submit-btn,
.home-page--preview .inspiration-collection__materials-btn,
.home-page--preview .site-phone-fab {
  min-height: var(--home-touch) !important;
  min-width: var(--home-touch);
  padding-inline: 1.25rem;
  font-size: 0.75rem;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

/* Header Inquire: touch size only — keep founder header type tokens */
.home-page--preview .btn-inquire--founder {
  min-height: var(--header-control-size, 2.5rem);
  min-width: auto;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

.home-page--preview .investment-featured__cta .btn-outline,
.home-page--preview .home-section-cta .btn-outline {
  display: inline-flex;
  width: 100%;
  max-width: 100%;
  justify-content: center;
  align-items: center;
  min-height: var(--home-touch) !important;
}

.home-page--preview .btn-nav-toggle__circle {
  min-width: var(--home-touch);
  min-height: var(--home-touch);
}

/* Type — mobile base (1rem body) */
.home-page--preview main .hero-title {
  font-size: var(--home-type-h1) !important;
  line-height: 1.15 !important;
  margin-bottom: 0.75rem !important;
}

.home-page--preview main .hero-lead {
  font-size: 1rem !important;
  line-height: var(--home-type-lh) !important;
  max-width: 100% !important;
}

.home-page--preview .home-stack-head .display-title,
.home-page--preview .home-stack-head h2,
.home-page--preview main .home-section-head .display-title,
.home-page--preview main .home-section-head h2 {
  font-size: var(--home-type-h2) !important;
  line-height: 1.15 !important;
  max-width: 100% !important;
  white-space: normal !important;
}

.home-page--preview .home-stack-head .prose,
.home-page--preview .home-see-inspirations__lede,
.home-page--preview main .prose {
  font-size: 1rem !important;
  line-height: var(--home-type-lh) !important;
  max-width: 100% !important;
  white-space: normal !important;
}

/* Grids: 1 column on phone */
.home-page--preview .sanctuary-detail-grid--row4,
.home-page--preview .sanctuary-detail-grid--process,
.home-page--preview .home-inspiration-grid--row3 {
  grid-template-columns: 1fr !important;
  gap: var(--home-gap) !important;
}

.home-page--preview .investment-featured {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: var(--home-gap-lg) !important;
}

.home-page--preview .investment-featured__media {
  width: 100% !important;
  max-width: 22rem;
  justify-self: center;
}

/* Desktop: Portfolio — same image footprint as philosophy section */
@media (min-width: 56.25rem) {
  .home-page--preview main #investment > .container-sb.investment-featured {
    max-width: 1320px !important;
  }

  .home-page--preview .investment-featured {
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr) !important;
    gap: clamp(2.5rem, 5vw, 4rem) !important;
    align-items: stretch !important;
    min-height: 0 !important;
  }

  .home-page--preview .investment-featured__copy {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    max-width: none !important;
  }

  .home-page--preview .investment-featured__media,
  .home-page--preview .investment-featured__media.ba-pair-clean {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: 100% !important;
    justify-self: stretch !important;
    align-self: stretch !important;
  }

  .home-page--preview .ba-pair-clean {
    height: 100% !important;
    min-height: 0 !important;
  }

  .home-page--preview .ba-pair-clean__open {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
  }

  .home-page--preview .ba-pair-clean__grid {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1792 / 1008 !important;
    max-height: none !important;
    gap: 0 !important;
    border: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .home-page--preview .ba-pair-clean__cell img {
    object-fit: cover !important;
    object-position: center center !important;
  }
}

@media (min-width: 75rem) {
  .home-page--preview .investment-featured {
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr) !important;
  }
}

.home-page--preview .sanctuary-philosophy-wrap {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: var(--home-gap-lg) !important;
}

.home-page--preview .sanctuary-detail-card {
  min-height: 0 !important;
  padding: 1.25rem !important;
}

.home-page--preview .sanctuary-detail-card h3 {
  font-size: 1.25rem !important;
}

.home-page--preview .sanctuary-detail-card p {
  font-size: 1rem !important;
  line-height: var(--home-type-lh) !important;
}

.home-page--preview .inspiration-collection__materials-btn {
  width: 100%;
  justify-content: center;
}

/* Allow process/inspiration ledes to wrap on small screens */
.home-page--preview .home-experience-process__head .prose,
.home-page--preview main #experience-process .home-section-head .prose {
  white-space: normal !important;
  max-width: 100% !important;
}

/* Tablet+ (min-width) */
@media (min-width: 40rem) {
  .home-page--preview {
    --home-gutter: 1.5rem;
    --home-section-y: 4.5rem;
    --home-gap: 0.875rem;
    --home-gap-lg: 2rem;
  }

  .home-page--preview .sanctuary-detail-grid--row4,
  .home-page--preview .sanctuary-detail-grid--process {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .home-page--preview .home-inspiration-grid--row3 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .home-page--preview .investment-featured__cta .btn-outline,
  .home-page--preview .home-section-cta .btn-outline {
    width: auto;
    max-width: none;
  }
}

/* Desktop (min-width) */
@media (min-width: 56.25rem) {
  .home-page--preview {
    --home-gutter: clamp(1.5rem, 4vw, 4.75rem);
    --home-section-y: clamp(5rem, 9vw, 8rem);
    --home-type-h1: clamp(2.5rem, 5vw, 4rem);
    --home-type-h2: clamp(2rem, 3.5vw, 3.25rem);
  }

  .home-page--preview .home-stack-inner,
  .home-page--preview .home-experience-process__inner,
  .home-page--preview .home-see-inspirations__inner,
  .home-page--preview main #investment > .container-sb,
  .home-page--preview main #experience-process > .container-sb,
  .home-page--preview main #inspirations > .container-sb {
    width: min(var(--ssb-max), calc(100% - var(--ssb-gutter) * 2)) !important;
    max-width: var(--ssb-max) !important;
  }

  .home-page--preview .sanctuary-detail-grid--row4 {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }

  .home-page--preview .sanctuary-detail-grid--process {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .home-page--preview .home-inspiration-grid--row3 {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }

  .home-page--preview .investment-featured {
    grid-template-columns: minmax(0, 1.05fr) minmax(17.5rem, 0.72fr) !important;
    align-items: center;
    gap: clamp(2.5rem, 6vw, 5.5rem) !important;
  }

  .home-page--preview .sanctuary-philosophy-wrap {
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr) !important;
  }

  .home-page--preview .home-experience-process__head .prose,
  .home-page--preview main #experience-process .home-section-head .prose {
    max-width: 52rem !important;
    white-space: nowrap !important;
  }

  .home-page--preview .home-see-inspirations__lede {
    max-width: 48rem !important;
  }
}

/* Large desktop */
@media (min-width: 75rem) {
  .home-page--preview {
    --home-section-y: clamp(6rem, 10vw, 10.5rem);
  }
}

/* See Inspiration — second lede sentence always one row (desktop/tablet) */
.home-page--preview .home-see-inspirations__lede-keep,
.home-page--preview main #inspirations .home-see-inspirations__lede-keep {
  display: inline-block;
  white-space: nowrap !important;
  max-width: none !important;
}

.home-page--preview .home-see-inspirations__lede,
.home-page--preview main #inspirations .home-see-inspirations__lede,
.home-page--preview .home-stack-head .home-see-inspirations__lede {
  max-width: min(52rem, 100%) !important;
  white-space: normal !important;
}

@media (min-width: 40rem) {
  .home-page--preview .home-see-inspirations__lede-keep {
    white-space: nowrap !important;
  }
}

/* Only allow wrap on very narrow phones to avoid horizontal scroll */
@media (max-width: 24.99rem) {
  .home-page--preview .home-see-inspirations__lede-keep {
    white-space: normal !important;
  }
}

/* Our Work carousel arrows — center-align with hero text block */
.our-work-page .work-carousel-toolbar,
.site-chrome.our-work-page .work-carousel-toolbar {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
  margin-inline: auto !important;
  text-align: center !important;
}

.our-work-page .work-portfolio-nav,
.site-chrome.our-work-page .work-portfolio-nav {
  display: inline-flex !important;
  justify-content: center !important;
  align-items: center !important;
  margin-inline: auto !important;
  float: none !important;
}

/* Our Work hero lead — one row on tablet+ */
.our-work-page .work-explore-lead {
  max-width: min(48rem, 100%);
  white-space: normal;
  text-wrap: pretty;
}

@media (min-width: 40rem) {
  .our-work-page .work-explore-lead {
    max-width: 52rem;
    white-space: nowrap;
    margin-left: auto;
    margin-right: auto;
  }
}

@media (max-width: 39.99rem) {
  .our-work-page .work-explore-lead {
    white-space: normal !important;
  }
}

.our-work-page .work-explore-title {
  margin-bottom: 0;
}

/* ===== FIXED PROCESS ACCORDION (mockup) ===== */
.home-process-acc.section-pad,
#experience-process.home-process-acc,
.site-chrome #experience-process.home-process-acc.section-light {
  padding: clamp(72px, 9vw, 120px) clamp(20px, 4vw, 32px);
  /* Match The Sanctuary Standard (.sanctuary-intention-bg) surface */
  background:
    radial-gradient(circle at 18% 20%, rgba(180, 157, 135, 0.22), transparent 34%),
    linear-gradient(135deg, #f7f5f1 0%, #eee8df 48%, #ded4c8 100%);
  border-bottom: none;
}

#experience-process .process-page-intro {
  max-width: 40rem;
  margin-inline: auto;
  text-align: center;
}

#experience-process .process-page-title {
  margin-top: 0.75rem;
  line-height: 1.15;
  text-align: center !important;
  margin-inline: auto !important;
  padding-left: 0 !important;
  max-width: 16em;
  font-family: var(--font-heading);
  font-weight: 500;
  color: var(--charcoal, var(--editorial-ink, #433b33));
}

#experience-process .process-page-lead {
  margin-top: 1.35rem;
  margin-inline: auto;
  max-width: 34rem;
  color: var(--slate, rgba(67, 59, 51, 0.74));
  text-align: center;
  font-family: var(--font-body);
  font-size: clamp(0.95rem, 1.4vw, 1.0625rem);
  line-height: 1.7;
}

#experience-process .process-page-intro .eyebrow,
#experience-process .process-page-intro .eyebrow-gold {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

.process-accordion {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  margin-top: 3.75rem;
  /* 20% narrower than full content rail */
  max-width: min(calc(var(--ssb-max, 72rem) * 0.8), 100%);
  width: 100%;
  margin-inline: auto;
  /* room for lift so neighbor cards don’t clip the hover rise */
  padding-block: 6px;
}

.process-acc-item {
  position: relative;
  margin: 0;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(67, 59, 51, 0.13);
  border-radius: 2px;
  overflow: hidden;
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
  box-shadow: 0 24px 60px rgba(67, 59, 51, 0.06);
  transition:
    transform 700ms var(--lux-ease, cubic-bezier(0.22, 1, 0.36, 1)),
    box-shadow 700ms var(--lux-ease, cubic-bezier(0.22, 1, 0.36, 1)),
    background 700ms ease,
    border-color 700ms ease;
}

/* Gold underline draw — same language as .sanctuary-detail-card::after */
.process-acc-item::after {
  content: "";
  position: absolute;
  left: 1.4rem;
  right: 1.4rem;
  bottom: 0.85rem;
  height: 1px;
  background: linear-gradient(
    90deg,
    rgba(197, 164, 110, 0.95),
    rgba(197, 164, 110, 0)
  );
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 700ms var(--lux-ease, cubic-bezier(0.22, 1, 0.36, 1));
  pointer-events: none;
  z-index: 1;
}

/* Expanded = same “lit” state as card hover */
.process-acc-item[open] {
  transform: translateY(-10px);
  background: rgba(255, 255, 255, 0.88);
  border-color: rgba(197, 164, 110, 0.38);
  box-shadow: 0 34px 84px rgba(67, 59, 51, 0.14);
  z-index: 2;
}

.process-acc-item[open]::after {
  transform: scaleX(1);
}

/* Hover (closed or open) — match Sanctuary Difference cards */
@media (hover: hover) {
  .process-acc-item:hover {
    transform: translateY(-10px);
    background: rgba(255, 255, 255, 0.88);
    border-color: rgba(197, 164, 110, 0.38);
    box-shadow: 0 34px 84px rgba(67, 59, 51, 0.14);
  }

  .process-acc-item:hover::after {
    transform: scaleX(1);
  }

  .process-acc-item:hover .process-acc-num {
    transform: translateY(-4px);
    color: rgba(180, 157, 135, 1);
  }
}

.process-acc-item[open] .process-acc-num {
  transform: translateY(-4px);
  color: rgba(180, 157, 135, 1);
}

.process-acc-summary {
  display: grid;
  grid-template-columns: 3.25rem minmax(0, 1fr) auto;
  align-items: center;
  gap: 1.25rem;
  padding: 1.4rem 1.6rem;
  cursor: pointer;
  list-style: none;
  user-select: none;
}

.process-acc-summary::-webkit-details-marker {
  display: none;
}

.process-acc-summary::marker {
  content: "";
}

.process-acc-num {
  font-family: var(--font-heading);
  font-size: 1.55rem;
  color: rgba(180, 157, 135, 0.82);
  font-weight: 400;
  line-height: 1;
  text-align: right;
  padding-right: 0.15rem;
  transition:
    transform 700ms var(--lux-ease, cubic-bezier(0.22, 1, 0.36, 1)),
    color 700ms ease;
}

.process-acc-title-wrap {
  display: flex;
  align-items: center;
  min-width: 0;
  min-height: 1.4em;
  overflow: hidden;
}

/* Accordion titles 01–05 — former Zero-Pressure / expanded-h4 size */
.process-acc-title {
  font-family: var(--font-heading);
  font-size: calc(clamp(1.05rem, 1.5vw, 1.25rem) * 0.81);
  font-weight: 500;
  color: var(--charcoal, var(--editorial-ink, #433b33));
  letter-spacing: -0.01em;
  line-height: 1.2;
  white-space: nowrap;
}

.process-acc-icon {
  font-size: 1.35rem;
  color: rgba(180, 157, 135, 0.95);
  transition: transform 700ms var(--lux-ease, cubic-bezier(0.22, 1, 0.36, 1)),
    color 700ms ease;
  line-height: 1;
  width: 1.5rem;
  text-align: center;
  flex-shrink: 0;
}

.process-acc-item[open] .process-acc-icon,
.process-acc-item:hover .process-acc-icon {
  color: rgba(180, 157, 135, 1);
}

.process-acc-item[open] .process-acc-icon {
  transform: rotate(45deg);
}

@media (prefers-reduced-motion: reduce) {
  .process-acc-item,
  .process-acc-item::after,
  .process-acc-num,
  .process-acc-icon {
    transition: none !important;
  }

  .process-acc-item[open],
  .process-acc-item:hover {
    transform: none;
  }
}

.process-acc-body {
  padding: 0 1.6rem 1.85rem 4.5rem;
  display: grid;
  gap: 1.5rem;
}

/* Expanded stage h4 (Zero-Pressure + 02–05) — former accordion-title size */
.process-sub h4 {
  margin: 0 0 0.4rem;
  font-size: clamp(0.92rem, calc((0.58rem + 0.55vw) * 1.15), 1.0925rem);
  font-weight: 600;
  letter-spacing: -0.015em;
  text-transform: none;
  color: var(--charcoal, var(--editorial-ink, #433b33));
}

/* Expanded stage body (01–05) — 10% smaller */
.process-sub p {
  margin: 0;
  font-size: 0.855rem;
  line-height: 1.7;
  color: var(--slate, rgba(67, 59, 51, 0.74));
  font-family: var(--font-body);
}

@media (max-width: 640px) {
  .process-acc-summary {
    grid-template-columns: 2.75rem 1fr auto;
    gap: 1rem;
    padding: 1.25rem;
  }

  .process-acc-num {
    font-size: 1.4rem;
  }

  /* Phones: allow wrap; keep swapped (former expanded-h4) scale */
  .process-acc-title {
    font-size: calc(clamp(1.05rem, 4vw, 1.2rem) * 0.81);
    white-space: normal;
  }

  .process-sub h4 {
    font-size: clamp(0.828rem, 3.335vw, 0.9775rem);
  }

  .process-acc-body {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  .process-accordion {
    margin-top: 2.5rem;
  }
}

/* One-open-at-a-time optional polish: none required — native details */

/* ===== Hero founder spacing UX (main) =====
   Clear rhythm: title → lead | quote → studio attribution */
.home-page--preview .hero-founder-layout {
  gap: clamp(2rem, 4.5vw, 4.25rem);
  align-items: center;
  padding-block: clamp(1.75rem, 3.5vw, 3rem);
}

.home-page--preview .hero-founder-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
  max-width: min(38rem, 100%);
}

.home-page--preview main .hero-editorial--founder .hero-title {
  margin: 0 0 clamp(1.1rem, 2.2vw, 1.5rem);
  max-width: min(18ch, 100%);
  line-height: 1.12;
}

.home-page--preview main .hero-editorial--founder .hero-lead {
  margin: 0;
  max-width: min(36ch, 100%);
  font-size: clamp(1rem, 0.95rem + 0.25vw, 1.125rem);
  line-height: 1.65;
  letter-spacing: 0.01em;
  color: rgba(247, 245, 241, 0.9);
}

/* Quote card as a stacked text block */
.home-page--preview .hero-founder-note--prose {
  --founder-note-pad-y: clamp(1.6rem, 2.4vw, 2.35rem);
  --founder-note-pad-x: clamp(1.5rem, 2.2vw, 2.25rem);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0;
  width: min(100%, 32rem);
  max-width: min(100%, 32rem);
}

.home-page--preview .hero-founder-note--prose .hero-founder-note__quote {
  margin: 0;
  padding: 0;
  /* Philosophy typeface; readable hero quote size */
  font-family: var(--font-heading);
  font-size: clamp(1.125rem, 1.05rem + 0.4vw, 1.35rem);
  font-weight: 400;
  font-style: normal;
  line-height: 1.45;
  letter-spacing: -0.015em;
  text-shadow: none;
  color: var(--editorial-ink, var(--charcoal-espresso, #433b33));
}

/* Space + hairline between quote and studio name */
.home-page--preview main .hero-founder-note--prose .hero-founder-note__attribution,
.home-page--preview .hero-founder-note--prose .hero-founder-note__attribution.eyebrow,
.home-page--preview .hero-founder-note--prose .hero-founder-note__attribution.eyebrow-gold {
  display: block;
  width: fit-content;
  max-width: 100%;
  margin: clamp(1.25rem, 2.5vw, 1.75rem) 0 0 !important;
  padding: clamp(1rem, 1.8vw, 1.2rem) 0 0 !important;
  border-top: 1px solid rgba(197, 164, 110, 0.45);
  font-family: var(--font-body);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase !important;
  line-height: 1.45;
  color: var(--editorial-gold-text, #8a7040);
}

@media (max-width: 900px) {
  .home-page--preview .hero-founder-layout {
    gap: clamp(1.5rem, 5vw, 2rem);
    align-items: stretch;
  }

  .home-page--preview main .hero-editorial--founder .hero-title {
    margin-bottom: 1rem;
    max-width: min(20ch, 100%);
  }

  .home-page--preview main .hero-editorial--founder .hero-lead {
    max-width: min(42ch, 100%);
    line-height: 1.6;
  }

  .home-page--preview .hero-founder-note--prose {
    --founder-note-pad-y: 1.45rem;
    --founder-note-pad-x: 1.35rem;
    width: 100%;
    max-width: 100%;
    justify-self: stretch;
  }

  .home-page--preview main .hero-founder-note--prose .hero-founder-note__attribution,
  .home-page--preview .hero-founder-note--prose .hero-founder-note__attribution.eyebrow,
  .home-page--preview .hero-founder-note--prose .hero-founder-note__attribution.eyebrow-gold {
    margin-top: 1.15rem !important;
    padding-top: 0.95rem !important;
  }
}
/* ===== Sitewide UI/UX alignment + multi-device polish (2026-07) ===== */
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body.site-chrome,
body.home-page--preview {
  overflow-x: clip;
  max-width: 100vw;
}

/* Shared content measure + gutters for home + interior pages */
.site-chrome .container-sb,
.home-page--preview .container-sb {
  width: 100%;
  max-width: min(72rem, 100%);
  margin-inline: auto;
  padding-inline: max(1.25rem, env(safe-area-inset-left, 0px), env(safe-area-inset-right, 0px));
  box-sizing: border-box;
}

.site-chrome main,
.home-page--preview main {
  overflow-x: clip;
  width: 100%;
}

/* Uniform section vertical rhythm */
.site-chrome .ssb-page-section,
.site-chrome .section-pad,
.home-page--preview .ssb-page-section,
.home-page--preview main > section:not(.hero-editorial):not(.hero-full) {
  padding-block: clamp(3.5rem, 8vw, 6.5rem);
}

/* Section heads: left-aligned stack, consistent gaps */
.site-chrome .home-section-head,
.home-page--preview .home-section-head,
.home-page--preview .home-stack-head,
.home-page--preview .sanctuary-intention-copy.home-section-head {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  gap: 0.75rem;
  max-width: 42rem;
  margin-inline: 0;
  width: 100%;
}

.site-chrome .home-section-head .eyebrow,
.site-chrome .home-section-head .eyebrow-gold,
.home-page--preview .home-section-head .eyebrow,
.home-page--preview .home-section-head .eyebrow-gold {
  margin: 0 0 0.15rem !important;
}

.site-chrome .home-section-head .display-title,
.site-chrome .home-section-head h2,
.home-page--preview .home-section-head .display-title,
.home-page--preview .home-section-head h2 {
  margin: 0 !important;
  max-width: 22em;
  text-wrap: balance;
}

.site-chrome .home-section-head .prose,
.home-page--preview .home-section-head .prose,
.home-page--preview .home-see-inspirations__lede {
  margin: 0.35rem 0 0 !important;
  max-width: 40ch;
}

/* Our work featured: no CTA; balanced 2-col */
.home-page--preview .investment-featured,
.site-chrome .investment-featured {
  align-items: center;
}

.home-page--preview .investment-featured__copy .prose,
.site-chrome .investment-featured__copy .prose {
  margin-bottom: 0 !important;
}

/* Touch targets: Apple HIG / Material min 44px */
.site-chrome .btn-outline,
.site-chrome .btn-inquire,
.site-chrome .btn-inquire--founder,
.site-chrome .btn-nav-toggle__circle,
.site-chrome .inspiration-collection__materials-btn,
.home-page--preview .btn-outline,
.home-page--preview .btn-inquire,
.home-page--preview .btn-inquire--founder,
.home-page--preview .btn-nav-toggle__circle,
.home-page--preview .inspiration-collection__materials-btn,
.site-phone-fab {
  min-height: 44px;
  min-width: 44px;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

/* Images never overflow */
.site-chrome img,
.home-page--preview img,
.site-chrome picture,
.home-page--preview picture,
.site-chrome video,
.home-page--preview video {
  max-width: 100%;
  height: auto;
}

/* Process accordion: 20% narrower than content rail */
#experience-process .process-accordion,
.home-process-acc .process-accordion {
  width: 100%;
  max-width: min(calc(var(--ssb-max, 72rem) * 0.8), 100%);
  margin-inline: auto;
  box-sizing: border-box;
}

#experience-process .process-acc-summary {
  min-height: 3.25rem;
}

/* Inspiration cards: equal alignment */
.home-page--preview .home-inspiration-grid,
.home-page--preview .home-see-inspirations__list {
  width: 100%;
  align-items: stretch;
}

.home-page--preview .inspiration-collection {
  height: 100%;
  display: flex;
  flex-direction: column;
}

/* Safe-area footer / fab */
.site-chrome .site-footer,
.home-page--preview .site-footer {
  padding-bottom: max(2rem, env(safe-area-inset-bottom, 0px));
}

.site-phone-fab {
  right: max(16px, env(safe-area-inset-right, 0px));
  bottom: max(18px, env(safe-area-inset-bottom, 0px));
}

/* ----- Phones: 320–480 (SE, Pixel, Galaxy S series) ----- */
@media (max-width: 480px) {
  .site-chrome .container-sb,
  .home-page--preview .container-sb {
    padding-inline: max(1rem, env(safe-area-inset-left, 0px), env(safe-area-inset-right, 0px));
  }

  .site-chrome .ssb-page-section,
  .site-chrome .section-pad,
  .home-page--preview .ssb-page-section,
  .home-page--preview main > section:not(.hero-editorial):not(.hero-full) {
    padding-block: clamp(2.75rem, 10vw, 3.75rem);
  }

  .home-page--preview main .hero-title,
  .site-chrome .hero-title,
  .home-page--preview main .hero-editorial--founder .hero-title,
  .site-chrome .hero-editorial--founder .hero-title {
    font-size: calc(clamp(1.85rem, 8.5vw, 2.35rem) * 0.85) !important;
    line-height: 1.12 !important;
    max-width: 100% !important;
  }

  .home-page--preview main .hero-lead,
  .site-chrome .hero-lead {
    font-size: 0.98rem !important;
    line-height: 1.55 !important;
  }

  .home-page--preview .hero-founder-layout {
    gap: 1.25rem !important;
    width: 100%;
  }

  .home-page--preview .hero-founder-note--prose,
  .site-chrome .hero-founder-note--prose {
    width: 100% !important;
    max-width: 100% !important;
  }

  .home-page--preview .sanctuary-detail-grid,
  .home-page--preview .sanctuary-detail-grid--process,
  .home-page--preview .sanctuary-detail-grid--row4,
  .home-page--preview .home-inspiration-grid--row3 {
    grid-template-columns: 1fr !important;
    gap: 0.85rem !important;
  }

  .home-page--preview .investment-featured {
    grid-template-columns: 1fr !important;
    gap: 1.75rem !important;
  }

  .home-page--preview .investment-featured__media {
    width: min(100%, 20rem) !important;
    justify-self: center;
  }

  .process-acc-summary {
    grid-template-columns: 2.5rem 1fr auto !important;
    gap: 0.75rem !important;
    padding: 1.1rem 1rem !important;
  }

  .process-acc-body {
    padding: 0 1rem 1.35rem 1rem !important;
  }

  .site-header--founder .site-header-inner {
    width: calc(100% - 1.25rem) !important;
  }
}

/* ----- Large phones / phablets: Pixel 6, Galaxy S21+ (~412–480) ----- */
@media (min-width: 390px) and (max-width: 480px) {
  .home-page--preview main .hero-title,
  .home-page--preview main .hero-editorial--founder .hero-title {
    font-size: calc(clamp(2rem, 7.5vw, 2.5rem) * 0.85) !important;
  }
}

/* ----- Tablets: 641–1023 ----- */
@media (min-width: 641px) and (max-width: 1023px) {
  .site-chrome .container-sb,
  .home-page--preview .container-sb {
    padding-inline: max(1.75rem, env(safe-area-inset-left, 0px));
    max-width: min(56rem, 100%);
  }

  .home-page--preview .sanctuary-detail-grid--process,
  .home-page--preview .sanctuary-detail-grid--row4 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 1rem !important;
  }

  .home-page--preview .home-inspiration-grid--row3 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 1.15rem !important;
  }

  .home-page--preview .investment-featured {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr) !important;
    gap: 2rem !important;
    align-items: center;
  }

  .home-page--preview .investment-featured__media {
    width: min(100%, 18rem) !important;
    justify-self: end;
  }

  .home-page--preview .hero-founder-layout {
    grid-template-columns: 1fr !important;
    gap: 1.75rem !important;
  }
}

/* ----- Desktop: 1024+ ----- */
@media (min-width: 1024px) {
  .site-chrome .container-sb,
  .home-page--preview .container-sb {
    padding-inline: clamp(1.5rem, 4vw, 2.5rem);
    max-width: min(72rem, 100%);
  }

  .home-page--preview .sanctuary-detail-grid--process {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 1.15rem !important;
  }

  .home-page--preview .home-inspiration-grid--row3 {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 1.15rem !important;
  }

  .home-page--preview .investment-featured {
    grid-template-columns: minmax(0, 1.05fr) minmax(280px, 0.72fr) !important;
    gap: clamp(2.5rem, 5vw, 4.5rem) !important;
  }

  .home-page--preview .hero-founder-layout {
    grid-template-columns: minmax(0, 1.05fr) minmax(min(100%, 20rem), 0.95fr) !important;
    gap: clamp(2rem, 4vw, 4rem) !important;
    align-items: center;
  }
}

/* Landscape phones: keep hero usable */
@media (max-height: 480px) and (orientation: landscape) {
  .home-page--preview main .hero-editorial--founder {
    min-height: auto !important;
    padding-block: 5.5rem 1.5rem !important;
  }

  .home-page--preview .hero-founder-layout {
    grid-template-columns: 1fr 1fr !important;
    gap: 1rem !important;
  }
}

/* Prefer reduced motion */
@media (prefers-reduced-motion: reduce) {
  .home-page--preview .site-header--founder {
    animation: none !important;
  }
}

/* Find your style — Style 01–04 always one row on desktop/tablet landscape */
.home-page--preview .home-inspiration-grid.home-inspiration-grid--row3,
.home-page--preview .home-see-inspirations__list.home-inspiration-grid--row3,
.home-inspiration-grid--row3 {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: clamp(0.75rem, 1.5vw, 1.25rem) !important;
  align-items: stretch !important;
  width: 100% !important;
}

@media (max-width: 1023px) {
  .home-page--preview .home-inspiration-grid.home-inspiration-grid--row3,
  .home-page--preview .home-see-inspirations__list.home-inspiration-grid--row3,
  .home-inspiration-grid--row3 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 1rem !important;
  }
}

@media (max-width: 560px) {
  .home-page--preview .home-inspiration-grid.home-inspiration-grid--row3,
  .home-page--preview .home-see-inspirations__list.home-inspiration-grid--row3,
  .home-inspiration-grid--row3 {
    grid-template-columns: 1fr !important;
    gap: 0.9rem !important;
  }
}

/* Compact card type so 4-up stays readable on one row */
@media (min-width: 1024px) {
  .home-page--preview main .home-inspiration-grid--row3 .inspiration-collection__title,
  .home-page--preview main .home-inspiration-grid--row3 h3 {
    font-size: clamp(1.15rem, 1.35vw, 1.45rem) !important;
    max-width: 12em !important;
  }

  .home-page--preview main .home-inspiration-grid--row3 .inspiration-collection__body,
  .home-inspiration-grid--row3 .inspiration-collection__body {
    font-size: 0.84rem !important;
    min-height: 4.2em !important;
    max-width: 24ch !important;
  }

  .home-inspiration-grid--row3 .inspiration-collection__copy {
    padding: 1.1rem 0.85rem 1.25rem !important;
  }

  .home-inspiration-grid--row3 .inspiration-collection__materials-btn {
    font-size: 0.65rem !important;
    padding-inline: 0.85rem !important;
  }
}

/* ==========================================================================
   Master UX polish (mobile-first · spacing · type · interaction · a11y)
   Preserves brand; refines rhythm, measure, and calm motion.
   Target viewports: 320 / 375 / 390 / 430 / 768 / 1024 / 1280 / 1440 / 1920
   ========================================================================== */

/* Global content measure + prose comfort */
.home-page--preview .prose,
.home-page--preview .prose-lead,
.home-page--preview .process-page-lead,
.site-chrome .prose,
.site-chrome .prose-lead {
  max-width: min(var(--measure, 65ch), 100%);
  font-size: var(--body-copy, 1rem);
  line-height: 1.7;
}

.home-page--preview .display-title,
.home-page--preview .section-heading,
.home-page--preview h2.sanctuary-heading,
.site-chrome .display-title {
  text-wrap: balance;
  max-width: 18em;
}

/* Compact header chrome on small screens — layout/safe-area only (no type) */
@media (max-width: 767px) {
  .home-page--preview .site-header-inner,
  .site-chrome .site-header-inner,
  .site-header--founder .site-header-inner {
    min-height: 3.75rem;
    padding-block: 0.65rem;
    padding-inline: max(0.85rem, env(safe-area-inset-left, 0px)) max(0.85rem, env(safe-area-inset-right, 0px));
    gap: 0.5rem;
  }

  main {
    padding-top: 3.75rem;
  }

  .scroll-mt {
    scroll-margin-top: 4.25rem;
  }
}

/*
  Header nav + menu panel: leave alone.
  Typography lives only in founder header / drawer rules above.
  Touch targets only here — no font-size, letter-spacing, or weight overrides.
*/
.nav-drawer__close {
  min-width: 44px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.btn-nav-toggle {
  min-height: 44px;
  min-width: 44px;
}

/* Standard cards: readable body, balanced min height */
.home-page--preview .sanctuary-detail-card {
  min-height: 0;
  padding: clamp(1.35rem, 2.5vw, 2.15rem);
}

.home-page--preview .sanctuary-detail-card p {
  font-size: clamp(0.95rem, 0.9rem + 0.2vw, 1.05rem);
  line-height: 1.65;
  max-width: 38ch;
}

.home-page--preview .sanctuary-detail-card h3 {
  font-size: clamp(1.35rem, 1.1rem + 0.9vw, 1.85rem);
  line-height: 1.15;
  text-wrap: balance;
}

/* Framework accordion: clearer hit area */
#experience-process .process-acc-summary {
  min-height: 48px;
  cursor: pointer;
  gap: var(--space-3, 1rem);
}

#experience-process .process-acc-title {
  white-space: nowrap;
}

/* Section rhythm: intentional, not sparse */
.home-page--preview main > section.ssb-page-section,
.home-page--preview main > section.section-pad,
.home-page--preview main > section.sanctuary-intention-section,
.home-page--preview main > section.home-process-acc {
  padding-block: var(--ssb-section-y);
}

/* Philosophy: slightly tighter top on mobile */
@media (max-width: 767px) {
  .home-page--preview main > section.sanctuary-philosophy-section.ssb-page-section {
    padding-top: clamp(2.75rem, 8vw, 3.5rem);
    padding-bottom: clamp(3rem, 10vw, 4rem);
  }
}

/* Large / ultrawide: keep content centered in a calm rail */
@media (min-width: 1440px) {
  .home-page--preview .container-sb,
  .site-chrome .container-sb {
    max-width: min(72rem, 100%);
    padding-inline: clamp(2rem, 5vw, 3.5rem);
  }

  .home-page--preview main > section.ssb-page-section,
  .home-page--preview main > section.section-pad {
    padding-block: clamp(5rem, 6vw, 7.5rem); /* 80–120px desktop */
  }
}

@media (min-width: 1920px) {
  .home-page--preview .container-sb,
  .site-chrome .container-sb {
    max-width: min(75rem, 100%);
  }
}

/* Grid/flex children may shrink to avoid horizontal overflow */
.home-page--preview main > section,
.home-page--preview .container-sb,
.home-page--preview .sanctuary-detail-grid > *,
.home-page--preview .investment-featured > *,
.home-page--preview .hero-founder-layout > *,
.home-page--preview .sanctuary-philosophy-wrap > * {
  min-width: 0;
}

.home-page--preview img,
.home-page--preview video,
.home-page--preview iframe,
.site-chrome img,
.site-chrome video {
  max-width: 100%;
}

/* Focus states for interactive chrome */
.btn-inquire:focus-visible,
.btn-nav-toggle:focus-visible,
.site-nav-desktop a:focus-visible,
.site-nav-panel__link:focus-visible,
.process-acc-summary:focus-visible,
.ba-pair-clean__open:focus-visible {
  outline: 2px solid rgba(197, 164, 110, 0.65);
  outline-offset: 3px;
}

/* Soften long entrance animations that block content */
@media (prefers-reduced-motion: no-preference) {
  .home-page--preview .hero-founder-note--fade {
    animation-duration: 0.7s;
    animation-delay: 0.25s;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-page--preview .reveal-up,
  .home-page--preview .hero-founder-note--fade,
  .site-chrome .reveal-up {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
    transition: none !important;
  }

  .home-page--preview .sanctuary-detail-card.is-visible:hover,
  .home-page--preview .sanctuary-philosophy-callout.is-visible:hover,
  .home-page--preview .hero-founder-note:hover {
    transform: none !important;
  }
}

/* 320px safety (iPhone SE 1st gen / small Androids) */
@media (max-width: 360px) {
  .home-page--preview main .hero-title,
  .home-page--preview main .hero-editorial--founder .hero-title {
    font-size: calc(1.7rem * 0.85) !important;
    line-height: 1.15 !important;
  }

  .home-page--preview .process-acc-num {
    font-size: 0.85rem;
  }

  .home-page--preview .sanctuary-detail-card {
    padding: 1.15rem !important;
  }
}




/* ==========================================================================
   SANCTUARY 1rem Type + Spacing System — applied to brand classes
   Fonts: Cormorant Garamond (heading) + Source Sans 3 (body)
   No changes to animation timing / hover transforms.
   ========================================================================== */

html {
  font-size: 100%;
}

/* Body / paragraphs */
p,
.prose,
.prose-lead,
.process-page-lead,
.sanctuary-detail-card p,
.inspiration-collection__body,
.home-see-inspirations__lede {
  font-size: var(--text-base, 1rem);
  line-height: 1.7;
  margin-bottom: var(--space-md, 1rem);
}

/* Lead / intro */
.lead,
.hero-lead,
.hero-subtitle,
.section-intro,
.process-page-lead {
  font-size: var(--text-md, 1.125rem);
  line-height: 1.65;
}

/* Eyebrows / captions */
.small-text,
.caption,
.eyebrow,
.eyebrow-gold {
  font-size: var(--text-sm, 0.875rem);
  line-height: 1.4;
  letter-spacing: 0.08em;
}

/* Section headers (h2 pattern) */
.display-title,
.section-heading,
.process-page-title,
.site-footer-cta-band__title,
.home-page--preview .display-title,
.home-page--preview h2.sanctuary-heading,
.assurance-header .display-md {
  font-family: var(--font-heading);
  font-size: var(--text-3xl, 2.75rem);
  line-height: 1.1;
  letter-spacing: -0.02em;
  font-weight: 500;
}

/* Card / process titles (h3–h4 pattern) */
.sanctuary-detail-card h3.sanctuary-heading,
.inspiration-collection__title {
  font-family: var(--font-heading);
  font-size: var(--text-2xl, 2rem);
  line-height: 1.15;
  font-weight: 500;
}

/* Framework accordion titles 01–05 — swapped: former Zero-Pressure size */
.process-acc-title {
  font-family: var(--font-heading);
  font-size: calc(var(--text-xl, 1.5rem) * 0.81);
  line-height: 1.2;
  font-weight: 500;
  letter-spacing: -0.01em;
  white-space: nowrap;
}

/* Expanded h4 01–05 (Zero-Pressure etc.) — swapped: former accordion-title size */
#experience-process .process-sub h4,
.home-process-acc .process-sub h4,
.process-sub h4 {
  font-family: var(--font-heading);
  font-size: clamp(0.92rem, calc((0.58rem + 0.55vw) * 1.15), 1.0925rem);
  line-height: 1.25;
  font-weight: 500;
  letter-spacing: -0.015em;
}

/* Expanded stage body copy 01–05 — 10% smaller */
#experience-process .process-sub p,
.home-process-acc .process-sub p,
.process-sub p {
  font-size: 0.855rem;
  line-height: 1.7;
}

/* Hero h1 — system 4xl with prior 15% reduction */
.hero-editorial--founder .hero-title,
.home-page--preview main .hero-editorial--founder .hero-title {
  font-family: var(--font-heading);
  font-size: calc(var(--text-4xl, 4rem) * 0.85);
  line-height: 1.05;
  letter-spacing: -0.03em;
  font-weight: 500;
}

/* Buttons — main content only (header Inquire + nav/menu chrome left alone) */
main .btn-outline,
main .sanctuary-submit-btn,
main .inspiration-collection__materials-btn,
.site-footer-cta-band .sanctuary-submit-btn {
  font-family: var(--font-body);
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.04em;
}

/* Forms — 16px prevents iOS zoom (not header/nav) */
.inquire-field input,
.inquire-field textarea,
#contact-form input,
#contact-form textarea,
.inquire-field label {
  font-family: var(--font-body);
  font-size: 1rem;
  line-height: 1.5;
}

/* Footer */
.site-footer-refined__copy,
.site-footer-service-areas,
.site-footer-refined__legal a {
  font-size: var(--text-sm, 0.875rem);
  line-height: 1.6;
}

.credentials-strip__item {
  font-size: var(--text-sm, 0.875rem);
}

/* Cards padding rhythm */
.sanctuary-detail-card,
.inspiration-collection,
.assurance-card {
  /* spacing tokens available; existing padding preserved unless overridden below */
}

/* Phones */
@media (max-width: 600px) {
  :root {
    --container-padding: 1rem;
    --text-4xl: 2.5rem;
    --text-3xl: 2rem;
    --text-2xl: 1.5rem;
    --text-xl: 1.25rem;
    --space-3xl: 3rem;
    --space-4xl: 4rem;
  }

  .home-page--preview main > section.ssb-page-section,
  .home-page--preview main > section.section-pad,
  .home-page--preview main > section.home-process-acc,
  .home-page--preview main > section.assurance-band,
  .home-page--preview main > section.home-assurances {
    padding-block: var(--space-3xl, 3rem);
  }

  .hero-editorial--founder .hero-title,
  .home-page--preview main .hero-editorial--founder .hero-title {
    font-size: calc(var(--text-4xl) * 0.85) !important;
  }

  body,
  main p,
  main .prose,
  main .sanctuary-submit-btn,
  .inquire-field input,
  .inquire-field textarea,
  #contact-form input,
  #contact-form textarea {
    font-size: 1rem;
  }
}

/* Tablets */
@media (min-width: 601px) and (max-width: 1024px) {
  :root {
    --container-padding: 2rem;
    --text-4xl: 3.25rem;
    --text-3xl: 2.5rem;
    --text-2xl: 1.75rem;
    --text-xl: 1.375rem;
  }

  .home-page--preview main > section.ssb-page-section,
  .home-page--preview main > section.section-pad {
    padding-block: var(--space-3xl, 4rem);
  }

  body, p, .prose {
    font-size: 1rem;
  }
}

/* Laptops / MacBook Air–Pro */
@media (min-width: 1025px) and (max-width: 1440px) {
  :root {
    --container-padding: 3rem;
    --text-4xl: 4rem;
    --text-3xl: 2.75rem;
    --text-2xl: 2rem;
  }

  body, p, .prose {
    font-size: 1rem;
  }

  .hero-editorial--founder .hero-title,
  .home-page--preview main .hero-editorial--founder .hero-title {
    font-size: calc(var(--text-4xl) * 0.85) !important;
  }
}

/* Large desktop */
@media (min-width: 1441px) {
  :root {
    --container-padding: 4rem;
    --text-4xl: 4.75rem;
    --text-3xl: 3.25rem;
    --text-2xl: 2.25rem;
  }

  body, p, .prose {
    font-size: 1rem;
  }

  .hero-editorial--founder .hero-title,
  .home-page--preview main .hero-editorial--founder .hero-title {
    font-size: calc(var(--text-4xl) * 0.85) !important;
  }
}

/* ==========================================================================
   Credentials strip (after Framework, before CTA)
   ========================================================================== */

.credentials-strip.home-assurances,
.home-assurances.credentials-strip {
  background: var(--white, #ffffff);
  border-top: 1px solid var(--border-soft, #dedcd7);
  border-bottom: 1px solid var(--border-soft, #dedcd7);
  padding-block: clamp(1.35rem, 3vw, 1.85rem);
}

.credentials-strip__inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0.75rem 1.15rem;
  text-align: center;
  max-width: 72rem;
  margin-inline: auto;
}

.credentials-strip__item {
  font-family: var(--font-body);
  font-size: clamp(0.75rem, 0.7rem + 0.2vw, 0.875rem);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  line-height: 1.45;
  color: var(--charcoal, #433b33);
}

.credentials-strip__sep {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--gold, #b49d87);
  opacity: 0.75;
  flex-shrink: 0;
}

@media (max-width: 640px) {
  .credentials-strip__sep {
    display: none;
  }

  .credentials-strip__inner {
    flex-direction: column;
    gap: 0.65rem;
  }

  .credentials-strip__item {
    letter-spacing: 0.06em;
  }
}


/* ==========================================================================
   DEVICE VISUAL OPTIMIZATION
   iPhone / Samsung / Pixel / Flip · iPad · MacBook Air · Desktop · Ultrawide
   Layout, spacing, grids, safe-areas only — no animation/hover timing changes.
   ========================================================================== */

html, body {
  max-width: 100%;
  overflow-x: clip;
}

.home-page--preview main,
.site-chrome main {
  overflow-x: clip;
}

.container-sb,
.home-page--preview .container-sb,
.site-chrome .container-sb {
  width: 100%;
  max-width: min(var(--content-max, 72rem), 100%);
  margin-inline: auto;
  padding-inline: max(var(--page-x, 1rem), env(safe-area-inset-left, 0px), env(safe-area-inset-right, 0px));
  box-sizing: border-box;
}

/* Foldables and very narrow (SE / Flip outer) */
@media (max-width: 360px) {
  .home-page--preview .site-header--founder .site-header-inner,
  .site-chrome .site-header--founder .site-header-inner {
    width: calc(100% - 0.85rem);
    gap: 0.35rem;
  }

  .home-page--preview .btn-nav-toggle__label,
  .site-chrome .btn-nav-toggle__label {
    display: none !important;
  }

  .credentials-strip__item {
    font-size: 0.7rem;
    letter-spacing: 0.05em;
  }
}

/* Phones: iPhone / Pixel / Galaxy S */
@media (max-width: 430px) {
  .hero-founder-layout,
  .home-page--preview .hero-founder-layout {
    grid-template-columns: 1fr !important;
    gap: 1.15rem !important;
    padding-top: clamp(1.1rem, 4vw, 1.75rem);
    padding-bottom: clamp(1.1rem, 4vw, 1.75rem);
    width: 100%;
  }

  .hero-founder-copy,
  .home-page--preview .hero-founder-copy {
    max-width: 100% !important;
  }

  .hero-founder-note--prose,
  .home-page--preview .hero-founder-note--prose {
    width: 100% !important;
    max-width: 100% !important;
    justify-self: stretch;
  }

  .home-page--preview main .hero-editorial--founder {
    min-height: 100svh;
  }

  .sanctuary-philosophy-section--editorial .sanctuary-philosophy-wrap,
  .home-page--preview .sanctuary-philosophy-wrap {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 1.5rem !important;
  }

  .sanctuary-philosophy-callout {
    max-width: 100% !important;
  }

  .home-page--preview .investment-featured {
    grid-template-columns: 1fr !important;
    gap: 1.5rem !important;
  }

  .home-page--preview .investment-featured__media {
    width: 100% !important;
    max-width: 22rem;
    margin-inline: auto;
  }

  .home-page--preview .sanctuary-detail-grid,
  .home-page--preview .sanctuary-detail-grid--process {
    grid-template-columns: 1fr !important;
    gap: 0.85rem !important;
  }

  .home-page--preview .sanctuary-detail-card {
    min-height: 0 !important;
    padding: 1.25rem 1.15rem !important;
  }

  .home-page--preview .home-inspiration-grid--row3,
  .home-inspiration-grid--row3 {
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
  }

  .process-acc-summary {
    grid-template-columns: 2.25rem minmax(0, 1fr) auto !important;
    gap: 0.65rem !important;
    padding: 1rem 0.9rem !important;
    min-height: 3rem;
  }

  .process-acc-title {
    font-size: calc(var(--text-xl, 1.5rem) * 0.81) !important;
    line-height: 1.2 !important;
    white-space: normal !important;
  }

  .process-sub h4 {
    font-size: clamp(0.828rem, 3.335vw, 0.9775rem) !important;
    line-height: 1.25 !important;
  }

  .process-acc-body {
    padding: 0 0.9rem 1.25rem 0.9rem !important;
  }

  .credentials-strip__inner {
    flex-direction: column;
    gap: 0.55rem;
    padding-inline: 0.25rem;
  }

  .credentials-strip__sep {
    display: none;
  }

  .site-footer--refined {
    padding-bottom: max(2rem, calc(1.25rem + env(safe-area-inset-bottom, 0px)));
  }

  .site-phone-fab {
    width: 48px;
    height: 48px;
    bottom: max(16px, env(safe-area-inset-bottom, 0px));
    right: max(14px, env(safe-area-inset-right, 0px));
  }
}

/* Large phones / Flip open */
@media (min-width: 431px) and (max-width: 767px) {
  .hero-founder-layout,
  .home-page--preview .hero-founder-layout {
    grid-template-columns: 1fr !important;
    gap: 1.35rem !important;
  }

  .home-page--preview .sanctuary-detail-grid--process,
  .home-page--preview .home-inspiration-grid--row3 {
    grid-template-columns: 1fr !important;
  }

  .home-page--preview .investment-featured {
    grid-template-columns: 1fr !important;
  }
}

/* iPad portrait */
@media (min-width: 768px) and (max-width: 1023px) {
  .hero-founder-layout,
  .home-page--preview .hero-founder-layout {
    grid-template-columns: 1fr !important;
    max-width: 40rem;
    margin-inline: auto;
    gap: 1.75rem !important;
  }

  .home-page--preview .sanctuary-detail-grid--process {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 1rem !important;
  }

  .home-page--preview .home-inspiration-grid--row3,
  .home-inspiration-grid--row3 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 1.1rem !important;
  }

  .sanctuary-philosophy-section--editorial .sanctuary-philosophy-wrap,
  .home-page--preview .sanctuary-philosophy-wrap {
    grid-template-columns: 1fr !important;
    gap: 2rem;
  }

  .home-page--preview .investment-featured {
    grid-template-columns: 1fr 1fr !important;
    gap: 1.75rem !important;
    align-items: center;
  }

  .process-accordion {
    max-width: 42rem;
    margin-inline: auto;
  }
}

/* iPad landscape / small laptop */
@media (min-width: 1024px) and (max-width: 1279px) {
  .hero-founder-layout,
  .home-page--preview .hero-founder-layout {
    grid-template-columns: minmax(0, 1.05fr) minmax(16rem, 0.9fr) !important;
    gap: clamp(1.25rem, 3vw, 2.25rem) !important;
    align-items: center;
  }

  .home-page--preview .sanctuary-detail-grid--process {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .home-page--preview .home-inspiration-grid--row3,
  .home-inspiration-grid--row3 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .home-page--preview main .hero-editorial--founder .hero-title {
    max-width: min(16ch, 100%);
  }
}

/* MacBook Air / 13-14 laptop */
@media (min-width: 1280px) and (max-width: 1519px) {
  .hero-founder-layout,
  .home-page--preview .hero-founder-layout {
    grid-template-columns: minmax(0, 1.05fr) minmax(18rem, 0.92fr) !important;
    gap: clamp(1.5rem, 3vw, 2.75rem) !important;
  }

  .home-page--preview .sanctuary-detail-grid--process {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 1rem !important;
  }

  .home-page--preview .home-inspiration-grid--row3,
  .home-inspiration-grid--row3 {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 1rem !important;
  }

  .site-header--founder .site-header-inner {
    width: min(1320px, calc(100% - 2.5rem));
  }

  .home-page--preview main .hero-editorial--founder {
    min-height: min(88svh, 100dvh);
  }
}

/* Desktop */
@media (min-width: 1520px) and (max-width: 1919px) {
  .container-sb,
  .home-page--preview .container-sb {
    max-width: min(72rem, 100%);
  }

  .hero-founder-layout,
  .home-page--preview .hero-founder-layout {
    grid-template-columns: minmax(0, 1.05fr) minmax(20rem, 0.95fr);
    gap: clamp(2rem, 4vw, 4rem);
  }

  .home-page--preview .sanctuary-detail-grid--process {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

/* Ultrawide */
@media (min-width: 1920px) {
  .container-sb,
  .home-page--preview .container-sb,
  .site-chrome .container-sb {
    max-width: min(75rem, 100%);
    padding-inline: clamp(2rem, 4vw, 3.5rem);
  }

  .hero-founder-layout {
    max-width: 75rem;
    margin-inline: auto;
  }
}

/* Short laptop height */
@media (max-height: 720px) and (min-width: 1024px) {
  .home-page--preview main .hero-editorial--founder {
    min-height: auto;
    padding-block: 5.5rem 2rem;
  }

  .hero-founder-layout {
    padding-top: 1rem;
    padding-bottom: 1rem;
    gap: 1.25rem !important;
  }
}

/* Landscape phones */
@media (max-height: 480px) and (orientation: landscape) and (max-width: 960px) {
  .home-page--preview main .hero-editorial--founder {
    min-height: auto !important;
    padding-block: 4.5rem 1.25rem !important;
  }

  .hero-founder-layout {
    grid-template-columns: 1fr 1fr !important;
    gap: 1rem !important;
  }
}


/* ==========================================================================
   MACBOOK AIR + IPAD PRO HERO
   Full hero image first; smaller readable type for laptop/tablet class.
   ========================================================================== */

/* iPad Pro and large tablets: 1024–1366 */
@media (min-width: 1024px) and (max-width: 1366px) {
  .home-page--preview main .hero-editorial--founder,
  .site-chrome main .hero-editorial--founder,
  .hero-editorial--founder {
    min-height: 0 !important;
    height: auto !important;
    aspect-ratio: 16 / 10;
    max-height: 100svh;
    align-items: center;
    padding-top: var(--header-h, 88px);
    padding-bottom: 0;
  }

  .home-page--preview main .hero-editorial--founder .hero-editorial__media img,
  .hero-editorial--founder .hero-editorial__media img {
    object-fit: cover;
    object-position: center 40%;
    width: 100%;
    height: 100%;
  }

  .home-page--preview main .hero-editorial--founder {
    --hero-type-h1: clamp(1.85rem, 2.8vw + 1rem, 2.55rem);
    --hero-type-base: 0.95rem;
    --hero-type-lh: 1.55;
    --hero-type-copy-gap: 0.85rem;
  }

  .home-page--preview main .hero-editorial--founder .hero-title,
  .hero-editorial--founder .hero-title {
    font-size: calc(var(--hero-type-h1) * 0.85) !important;
    line-height: 1.08 !important;
    max-width: min(16ch, 100%) !important;
    letter-spacing: -0.03em;
  }

  .home-page--preview main .hero-editorial--founder .hero-lead,
  .hero-editorial--founder .hero-lead {
    font-size: 0.95rem !important;
    line-height: 1.55 !important;
    max-width: min(38ch, 100%) !important;
  }

  .home-page--preview .hero-founder-note--prose .hero-founder-note__quote,
  .hero-founder-note--prose .hero-founder-note__quote {
    font-size: clamp(1.05rem, 1rem + 0.35vw, 1.2rem) !important;
    line-height: 1.45 !important;
  }

  .hero-founder-layout,
  .home-page--preview .hero-founder-layout {
    gap: clamp(1.1rem, 2.5vw, 1.75rem) !important;
    padding-top: clamp(0.75rem, 2vw, 1.25rem) !important;
    padding-bottom: clamp(0.75rem, 2vw, 1.25rem) !important;
  }
}

/* iPad Pro portrait */
@media (min-width: 1024px) and (max-width: 1366px) and (orientation: portrait) {
  .home-page--preview main .hero-editorial--founder,
  .hero-editorial--founder {
    aspect-ratio: auto;
    min-height: min(72svh, 900px) !important;
    height: min(72svh, 900px) !important;
  }

  .hero-founder-layout,
  .home-page--preview .hero-founder-layout {
    grid-template-columns: 1fr !important;
    max-width: 36rem;
    margin-inline: auto;
  }

  .home-page--preview main .hero-editorial--founder .hero-editorial__media img,
  .hero-editorial--founder .hero-editorial__media img {
    object-fit: cover;
    object-position: center center;
  }
}

/* MacBook Air / 13–14 laptop: 1280–1519 */
@media (min-width: 1280px) and (max-width: 1519px) {
  .home-page--preview main .hero-editorial--founder,
  .site-chrome main .hero-editorial--founder,
  .hero-editorial--founder {
    min-height: 0 !important;
    height: auto !important;
    aspect-ratio: 16 / 10;
    max-height: 100svh;
    padding-top: var(--header-h, 88px);
  }

  .home-page--preview main .hero-editorial--founder .hero-editorial__media img,
  .hero-editorial--founder .hero-editorial__media img {
    object-fit: cover;
    object-position: center 42%;
  }

  .home-page--preview main .hero-editorial--founder {
    --hero-type-h1: clamp(1.9rem, 2.2vw + 0.9rem, 2.65rem);
    --hero-type-base: 0.9375rem;
    --hero-type-lh: 1.55;
    --hero-type-copy-gap: 0.8rem;
  }

  .home-page--preview main .hero-editorial--founder .hero-title,
  .hero-editorial--founder .hero-title {
    font-size: calc(var(--hero-type-h1) * 0.85) !important;
    line-height: 1.08 !important;
    max-width: min(15ch, 100%) !important;
  }

  .home-page--preview main .hero-editorial--founder .hero-lead,
  .hero-editorial--founder .hero-lead {
    font-size: 0.9375rem !important;
    line-height: 1.55 !important;
    max-width: min(36ch, 100%) !important;
  }

  .home-page--preview .hero-founder-note--prose .hero-founder-note__quote,
  .hero-founder-note--prose .hero-founder-note__quote {
    font-size: clamp(1.05rem, 0.95rem + 0.35vw, 1.2rem) !important;
    line-height: 1.45 !important;
  }

  .hero-founder-layout,
  .home-page--preview .hero-founder-layout {
    grid-template-columns: minmax(0, 1.05fr) minmax(17rem, 0.9fr) !important;
    gap: clamp(1.15rem, 2.5vw, 2rem) !important;
    padding-top: clamp(0.65rem, 1.5vw, 1.15rem) !important;
    padding-bottom: clamp(0.65rem, 1.5vw, 1.15rem) !important;
    align-items: center;
  }

  .hero-founder-note--prose,
  .home-page--preview .hero-founder-note--prose {
    max-width: min(100%, 22rem) !important;
  }
}

/* Short MacBook Air heights: fit full hero in first viewport */
@media (min-width: 1280px) and (max-width: 1519px) and (max-height: 920px) {
  .home-page--preview main .hero-editorial--founder,
  .hero-editorial--founder {
    aspect-ratio: auto;
    height: 100svh !important;
    min-height: 100svh !important;
    max-height: 100svh;
  }

  .home-page--preview main .hero-editorial--founder .hero-editorial__media img,
  .hero-editorial--founder .hero-editorial__media img {
    object-fit: cover;
    object-position: center 38%;
  }

  .home-page--preview main .hero-editorial--founder .hero-title,
  .hero-editorial--founder .hero-title {
    font-size: clamp(1.55rem, 2vw + 0.75rem, 2.15rem) !important;
  }

  .home-page--preview main .hero-editorial--founder .hero-lead {
    font-size: 0.9rem !important;
  }
}

/* ==========================================================================
   LOCK: header nav + menu panel type (type systems must not restyle chrome)
   Desktop nav · Menu toggle · Left drawer links/brand · Header Inquire
   ========================================================================== */
.site-header--founder .site-nav-desktop--quiet a {
  font-family: var(--font-body);
  font-size: var(--header-nav-size, var(--panel-nav-size));
  font-weight: var(--panel-nav-weight);
  letter-spacing: var(--panel-nav-ls);
  text-transform: uppercase;
  line-height: 1.45;
}

.site-header--founder .btn-inquire--founder {
  font-family: var(--font-body);
  font-size: var(--header-inquire-size, 0.8125rem);
  font-weight: 400;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.site-header--founder .btn-nav-toggle__label {
  font-size: 0.62rem;
  letter-spacing: 0.38em;
  font-weight: 800;
  font-family: var(--font-body);
}

.nav-drawer .site-nav-panel--drawer .site-nav-panel__link,
.site-nav-panel--drawer .site-nav-panel__link {
  font-family: var(--font-body);
  font-size: var(--panel-nav-size);
  font-weight: var(--panel-nav-weight);
  letter-spacing: var(--panel-nav-ls);
  text-transform: uppercase;
  line-height: 1.45;
}

.nav-drawer__brand .site-logo-title,
.nav-drawer .site-logo-title {
  font-size: calc(var(--header-logo-size, 1.25rem) * 1.15);
  letter-spacing: var(--header-logo-ls, 0.16em);
}

.nav-drawer__brand .site-logo-sub,
.nav-drawer .site-logo-sub {
  font-size: calc(var(--header-logo-tag, 0.65rem) * 1.15);
  letter-spacing: var(--header-logo-tag-ls, 0.18em);
}
