:root {
      --cream: #f3eadc;
      --cream-2: #e4d5bf;
      --white: #fffaf2;
      --sage: #69705a;
      --sage-dark: #26372f;
      --forest: #14251f;
      --terracotta: #b98a45;
      --terracotta-dark: #80602f;
      --gold: #d9ae68;
      --ink: #171a17;
      --muted: #555b55;
      --line: rgba(16,37,31,.18);
      --shadow: 0 20px 60px rgba(10,20,17,.16);
      --radius-lg: 26px;
      --radius-md: 16px;
      --radius-sm: 10px;
    }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
      margin: 0;
      color: var(--ink);
      background: var(--white);
      font-family: "DM Sans", sans-serif;
      font-size: 18px;
      line-height: 1.7;
      overflow-x: hidden;
    }
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
.container { width: min(1160px, calc(100% - 40px)); margin-inline: auto; }
.eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      color: var(--terracotta-dark);
      font-size: 0.78rem;
      font-weight: 700;
      letter-spacing: 0.16em;
      text-transform: uppercase;
    }
.eyebrow::before { content: ""; width: 34px; height: 2px; background: var(--gold); }
h1, h2, h3 { font-family: "Playfair Display", serif; line-height: 1.12; margin: 0; }
h1 { font-size: clamp(3.15rem, 6vw, 6.4rem); letter-spacing: -0.045em; }
h2 { font-size: clamp(2.25rem, 4vw, 4rem); letter-spacing: -0.035em; }
h3 { font-size: 1.65rem; }
p { margin: 0; }
.btn {
      display: inline-flex;
      justify-content: center;
      align-items: center;
      min-height: 58px;
      padding: 0 28px;
      font-size: 1rem;
      border-radius: 999px;
      border: 1px solid transparent;
      font-weight: 700;
      cursor: pointer;
      transition: 0.25s ease;
    }
.btn-primary { background: var(--gold); color: #111; box-shadow: 0 12px 28px rgba(139,49,83,.25); }
.btn-primary:hover { background: #f0c878; transform: translateY(-2px); }
.btn-secondary { border-color: rgba(255,255,255,.5); color: #fff; backdrop-filter: blur(10px); background: rgba(255,255,255,.08); }
.btn-secondary:hover { background: rgba(255,255,255,.16); }
.site-header {
      position: fixed;
      inset: 0 0 auto;
      z-index: 50;
      transition: 0.3s ease;
      color: #fff;
      background: rgba(10,22,18,.94);
      border-bottom: 1px solid rgba(225,179,95,.28);
      backdrop-filter: blur(12px);
    }
.site-header.scrolled {
      background: rgba(10,22,18,.98);
      color: #fff;
      box-shadow: 0 8px 30px rgba(0,0,0,.22);
      backdrop-filter: blur(14px);
    }
.nav {
      min-height: 112px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
    }
.brand { display: flex; align-items: center; font-weight: 700; }
.brand-logo { width: 270px; height: 94px; object-fit: contain; object-position: left center; display:block; }
.site-header:not(.scrolled) .brand-logo { filter: drop-shadow(0 7px 18px rgba(42,14,29,.16)); }
.scrolled .brand-logo { width: 235px; height: 82px; }
.nav-links { display: flex; align-items: center; gap: 26px; font-size: 1rem; font-weight: 700; }
.nav-links a { position: relative; }
.nav-links a:not(.nav-cta)::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -6px; height: 2px; background: currentColor; transition: .25s; }
.nav-links a:hover::after { right: 0; }
.nav-cta { padding: 14px 20px; border-radius: 999px; background: var(--gold); color: #111; }
.menu-btn { display: none; border: 0; background: transparent; color: inherit; font-size: 1.8rem; cursor: pointer; }
.hero {
      min-height: 100vh;
      display: grid;
      align-items: end;
      position: relative;
      isolation: isolate;
      color: #fff;
      background:
        linear-gradient(90deg, rgba(8,18,15,.96) 0%, rgba(8,18,15,.72) 50%, rgba(8,18,15,.30) 100%);
    }
.hero::after { content: ""; position: absolute; inset: auto 0 0; height: 180px; background: linear-gradient(transparent, rgba(8,18,15,.70)); z-index: -1; }
.hero-inner { padding: 180px 0 86px; display: grid; grid-template-columns: 1.25fr .75fr; align-items: end; gap: 80px; }
.hero-copy { max-width: 780px; }
.hero .eyebrow { color: #f4dfb3; }
.hero h1 span { color: var(--gold); }
.hero-lead { margin-top: 28px; max-width: 650px; font-size: clamp(1.18rem, 1.6vw, 1.35rem); color: rgba(255,255,255,.84); }
.hero-actions { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 36px; }
.hero-card {
      justify-self: end;
      width: min(100%, 340px);
      padding: 28px;
      border: 1px solid rgba(255,255,255,.28);
      border-radius: var(--radius-lg);
      background: rgba(255,255,255,.11);
      backdrop-filter: blur(18px);
    }
.hero-card p { color: rgba(255,255,255,.78); margin-top: 10px; }
.intro-strip { background: var(--cream); border-bottom: 1px solid var(--line); }
.intro-grid { min-height: 138px; display: grid; grid-template-columns: repeat(4,1fr); align-items: center; }
.intro-item { padding: 24px 30px; border-right: 1px solid var(--line); }
.intro-item:first-child { padding-left: 0; }
.intro-item:last-child { border-right: 0; }
.intro-icon { font-size: 1.35rem; margin-bottom: 7px; }
.intro-item strong { display: block; color: var(--forest); }
.intro-item span { color: var(--muted); font-size: .88rem; }
section { padding: 110px 0; }
.why-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 68px; align-items: center; }
.why-image { height: 620px; object-fit: cover; border-radius: 30px 180px 30px 30px; }
.why-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 34px; }
.why-card { padding: 22px; border: 1px solid var(--line); border-radius: 16px; background: #fff; }
.why-card strong { display: block; color: var(--forest); margin-bottom: 6px; }
.why-card span { color: var(--muted); font-size: .9rem; }
.testimonial { padding: 0 0 110px; }
.testimonial-card { position: relative; overflow: hidden; border-radius: var(--radius-lg); padding: 72px; color: #fff; background: linear-gradient(110deg, rgba(38,58,49,.96), rgba(70,86,70,.86)); }
.testimonial-card blockquote { max-width: 850px; margin: 0; font-family: "Playfair Display", serif; font-size: clamp(1.8rem, 3vw, 3rem); line-height: 1.3; }
.testimonial-card p { margin-top: 22px; color: rgba(255,255,255,.72); }
details { border-top: 1px solid var(--line); padding: 22px 0; }
details:last-child { border-bottom: 1px solid var(--line); }
summary { cursor: pointer; list-style: none; font-weight: 700; font-size: 1.05rem; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
summary::-webkit-details-marker { display: none; }
summary::after { content: "+"; width: 32px; height: 32px; border-radius: 50%; background: var(--white); display: grid; place-items: center; flex: 0 0 auto; }
details[open] summary::after { content: "–"; }
details p { color: var(--muted); padding: 16px 48px 0 0; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
label { display: block; font-size: .95rem; font-weight: 700; margin-bottom: 7px; }
input, select, textarea { width: 100%; border: 1px solid var(--line); border-radius: 11px; padding: 16px; min-height: 54px; background: #fff; color: var(--ink); outline: none; }
input:focus, select:focus, textarea:focus { border-color: var(--sage); box-shadow: 0 0 0 3px rgba(184,154,164,.18); }
textarea { min-height: 120px; resize: vertical; }
footer { background: #081511; color: rgba(255,255,255,.75); padding: 60px 0 26px; }
footer h4 { color: #fff; margin: 0 0 14px; }
footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.skip-link { position: fixed; left: 16px; top: -80px; z-index: 999; background: var(--gold); color: #111; padding: 14px 18px; border-radius: 10px; font-weight: 800; }
.skip-link:focus { top: 16px; }
:focus-visible { outline: 4px solid var(--gold); outline-offset: 4px; }
    @media (max-width: 980px) {.nav-links { display: none; position: absolute; top: 112px; left: 20px; right: 20px; padding: 22px; flex-direction: column; align-items: stretch; background: var(--white); color: var(--forest); border-radius: 16px; box-shadow: var(--shadow); }
.nav-links.open { display: flex; }
.menu-btn { display: block; }
.hero-inner, .why-grid { grid-template-columns: 1fr; }
.hero-card { justify-self: start; }
.intro-grid { grid-template-columns: 1fr 1fr; }
.intro-item:nth-child(2) { border-right: 0; }
    }
    @media (max-width: 680px) {.container { width: min(100% - 28px, 1160px); }
section { padding: 78px 0; }
.nav { min-height: 92px; }
.nav-links { top: 92px; }
.brand-logo { width: 205px; height: 72px; }
.hero-inner { padding: 150px 0 62px; gap: 44px; }
.hero-actions { flex-direction: column; align-items: stretch; }
.intro-grid { grid-template-columns: 1fr; padding: 16px 0; }
.intro-item { border-right: 0; border-bottom: 1px solid var(--line); padding: 18px 0; }
.intro-item:last-child { border-bottom: 0; }
.why-cards, .form-row { grid-template-columns: 1fr; }
.why-image { height: 460px; border-radius: 24px 110px 24px 24px; }
.testimonial-card { padding: 42px 28px; }
    }
    :root { --focus: #f1c979; }
body { text-rendering: optimizeLegibility; }
nav a, .btn { letter-spacing: .025em; }
nav a { font-size: 1rem; font-weight: 700; }
.btn { min-height: 60px; padding-inline: 30px; }
.hero p { max-width: 690px; font-size: clamp(1.08rem, 1.6vw, 1.3rem); }
p, li, label, input, textarea, select { letter-spacing: .005em; }
input, textarea, select { min-height: 54px; }
textarea { min-height: 150px; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible {
      outline: 4px solid var(--focus);
      outline-offset: 4px;
    }
    @media (max-width: 820px) {body { font-size: 18px; }
.container { width: min(100% - 28px, 1160px); }
.btn { min-height: 62px; }
nav a { font-size: 1.08rem; }
    }
    @media (prefers-reduced-motion: reduce) {html { scroll-behavior: auto; }
*, *::before, *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
      }
    }
    body {
      font-size: 21px;
      line-height: 1.72;
      background: var(--white);
    }
.site-header {
      background: rgba(20,37,31,.96);
      border-bottom: 1px solid rgba(217,174,104,.32);
    }
.nav { min-height: 118px; }
.brand-logo { width: 245px; height: 92px; }
.nav-links { gap: 22px; font-size: .92rem; }
.nav-links a { min-height: 48px; display: inline-flex; align-items: center; padding: 0 3px; }
.nav-cta {
      min-height: 58px !important;
      padding: 0 24px !important;
      background: var(--gold);
      color: var(--forest);
      border: 2px solid var(--gold);
      font-weight: 800;
    }
.nav-cta:hover { background: #efd19b; border-color: #efd19b; }
.hero {
      min-height: 900px;
      align-items: center;
      background:
        linear-gradient(90deg, rgba(20,37,31,.97) 0%, rgba(20,37,31,.90) 36%, rgba(20,37,31,.52) 67%, rgba(20,37,31,.22) 100%);
    }
.hero-inner {
      padding: 190px 0 92px;
      grid-template-columns: minmax(0, 1.2fr) minmax(300px, .62fr);
      gap: 70px;
      align-items: center;
    }
.hero-copy { max-width: 790px; }
.hero .eyebrow {
      font-size: .82rem;
      letter-spacing: .2em;
      color: #f3ddb6;
      margin-bottom: 8px;
    }
.hero h1 { display: flex; flex-direction: column; letter-spacing: 0; }
.hero-script {
      display: block;
      font-family: "Allura", cursive;
      font-weight: 400;
      font-size: clamp(5.2rem, 9vw, 8.8rem);
      line-height: .82;
      color: var(--gold) !important;
      margin-left: -4px;
      text-shadow: 0 8px 28px rgba(0,0,0,.2);
    }
.hero h1 small {
      display: block;
      margin-top: 24px;
      max-width: 700px;
      font-family: "Playfair Display", serif;
      font-size: clamp(2.3rem, 4.2vw, 4.3rem);
      line-height: 1.08;
      color: #fff;
      font-weight: 600;
      letter-spacing: -.025em;
    }
.hero-lead {
      max-width: 720px;
      font-size: clamp(1.18rem, 1.7vw, 1.42rem);
      line-height: 1.65;
      color: rgba(255,255,255,.92);
      margin-top: 30px;
    }
.hero-lead strong { color: #fff; font-weight: 700; }
.hero-actions { margin-top: 34px; gap: 16px; }
.hero .btn { min-height: 64px; padding-inline: 30px; font-size: 1.02rem; }
.hero .btn-secondary {
      border: 2px solid rgba(255,255,255,.78);
      background: rgba(20,37,31,.42);
    }
.hero-reassurance {
      margin-top: 24px;
      max-width: 690px;
      font-size: .94rem;
      color: rgba(255,255,255,.78);
    }
.hero-card {
      width: min(100%, 390px);
      padding: 34px;
      border: 1px solid rgba(243,234,220,.42);
      background: rgba(20,37,31,.74);
      backdrop-filter: blur(12px);
      border-radius: 22px;
    }
.hero-card-kicker {
      display: block;
      margin-bottom: 12px;
      color: #f3ddb6;
      text-transform: uppercase;
      letter-spacing: .15em;
      font-size: .72rem;
      font-weight: 800;
    }
.hero-card h2 { font-size: 1.8rem; }
.hero-card p { font-size: .96rem; line-height: 1.65; color: rgba(255,255,255,.84); }
.value-list {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 10px;
      margin-top: 24px;
    }
.value-list span {
      min-height: 54px;
      display: flex;
      align-items: center;
      padding: 10px 12px;
      border: 1px solid rgba(217,174,104,.32);
      border-radius: 12px;
      background: rgba(243,234,220,.08);
      font-size: .82rem;
      font-weight: 700;
    }
    @media (max-width: 1050px) {.nav-links { gap: 14px; font-size: .82rem; }
.brand-logo { width: 210px; }
    }
    @media (max-width: 900px) {.hero { min-height: auto; background-position: 62% center; }
.hero-inner { grid-template-columns: 1fr; padding-top: 170px; gap: 34px; }
.hero-card { justify-self: start; width: min(100%, 600px); }
.nav-links { font-size: 1.08rem; }
.nav-links a { min-height: 56px; padding: 0 12px; }
    }
    @media (max-width: 620px) {body { font-size: 20px; }
.hero-inner { padding-top: 150px; }
.hero-script { font-size: clamp(4.6rem, 24vw, 6.4rem); }
.hero h1 small { font-size: clamp(2.15rem, 11vw, 3.15rem); }
.hero-actions { width: 100%; }
.hero .btn { width: 100%; }
.value-list { grid-template-columns: 1fr; }
    }
    .mission-v7 {
      padding: 120px 0;
      background: var(--cream);
      color: var(--forest);
    }
.mission-v7-grid {
      display: grid;
      grid-template-columns: .92fr 1.08fr;
      gap: clamp(54px, 7vw, 100px);
      align-items: center;
    }
.mission-v7-image {
      min-height: 680px;
      border-radius: 4px 80px 4px 4px;
      background:
        linear-gradient(180deg, rgba(20,37,31,.02), rgba(20,37,31,.12));
      box-shadow: 0 24px 70px rgba(20,37,31,.16);
      position: relative;
    }
.mission-v7-image::after {
      content: "SELAH";
      position: absolute;
      right: -28px;
      bottom: 36px;
      writing-mode: vertical-rl;
      color: var(--gold);
      letter-spacing: .34em;
      font-size: .68rem;
      font-weight: 800;
    }
.eyebrow.dark { color: #7d6036; }
.eyebrow.light { color: #efd19b; }
.mission-v7 h2, .housing-v7 h2 {
      font-size: clamp(2.65rem, 5vw, 5.25rem);
      line-height: 1.06;
      letter-spacing: -.035em;
    }
.mission-v7 h2 em, .housing-v7 h2 em {
      color: #8a6a39;
      font-weight: 500;
    }
.mission-intro {
      margin-top: 30px;
      max-width: 720px;
      font-size: 1.08rem;
      color: #3f4943;
    }
.mission-values {
      margin: 38px 0 34px;
      border-top: 1px solid rgba(20,37,31,.18);
    }
.mission-values > div {
      display: grid;
      grid-template-columns: 150px 1fr;
      gap: 24px;
      padding: 20px 0;
      border-bottom: 1px solid rgba(20,37,31,.18);
    }
.mission-values strong {
      color: var(--forest);
      font-family: "Playfair Display", serif;
      font-size: 1.12rem;
    }
.mission-values span { color: #4d574f; font-size: .96rem; }
.text-link {
      color: var(--forest);
      font-weight: 800;
      text-decoration: none;
      border-bottom: 2px solid var(--gold);
      padding-bottom: 4px;
    }
.housing-v7 {
      padding: 120px 0;
      background: var(--forest);
      color: #fff;
    }
.section-heading-v7 {
      display: grid;
      grid-template-columns: 1.15fr .7fr;
      gap: 70px;
      align-items: end;
      margin-bottom: 58px;
    }
.section-heading-v7 p {
      color: rgba(255,255,255,.78);
      font-size: 1rem;
      padding-bottom: 8px;
    }
.housing-v7 h2 em { color: var(--gold); }
.housing-grid-v7 {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 18px;
    }
.housing-card-v7 {
      min-height: 510px;
      padding: 34px;
      border: 1px solid rgba(243,234,220,.22);
      background: rgba(243,234,220,.055);
      position: relative;
      display: flex;
      flex-direction: column;
    }
.housing-card-v7.featured {
      background: var(--cream);
      color: var(--forest);
      border-color: var(--cream);
    }
.card-number {
      position: absolute;
      top: 24px;
      right: 26px;
      color: var(--gold);
      font-size: .7rem;
      font-weight: 800;
      letter-spacing: .16em;
    }
.housing-icon {
      width: 58px;
      height: 58px;
      display: grid;
      place-items: center;
      border: 1px solid rgba(217,174,104,.55);
      border-radius: 50%;
      color: var(--gold);
      font-size: 1.5rem;
      margin-bottom: 62px;
    }
.housing-card-v7 h3 {
      font-size: 2rem;
      margin-bottom: 16px;
    }
.housing-card-v7 p {
      color: rgba(255,255,255,.76);
      font-size: .94rem;
      line-height: 1.65;
    }
.housing-card-v7.featured p { color: #4d574f; }
.housing-card-v7 ul {
      list-style: none;
      margin-top: auto;
      padding-top: 28px;
    }
.housing-card-v7 li {
      padding: 11px 0 11px 26px;
      border-top: 1px solid rgba(243,234,220,.16);
      position: relative;
      font-size: .86rem;
    }
.housing-card-v7.featured li { border-color: rgba(20,37,31,.14); }
.housing-card-v7 li::before {
      content: "✓";
      position: absolute;
      left: 0;
      color: var(--gold);
      font-weight: 900;
    }
.housing-cta-v7 {
      margin-top: 28px;
      padding: 28px 32px;
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 28px;
      background: rgba(243,234,220,.08);
      border: 1px solid rgba(243,234,220,.18);
    }
.housing-cta-v7 div { display: flex; flex-direction: column; gap: 4px; }
.housing-cta-v7 strong { font-family: "Playfair Display", serif; font-size: 1.25rem; }
.housing-cta-v7 span { color: rgba(255,255,255,.74); font-size: .9rem; }
    @media (max-width: 900px) {.mission-v7, .housing-v7 { padding: 86px 0; }
.mission-v7-grid, .section-heading-v7 { grid-template-columns: 1fr; gap: 42px; }
.mission-v7-image { min-height: 520px; }
.housing-grid-v7 { grid-template-columns: 1fr; }
.housing-card-v7 { min-height: auto; }
.housing-icon { margin-bottom: 38px; }
    }
    @media (max-width: 620px) {.mission-v7-image { min-height: 420px; border-radius: 4px 48px 4px 4px; }
.mission-values > div { grid-template-columns: 1fr; gap: 4px; }
.housing-cta-v7 { align-items: stretch; flex-direction: column; }
.housing-cta-v7 .btn { width: 100%; }
    }
    .process-v8 {
      padding: 120px 0;
      background: #f7f1e7;
      color: var(--forest);
    }
.process-heading {
      display: grid;
      grid-template-columns: 1.15fr .72fr;
      gap: 70px;
      align-items: end;
      margin-bottom: 64px;
    }
.process-heading h2 {
      font-size: clamp(2.65rem, 5vw, 5.1rem);
      line-height: 1.06;
      letter-spacing: -.035em;
    }
.process-heading h2 em {
      color: #8a6a39;
      font-weight: 500;
    }
.process-heading > p {
      color: #4d574f;
      font-size: 1rem;
      padding-bottom: 8px;
    }
.process-steps {
      list-style: none;
      padding: 0;
      margin: 0;
      border-top: 1px solid rgba(20,37,31,.18);
    }
.process-step {
      display: grid;
      grid-template-columns: 92px 1fr;
      gap: 30px;
      padding: 34px 0;
      border-bottom: 1px solid rgba(20,37,31,.18);
      align-items: start;
    }
.step-number {
      width: 64px;
      height: 64px;
      display: grid;
      place-items: center;
      border-radius: 50%;
      background: var(--forest);
      color: var(--gold);
      font-family: "Playfair Display", serif;
      font-size: 1.35rem;
      font-weight: 700;
    }
.process-step h3 {
      font-size: 1.75rem;
      margin-bottom: 8px;
    }
.process-step p {
      max-width: 780px;
      color: #4d574f;
      font-size: .98rem;
      line-height: 1.65;
    }
.audience-v8 {
      margin-top: 76px;
      display: grid;
      grid-template-columns: .86fr 1.14fr;
      background: var(--forest);
      color: #fff;
      box-shadow: 0 24px 70px rgba(20,37,31,.14);
    }
.audience-copy {
      padding: 52px;
      border-right: 1px solid rgba(243,234,220,.16);
    }
.audience-copy h2 {
      margin: 12px 0 20px;
      font-size: clamp(2rem, 3.5vw, 3.25rem);
      line-height: 1.12;
    }
.audience-copy p {
      color: rgba(255,255,255,.78);
      font-size: .96rem;
    }
.audience-options {
      display: grid;
    }
.audience-options a {
      min-height: 132px;
      display: grid;
      grid-template-columns: 1fr auto;
      align-content: center;
      gap: 5px 20px;
      padding: 26px 36px;
      color: #fff;
      text-decoration: none;
      border-bottom: 1px solid rgba(243,234,220,.16);
      transition: background .2s ease;
    }
.audience-options a:last-child { border-bottom: 0; }
.audience-options a:hover, .audience-options a:focus-visible { background: rgba(217,174,104,.12); }
.audience-options strong {
      font-family: "Playfair Display", serif;
      font-size: 1.3rem;
    }
.audience-options span {
      grid-column: 1;
      color: rgba(255,255,255,.72);
      font-size: .86rem;
    }
.audience-options b {
      grid-column: 2;
      grid-row: 1 / span 2;
      align-self: center;
      color: var(--gold);
      font-size: 1.5rem;
    }
    @media (max-width: 900px) {.process-v8 { padding: 86px 0; }
.process-heading, .audience-v8 { grid-template-columns: 1fr; gap: 36px; }
.audience-v8 { gap: 0; }
.audience-copy { border-right: 0; border-bottom: 1px solid rgba(243,234,220,.16); }
    }
    @media (max-width: 620px) {.process-step { grid-template-columns: 68px 1fr; gap: 18px; }
.step-number { width: 56px; height: 56px; }
.audience-copy { padding: 36px 26px; }
.audience-options a { padding: 24px 26px; min-height: 126px; }
    }
.faq-v9 { padding: 120px 0; background: var(--cream); color: var(--forest); }
.faq-v9-grid { display:grid; grid-template-columns:.72fr 1.28fr; gap:clamp(54px,8vw,110px); align-items:start; }
.faq-v9-intro { position:sticky; top:150px; }
.faq-v9 h2 { font-size:clamp(2.6rem,4.5vw,4.8rem); line-height:1.07; letter-spacing:-.035em; margin:12px 0 24px; }
.faq-v9-intro p { color:#4d574f; margin-bottom:30px; }
.faq-v9-list { border-top:1px solid rgba(20,37,31,.22); }
.faq-v9 details { border-bottom:1px solid rgba(20,37,31,.22); }
.faq-v9 summary { min-height:92px; display:flex; align-items:center; justify-content:space-between; gap:24px; cursor:pointer; font-family:"Playfair Display",serif; font-size:1.25rem; font-weight:700; list-style:none; }
.faq-v9 summary::-webkit-details-marker { display:none; }
.faq-v9 summary::after { content:"+"; color:#8a6a39; font-family:Arial,sans-serif; font-size:1.65rem; font-weight:400; }
.faq-v9 details[open] summary::after { content:"–"; }
.faq-v9 details p { padding:0 52px 30px 0; color:#4d574f; font-size:.96rem; line-height:1.7; }
.contact-v9 { padding:120px 0; background:var(--forest); color:#fff; }
.contact-v9-grid { display:grid; grid-template-columns:.78fr 1.22fr; gap:clamp(54px,7vw,100px); align-items:start; }
.contact-v9-copy h2 { font-size:clamp(2.6rem,4.6vw,4.9rem); line-height:1.06; letter-spacing:-.035em; margin:12px 0 26px; }
.contact-v9-copy > p { color:rgba(255,255,255,.78); }
.contact-reassurance { margin-top:36px; padding:26px; border-left:4px solid var(--gold); background:rgba(243,234,220,.07); display:grid; gap:8px; }
.contact-reassurance strong { color:#f3ddb6; font-family:"Playfair Display",serif; font-size:1.18rem; }
.contact-reassurance span { color:rgba(255,255,255,.78); font-size:.9rem; }
.inquiry-v9 { padding:42px; background:#f7f1e7; color:var(--forest); border-radius:4px 46px 4px 4px; }
.inquiry-v9 fieldset { border:0; padding:0; margin:0 0 30px; }
.inquiry-v9 legend { font-family:"Playfair Display",serif; font-size:1.45rem; font-weight:700; margin-bottom:16px; }
.choice-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.choice-grid label { position:relative; cursor:pointer; }
.choice-grid input { position:absolute; opacity:0; pointer-events:none; }
.choice-grid label span { min-height:102px; display:flex; flex-direction:column; justify-content:center; padding:18px 20px; border:2px solid rgba(20,37,31,.18); background:#fff; transition:.15s ease; }
.choice-grid label strong { font-size:.94rem; }
.choice-grid label small { margin-top:4px; color:#59635c; font-size:.72rem; }
.choice-grid input:checked + span { border-color:#8a6a39; box-shadow:inset 0 0 0 2px #8a6a39; background:#fbf5ea; }
.choice-grid input:focus-visible + span { outline:4px solid var(--focus); outline-offset:3px; }
.inquiry-v9 > label, .form-row label { display:grid; gap:8px; font-weight:800; font-size:.88rem; margin-bottom:22px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.inquiry-v9 input[type="text"], .inquiry-v9 input[type="tel"], .inquiry-v9 input[type="email"], .inquiry-v9 textarea {
  width:100%; border:2px solid rgba(20,37,31,.22); background:#fff; color:var(--forest); border-radius:3px; padding:14px 16px; font:inherit; font-size:.9rem;
}
.inquiry-v9 textarea { resize:vertical; }
.form-submit-v9 { margin-top:8px; display:grid; gap:14px; }
.form-submit-v9 .btn { width:100%; }
.form-submit-v9 p { color:#59635c; font-size:.72rem; text-align:center; line-height:1.5; }
@media(max-width:900px){.faq-v9, .contact-v9 {padding:86px 0}
.faq-v9-grid, .contact-v9-grid {grid-template-columns:1fr}
.faq-v9-intro {position:static}
}
@media(max-width:620px){.choice-grid, .form-row {grid-template-columns:1fr}
.inquiry-v9 {padding:30px 22px;border-radius:3px 34px 3px 3px}
.faq-v9 summary {min-height:82px;font-size:1.15rem}
}
html { scroll-padding-top: 126px; }
section { scroll-margin-top: 126px; }
.footer-v10 { background:#102019; color:#fff; border-top:1px solid rgba(217,174,104,.32); }
.footer-cta-v10 {
  padding:78px 0 68px;
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:48px;
  border-bottom:1px solid rgba(243,234,220,.16);
}
.footer-cta-v10 h2 {
  max-width:850px;
  margin-top:10px;
  font-size:clamp(2.45rem,4.5vw,4.7rem);
  line-height:1.06;
  letter-spacing:-.035em;
}
.footer-cta-v10 .btn { flex:0 0 auto; min-width:210px; }
.footer-main-v10 {
  display:grid;
  grid-template-columns:1.35fr .55fr .8fr;
  gap:70px;
  padding:68px 0 58px;
}
.footer-brand-v10 img { width:min(280px,100%); height:auto; margin-bottom:20px; }
.footer-brand-v10 p { max-width:470px; color:rgba(255,255,255,.72); font-size:.9rem; }
.footer-nav-v10, .footer-contact-v10 { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.footer-nav-v10 strong, .footer-contact-v10 strong {
  margin-bottom:8px;
  color:#f3ddb6;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.08rem;
}
.footer-nav-v10 a, .footer-contact-v10 a, .footer-bottom-v10 a {
  color:rgba(255,255,255,.8);
  text-decoration:none;
  font-size:.84rem;
  min-height:44px;
  display:inline-flex;
  align-items:center;
}
.footer-nav-v10 a:hover, .footer-contact-v10 a:hover, .footer-bottom-v10 a:hover { color:var(--gold); }
.footer-bottom-v10 {
  min-height:84px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  border-top:1px solid rgba(243,234,220,.13);
  color:rgba(255,255,255,.56);
  font-size:.72rem;
}
.footer-bottom-v10 > div { display:flex; gap:28px; }
a, button, input, textarea, summary { -webkit-tap-highlight-color:transparent; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, summary:focus-visible {
  outline:4px solid var(--gold);
  outline-offset:4px;
}
.btn { min-height:60px; display:inline-flex; align-items:center; justify-content:center; }
section h2 { text-wrap:balance; }
section p { text-wrap:pretty; }
@media (prefers-reduced-motion:reduce) {*, *::before, *::after { scroll-behavior:auto!important; animation-duration:.01ms!important; transition-duration:.01ms!important; }
}
@media(max-width:900px){.footer-cta-v10 { align-items:flex-start; flex-direction:column; }
.footer-main-v10 { grid-template-columns:1fr 1fr; gap:48px; }
.footer-brand-v10 { grid-column:1 / -1; }
}
@media(max-width:620px){.footer-cta-v10 { padding:62px 0 54px; }
.footer-cta-v10 .btn { width:100%; }
.footer-main-v10 { grid-template-columns:1fr; padding:52px 0 42px; }
.footer-brand-v10 { grid-column:auto; }
.footer-bottom-v10 { padding:24px 0; align-items:flex-start; flex-direction:column; }
.footer-bottom-v10 > div { flex-wrap:wrap; gap:18px; }
}
.direct-contact-v11 {margin-top:32px;padding:24px 26px;display:grid;gap:9px;background:rgba(243,234,220,.08);border:1px solid rgba(217,174,104,.34)}
.direct-contact-v11 strong {color:#f3ddb6;font-family:Georgia,"Times New Roman",serif;font-size:1.08rem}
.direct-contact-v11 a {color:#fff;text-decoration:none;font-weight:700;overflow-wrap:anywhere}
.direct-contact-v11 a:hover {color:var(--gold)}
.footer-real-contact {display:flex;flex-direction:column;gap:5px;margin-top:8px}
.footer-real-contact a {min-height:36px;color:rgba(255,255,255,.82);text-decoration:none;overflow-wrap:anywhere}
.footer-real-contact address {max-width:330px;margin-top:8px;color:rgba(255,255,255,.62);font-size:.74rem;line-height:1.65;font-style:normal}
.bot-field {position:absolute!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;height:1px!important;width:1px!important;margin:-1px!important;padding:0!important;border:0!important;white-space:nowrap!important}
.form-submit-v9 a {font-weight:700}
/* Production accessibility and responsive refinements. */
body { overflow-x:visible; }
.hero { padding:0; background:radial-gradient(ellipse at 90% 20%, #52604a 0, #26372f 40%, #14251f 80%); }
.hero-card h2 { font-size:1.8rem; letter-spacing:0; }
.brand { flex-shrink:0; }
.brand-logo, .scrolled .brand-logo { width:220px; height:auto; }
.menu-btn { min-width:64px; min-height:48px; font-size:1rem; border:1px solid var(--gold); border-radius:6px; padding:8px; }
.btn-dark { background:var(--forest); color:white; }
.btn { text-align:center; white-space:normal; padding-block:14px; }
.photo-placeholder { display:flex; flex-direction:column; justify-content:center; align-items:center; gap:20px; text-align:center; padding:36px; color:var(--forest); background:linear-gradient(145deg,#e4d5bf,#f7f1e7); border:1px solid #b6a387; }
.photo-placeholder > span { font-size:5rem; color:#80602f; line-height:1; }
.photo-placeholder p { font-family:Georgia,serif; font-size:2rem; line-height:1.3; }
.photo-placeholder small { font-size:1rem; max-width:260px; }
.mission-v7-image::after { right:12px; }
.audience-v8 { padding:0; }
.audience-copy h2 { font-size:clamp(2rem,3.5vw,3.25rem); line-height:1.12; margin:12px 0 20px; }
:where(.hero-inner,.mission-v7-grid,.housing-grid-v7,.process-heading,.audience-v8,.faq-v9-grid,.contact-v9-grid,.footer-main-v10,.form-row,.choice-grid) > * { min-width:0; }
fieldset { min-inline-size:0; }
input,textarea { min-width:0; }
.choice-grid input { width:20px; height:20px; min-height:0; }
.choice-grid label span { padding-left:30px; }
.choice-grid input:checked + span::before { content:'✓ Selected'; font-size:.85rem; color:#26372f; }
.inquiry-v9 input,.inquiry-v9 textarea { font-size:1.1rem!important; }
.inquiry-v9 > label,.form-row label,.choice-grid label strong { font-size:1.1rem; }
.choice-grid label small,.form-submit-v9 p,.footer-real-contact address,.footer-bottom-v10,.mailing-label { font-size:1rem; }
.form-submit-v9 a { text-decoration:underline; }
.mailing-label { color:#f3ddb6; margin-top:18px; }
.hero-card p,.value-list span,.mission-values span,.housing-card-v7 p,.housing-card-v7 li,.process-step p,.audience-copy p,.audience-options span,.faq-v9 details p,.contact-reassurance span,.footer-brand-v10 p,.footer-nav-v10 a,.footer-contact-v10 a,.footer-bottom-v10 a,.intro-item span,.why-card span { font-size:1.125rem; }
.housing-card-v7 ul { padding-left:0; }
.housing-card-v7.featured .housing-icon,.housing-card-v7.featured .card-number,.housing-card-v7.featured li::before { color:#80602f; }
.footer-bottom-v10,.footer-real-contact address { color:#d9ded8; }
:focus-visible { outline:3px solid #80602f; outline-offset:4px; box-shadow:0 0 0 7px #fffaf2; }
.choice-grid input:focus-visible + span { outline:3px solid #80602f; }
a { overflow-wrap:anywhere; }
@media(max-width:1100px) {
 .site-header { position:relative; }
 .nav { flex-wrap:wrap; padding-block:16px; min-height:92px; }
 .nav-links { display:flex; position:static; width:100%; padding:16px; flex-direction:column; align-items:stretch; background:var(--cream); color:var(--forest); border-radius:12px; gap:4px; }
 .menu-btn { display:none; }
 .js .menu-btn { display:block; }
 .js .nav-links { display:none; }
 .js .nav-links.open { display:flex; }
 .hero-inner { padding-top:64px; }
 html { scroll-padding-top:20px; }
 section { scroll-margin-top:20px; }
 .hero-inner { grid-template-columns:1fr; gap:40px; }
 .hero-card { justify-self:start; width:min(100%,600px); }
}
@media(min-width:1101px) { .menu-btn { display:none; }
 }
@media(max-width:620px) {
 .brand-logo,.scrolled .brand-logo { width:185px; }
 .nav { gap:12px; }
 .hero-script { font-size:clamp(4rem,22vw,6.4rem); }
 .hero-card { padding:24px; }
 .process-step { grid-template-columns:1fr; gap:16px; }
 .housing-card-v7 { padding:26px; }
 .housing-cta-v7 { padding:24px; }
 h2 { overflow-wrap:normal; }
 .mission-v7 h2,.housing-v7 h2,.process-heading h2,.faq-v9 h2,.contact-v9-copy h2 { font-size:clamp(2.1rem,9vw,3rem); }
 .inquiry-v9 { padding:26px 18px; }
 .faq-v9 details p { padding-right:0; }
 .photo-placeholder { padding:28px; }
 .why-image { height:auto; min-height:400px; }
}
@media(forced-colors:active) { .choice-grid input { position:static; opacity:1; pointer-events:auto; }
 }
/* Submission status appears only when needed; approved resting layout is unchanged. */
#inquiry-status:empty { display:none; }
button:disabled { cursor:wait; }
