*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{
  --sea:      #354D3D;
  --sea-deep: #2A3F32;
  --sage:     #70826A;
  --mist:     #ACB69E;
  --ivory:    #EFE2CF;
  --ivory-2:  #FBF7EF;
  --plum:     #7C5866;
  --gold:     #BE8C50;
  --ink:      #2B342C;
  --font-display: 'Fraunces', serif;
  --font-body: 'Nunito Sans', sans-serif;
  --max: 1400px;
  --r-lg: 16px;
  --r-md: 10px;
  --r-sm: 8px;
  --shadow-sm: 0 2px 10px rgba(43,52,44,.06);
  --shadow-md: 0 12px 32px -8px rgba(43,52,44,.14);
  --shadow-lg: 0 24px 60px -16px rgba(43,52,44,.22);
}
html{scroll-behavior:smooth;}
body{font-family:var(--font-body);background:#fdfbf6;color:var(--ink);line-height:1.65;font-size:18px;-webkit-font-smoothing:antialiased;}
img{max-width:100%;display:block;}
.wrap{max-width:var(--max);margin:0 auto;padding:0 48px;}
section{padding:100px 0;}
.section-tight{padding:72px 0;}

h1,h2,h3,h4{font-family:var(--font-display);color:var(--sea-deep);font-weight:500;letter-spacing:-0.01em;}
h1{font-size:clamp(2.8rem,4.8vw,4.1rem);line-height:1.1;}
h2{font-size:clamp(2.1rem,3.1vw,2.7rem);line-height:1.22;}
h3{font-size:1.28rem;font-weight:700;}
.eyebrow{font-size:.88rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--sage);margin-bottom:14px;display:flex;align-items:center;gap:8px;}
.eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--gold);display:inline-block;}
.eyebrow .dot.plum{background:var(--plum);}
p{color:#5c6558;font-size:1.12rem;}
.lede{font-size:1.26rem;color:#5c6558;}
em{font-style:italic;color:var(--plum);}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:9px;
  font-family:var(--font-body);font-weight:700;font-size:1.02rem;
  padding:16px 30px;border-radius:100px;border:none;
  background:var(--sea-deep);color:var(--ivory-2);text-decoration:none;
  transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s ease,background .25s ease;
  cursor:pointer;box-shadow:var(--shadow-sm);
}
.btn:hover{transform:translateY(-3px) scale(1.02);box-shadow:var(--shadow-md);background:var(--sea);}
.btn-ghost{background:#fff;color:var(--sea-deep);box-shadow:var(--shadow-sm);border:1.5px solid rgba(53,77,61,.14);}
.btn-ghost:hover{background:var(--ivory);box-shadow:var(--shadow-md);}
.btn-on-dark{background:var(--gold);color:#3a2c17;}
.btn-on-dark:hover{background:#cc9a5c;}
.btn-ghost-on-dark{background:rgba(255,255,255,.12);color:#fff;box-shadow:none;border:1.5px solid rgba(255,255,255,.35);}
.btn-ghost-on-dark:hover{background:rgba(255,255,255,.2);box-shadow:none;}
.btn-row{display:flex;gap:16px;flex-wrap:wrap;margin-top:32px;}
.btn-sm{padding:12px 24px;font-size:.94rem;}

/* ---------- Nav ---------- */
header.nav{position:sticky;top:0;z-index:250;background:#fff;box-shadow:var(--shadow-sm);}
.nav-inner{max-width:1450px;margin:0 auto;padding:22px 48px;display:flex;align-items:center;justify-content:space-between;gap:36px;}
.logo{font-family:var(--font-display);font-size:1.4rem;color:var(--sea-deep);font-weight:600;display:flex;align-items:center;gap:10px;}
.nav-links{display:flex;gap:32px;align-items:center;}
.nav-links a{color:var(--ink);text-decoration:none;font-size:1rem;font-weight:700;}
.nav-links a:hover{color:var(--sage);}
.nav-cta-link{background:#fff !important;color:var(--sea-deep) !important;border:1.5px solid var(--sea-deep);}
.nav-cta-link:hover{background:var(--sea-deep) !important;color:#fff !important;}
.nav-mobile-only{display:none;}

/* ---------- Nav — mobile hamburger / off-canvas ---------- */
.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;border:none;background:none;cursor:pointer;padding:0;flex-shrink:0;}
.nav-toggle span{display:block;width:26px;height:2.5px;border-radius:2px;background:var(--sea-deep);transition:transform .25s ease,opacity .25s ease;}
.nav-overlay{display:none;position:fixed;inset:0;background:rgba(42,63,50,.45);z-index:199;opacity:0;transition:opacity .3s ease;}
@media (max-width:880px){
  .nav-links{
    position:fixed;top:0;right:0;height:100%;width:min(320px,84vw);
    background:#fff;flex-direction:column;align-items:flex-start;justify-content:flex-start;
    gap:8px;padding:100px 32px 32px;box-shadow:var(--shadow-lg);
    transform:translateX(100%);transition:transform .32s ease;z-index:200;
  }
  .nav-links a{width:100%;padding:14px 0;border-bottom:1px solid rgba(43,52,44,.08);}
  .nav-links a.nav-cta-link{margin-top:12px;text-align:center;border-bottom:none;}
  .nav-mobile-only{display:block;}
  .nav-toggle{display:flex;}
  body.nav-open .nav-links{transform:translateX(0);}
  body.nav-open .nav-overlay{display:block;opacity:1;}
  body.nav-open{overflow:hidden;}
  body.nav-open .nav-toggle span:nth-child(1){transform:translateY(7.5px) rotate(45deg);}
  body.nav-open .nav-toggle span:nth-child(2){opacity:0;}
  body.nav-open .nav-toggle span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg);}
}

/* ---------- Hero (Home only) ---------- */
.hero{padding:32px 0 64px;}
.hero-outer{width:92vw;max-width:1680px;margin:0 auto;}
.hero-card{
  position:relative;border-radius:22px;overflow:hidden;min-height:640px;display:flex;align-items:center;
  background:linear-gradient(135deg,var(--sea) 0%,var(--sea-deep) 55%,#233a2b 100%);
  box-shadow:var(--shadow-lg);
}
.hero-blob{position:absolute;border-radius:50%;filter:blur(2px);opacity:.5;}
.hero-blob.b1{width:420px;height:420px;background:radial-gradient(circle,rgba(190,140,80,.35),transparent 70%);top:-140px;right:-80px;}
.hero-blob.b2{width:320px;height:320px;background:radial-gradient(circle,rgba(172,182,158,.25),transparent 70%);bottom:-120px;right:22%;}
.hero-photo-panel{
  position:absolute;right:0;top:0;bottom:0;width:42%;
  background:linear-gradient(200deg,#5c6f57,#3a4a3c);
  display:flex;align-items:center;justify-content:center;border-radius:0 22px 22px 0;
}
.hero-photo-panel .frame-note{color:rgba(255,255,255,.4);font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;text-align:center;line-height:1.8;padding:0 40px;}
@media (max-width:900px){.hero-photo-panel{display:none;}.hero-card{border-radius:18px;}.hero-outer{width:100%;padding:0 20px;}}
.hero-inner{position:relative;z-index:2;max-width:600px;padding:64px 56px;}
.hero .eyebrow{color:var(--mist);}
.hero h1{color:#fff;}
.hero .lede{color:rgba(255,255,255,.82);margin-top:20px;max-width:480px;}
.hero-stats{display:flex;gap:36px;margin-top:44px;padding-top:32px;border-top:1px solid rgba(255,255,255,.15);}
.hero-stat b{display:block;font-family:var(--font-display);font-size:1.6rem;color:#fff;font-weight:600;}
.hero-stat span{font-size:.8rem;color:rgba(255,255,255,.6);font-weight:600;}

/* ---------- Interior page header (About/AL/MC/Contact) ---------- */
.page-header{padding:32px 0 0;}
.page-header-outer{width:92vw;max-width:1680px;margin:0 auto;}
.page-header-card{
  position:relative;border-radius:22px;overflow:hidden;min-height:300px;display:flex;align-items:center;justify-content:center;text-align:center;
  background:linear-gradient(135deg,var(--sea) 0%,var(--sea-deep) 55%,#233a2b 100%);
  box-shadow:var(--shadow-lg);padding:56px 32px;
}
.page-header-blob{position:absolute;border-radius:50%;filter:blur(2px);opacity:.5;}
.page-header-blob.b1{width:380px;height:380px;background:radial-gradient(circle,rgba(190,140,80,.32),transparent 70%);top:-140px;right:-60px;}
.page-header-blob.b1.plum{background:radial-gradient(circle,rgba(124,88,102,.34),transparent 70%);}
.page-header-blob.b2{width:280px;height:280px;background:radial-gradient(circle,rgba(172,182,158,.24),transparent 70%);bottom:-120px;left:10%;}
.page-header-inner{position:relative;z-index:2;max-width:640px;}
.page-header .eyebrow{color:var(--mist);justify-content:center;}
.page-header h1{color:#fff;font-size:clamp(2.4rem,4vw,3.2rem);}
.page-header .lede{color:rgba(255,255,255,.8);margin-top:14px;}
@media (max-width:900px){.page-header-outer{width:100%;padding:0 20px;}.page-header-card{border-radius:18px;}}

/* ---------- Split layout ---------- */
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:72px;align-items:start;}
.split.reverse > *:first-child{order:2;}
.split.reverse > *:last-child{order:1;}
.split-financial{grid-template-columns:1.2fr .8fr;}
@media (max-width:900px){.split,.split-financial{grid-template-columns:1fr;} .split.reverse>*{order:initial !important;}}

/* Contact page uses its own narrower/stretched split ratio */
.contact-split{display:grid;grid-template-columns:.95fr 1.05fr;gap:56px;align-items:stretch;}
@media (max-width:900px){.contact-split{grid-template-columns:1fr;}}

.moment-list{margin-top:24px;display:flex;flex-direction:column;gap:12px;}
.moment-item{background:#fff;border-radius:var(--r-sm);padding:16px 20px;font-size:1.08rem;color:var(--sea-deep);font-weight:600;display:flex;gap:14px;align-items:center;box-shadow:var(--shadow-sm);}
.moment-item .num{font-family:var(--font-display);font-style:italic;color:var(--gold);font-size:1.08rem;width:24px;flex-shrink:0;}

.photo-slot{
  background:linear-gradient(160deg,var(--mist),#8d9a7f);
  border-radius:var(--r-lg);position:relative;overflow:hidden;
  display:flex;align-items:flex-end;padding:24px;min-height:420px;height:100%;box-shadow:var(--shadow-md);
}
.photo-slot::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(37,56,48,.35));}
.photo-slot.has-card::after{background:linear-gradient(180deg,rgba(0,0,0,.18) 0%,transparent 30%,transparent 55%,rgba(37,56,48,.4) 100%);}
.photo-slot .caption{position:relative;z-index:1;color:#fff;font-size:.74rem;letter-spacing:.05em;text-transform:uppercase;font-weight:700;line-height:1.7;opacity:.9;}
.photo-slot.tone-warm{background:linear-gradient(160deg,#d8c6a3,var(--gold));}
.photo-slot.tone-warm .caption{color:#3a2c17;}
.photo-slot.tone-plum{background:linear-gradient(160deg,#a9899a,var(--plum));}
.photo-slot.tone-plum.has-card::after{background:linear-gradient(180deg,rgba(0,0,0,.22) 0%,transparent 30%,transparent 55%,rgba(43,26,33,.5) 100%);}
.photo-slot.tone-deep{background:linear-gradient(160deg,var(--sage),var(--sea));}

.photo-overlap-wrap{position:relative;}
.photo-badge-stack{position:absolute;top:50%;right:-32px;transform:translateY(-50%);z-index:3;display:flex;flex-direction:column;align-items:flex-end;gap:14px;width:290px;}
.photo-badge-stack .stack-eyebrow{display:inline-flex;align-items:center;gap:8px;background:var(--sea-deep);color:#fff;font-size:.8rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:8px 18px;border-radius:100px;box-shadow:var(--shadow-md);}
.photo-badge-stack .stack-eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--gold);}
.photo-badge{background:#fff;border-radius:16px;padding:16px 20px;box-shadow:var(--shadow-lg);display:flex;gap:12px;align-items:center;width:100%;}
.photo-badge .b-icon{flex-shrink:0;width:50px;height:50px;border-radius:12px;background:var(--ivory);display:flex;align-items:center;justify-content:center;color:var(--gold);font-size:1.6rem;font-weight:800;}
.photo-badge .b-icon svg{width:34px;height:34px;}
.photo-badge .b-text{line-height:1.4;}
.photo-badge .b-value{font-size:1.02rem;font-weight:700;color:var(--sea-deep);display:block;}
@media (max-width:900px){.photo-badge-stack{position:static;transform:none;width:100%;align-items:stretch;margin-top:20px;}}

.photo-band{position:absolute;left:0;right:0;bottom:0;z-index:2;background:linear-gradient(0deg,rgba(37,56,48,.88) 0%,rgba(37,56,48,.72) 75%,transparent 100%);padding:72px 32px 28px;}
.photo-band p{font-family:var(--font-display);color:#fff;font-size:1.4rem;font-weight:500;line-height:1.4;margin:0;}
.photo-band .amp{color:var(--gold);font-style:italic;}

/* ---------- Video block (About only) ---------- */
.video-slot{
  background:linear-gradient(160deg,var(--sea),var(--sea-deep));
  border-radius:var(--r-lg);position:relative;overflow:hidden;
  display:flex;align-items:center;justify-content:center;min-height:460px;box-shadow:var(--shadow-lg);
}
.video-play-btn{width:74px;height:74px;border-radius:50%;background:rgba(255,255,255,.14);border:2px solid rgba(255,255,255,.7);display:flex;align-items:center;justify-content:center;color:#fff;backdrop-filter:blur(2px);transition:transform .25s ease,background .25s ease;}
.video-slot:hover .video-play-btn{transform:scale(1.08);background:var(--gold);border-color:var(--gold);}
.video-caption{position:absolute;bottom:22px;left:28px;right:28px;color:rgba(255,255,255,.55);font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;font-weight:700;}

/* ---------- Pull quote ---------- */
.pull-quote-inline{background:#fff;border-radius:var(--r-md);padding:28px 32px;margin:28px 0;box-shadow:var(--shadow-sm);position:relative;}
.pull-quote-inline::before{content:"\201C";position:absolute;top:8px;left:24px;font-family:var(--font-display);font-size:3rem;color:var(--mist);line-height:1;}
.pull-quote-inline p{font-family:var(--font-display);font-style:italic;font-size:1.22rem;color:var(--sea-deep);font-weight:400;line-height:1.5;position:relative;z-index:1;}

.feature-list{margin-top:20px;display:flex;flex-direction:column;gap:12px;}
.feature-list-item{display:flex;gap:12px;font-size:1.08rem;color:var(--sea-deep);font-weight:600;align-items:flex-start;}
.feature-list-item .check{flex-shrink:0;width:24px;height:24px;border-radius:50%;background:var(--ivory);display:flex;align-items:center;justify-content:center;color:var(--sage);margin-top:1px;}

/* ---------- Section head ---------- */
.section-head{text-align:center;max-width:680px;margin:0 auto 60px;}
.section-head .eyebrow{justify-content:center;}
.section-gray{background:var(--ivory);}
.tag{display:inline-flex;align-items:center;gap:8px;font-size:.88rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--gold);margin-bottom:20px;}
.tag::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--gold);display:inline-block;}
.tag.plum{color:var(--plum);}
.tag.plum::before{background:var(--plum);}

/* ---------- Differentiators (Home) ---------- */
.diff-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:12px;}
.diff-item{background:#fff;border-radius:var(--r-md);padding:34px 28px;text-align:left;box-shadow:var(--shadow-sm);transition:transform .3s ease,box-shadow .3s ease;}
.diff-item:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);}
.diff-icon{width:68px;height:68px;border-radius:16px;background:var(--sea-deep);color:var(--ivory);display:flex;align-items:center;justify-content:center;margin-bottom:22px;}
.diff-icon svg{width:42px;height:42px;}
.diff-item h3{font-size:1.15rem;margin-bottom:10px;}
.diff-item p{font-size:1rem;}
@media (max-width:1024px){.diff-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.diff-grid{grid-template-columns:1fr;}}

/* ---------- Care blocks (Home) ---------- */
.care-block{padding:88px 0;}
.care-block .photo-slot{min-height:540px;}

/* ---------- Signs box (Home/AL/MC) ---------- */
.signs-box{border-radius:var(--r-md);padding:26px 30px;margin:24px 0;background:var(--ivory);}
.signs-box .signs-label{font-size:.88rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--sage);margin-bottom:14px;}
.signs-cols{display:grid;grid-template-columns:1fr 1fr;gap:8px 22px;}
.signs-item{font-size:1.02rem;color:var(--sea-deep);padding:5px 0;display:flex;gap:8px;font-weight:600;}
.signs-item::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold);flex-shrink:0;margin-top:8px;}
/* Memory Care uses plum bullets in its signs-box */
.signs-box.plum .signs-item::before{background:var(--plum);}

.photo-feature-card{position:absolute;left:20px;right:20px;bottom:20px;z-index:2;background:rgba(255,255,255,.97);backdrop-filter:blur(6px);border-radius:var(--r-md);padding:26px 28px;box-shadow:var(--shadow-lg);}
.photo-feature-card .pfc-label{font-size:.8rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--sage);margin-bottom:14px;}
.photo-feature-card .pfc-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;}
.photo-feature-card .pfc-grid.single{grid-template-columns:1fr;}
.photo-feature-card .pfc-item{font-size:1.02rem;color:var(--sea-deep);font-weight:600;display:flex;gap:9px;align-items:flex-start;padding:4px 0;}
.photo-feature-card .pfc-item .check{flex-shrink:0;width:20px;height:20px;border-radius:50%;background:var(--ivory);display:flex;align-items:center;justify-content:center;color:var(--sage);margin-top:1px;}
@media (max-width:900px){.photo-feature-card{position:static;left:auto;right:auto;bottom:auto;margin-top:20px;}.photo-feature-card .pfc-grid{grid-template-columns:1fr;}}

.family-quote{border-radius:var(--r-md);padding:28px 32px;margin-top:24px;background:var(--plum);color:#fff;box-shadow:var(--shadow-sm);}
.family-quote .fq-label{font-size:.86rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.7);margin-bottom:10px;}
.family-quote blockquote{font-family:var(--font-display);font-style:italic;font-size:1.3rem;font-weight:400;}
/* Memory Care page's own inline variant (border-left accent, not a filled card) */
.family-quote.inline{border-left:3px solid var(--plum);padding:4px 0 4px 22px;margin:24px 0;background:none;color:inherit;box-shadow:none;border-radius:0;}
.family-quote.inline .fq-label{color:var(--sage);}
.family-quote.inline blockquote{color:var(--sea-deep);font-weight:500;}

/* ---------- Financial (Home) ---------- */
.resource-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;margin-top:22px;}
.resource-item{background:#fff;border-radius:var(--r-md);padding:22px 18px;font-size:.98rem;color:var(--sea-deep);font-weight:700;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;align-items:flex-start;gap:12px;transition:transform .25s ease,box-shadow .25s ease;text-align:left;}
.resource-item:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);}
.resource-item .r-icon{flex-shrink:0;width:54px;height:54px;border-radius:50%;background:var(--plum);display:flex;align-items:center;justify-content:center;color:#fff;}
.resource-item .r-icon svg{width:36px;height:36px;}
@media (max-width:640px){.resource-grid{grid-template-columns:1fr 1fr;}}
.consult-box{background:var(--sea-deep);color:#fff;border-radius:var(--r-lg);padding:48px;position:relative;overflow:hidden;box-shadow:var(--shadow-lg);}
.consult-box::before{content:"";position:absolute;top:-50px;right:-50px;width:200px;height:200px;border-radius:50%;background:rgba(190,140,80,.2);}
.consult-box h3{color:#fff;font-size:1.35rem;margin:16px 0 18px;font-family:var(--font-display);font-weight:500;}
.consult-list{margin:16px 0;display:flex;flex-direction:column;gap:12px;}
.consult-list li{list-style:none;font-size:1.04rem;color:rgba(255,255,255,.85);display:flex;gap:10px;}
.consult-list li::before{content:"\2713";color:var(--gold);font-weight:800;flex-shrink:0;}
.consult-box .fine{font-size:.94rem;color:rgba(255,255,255,.6);margin-top:18px;}

/* ---------- Centered consult/pricing callout (Assisted Living) — distinct from Home's .consult-box above ---------- */
.consult-box-centered{background:var(--sea-deep);color:#fff;border-radius:var(--r-lg);padding:48px;position:relative;overflow:hidden;box-shadow:var(--shadow-lg);text-align:center;max-width:820px;margin:0 auto;}
.consult-box-centered::before{content:"";position:absolute;top:-50px;right:-50px;width:200px;height:200px;border-radius:50%;background:rgba(190,140,80,.2);}
.consult-box-centered h3{color:#fff;font-size:1.5rem;margin:16px 0 14px;font-family:var(--font-display);font-weight:500;}
.consult-box-centered p{color:rgba(255,255,255,.8);max-width:520px;margin:0 auto 20px;}
.consult-box-centered .btn-row{justify-content:center;margin-top:8px;}

/* ---------- Process steps (Home) ---------- */
.steps-row{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:22px;margin-top:52px;align-items:stretch;}
.step-chevron{align-self:center;}
.step-item{background:#fff;border-radius:var(--r-lg);padding:40px 36px;box-shadow:var(--shadow-sm);transition:transform .3s ease,box-shadow .3s ease;position:relative;}
.step-item:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
.step-top{display:flex;align-items:center;gap:16px;margin-bottom:18px;}
.step-icon{flex-shrink:0;width:68px;height:68px;border-radius:16px;background:var(--sea-deep);color:var(--ivory);display:flex;align-items:center;justify-content:center;}
.step-icon svg{width:44px;height:44px;}
.step-num{font-family:var(--font-display);font-style:italic;font-size:2.2rem;color:var(--mist);line-height:1;font-weight:500;}
.step-item h3{margin-bottom:12px;}
.step-chevron{display:flex;align-items:center;justify-content:center;color:var(--gold);}
@media (max-width:900px){.steps-row{grid-template-columns:1fr;}.step-chevron{transform:rotate(90deg);margin:-4px 0;}}

/* ---------- Stakes (Home) ---------- */
.stakes-cols{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:48px;}
.stakes-col{padding:40px 42px;border-radius:var(--r-lg);}
.stakes-col.without{background:#fff;box-shadow:var(--shadow-sm);}
.stakes-col.with{background:var(--sea-deep);color:#fff;box-shadow:var(--shadow-md);}
.stakes-col .col-label{font-size:.8rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;margin-bottom:24px;padding-bottom:18px;border-bottom:1px solid rgba(53,77,61,.14);}
.stakes-col.with .col-label{border-bottom-color:rgba(255,255,255,.18);color:var(--mist);}
.stakes-col.without .col-label{color:var(--sage);}
.stakes-list-item{display:flex;gap:12px;font-size:1rem;padding:10px 0;font-weight:600;align-items:center;}
.stakes-list-item .ic{flex-shrink:0;width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;}
.stakes-col.without .ic{background:#f3e6d8;color:var(--gold);}
.stakes-col.with .ic{background:rgba(255,255,255,.14);color:var(--mist);}
.stakes-col.without .stakes-list-item{color:#5a4632;}
.stakes-col.with .stakes-list-item{color:rgba(255,255,255,.92);}
@media (max-width:768px){.stakes-cols{grid-template-columns:1fr;}}

/* ---------- Values grid (About) ---------- */
.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:12px;}
.value-item{background:#fff;border-radius:var(--r-md);padding:32px 28px;text-align:left;box-shadow:var(--shadow-sm);transition:transform .3s ease,box-shadow .3s ease;}
.value-item:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);}
.value-icon{width:64px;height:64px;border-radius:14px;background:var(--sea-deep);color:var(--ivory);display:flex;align-items:center;justify-content:center;margin-bottom:20px;}
.value-icon svg{width:40px;height:40px;}
.value-item h3{font-size:1.1rem;margin-bottom:8px;}
.value-item p{font-size:.98rem;}
@media (max-width:1024px){.values-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.values-grid{grid-template-columns:1fr;}}

/* ---------- Team ---------- */
.team-dark{background:var(--sea-deep);color:#fff;position:relative;overflow:hidden;}
.team-dark::before{content:"";position:absolute;top:-120px;left:-120px;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(190,140,80,.16),transparent 70%);}
.team-dark .section-head .eyebrow{color:var(--mist);justify-content:center;}
.team-dark .section-head h2{color:#fff;}
.team-dark .section-head p{color:rgba(255,255,255,.7);}
.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:48px;}
.team-grid.single{grid-template-columns:1fr;max-width:940px;margin-left:auto;margin-right:auto;}
.team-grid.single .team-card-dark{grid-template-columns:320px 1fr;}
.team-card-dark{background:rgba(255,255,255,.06);border-radius:var(--r-lg);overflow:hidden;transition:transform .3s ease;box-shadow:0 10px 30px -12px rgba(0,0,0,.4);display:grid;grid-template-columns:200px 1fr;}
.team-card-dark:hover{transform:translateY(-4px);}
.team-card-dark .photo{background:linear-gradient(160deg,#4a5c4c,#2f4034);aspect-ratio:3/4;}
.team-card-dark .info{padding:40px 44px;display:flex;flex-direction:column;justify-content:center;}
@media (max-width:640px){.team-card-dark,.team-grid.single .team-card-dark{grid-template-columns:1fr;}.team-card-dark .photo{aspect-ratio:16/10;}.team-card-dark .info{padding:28px 24px;}}
.team-card-dark .role{font-size:.86rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--gold);margin-bottom:10px;}
.team-card-dark h3{color:#fff;margin-bottom:10px;}
.team-card-dark p{color:rgba(255,255,255,.68);font-size:1.04rem;}
@media (max-width:768px){.team-grid{grid-template-columns:1fr;}}

/* ---------- Life grid (Home) ---------- */
.life-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:48px;}
.life-item{background:#fff;border-radius:var(--r-md);padding:32px 30px;box-shadow:var(--shadow-sm);transition:transform .3s ease,box-shadow .3s ease;}
.life-item:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);}
.life-icon{width:66px;height:66px;border-radius:16px;background:var(--ivory);display:flex;align-items:center;justify-content:center;color:var(--sage);margin-bottom:20px;}
.life-icon svg{width:42px;height:42px;}
.life-item h3{font-size:1.18rem;margin-bottom:10px;}
.life-item p{font-size:1rem;}
@media (max-width:768px){.life-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:520px){.life-grid{grid-template-columns:1fr;}}

/* ---------- Testimonials (Home) ---------- */
.card-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:48px;}
.testimonial-card{background:#fff;border-radius:var(--r-md);padding:32px;box-shadow:var(--shadow-sm);transition:transform .3s ease,box-shadow .3s ease;}
.testimonial-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);}
.stars{color:var(--gold);letter-spacing:3px;margin-bottom:18px;font-size:.92rem;}
.testimonial-quote{font-family:var(--font-display);font-style:italic;font-size:1.2rem;color:var(--sea-deep);line-height:1.5;margin-bottom:22px;font-weight:400;}
.testimonial-author{display:flex;align-items:center;gap:14px;}
.author-avatar{width:42px;height:42px;border-radius:50%;background:#fff;flex-shrink:0;box-shadow:var(--shadow-sm);display:flex;align-items:center;justify-content:center;padding:8px;}
.author-avatar img{width:100%;height:100%;object-fit:contain;}
.author-name{font-size:.94rem;font-weight:800;color:var(--sea-deep);}
.author-role{font-size:.92rem;color:var(--sage);}
@media (max-width:900px){.card-grid-3{grid-template-columns:1fr;}}

/* ---------- Quote callout (Memory Care VDT section) ---------- */
.quote-callout{max-width:760px;margin:0 auto;text-align:center;}
.quote-callout .mark{font-family:var(--font-display);font-size:3.4rem;color:var(--plum);opacity:.5;line-height:1;margin-bottom:6px;}
.quote-callout blockquote{font-family:var(--font-display);font-size:clamp(1.5rem,2.4vw,1.9rem);color:var(--sea-deep);font-weight:500;line-height:1.4;margin-bottom:20px;}
.quote-callout cite{font-style:normal;font-size:1.05rem;color:#5c6558;display:block;max-width:620px;margin:0 auto;}
.quote-callout .btn-row{justify-content:center;}

/* ---------- Floor plan (Assisted Living / Memory Care) ---------- */
.floor-plan-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:56px;align-items:center;}
.floor-plan-img{min-height:400px;}
.floor-plan-img.has-diagram{background:#fff;padding:28px;display:flex;align-items:center;justify-content:center;}
.floor-plan-img.has-diagram::after{display:none;}
.floor-plan-img.has-diagram img{width:100%;height:auto;object-fit:contain;border-radius:var(--r-sm);}
.floor-plan-img .fp-note{position:absolute;left:16px;bottom:12px;right:16px;color:var(--sage);font-size:.72rem;letter-spacing:.03em;text-transform:none;font-weight:600;opacity:1;text-align:left;}
@media (max-width:900px){.floor-plan-layout{grid-template-columns:1fr;}}

/* ---------- Form card (Contact — single unified form) ---------- */
.form-shell{max-width:600px;}
.form-card{background:var(--sea-deep);border-radius:var(--r-lg);padding:56px 60px;position:relative;overflow:hidden;box-shadow:var(--shadow-lg);height:100%;}
.form-card::before{content:"";position:absolute;top:-120px;right:-100px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(190,140,80,.18),transparent 70%);}
.form-card-inner{position:relative;z-index:1;}
.form-card .tag.plum{color:var(--gold);}
.form-card .tag.plum::before{background:var(--gold);}
.form-card h2{color:#fff;margin-bottom:10px;}
.form-card > .form-card-inner > p{color:rgba(255,255,255,.7);margin-bottom:36px;}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px;}
.field-group{display:flex;flex-direction:column;gap:8px;}
.field-group label{font-size:.82rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--mist);}
.field-group label .req{color:var(--gold);}
.field-group input,
.field-group select,
.field-group textarea{
  font-family:var(--font-body);font-size:1rem;color:var(--sea-deep);
  background:#fff;border:none;border-radius:var(--r-sm);
  padding:14px 16px;width:100%;box-shadow:var(--shadow-sm);
}
.field-group select{appearance:none;-webkit-appearance:none;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="%2370826A" stroke-width="2"><polyline points="6 9 12 15 18 9"/></svg>');background-repeat:no-repeat;background-position:right 16px center;cursor:pointer;}
.field-group textarea{resize:vertical;min-height:110px;font-family:var(--font-body);}
.char-count{text-align:right;font-size:.82rem;color:rgba(255,255,255,.45);margin-top:6px;}
.form-card .btn-row{margin-top:8px;}
@media (max-width:900px){.field-row{grid-template-columns:1fr;} .form-card{padding:40px 24px;}}

/* ---------- CTA banner ---------- */
.cta-wrap{padding:60px 24px;}
.cta-banner{background:linear-gradient(135deg,var(--sea-deep),#233a2b);border-radius:24px;position:relative;overflow:hidden;box-shadow:var(--shadow-lg);padding:80px 64px;text-align:center;}
.cta-banner::before{content:"";position:absolute;top:-140px;right:-100px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(190,140,80,.16),transparent 70%);}
.cta-banner::after{content:"";position:absolute;bottom:-160px;left:-80px;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(124,88,102,.18),transparent 70%);}
.cta-banner-inner{position:relative;z-index:1;max-width:640px;margin:0 auto;}
.cta-banner h2{color:#fff;font-size:clamp(1.9rem,3vw,2.5rem);}
.cta-banner p{color:rgba(255,255,255,.75);margin-top:16px;font-size:1.15rem;}
.cta-banner .btn-row{justify-content:center;}
.cta-phone{margin-top:26px;font-size:1rem;color:var(--mist);font-weight:700;}
@media (max-width:900px){.cta-wrap{padding:56px 20px;}.cta-banner{border-radius:20px;padding:56px 32px;}}

/* ---------- Map ---------- */
.map-layout{display:grid;grid-template-columns:1fr 1.3fr;gap:64px;align-items:center;}
.map-details{margin-top:28px;display:flex;flex-direction:column;gap:14px;}
.map-detail{background:#fff;border-radius:var(--r-sm);padding:16px 20px;display:flex;gap:16px;font-size:1.05rem;box-shadow:var(--shadow-sm);}
.map-detail strong{font-size:.86rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--sage);min-width:72px;padding-top:2px;}
.map-detail span{color:var(--sea-deep);line-height:1.6;font-weight:600;}
.map-placeholder{height:400px;border-radius:var(--r-lg);background:linear-gradient(150deg,var(--mist),var(--sage));display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;position:relative;overflow:hidden;box-shadow:var(--shadow-md);}
.map-embed{height:400px;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-md);}
.map-embed iframe{width:100%;height:100%;border:0;display:block;}
.map-placeholder::before{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.06) 0 1px,transparent 1px 40px),repeating-linear-gradient(90deg,rgba(255,255,255,.06) 0 1px,transparent 1px 40px);}
@media (max-width:900px){.map-layout{grid-template-columns:1fr;}}

/* ---------- Footer ---------- */
footer{background:#1f2e24;padding:56px 0 32px;border-radius:20px 20px 0 0;}
.footer-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;padding-bottom:28px;border-bottom:1px solid rgba(255,255,255,.1);}
.footer-row .logo{color:#fff;}
.flinks{display:flex;gap:28px;flex-wrap:wrap;}
.flinks a{font-size:.98rem;color:rgba(255,255,255,.65);text-decoration:none;font-weight:700;}
.flinks a:hover{color:var(--gold);}
.fcopy{font-size:.92rem;color:rgba(255,255,255,.45);margin-top:22px;text-align:center;}

/* ============================================================
   MOTION LAYER — preview-polished (added 2026-07-14)
   Scroll reveals + hero load-in + scroll cue.
   Hidden states only exist on .pv-anim / .pv-hero, which are
   added by assets/js/site.js — with JS off nothing is hidden.
   Reference implementation for the pv-elements blur-fade port.
   ============================================================ */

.pv-anim{
  opacity:0;
  transform:translateY(26px);
  filter:blur(5px);
  transition:opacity .75s cubic-bezier(.22,.61,.36,1),
             transform .75s cubic-bezier(.22,.61,.36,1),
             filter .75s cubic-bezier(.22,.61,.36,1);
  will-change:opacity,transform,filter;
}
.pv-anim.pv-in{opacity:1;transform:none;filter:none;}

/* Hero / page-header load-in — keyframes omit `to` so elements
   settle at their natural computed style; fill-mode:both holds
   the hidden `from` state through each stagger delay. */
@keyframes pv-rise{from{opacity:0;transform:translateY(22px)}}
@keyframes pv-fade{from{opacity:0}}
.pv-hero .hero-inner > *,
.pv-hero .page-header-inner > *{animation:pv-rise .8s cubic-bezier(.22,.61,.36,1) both;}
.pv-hero .hero-inner > :nth-child(1),.pv-hero .page-header-inner > :nth-child(1){animation-delay:.08s}
.pv-hero .hero-inner > :nth-child(2),.pv-hero .page-header-inner > :nth-child(2){animation-delay:.2s}
.pv-hero .hero-inner > :nth-child(3),.pv-hero .page-header-inner > :nth-child(3){animation-delay:.32s}
.pv-hero .hero-inner > :nth-child(4),.pv-hero .page-header-inner > :nth-child(4){animation-delay:.44s}
.pv-hero .hero-inner > :nth-child(5),.pv-hero .page-header-inner > :nth-child(5){animation-delay:.56s}
.pv-hero .hero-photo-panel{animation:pv-fade 1.1s ease .25s both;}
.pv-hero .hero-blob,
.pv-hero .page-header-blob{animation:pv-fade 1.6s ease .4s both;}

/* Scroll cue — "keep scrolling" brand element (client feedback), Home hero */
.scroll-cue{
  margin:26px auto 0;
  display:flex;flex-direction:column;align-items:center;gap:8px;
  color:var(--sage);
  font-size:.78rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;
}
.scroll-cue svg{color:var(--gold);animation:pv-cue 2.4s ease-in-out infinite;}
@keyframes pv-cue{0%,100%{transform:translateY(0);opacity:.95}55%{transform:translateY(8px);opacity:.45}}

/* Accessibility: this audience skews older — always honor reduced motion.
   (site.js also bails entirely; this is the CSS backstop.) */
@media (prefers-reduced-motion: reduce){
  .pv-anim,.pv-anim.pv-in{opacity:1;transform:none;filter:none;transition:none;}
  .pv-hero .hero-inner > *,
  .pv-hero .page-header-inner > *,
  .pv-hero .hero-photo-panel,
  .pv-hero .hero-blob,
  .pv-hero .page-header-blob{animation:none;}
  .scroll-cue svg{animation:none;}
}
