:root{
  --green:#102f24;
  --green2:#173e2e;
  --deep:#061a13;
  --cream:#f6efdf;
  --cream2:#efe4cc;
  --paper:#fff9ea;
  --gold:#b9944d;
  --gold2:#d7bc78;
  --ink:#14271e;
  --muted:#5d675f;
  --line:#dac79e;
  --shadow:rgba(14,25,18,.18);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Georgia,'Times New Roman',serif}
a{color:inherit}.topbar{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding: 0 42px 10px;;background:linear-gradient(90deg,#fbf7ec,#f5eddb);border-bottom:1px solid rgba(185,148,77,.32);position:sticky;top:0;z-index:50}

.brand img
{display:block;height:126px;width:auto}

.topbar nav,.footer nav
{display:flex;gap:31px;align-items:center}

.topbar nav a,.footer nav a
{text-decoration:none;text-transform:uppercase;letter-spacing:.095em;font:900 11px/1 Arial,sans-serif}

.login{background:var(--green);color:#f7eacb;text-decoration:none;text-transform:uppercase;letter-spacing:.11em;font:900 12px/1 Arial,sans-serif;padding:17px 25px;border:1px solid rgba(215,188,120,.45)}

.hero{min-height:640px;position:relative;overflow:hidden;display:flex;align-items:center}
.hero-image{position:absolute;inset:0;background-image:url('assets/hero-homeowner-steward.jpg');background-size:cover;background-position:center top;filter:saturate(1.02) contrast(1.03)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,14,10,.82) 0%,rgba(7,22,17,.62) 27%,rgba(8,24,17,.12) 56%,rgba(7,18,13,.18) 100%)}
.hero-content{position:relative;z-index:2;width:min(520px,46vw);margin-left:56px;color:white}

.kicker{text-transform:uppercase;letter-spacing:.13em;font:900 12px/1 Arial,sans-serif;color:#9b7837;margin-bottom:14px}
.kicker.gold{color:#d4b05e}.hero h1{font-size:65px;line-height:.98;letter-spacing:-.045em;margin:0 0 15px;color:#fff7df;text-shadow:0 4px 18px rgba(0,0,0,.42)}

.hero p{font:18px/1.55 Arial,sans-serif;color:#f3ecd8;max-width:360px;margin:18px 0 26px}

.rule{display:flex;align-items:center;gap:14px}
.rule span{display:block;width:44px;height:2px;background:var(--gold)}
.rule img{width:27px;height:24px;object-fit:contain;filter:brightness(1.45) sepia(.4)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:18px;text-decoration:none;text-transform:uppercase;letter-spacing:.11em;font:900 12px/1 Arial,sans-serif;padding:16px 24px;min-width:170px}
.btn.dark{background:#173e2e;color:#f1d99f;border:1px solid var(--gold);box-shadow:0 12px 28px rgba(0,0,0,.22)}
.btn.light{background:transparent;color:var(--ink);border:1px solid var(--gold);box-shadow:none}
.btn.outlined{background:transparent;color:#e9cc84}

.plaque{position:absolute;right:64px;bottom:78px;z-index:3;width:165px;min-height:135px;background:linear-gradient(135deg,#dbb962,#977029);border:2px solid #4d3614;box-shadow:inset 0 2px 0 rgba(255,255,255,.45),inset 0 -2px 0 rgba(0,0,0,.28),0 18px 40px rgba(0,0,0,.4);display:grid;place-items:center;text-align:center;color:#160e04;text-transform:uppercase}
.plaque:before{content:"";position:absolute;inset:10px;border:1px solid rgba(55,35,8,.65)}
.plaque strong{position:relative;font-size:24px;line-height:1.05;letter-spacing:.02em}
.tree{position:absolute;top:23px;font-size:18px}
.intro-band{position:relative;display:grid;grid-template-columns:330px 1fr;gap:70px;align-items:center;padding:52px 80px 58px;background:#fbf6e9;overflow:hidden}
.intro-band:before{content:"";position:absolute;left:-35px;bottom:-10px;width:180px;height:230px;background:url('assets/detail-pines-web.png') center/contain no-repeat;opacity:.12;filter:grayscale(1)}

.intro-copy h2,.assessment-copy h2,.portal-copy h2,.section-heading h2,.contact h2
{font-size:36px;line-height:1.08;letter-spacing:-.03em;margin:0;color:var(--green)}

.intro-copy p,.assessment-copy p,.portal-copy p,.section-heading p,.contact p
{font:15px/1.55 Arial,sans-serif;color:#3f4c43}

.small-rule{width:38px;height:2px;background:var(--gold);margin:20px 0}

.benefit-row{display:grid;grid-template-columns:repeat(4,1fr);gap:42px;text-align:center}
.benefit-row article{display:flex;flex-direction:column;align-items:center}
.crest{width:62px;height:62px;border:2px solid rgba(185,148,77,.55);border-radius:50%;display:grid;place-items:center;color:var(--gold);font-size:28px;margin-bottom:16px;box-shadow:inset 0 0 0 7px rgba(185,148,77,.08)}
.benefit-row h3{font-size:22px;line-height:1.06;margin:0 0 12px;color:#1a2d22}
.benefit-row p{font:14px/1.45 Arial,sans-serif;color:#2f3d34;margin:0}

.assessment-feature{display:grid;grid-template-columns:47% 1fr;min-height:325px;background:linear-gradient(90deg,#e9dec4,#f5eedc);border-top:1px solid var(--line);position:relative;overflow:hidden}

.assessment-photo{background:url('assets/snapshot-binder.png') center/cover no-repeat;min-height:325px}
.assessment-copy{padding:55px 55px 45px}
.pine-branch{position:absolute;right:42px;bottom:22px;width:250px;opacity:.48;mix-blend-mode:multiply}
.steward-system{padding:72px 78px;background:#fff9ea;border-top:1px solid var(--line)}
.section-heading{text-align:center;max-width:760px;margin:0 auto 34px}
.section-heading h2{font-size:42px}
.section-heading p{font-size:17px}
.system-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:15px}
.system-grid article{background:#f7eed9;border:1px solid var(--line);padding:18px 12px;text-align:center;min-height:140px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.system-grid img{width:58px;height:58px;object-fit:contain;margin-bottom:12px;filter:drop-shadow(0 2px 3px rgba(0,0,0,.12))}
.system-grid span{font:900 12px/1.22 Arial,sans-serif;text-transform:uppercase;letter-spacing:.055em;color:var(--green)}

.portal-band{display:grid;grid-template-columns:380px 1fr;gap:40px;align-items:center;padding:48px 60px;background:radial-gradient(circle at 65% 42%,rgba(39,84,61,.85),rgba(6,26,19,1) 64%);color:white;border-top:3px solid var(--gold)}
.portal-copy h2{color:#fff7df}
.portal-copy p{color:#e7e2d2}
.light-rule{background:#d2ad5d}
.devices{width:100%;max-width:690px;justify-self:end;filter:drop-shadow(0 18px 32px rgba(0,0,0,.38))}
.pricing{padding:72px 78px;background:#f6efdf;border-top:1px solid var(--line)}
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.price-grid article{background:#fff9ea;border:1px solid var(--line);padding:30px;box-shadow:0 18px 35px rgba(53,39,17,.08)}
.price-grid article.featured{background:#113528;color:white;border-color:var(--gold)}
.price-grid h3{font-size:26px;margin:0 0 13px;color:var(--green)}
.price-grid .featured h3{color:#fff}.price{font-size:48px;line-height:1;color:var(--green);font-weight:bold;margin-bottom:18px}.featured .price{color:#f0d49a}.price span{font:700 17px/1 Arial,sans-serif;color:#6b746d}.featured .price span{color:#d9c9a3}.price-grid p{font:15px/1.52 Arial,sans-serif;color:#465346}.featured p{color:#e3e7df}.price-grid strong{font:900 13px/1.2 Arial,sans-serif;text-transform:uppercase;letter-spacing:.055em;color:var(--gold)}

.contact{padding:72px 30px;background:linear-gradient(180deg,#fbf4e6,#ead9b9);text-align:center}

.ticket{max-width:720px;margin:0 auto;border:1.5px dashed var(--gold);background:#fff9ea;padding:42px 30px;box-shadow:0 18px 45px rgba(78,57,23,.1)}

.footer{display:grid;grid-template-columns:230px 1fr 270px;align-items:center;gap:20px;padding:24px 38px;background:#fbf7ec;border-top:1px solid var(--line)}

.small-brand img{width:160px}

.footer p{font:12px/1.3 Arial,sans-serif;margin:0;text-align:right;color:#304138}
@media(max-width:900px){

.topbar{height:auto;padding:14px 18px;flex-wrap:wrap}
.topbar nav{order:3;width:100%;justify-content:center;gap:16px;flex-wrap:wrap}
.brand img{width:145px}
.login{padding:13px 15px}
.hero{min-height:650px;align-items:end}
.hero-content{width:auto;margin:0;padding:34px 24px 45px}
.hero h1{font-size:48px}
.hero p{max-width:420px}
.plaque{right:20px;top:105px;bottom:auto;transform:scale(.82);transform-origin:top right}

.intro-band,.assessment-feature,.portal-band,.footer{grid-template-columns:1fr}
.intro-band{padding:45px 24px;gap:35px}
.benefit-row,.system-grid,.price-grid{grid-template-columns:1fr 1fr;gap:18px}
.assessment-copy{padding:38px 24px}
.pine-branch{width:160px;opacity:.28}
.steward-system,.pricing{padding:50px 22px}
.portal-band{padding:42px 24px}
.devices{justify-self:center}
.footer{text-align:center}
.footer nav{justify-content:center;flex-wrap:wrap}
.footer p{text-align:center}
.small-brand img{margin:0 auto}}
@media(max-width:560px){
.benefit-row,.system-grid,.price-grid{grid-template-columns:1fr}
.topbar nav a{font-size:10px}
.hero h1{font-size:40px}
.plaque{display:none}
.intro-copy h2,.assessment-copy h2,.portal-copy h2,.section-heading h2,.contact h2{font-size:30px}
.hero-image{background-position:60% top}}

/* Sales Sheet Strategy copy integration */
.support-copy{margin-top:-4px!important;color:#56665b!important}.lead-copy{font:17px/1.55 Arial,sans-serif;color:#5b665f;max-width:760px;margin:12px auto 0}.left-heading{text-align:left;margin-left:0}.promise-section{padding:76px 78px;background:#fff9ea;border-top:1px solid var(--line)}.promise-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.promise-grid article{background:#f7eed9;border:1px solid var(--line);padding:24px;box-shadow:0 14px 32px rgba(53,39,17,.07)}.promise-grid strong{display:block;color:var(--green);font-size:22px;line-height:1.08;margin-bottom:10px}.promise-grid span{display:block;font:15px/1.52 Arial,sans-serif;color:#405044}.how-use-section{padding:72px 78px;background:linear-gradient(135deg,#173e2e,#061a13);border-top:3px solid var(--gold);color:#fff}.notebook-card{max-width:980px;margin:0 auto;background:#fff9ea;color:var(--green);border:1.5px solid var(--gold);box-shadow:0 22px 55px rgba(0,0,0,.25);padding:42px}.notebook-card h2{font-size:42px;line-height:1.04;margin:0 0 14px;color:var(--green)}.notebook-card p{font:17px/1.6 Arial,sans-serif;color:#405044;max-width:780px}.use-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:24px}.use-steps div{background:#f5ecd8;border:1px solid var(--line);padding:18px}.use-steps b{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--green);color:#f3d88d;font:900 14px/1 Arial,sans-serif;margin-bottom:12px}.use-steps span{font:900 13px/1.35 Arial,sans-serif;text-transform:uppercase;letter-spacing:.045em;color:#26392f}.ten-grid{grid-template-columns:repeat(5,1fr)}.ten-grid article{min-height:158px}.who-section{padding:72px 78px;background:linear-gradient(180deg,#fbf6e9,#efe4cc);border-top:1px solid var(--line)}.who-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.who-grid article{background:#fff9ea;border:1px solid var(--line);padding:26px;box-shadow:0 14px 32px rgba(53,39,17,.07)}.who-grid h3{font-size:24px;margin:0 0 10px;color:var(--green)}.who-grid p{font:15px/1.55 Arial,sans-serif;color:#405044;margin:0}.action-section{padding:76px 78px;background:#fff9ea;border-top:1px solid var(--line)}.action-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:26px}.action-grid article{background:#f7eed9;border:1px solid var(--line);padding:24px;box-shadow:0 14px 32px rgba(53,39,17,.07)}.action-grid article2{background:#ffffff;border:1px solid var(--line);padding:24px;box-shadow:0 14px 32px rgba(53,39,17,.07)}.action-grid img{width:76px;height:76px;object-fit:contain;margin-bottom:12px;filter:drop-shadow(0 3px 4px rgba(0,0,0,.14))}.action-grid h3{font-size:23px;line-height:1.07;margin:0 0 10px;color:var(--green)}.action-grid p{font:15px/1.52 Arial,sans-serif;color:#405044;margin:0}.expect-section{padding:70px 78px;background:#fff9ea;border-top:1px solid var(--line)}.expect-card{max-width:900px;margin:0 auto;text-align:center;border:1.5px dashed var(--gold);background:#f7eed9;padding:38px;box-shadow:0 16px 36px rgba(53,39,17,.08)}.expect-card h2{font-size:40px;color:var(--green);margin:0 0 12px}.expect-card p{font:17px/1.58 Arial,sans-serif;color:#405044;max-width:760px;margin:0 auto 22px}.expect-list{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.expect-list span{background:#173e2e;color:#f1d99f;border:1px solid var(--gold);padding:12px 15px;font:900 12px/1 Arial,sans-serif;text-transform:uppercase;letter-spacing:.06em}.pricing .lead-copy{color:#d9d4c5}@media(max-width:900px){.promise-section,.how-use-section,.who-section,.action-section,.expect-section{padding:48px 22px}.promise-grid,.action-grid,.who-grid,.use-steps,.ten-grid{grid-template-columns:1fr 1fr}.notebook-card{padding:28px}.notebook-card h2{font-size:32px}.left-heading{text-align:center;margin-left:auto}}@media(max-width:560px){.promise-grid,.action-grid,.who-grid,.use-steps,.ten-grid{grid-template-columns:1fr}.expect-card{padding:28px 20px}.expect-card h2{font-size:30px}}

/* Conversion-focused sections */
.conversion-open{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.7fr);gap:44px;align-items:center;padding:78px 78px;background:#fff9ea;border-top:1px solid var(--line)}
.conversion-copy h2{font-size:48px;line-height:1.02;letter-spacing:-.035em;color:var(--green);margin:0 0 18px}.conversion-copy p{font:18px/1.65 Arial,sans-serif;color:#405044;max-width:820px}.stress-card{background:linear-gradient(180deg,#173e2e,#061a13);color:#fff;border:1.5px solid var(--gold);box-shadow:0 22px 55px rgba(0,0,0,.22);padding:34px}.stress-card h3{font-size:31px;line-height:1.05;color:#fff7df;margin:0 0 20px}.stress-card ul{margin:0;padding:0;list-style:none;display:grid;gap:13px}.stress-card li{font:900 14px/1.35 Arial,sans-serif;text-transform:uppercase;letter-spacing:.055em;color:#f1dfb7;border-top:1px solid rgba(215,188,120,.28);padding-top:13px}.fit-section{background:linear-gradient(180deg,#fbf6e9,#efe4cc)}.audience-grid article{position:relative;overflow:hidden}.audience-grid article:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}.audience-grid strong{display:block;margin-top:18px;color:var(--green);font:900 13px/1.3 Arial,sans-serif;text-transform:uppercase;letter-spacing:.055em;border-top:1px solid var(--line);padding-top:14px}.steward-row article p{max-width:180px}.relief-grid article strong{font-size:24px}.imagine-grid div{min-height:145px}.pricing .lead-copy{color:#e5dfcf!important}.hero-content{width:min(620px,50vw)}.hero p{max-width:465px}.hero h1{font-size:72px}@media(max-width:900px){.conversion-open{grid-template-columns:1fr;padding:50px 22px}.conversion-copy h2{font-size:34px}.conversion-copy p{font-size:16px}.hero-content{width:auto}.hero h1{font-size:48px}}@media(max-width:560px){.stress-card{padding:26px}.stress-card h3{font-size:25px}.hero h1{font-size:40px}}


/* Sales converter v3 additions: trust, differentiation, assessment price */
.different-section{display:grid;grid-template-columns:minmax(0,.9fr) minmax(380px,1.1fr);gap:42px;align-items:center;padding:76px 78px;background:#fff9ea;border-top:1px solid var(--line)}
.different-copy h2,.about-copy h2,.price-copy h2{font-size:46px;line-height:1.03;letter-spacing:-.035em;color:var(--green);margin:0 0 18px}.different-copy p,.about-copy p,.price-copy p{font:17px/1.62 Arial,sans-serif;color:#405044}.different-points{display:grid;grid-template-columns:1fr 1fr;gap:14px}.different-points article{background:#f7eed9;border:1px solid var(--line);padding:24px;box-shadow:0 14px 32px rgba(53,39,17,.07)}.different-points strong{display:block;color:var(--green);font-size:23px;line-height:1.08;margin-bottom:9px}.different-points span{display:block;font:15px/1.5 Arial,sans-serif;color:#405044}
.about-section{padding:78px 78px;background:linear-gradient(135deg,#173e2e,#061a13);border-top:3px solid var(--gold)}.about-card{display:grid;grid-template-columns:310px 1fr;gap:42px;align-items:center;max-width:1080px;margin:0 auto;background:#fff9ea;border:1.5px solid var(--gold);box-shadow:0 24px 60px rgba(0,0,0,.25);padding:42px}.about-seal{min-height:300px;background:#f4ead6;border:1px solid var(--line);display:grid;place-items:center}.about-seal img{width:min(240px,78%);height:auto;filter:drop-shadow(0 12px 18px rgba(27,39,29,.16))}.about-note{margin-top:22px;border-left:4px solid var(--gold);background:#f6edda;padding:18px 20px;font:16px/1.55 Arial,sans-serif;color:#33463a}.about-note strong{font-family:Georgia,'Times New Roman',serif;color:var(--green);font-size:21px}
.assessment-price{padding:76px 78px;background:#fff9ea;border-top:1px solid var(--line)}.assessment-price-card{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:34px;align-items:center;max-width:1080px;margin:0 auto}.price-copy ul{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:22px 0 0;padding:0;list-style:none}.price-copy li{background:#f7eed9;border:1px solid var(--line);padding:14px 15px;font:900 13px/1.32 Arial,sans-serif;text-transform:uppercase;letter-spacing:.045em;color:#2c4035}.assessment-price-box{background:linear-gradient(180deg,#173e2e,#061a13);border:1.5px solid var(--gold);color:#fff;text-align:center;padding:34px 26px;box-shadow:0 22px 55px rgba(0,0,0,.22)}.assessment-price-box span{font:900 12px/1 Arial,sans-serif;text-transform:uppercase;letter-spacing:.12em;color:#d8b76e}.assessment-price-box strong{display:block;font-size:68px;line-height:.95;color:#fff7df;margin:18px 0 14px}.assessment-price-box p{font:15px/1.5 Arial,sans-serif;color:#e7dfc9;margin:0 0 22px}.assessment-price-box .btn{width:100%}
@media(max-width:900px){.different-section,.about-card,.assessment-price-card{grid-template-columns:1fr}.different-section,.about-section,.assessment-price{padding:50px 22px}.different-copy h2,.about-copy h2,.price-copy h2{font-size:34px}.different-points,.price-copy ul{grid-template-columns:1fr}.about-card{padding:28px}.about-seal{min-height:220px}.assessment-price-box strong{font-size:56px}}


/* Immediate homeowner concerns section */
.concern-section{padding:76px 78px;background:linear-gradient(180deg,#fff9ea,#f3e7cf);border-top:1px solid var(--line);display:grid;grid-template-columns:minmax(0,.86fr) minmax(420px,1.14fr);gap:46px;align-items:center}
.concern-intro h2{font-size:50px;line-height:1.02;letter-spacing:-.04em;color:var(--green);margin:0 0 18px}
.concern-intro p{font:18px/1.65 Arial,sans-serif;color:#405044;max-width:700px}
.concern-quotes{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.concern-quotes article{position:relative;background:#fffdf4;border:1px solid var(--line);box-shadow:0 14px 34px rgba(53,39,17,.08);padding:24px 22px 22px;min-height:118px;display:flex;align-items:flex-end;overflow:hidden}
.concern-quotes article:before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.9}
.concern-quotes span{position:absolute;left:14px;top:5px;font-size:74px;line-height:1;color:rgba(185,148,77,.18);font-family:Georgia,'Times New Roman',serif}
.concern-quotes p{position:relative;margin:0;font-size:23px;line-height:1.15;color:var(--green);font-weight:bold;letter-spacing:-.015em}
.concern-quotes article:nth-child(4n+2),
.concern-quotes article:nth-child(4n+3){background:#f7eed9}
.concern-quotes article:nth-child(4){border-color:var(--gold)}
@media(max-width:900px){.concern-section{grid-template-columns:1fr;padding:50px 22px}.concern-intro h2{font-size:36px}.concern-intro p{font-size:16px}.concern-quotes{grid-template-columns:1fr 1fr}.concern-quotes p{font-size:20px}}
@media(max-width:560px){.concern-quotes{grid-template-columns:1fr}.concern-quotes article{min-height:96px}.concern-quotes p{font-size:19px}}

/* ======================================================================
   Audience Selector Page
   ----------------------------------------------------------------------
   Surgical refinement based on the mockup direction:
   - Cards remain editable HTML text, not flattened image cards.
   - Only the card photo areas are separate image files.
   - Existing Georgia / Arial typography and YHS color system are preserved.
   ====================================================================== */

.selector-hero {
  position: relative;
  min-height: 720px;
  padding: 86px 74px 72px;
  overflow: hidden;
  background:
    linear-gradient(90deg, rgba(6, 26, 19, .97), rgba(16, 47, 36, .82) 48%, rgba(6, 26, 19, .48)),
    url('assets/hero-homeowner-steward.jpg') center top / cover no-repeat;
  color: #fff7df;
}

.selector-shell {
  position: relative;
  z-index: 2;
  max-width: 1220px;
  margin: 0 auto;
}

.selector-intro {
  max-width: 760px;
  margin-bottom: 34px;
}

.selector-intro h1 {
  max-width: 720px;
  margin: 0 0 18px;
  color: #fff7df;
  font-size: clamp(46px, 6vw, 82px);
  line-height: .96;
  letter-spacing: -.055em;
  text-shadow: 0 4px 18px rgba(0, 0, 0, .42);
}

.selector-intro p {
  max-width: 640px;
  color: #f3ecd8;
  font: 19px/1.6 var(--font-sans);
}

.selector-prompt {
  display: inline-flex;
  margin: 8px 0 20px;
  padding: 10px 16px;
  border: 1px solid rgba(215, 188, 120, .6);
  background: rgba(6, 26, 19, .5);
  color: #f1d99f;
  font: 900 12px/1 var(--font-sans);
  letter-spacing: .12em;
  text-transform: uppercase;
}

.selector-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  align-items: stretch;
}

.selector-card {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 430px;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(218, 199, 158, .92);
  background: rgba(255, 249, 234, .97);
  color: var(--green);
  text-decoration: none;
  box-shadow: 0 18px 40px rgba(0, 0, 0, .23);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.selector-card::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid rgba(255, 255, 255, .42);
  pointer-events: none;
}

.selector-card:hover,
.selector-card:focus-visible {
  transform: translateY(-5px);
  border-color: var(--gold-2);
  box-shadow: 0 26px 58px rgba(0, 0, 0, .34);
}

.selector-card-media {
  position: relative;
  height: 155px;
  margin: 0;
  overflow: hidden;
  background: var(--cream-2);
}

.selector-card-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.96) contrast(1.02);
  transition: transform .25s ease, filter .25s ease;
}

.selector-card:hover .selector-card-media img,
.selector-card:focus-visible .selector-card-media img {
  transform: scale(1.035);
  filter: saturate(1.04) contrast(1.04);
}

.selector-card-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 28px 24px 24px;
  text-align: left;
}

.selector-card small {
  display: block;
  margin-bottom: 14px;
  color: #9b7837;
  font: 900 12px/1 var(--font-sans);
  letter-spacing: .13em;
  text-transform: uppercase;
}

.selector-card strong {
  display: block;
  margin-bottom: 14px;
  color: var(--green);
  font-family: var(--font-serif);
  font-size: 29px;
  line-height: 1.03;
  letter-spacing: -.025em;
}

.selector-card span {
  display: block;
  color: var(--text);
  font: 15px/1.5 var(--font-sans);
}

.selector-card em {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  width: 100%;
  margin-top: auto;
  padding: 15px 18px;
  border: 1px solid var(--gold);
  background: var(--green-2);
  color: #f1d99f;
  font: 900 12px/1 var(--font-sans);
  letter-spacing: .11em;
  text-transform: uppercase;
  font-style: normal;
  transition: background .18s ease, color .18s ease;
}

.selector-card em b {
  color: var(--gold-2);
  font-size: 18px;
  line-height: 0;
}

.selector-card:hover em,
.selector-card:focus-visible em {
  background: var(--green);
  color: #fff7df;
}

.path-section {
  padding: 78px;
  border-top: 1px solid var(--line);
  background: var(--paper);
}

.path-section.alt {
  background: linear-gradient(180deg, var(--paper-soft), var(--cream-2));
}

.path-wrap {
  display: grid;
  grid-template-columns: minmax(0, .86fr) minmax(420px, 1.14fr);
  gap: 42px;
  align-items: start;
  max-width: 1180px;
  margin: 0 auto;
}

.path-copy h2 {
  margin: 0 0 18px;
  color: var(--green);
  font-size: 48px;
  line-height: 1.02;
  letter-spacing: -.04em;
}

.path-copy p {
  color: var(--text);
 font-size: 17px;
line-height: 1.65;
font-family: Arial, sans-serif;
}

.path-points {
  display: grid;
  gap: 14px;
}

.path-points article {
  padding: 22px;
  border: 1px solid var(--line);
  background: #fffdf4;
  box-shadow: var(--shadow-soft);
}

.path-points article:nth-child(even) {
  background: var(--panel);
}

.path-points strong {
  display: block;
  margin-bottom: 7px;
  color: var(--green);
  font-size: 22px;
  line-height: 1.08;
}

.path-points span {
  display: block;
  color: var(--text);
  font: 15px/1.5 var(--font-sans);
}

.path-cta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 26px;
}

.audience-divider {
  padding: 54px 78px;
  border-top: 3px solid var(--gold);
  background: linear-gradient(135deg, var(--green-2), var(--deep));
  color: #fff7df;
  text-align: center;
}

.audience-divider h2 {
  max-width: 860px;
  margin: 0 auto 12px;
  color: #fff7df;
  font-size: 42px;
  line-height: 1.05;
}

.audience-divider p {
  max-width: 760px;
  margin: 0 auto;
  color: #e7e2d2;
  font: 17px/1.6 var(--font-sans);
}

.path-more {
  grid-column: 1 / -1;
  display: grid;
  gap: 12px;
  margin-top: 10px;
}

.path-more details {
  border: 1px solid var(--line);
  background: rgba(255, 249, 234, .86);
  box-shadow: 0 12px 26px rgba(53, 39, 17, .06);
}

.path-section.alt .path-more details {
  background: rgba(247, 238, 217, .9);
}

.path-more summary {
  position: relative;
  padding: 18px 56px 18px 22px;
  color: var(--green);
  cursor: pointer;
  font: 900 14px/1.25 var(--font-sans);
  letter-spacing: .06em;
  list-style: none;
  text-transform: uppercase;
}

.path-more summary::-webkit-details-marker {
  display: none;
}

.path-more summary::after {
  content: "+";
  position: absolute;
  top: 50%;
  right: 22px;
  color: var(--gold);
  font: 900 28px/1 var(--font-serif);
  transform: translateY(-50%);
}

.path-more details[open] summary::after {
  content: "–";
}

.path-more summary:hover,
.path-more summary:focus-visible {
  background: rgba(185, 148, 77, .10);
}

.more-content {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, .75fr);
  gap: 22px;
  padding: 0 22px 22px;
  border-top: 1px solid rgba(218, 199, 158, .72);
}

.more-content p,
.more-content li {
  color: var(--text);
  font: 15px/1.55 var(--font-sans);
}

.more-content ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding-left: 20px;
}

.more-note {
  padding: 18px;
  border-left: 4px solid var(--gold);
  background: #f6edda;
  color: var(--green);
  font: 900 14px/1.45 var(--font-sans);
}

@media (max-width: 1100px) {
  .selector-grid {
    grid-template-columns: 1fr 1fr;
  }

  .path-wrap {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 700px) {
  .selector-hero {
    padding: 54px 22px 50px;
  }

  .selector-grid {
    grid-template-columns: 1fr;
  }

  .selector-card {
    min-height: auto;
  }

  .selector-card-media {
    height: 180px;
  }

  .path-section,
  .audience-divider {
    padding: 50px 22px;
  }

  .path-copy h2,
  .audience-divider h2 {
    font-size: 34px;
  }

  .more-content {
    grid-template-columns: 1fr;
  }
}

/* ======================================================================
   Audience Selector Surgical Fixes — v2
   ----------------------------------------------------------------------
   Purpose:
   - Match the selector area's typography to the original lower-page styling.
   - Keep all card copy editable in HTML.
   - Use separate card photo files only, not flattened card images.
   - Use root-relative project asset paths expected from /index2.html.
   ====================================================================== */

.selector-hero {
  min-height: 690px;
  padding: 62px 74px 66px;
}

.selector-shell {
  max-width: 1180px;
}

.selector-intro {
  max-width: 760px;
  margin-bottom: 34px;
}

.selector-intro h1 {
  max-width: 760px;
  margin: 0 0 18px;
  color: #fff7df;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 72px;
  font-weight: 700;
  line-height: .98;
  letter-spacing: -.045em;
  text-shadow: 0 4px 18px rgba(0, 0, 0, .42);
}

.selector-intro p {
  max-width: 640px;
  margin: 18px 0 26px;
  color: #f3ecd8;
  font: 18px/1.55 Arial, sans-serif;
}

.selector-prompt {
  margin: 8px 0 20px;
  padding: 11px 17px;
  border: 1px solid rgba(215, 188, 120, .60);
  background: rgba(6, 26, 19, .50);
  color: #f1d99f;
  font: 900 12px/1 Arial, sans-serif;
  letter-spacing: .11em;
}

.selector-grid {
  gap: 18px;
}

.selector-card {
  min-height: 0;
  border: 1px solid var(--line);
  background: var(--paper);
  color: var(--green);
  box-shadow: 0 18px 35px rgba(53, 39, 17, .18);
}

.selector-card-media {
  height: 150px;
  margin: 0;
  border-bottom: 1px solid var(--line);
  background: #f7eed9;
}

.selector-card-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.selector-card-body {
  min-height: 365px;
  padding: 26px 24px 24px;
}

.selector-card small {
  color: #9b7837;
  font: 900 12px/1 Arial, sans-serif;
  letter-spacing: .13em;
}

.selector-card strong {
  color: var(--green);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 29px;
  font-weight: 700;
  line-height: 1.03;
  letter-spacing: -.025em;
}

.selector-card span {
  color: var(--text, #405044);
  font: 15px/1.5 Arial, sans-serif;
}

.selector-card em {
  width: 100%;
  margin-top: auto;
  padding: 15px 18px;
  border: 1px solid var(--gold);
  background: var(--green-2, #173e2e);
  color: #f1d99f;
  font: 900 12px/1 Arial, sans-serif;
  letter-spacing: .11em;
  text-align: center;
  text-transform: uppercase;
  box-shadow: 0 12px 28px rgba(0, 0, 0, .18);
}

.selector-card:hover em,
.selector-card:focus-visible em {
  background: var(--green, #102f24);
  color: #fff7df;
}

@media (max-width: 900px) {
  .selector-hero {
    padding: 50px 22px;
  }

  .selector-intro h1 {
    font-size: 48px;
  }

  .selector-card-body {
    min-height: 300px;
  }
}

@media (max-width: 560px) {
  .selector-intro h1 {
    font-size: 40px;
  }

  .selector-card-media {
    height: 165px;
  }

  .selector-card-body {
    min-height: auto;
  }
}


/* ======================================================================
   Seniors & Aging Homeowners Page Additions
   ----------------------------------------------------------------------
   Keeps the existing YHS visual system while adding senior-specific
   request examples, FAQs, and a calmer hero layout.
   ====================================================================== */

.senior-hero .hero-content {
  width: min(690px, 54vw);
}

.senior-hero h1 {
  max-width: 690px;
}

.examples-section,
.faq-section {
  padding: 76px 78px;
  background: #fff9ea;
  border-top: 1px solid var(--line);
}

.example-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  max-width: 1120px;
  margin: 0 auto;
}

.example-grid article {
  min-height: 138px;
  display: flex;
  align-items: flex-end;
  padding: 22px;
  background: #f7eed9;
  border: 1px solid var(--line);
  box-shadow: 0 14px 32px rgba(53, 39, 17, .07);
  color: var(--green);
  font-size: 22px;
  line-height: 1.12;
  font-weight: bold;
}

.example-grid article:nth-child(even) {
  background: #fffdf4;
}

.faq-list {
  display: grid;
  gap: 12px;
  max-width: 940px;
  margin: 0 auto;
}

.faq-list details {
  border: 1px solid var(--line);
  background: #fffdf4;
  box-shadow: 0 12px 26px rgba(53, 39, 17, .06);
}

.faq-list summary {
  position: relative;
  padding: 20px 58px 20px 22px;
  color: var(--green);
  cursor: pointer;
  font: 900 14px/1.25 Arial, sans-serif;
  letter-spacing: .06em;
  list-style: none;
  text-transform: uppercase;
}

.faq-list summary::-webkit-details-marker {
  display: none;
}

.faq-list summary::after {
  content: "+";
  position: absolute;
  top: 50%;
  right: 22px;
  color: var(--gold);
  font: 900 28px/1 Georgia, 'Times New Roman', serif;
  transform: translateY(-50%);
}

.faq-list details[open] summary::after {
  content: "–";
}

.faq-list p {
  margin: 0;
  padding: 0 22px 22px;
  color: #405044;
  font: 16px/1.62 Arial, sans-serif;
}

@media(max-width:900px){
  .senior-hero .hero-content {
    width: auto;
  }

  .examples-section,
  .faq-section {
    padding: 50px 22px;
  }

  .example-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media(max-width:560px){
  .example-grid {
    grid-template-columns: 1fr;
  }

  .example-grid article {
    min-height: 110px;
    font-size: 20px;
  }
}

/* ======================================================================
   Seniors Page — Steward Section Redesign
   ----------------------------------------------------------------------
   Converts the "What Is A Home Steward?" area from a wide floating-icon
   layout into a tighter two-column section with grounded support cards.
   ====================================================================== */

#steward.intro-band {
  grid-template-columns: minmax(300px, .72fr) minmax(460px, 1fr);
  gap: 42px;
  align-items: stretch;
  padding: 76px 78px;
  background:
    radial-gradient(circle at left bottom, rgba(185, 148, 77, .12), transparent 34%),
    #fbf6e9;
}

#steward.intro-band::before {
  opacity: .10;
}

#steward .intro-copy {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  max-width: 430px;
}

#steward .intro-copy h2 {
  font-size: 44px;
  line-height: 1.03;
}

#steward .intro-copy p {
  font-size: 16px;
  line-height: 1.62;
}

#steward .steward-row {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  text-align: left;
}

#steward .steward-row article {
  display: grid;
  grid-template-columns: 58px 1fr;
  grid-template-areas:
    "icon title"
    "icon text";
  column-gap: 18px;
  align-items: start;
  padding: 24px;
  background: #fffdf4;
  border: 1px solid var(--line);
  box-shadow: 0 14px 32px rgba(53, 39, 17, .07);
}

#steward .steward-row article:nth-child(2),
#steward .steward-row article:nth-child(3) {
  background: #f7eed9;
}

#steward .steward-row .crest {
  grid-area: icon;
  width: 52px;
  height: 52px;
  margin: 0;
  font-size: 23px;
  background: rgba(255, 249, 234, .72);
}

#steward .steward-row h3 {
  grid-area: title;
  margin: 0 0 8px;
  font-size: 25px;
  line-height: 1.02;
}

#steward .steward-row p {
  grid-area: text;
  max-width: none;
  margin: 0;
  font: 15px/1.5 Arial, sans-serif;
  color: #405044;
}

@media(max-width:900px) {
  #steward.intro-band {
    grid-template-columns: 1fr;
    padding: 50px 22px;
  }

  #steward .intro-copy {
    max-width: none;
  }

  #steward .steward-row {
    grid-template-columns: 1fr 1fr;
  }
}

@media(max-width:560px) {
  #steward .steward-row {
    grid-template-columns: 1fr;
  }

  #steward .steward-row article {
    grid-template-columns: 48px 1fr;
    padding: 20px;
  }

  #steward .steward-row .crest {
    width: 44px;
    height: 44px;
    font-size: 20px;
  }

  #steward .intro-copy h2 {
    font-size: 32px;
  }
}

/* ======================================================================
   Seniors Page — Card Pattern + Service Card Polish
   ----------------------------------------------------------------------
   - Uses a proper checkerboard alternation on the steward cards at desktop.
   - Switches to simple every-other alternation when stacked on mobile.
   - Centers and enlarges service card icons without flattening/editing HTML.
   ====================================================================== */

#steward .steward-row article {
  background: #fffdf4;
}

#steward .steward-row article:nth-child(4n + 2),
#steward .steward-row article:nth-child(4n + 3) {
  background: #f7eed9;
}

.action-grid article {
  padding: 30px 24px 28px;
}

.action-grid img {
  display: block;
  width: 112px;
  height: 112px;
  margin: 0 auto 22px;
  object-fit: contain;
  filter: drop-shadow(0 6px 10px rgba(53, 39, 17, .13));
}

@media(max-width:900px) {
  .action-grid img {
    width: 104px;
    height: 104px;
  }
}

@media(max-width:560px) {
  #steward .steward-row article:nth-child(odd) {
    background: #fffdf4;
  }

  #steward .steward-row article:nth-child(even) {
    background: #f7eed9;
  }

  .action-grid article {
    padding: 28px 22px;
  }

  .action-grid img {
    width: 96px;
    height: 96px;
    margin-bottom: 18px;
  }
}

/* ======================================================================
   Seniors Page — Membership Benefit Checkmark Medallions
   ----------------------------------------------------------------------
   Adds a branded brass checkmark medallion to each membership benefit card.
   The icon is CSS-generated so the card copy stays fully editable in HTML.
   ====================================================================== */

.promise-grid.relief-grid article {
  position: relative;
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  grid-template-areas:
    "icon title"
    "icon text";
  column-gap: 18px;
  align-items: start;
  overflow: hidden;
  padding: 26px 24px;
}

.promise-grid.relief-grid article::before {
  content: "✓";
  grid-area: icon;
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  border: 2px solid rgba(185, 148, 77, .72);
  border-radius: 50%;
  background:
    radial-gradient(circle at 35% 28%, rgba(255, 249, 234, .95), rgba(246, 237, 212, .86) 58%, rgba(215, 188, 120, .28));
  color: var(--green2);
  font: 900 32px/1 Arial, sans-serif;
  box-shadow:
    inset 0 0 0 7px rgba(185, 148, 77, .09),
    0 8px 16px rgba(53, 39, 17, .10);
}

.promise-grid.relief-grid article::after {
  content: "";
  position: absolute;
  top: 50px;
  left: 105px;
  right: 22px;
  height: 1px;
  background: rgba(218, 199, 158, .82);
}

.promise-grid.relief-grid article strong {
  grid-area: title;
  margin: 0 0 18px;
  padding-top: 1px;
}

.promise-grid.relief-grid article span {
  grid-area: text;
}

@media(max-width:900px) {
  .promise-grid.relief-grid article {
    grid-template-columns: 58px minmax(0, 1fr);
    column-gap: 16px;
  }

  .promise-grid.relief-grid article::before {
    width: 52px;
    height: 52px;
    font-size: 29px;
  }

  .promise-grid.relief-grid article::after {
    left: 96px;
  }
}

@media(max-width:560px) {
  .promise-grid.relief-grid article {
    grid-template-columns: 52px minmax(0, 1fr);
    padding: 22px 20px;
  }

  .promise-grid.relief-grid article::before {
    width: 46px;
    height: 46px;
    font-size: 25px;
    box-shadow:
      inset 0 0 0 6px rgba(185, 148, 77, .09),
      0 6px 12px rgba(53, 39, 17, .09);
  }

  .promise-grid.relief-grid article::after {
    left: 84px;
    right: 20px;
    top: 44px;
  }

  .promise-grid.relief-grid article strong {
    margin-bottom: 14px;
  }
}



/* ======================================================================
   Anchor Link Offset Fix
   ----------------------------------------------------------------------
   Keeps same-page anchor links from hiding section headings underneath the
   sticky navigation bar. Adjust the values below if the header height changes.
   ====================================================================== */

html {
  scroll-padding-top: 50px;
}

main section[id] {
  scroll-margin-top:50px;
}

@media(max-width:900px) {
  html {
    scroll-padding-top: 95px;
  }

  main section[id] {
    scroll-margin-top: 95px;
  }
}

@media(max-width:560px) {
  html {
    scroll-padding-top: 100px;
  }

  main section[id] {
    scroll-margin-top: 100px;
  }
}


/* ======================================================================
   Mobile header/logo spacing fix
   ----------------------------------------------------------------------
/* Fix mobile logo distortion */
@media(max-width:900px){
  .brand img{
    height:126px;
    width:auto;
    max-width:none;
  }
}

/* ======================================================================
   Seniors Page — Membership Benefits Accordion
   ----------------------------------------------------------------------
   Keeps the existing Member Benefits cards hidden by default, then reveals
   the full existing card grid when the accordion button is opened.
   ====================================================================== */

.membership-accordion {
  max-width: 100%;
  margin-top: 34px;
}

.membership-accordion summary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  min-width: 260px;
  padding: 17px 25px;
  border: 1px solid var(--gold);
  background: var(--green);
  color: #f1d99f;
  cursor: pointer;
  font: 900 12px/1 Arial, sans-serif;
  letter-spacing: .11em;
  text-transform: uppercase;
  list-style: none;
  box-shadow: 0 12px 28px rgba(0,0,0,.14);
}

.membership-accordion summary::-webkit-details-marker {
  display: none;
}

.membership-accordion summary span {
  color: var(--gold2);
  font-size: 15px;
  transition: transform .18s ease;
}

.membership-accordion[open] summary {
  margin-bottom: 28px;
}

.membership-accordion[open] summary span {
  transform: rotate(90deg);
}

.membership-accordion .promise-grid {
  margin-top: 0;
}

@media(max-width:560px) {
  .membership-accordion summary {
    width: 100%;
    min-width: 0;
  }
}



/* ======================================================================
   Seniors Page — Learn How To Use Your Membership Accordion
   ----------------------------------------------------------------------
   Polishes the membership usage explanation inside the existing accordion
   without changing the surrounding section structure.
   ====================================================================== */

.membership-use-content {
  display: grid;
  gap: 28px;
  margin-top: 0;
}

.membership-use-intro {
  max-width: 860px;
  padding: 30px;
  border: 1px solid var(--line);
  background: #fffdf4;
  box-shadow: 0 14px 32px rgba(53, 39, 17, .07);
}

.membership-use-intro h3 {
  max-width: 780px;
  margin: 0 0 12px;
  color: var(--green);
  font-size: 34px;
  line-height: 1.06;
  letter-spacing: -.03em;
}

.membership-use-intro p,
.membership-use-heading p,
.membership-step-grid p,
.visit-type-grid p,
.portal-use-grid p {
  margin: 0;
  color: #405044;
  font: 16px/1.58 Arial, sans-serif;
}

.membership-use-block {
  display: grid;
  gap: 18px;
}

.membership-use-heading {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

.membership-use-heading > span {
  display: grid;
  place-items: center;
  width: 62px;
  height: 62px;
  border: 2px solid rgba(185, 148, 77, .72);
  border-radius: 50%;
  background:
    radial-gradient(circle at 35% 28%, rgba(255, 249, 234, .95), rgba(246, 237, 212, .86) 58%, rgba(215, 188, 120, .28));
  color: var(--gold);
  font: 900 18px/1 Arial, sans-serif;
  box-shadow:
    inset 0 0 0 7px rgba(185, 148, 77, .09),
    0 8px 16px rgba(53, 39, 17, .10);
}

.membership-use-heading h4 {
  margin: 0 0 7px;
  color: var(--green);
  font-size: 30px;
  line-height: 1.05;
  letter-spacing: -.025em;
}

.membership-step-grid,
.visit-type-grid,
.portal-use-grid {
  display: grid;
  gap: 18px;
}

.membership-step-grid { grid-template-columns: repeat(3, 1fr); }
.visit-type-grid { grid-template-columns: 1fr 1fr; }
.portal-use-grid { grid-template-columns: repeat(3, 1fr); }

.membership-step-grid article,
.visit-type-grid article,
.portal-use-grid article {
  position: relative;
  border: 1px solid var(--line);
  background: #f7eed9;
  box-shadow: 0 14px 32px rgba(53, 39, 17, .07);
}

.membership-step-grid article { padding: 26px 24px 24px; }
.membership-step-grid article:nth-child(even),
.portal-use-grid article:nth-child(even) { background: #fffdf4; }

.membership-step-grid b {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  margin-bottom: 16px;
  border-radius: 50%;
  background: var(--green);
  color: #f1d99f;
  font: 900 14px/1 Arial, sans-serif;
}

.membership-step-grid strong,
.portal-use-grid strong {
  display: block;
  margin-bottom: 10px;
  color: var(--green);
  font-size: 24px;
  line-height: 1.08;
}

.visit-type-grid article {
  padding: 30px;
  background: #fffdf4;
}

.visit-type-grid article:nth-child(2) { background: #f7eed9; }

.visit-label {
  display: inline-flex;
  margin-bottom: 14px;
  color: #9b7837;
  font: 900 12px/1 Arial, sans-serif;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.visit-type-grid h5 {
  margin: 0 0 12px;
  color: var(--green);
  font-size: 31px;
  line-height: 1.04;
  letter-spacing: -.025em;
}

.visit-type-grid ul {
  display: grid;
  gap: 8px;
  margin: 18px 0;
  padding-left: 20px;
  color: #405044;
  font: 15px/1.5 Arial, sans-serif;
}

.visit-type-grid em {
  display: block;
  margin-top: 18px;
  padding: 15px 16px;
  border-left: 4px solid var(--gold);
  background: rgba(255, 249, 234, .78);
  color: var(--green);
  font: 900 14px/1.42 Arial, sans-serif;
  font-style: normal;
}

.portal-use-grid article { padding: 26px 24px; }

.portal-use-grid article::before {
  content: "✓";
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  margin-bottom: 14px;
  border: 2px solid rgba(185, 148, 77, .65);
  border-radius: 50%;
  background: rgba(255, 249, 234, .75);
  color: var(--green2);
  font: 900 22px/1 Arial, sans-serif;
}

.membership-snapshot-accordion .assessment-feature,
.membership-snapshot-accordion .steward-system {
  margin-top: 0;
}

.membership-snapshot-accordion .assessment-feature {
  border: 1px solid var(--line);
}

@media(max-width:900px) {
  .membership-use-intro { padding: 26px; }
  .membership-use-intro h3 { font-size: 29px; }
  .membership-step-grid,
  .visit-type-grid,
  .portal-use-grid { grid-template-columns: 1fr; }
}

@media(max-width:560px) {
  .membership-use-heading {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .membership-use-heading > span {
    width: 52px;
    height: 52px;
    font-size: 16px;
  }

  .membership-use-heading h4,
  .visit-type-grid h5 { font-size: 26px; }

  .membership-step-grid article,
  .visit-type-grid article,
  .portal-use-grid article,
  .membership-use-intro { padding: 22px 20px; }
}


/* ======================================================================
   Services Menu PDF Accordion Content
   ----------------------------------------------------------------------
   Keeps the accordion header as the toggle and places the PDF link inside
   the expanded content area so the click behavior stays clean.
   ====================================================================== */

.membership-pdf-content {
  margin-top: 0;
  padding: 26px 28px;
  border: 1px solid var(--line);
  background: #fffdf4;
  box-shadow: 0 14px 32px rgba(53,39,17,.07);
}

.membership-pdf-content p {
  max-width: 680px;
  margin: 0 0 18px;
  color: #405044;
  font: 16px/1.62 Arial, sans-serif;
}

@media(max-width:560px) {
  .membership-pdf-content {
    padding: 22px 20px;
  }

  .membership-pdf-content .btn {
    width: 100%;
  }
}


/* ======================================================================
   Seniors Page — Closing Flow / Pricing Transition
   ----------------------------------------------------------------------
   Replaces the loose lower-page ending with a clearer path from the
   Home SnapShot™ into membership options, decision help, FAQs, and contact.
   ====================================================================== */

.next-step-section {
  padding: 76px 78px;
  border-top: 3px solid var(--gold);
  background: linear-gradient(135deg, var(--green2), var(--deep));
  color: #fff7df;
}

.next-step-card {
  display: grid;
  grid-template-columns: minmax(0, .86fr) minmax(440px, 1.14fr);
  gap: 42px;
  align-items: start;
  max-width: 1180px;
  margin: 0 auto;
}

.next-step-copy h2,
.decision-copy h2 {
  margin: 0 0 16px;
  color: #fff7df;
  font-size: 46px;
  line-height: 1.03;
  letter-spacing: -.035em;
}

.next-step-copy p {
  max-width: 560px;
  margin: 0;
  color: #e7e2d2;
  font: 17px/1.65 Arial, sans-serif;
}

.next-step-flow {
  display: grid;
  gap: 14px;
}

.next-step-flow article {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  grid-template-areas:
    "num title"
    "num text";
  column-gap: 18px;
  align-items: start;
  padding: 24px;
  border: 1px solid rgba(215, 188, 120, .65);
  background: rgba(255, 249, 234, .08);
  box-shadow: 0 18px 38px rgba(0,0,0,.18);
}

.next-step-flow span {
  grid-area: num;
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border: 2px solid rgba(215, 188, 120, .8);
  border-radius: 50%;
  color: #f1d99f;
  font: 900 16px/1 Arial, sans-serif;
}

.next-step-flow strong {
  grid-area: title;
  display: block;
  margin-bottom: 8px;
  color: #fff7df;
  font-size: 24px;
  line-height: 1.05;
}

.next-step-flow p {
  grid-area: text;
  margin: 0;
  color: #e7e2d2;
  font: 15px/1.52 Arial, sans-serif;
}

.membership-pricing {
  background: #f6efdf;
}

.refined-price-grid article {
  display: flex;
  flex-direction: column;
}

.refined-price-grid p {
  margin-bottom: 18px;
}

.refined-price-grid ul {
  display: grid;
  gap: 9px;
  margin: 0 0 22px;
  padding: 0;
  list-style: none;
  color: #405044;
  font: 15px/1.45 Arial, sans-serif;
}

.refined-price-grid li {
  position: relative;
  padding-left: 24px;
}

.refined-price-grid li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--green2);
  font: 900 15px/1.45 Arial, sans-serif;
}

.refined-price-grid .featured ul {
  color: #e3e7df;
}

.refined-price-grid .featured li::before {
  color: #f0d49a;
}

.plan-label {
  display: inline-flex;
  width: fit-content;
  margin-bottom: 14px;
  color: #9b7837;
  font: 900 12px/1 Arial, sans-serif;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.refined-price-grid .featured .plan-label {
  color: #f0d49a;
}

.decision-section {
  padding: 76px 78px;
  border-top: 1px solid var(--line);
  background: linear-gradient(180deg, #fff9ea, #efe4cc);
}

.decision-wrap {
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(420px, 1.18fr);
  gap: 42px;
  align-items: start;
  max-width: 1180px;
  margin: 0 auto;
}

.decision-copy h2 {
  color: var(--green);
}

.decision-copy p {
  margin: 0;
  color: #405044;
  font: 17px/1.65 Arial, sans-serif;
}

.decision-grid {
  display: grid;
  gap: 14px;
}

.decision-grid article {
  padding: 24px;
  border: 1px solid var(--line);
  background: #fffdf4;
  box-shadow: 0 14px 32px rgba(53,39,17,.07);
}

.decision-grid article:nth-child(even) {
  background: #f7eed9;
}

.decision-grid strong {
  display: block;
  margin-bottom: 8px;
  color: var(--green);
  font-size: 24px;
  line-height: 1.06;
}

.decision-grid p {
  margin: 0;
  color: #405044;
  font: 15px/1.55 Arial, sans-serif;
}

.final-contact {
  border-top: 1px solid var(--line);
}

@media(max-width:900px) {
  .next-step-section,
  .decision-section {
    padding: 50px 22px;
  }

  .next-step-card,
  .decision-wrap {
    grid-template-columns: 1fr;
  }

  .next-step-copy h2,
  .decision-copy h2 {
    font-size: 34px;
  }
}

@media(max-width:560px) {
  .next-step-flow article {
    grid-template-columns: 1fr;
    grid-template-areas:
      "num"
      "title"
      "text";
    gap: 10px;
  }

  .next-step-flow strong,
  .decision-grid strong {
    font-size: 22px;
  }
}

/* ======================================================================
   Seniors Page — Membership Options Conversion Polish
   ----------------------------------------------------------------------
   Makes pricing feel more intentional, visible, and conversion-focused
   while keeping the existing pricing content editable in HTML.
   ====================================================================== */

.membership-pricing {
  position: relative;
  overflow: hidden;
  padding-top: 82px;
  padding-bottom: 82px;
  background:
    radial-gradient(circle at 8% 8%, rgba(215, 188, 120, .18), transparent 28%),
    radial-gradient(circle at 92% 18%, rgba(255, 249, 234, .12), transparent 24%),
    linear-gradient(135deg, #173e2e, #061a13 72%);
  color: #fff7df;
  border-top: 3px solid var(--gold);
}

.membership-pricing::before {
  content: "";
  position: absolute;
  left: -70px;
  bottom: -60px;
  width: 280px;
  height: 320px;
  background: url('assets/detail-pines-web.png') center/contain no-repeat;
  opacity: .08;
  filter: grayscale(1);
  pointer-events: none;
}

.pricing-heading {
  position: relative;
  z-index: 1;
  max-width: 840px;
  margin-bottom: 28px;
}

.pricing-heading h2 {
  color: #fff7df;
}

.membership-pricing .lead-copy {
  color: #e7e2d2 !important;
  font-size: 18px;
}

.pricing-conversion-strip {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  max-width: 1120px;
  margin: 0 auto 26px;
}

.pricing-conversion-strip article {
  padding: 20px 22px;
  border: 1px solid rgba(215, 188, 120, .52);
  background: rgba(255, 249, 234, .08);
  box-shadow: 0 16px 34px rgba(0,0,0,.16);
}

.pricing-conversion-strip strong {
  display: block;
  margin-bottom: 7px;
  color: #fff7df;
  font-size: 22px;
  line-height: 1.08;
}

.pricing-conversion-strip span {
  display: block;
  color: #e7e2d2;
  font: 15px/1.48 Arial, sans-serif;
}

.membership-pricing .refined-price-grid {
  position: relative;
  z-index: 1;
  max-width: 1120px;
  margin: 0 auto;
  align-items: stretch;
}

.membership-pricing .refined-price-grid article {
  position: relative;
  min-height: 100%;
  border: 1px solid rgba(218, 199, 158, .95);
  background: #fffdf4;
  box-shadow: 0 22px 50px rgba(0,0,0,.22);
}

.membership-pricing .refined-price-grid article:not(.featured) {
  transform: translateY(12px);
}

.membership-pricing .refined-price-grid article.featured {
  border: 2px solid var(--gold);
  background:
    linear-gradient(180deg, rgba(23, 62, 46, .98), rgba(6, 26, 19, .98));
  box-shadow: 0 30px 70px rgba(0,0,0,.34);
}

.recommended-ribbon {
  position: absolute;
  top: -15px;
  right: 24px;
  padding: 9px 13px;
  border: 1px solid rgba(6, 26, 19, .35);
  background: linear-gradient(135deg, #d7bc78, #b9944d);
  color: #102f24;
  font: 900 11px/1 Arial, sans-serif;
  letter-spacing: .11em;
  text-transform: uppercase;
  box-shadow: 0 12px 24px rgba(0,0,0,.22);
}

.membership-pricing .plan-label {
  padding: 8px 10px;
  border: 1px solid rgba(185, 148, 77, .45);
  background: rgba(185, 148, 77, .09);
}

.membership-pricing .featured .plan-label {
  border-color: rgba(215, 188, 120, .55);
  background: rgba(215, 188, 120, .11);
}

.membership-pricing .price-grid h3 {
  font-size: 31px;
}

.membership-pricing .price {
  margin: 2px 0 18px;
}

.membership-pricing .featured .price span {
  color: #e7dfc9;
}

.membership-pricing .refined-price-grid article > strong {
  display: block;
  margin-top: auto;
  padding-top: 16px;
  border-top: 1px solid rgba(218, 199, 158, .76);
}

.membership-pricing .featured > strong {
  border-top-color: rgba(215, 188, 120, .32);
}

.pricing-guidance-card {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px 28px;
  align-items: center;
  max-width: 1120px;
  margin: 34px auto 0;
  padding: 28px 30px;
  border: 1px solid rgba(215, 188, 120, .7);
  background: rgba(255, 249, 234, .10);
  box-shadow: 0 18px 42px rgba(0,0,0,.18);
}

.pricing-guidance-card strong {
  display: block;
  color: #fff7df;
  font-size: 27px;
  line-height: 1.08;
}

.pricing-guidance-card p {
  margin: 0;
  color: #e7e2d2;
  font: 16px/1.58 Arial, sans-serif;
}

.pricing-guidance-card .btn {
  grid-row: 1 / span 2;
  grid-column: 2;
  color: #f1d99f;
}

@media(max-width:900px) {
  .membership-pricing {
    padding: 58px 22px;
  }

  .pricing-conversion-strip,
  .pricing-guidance-card {
    grid-template-columns: 1fr;
  }

  .membership-pricing .refined-price-grid article:not(.featured) {
    transform: none;
  }

  .pricing-guidance-card .btn {
    grid-row: auto;
    grid-column: auto;
    width: fit-content;
  }
}

@media(max-width:560px) {
  .membership-pricing .lead-copy {
    font-size: 16px;
  }

  .pricing-conversion-strip strong,
  .pricing-guidance-card strong {
    font-size: 22px;
  }

  .pricing-guidance-card {
    padding: 24px 20px;
  }

  .pricing-guidance-card .btn {
    width: 100%;
  }
}

/* ======================================================================
   Seniors Page — Final Conversion Polish
   ----------------------------------------------------------------------
   Small finishing details: clearer navigation targets, stronger plan CTAs,
   reassurance points under pricing, and a better final call-to-action row.
   ====================================================================== */

.plan-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  width: 100%;
  margin-top: 18px;
  padding: 15px 18px;
  border: 1px solid var(--gold);
  background: var(--green);
  color: #f1d99f;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: .10em;
  font: 900 11px/1 Arial, sans-serif;
  box-shadow: 0 12px 26px rgba(53,39,17,.12);
}

.plan-cta span {
  color: var(--gold2);
  font-size: 14px;
}

.membership-pricing .featured .plan-cta {
  background: #fff7df;
  color: var(--green);
  border-color: var(--gold2);
}

.membership-pricing .featured .plan-cta span {
  color: #9b7837;
}

.plan-cta:hover,
.plan-cta:focus-visible,
.pricing-guidance-card .btn:hover,
.pricing-guidance-card .btn:focus-visible {
  transform: translateY(-1px);
}

.pricing-reassurance-row {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  max-width: 1120px;
  margin: 24px auto 0;
}

.pricing-reassurance-row span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 11px 14px;
  border: 1px solid rgba(215,188,120,.45);
  background: rgba(255,249,234,.08);
  color: #f3ecd8;
  font: 900 11px/1 Arial, sans-serif;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.pricing-reassurance-row span::before {
  content: "✓";
  color: #f1d99f;
  font-weight: 900;
}

.final-contact .ticket {
  max-width: 820px;
}

.final-cta-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-top: 24px;
}

.final-cta-row .btn.light {
  background: #fff9ea;
}

@media(max-width:560px) {
  .pricing-reassurance-row {
    display: grid;
    grid-template-columns: 1fr;
  }

  .pricing-reassurance-row span,
  .final-cta-row .btn {
    width: 100%;
  }
}


/* ======================================================================
   Seniors Page — Full Services Menu Accordion
   ----------------------------------------------------------------------
   Lists the member services directly inside the accordion instead of
   sending visitors away to a PDF.
   ====================================================================== */

.member-services-content {
  display: grid;
  gap: 24px;
  margin-top: 0;
}

.member-services-intro {
  max-width: 860px;
  padding: 30px;
  border: 1px solid var(--line);
  background: #fffdf4;
  box-shadow: 0 14px 32px rgba(53, 39, 17, .07);
}

.member-services-intro h3 {
  max-width: 780px;
  margin: 0 0 12px;
  color: var(--green);
  font-size: 34px;
  line-height: 1.06;
  letter-spacing: -.03em;
}

.member-services-intro p {
  margin: 0;
  color: #405044;
  font: 16px/1.62 Arial, sans-serif;
}

.member-services-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.member-services-grid article {
  position: relative;
  padding: 28px 28px 26px;
  border: 1px solid var(--line);
  background: #f7eed9;
  box-shadow: 0 14px 32px rgba(53, 39, 17, .07);
}

.member-services-grid article:nth-child(4n + 2),
.member-services-grid article:nth-child(4n + 3) {
  background: #fffdf4;
}

.member-services-grid h4 {
  margin: 0 0 18px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(218, 199, 158, .9);
  color: var(--green);
  font-size: 27px;
  line-height: 1.05;
  letter-spacing: -.025em;
}

.member-services-grid ul {
  display: grid;
  gap: 9px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.member-services-grid li {
  position: relative;
  padding-left: 26px;
  color: #405044;
  font: 15px/1.45 Arial, sans-serif;
}

.member-services-grid li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--green2);
  font: 900 15px/1.45 Arial, sans-serif;
}

@media(max-width:900px) {
  .member-services-grid {
    grid-template-columns: 1fr;
  }

  .member-services-intro {
    padding: 26px;
  }

  .member-services-intro h3 {
    font-size: 29px;
  }
}

@media(max-width:560px) {
  .member-services-intro,
  .member-services-grid article {
    padding: 22px 20px;
  }

  .member-services-grid h4 {
    font-size: 24px;
  }
}


/* ======================================================================
   Seniors Page — Trust & Conversion Additions
   ----------------------------------------------------------------------
   Adds senior-friendly trust signals, a teal steward intro section,
   testimonials, family reassurance, and stronger phone-first conversion.
   ====================================================================== */


.trust-strip {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  padding: 18px 28px;
  border-top: 1px solid rgba(215,188,120,.35);
  border-bottom: 1px solid var(--line);
  background: #fff9ea;
}

.trust-strip span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 13px;
  border: 1px solid rgba(185,148,77,.38);
  background: #f7eed9;
  color: var(--green);
  font: 900 11px/1 Arial, sans-serif;
  letter-spacing: .075em;
  text-transform: uppercase;
}

.trust-strip span::before {
  content: "✓";
  color: var(--gold);
  font-weight: 900;
}

.meet-steward-section {
  padding: 78px;
  border-top: 3px solid var(--gold);
  background:
    radial-gradient(circle at 14% 18%, rgba(215,188,120,.18), transparent 28%),
    linear-gradient(135deg, #0f4e55, #082d34 72%);
  color: #fff7df;
}

.meet-steward-card {
  display: grid;
  grid-template-columns: 340px minmax(0,1fr);
  gap: 42px;
  align-items: center;
  max-width: 1080px;
  margin: 0 auto;
}

.steward-photo-card {
  min-height: 360px;
  border: 1.5px solid rgba(215,188,120,.72);
  background: rgba(255,249,234,.08);
  box-shadow: 0 24px 58px rgba(0,0,0,.26);
  display: grid;
  place-items: center;
  padding: 24px;
}

.photo-placeholder {
  display: grid;
  place-items: center;
  text-align: center;
  min-height: 300px;
  width: 100%;
  border: 1px dashed rgba(215,188,120,.72);
  background: rgba(255,249,234,.08);
  padding: 28px;
}

.photo-placeholder span {
  display: block;
  color: #fff7df;
  font-size: 31px;
  line-height: 1.05;
}

.photo-placeholder small {
  display: block;
  max-width: 230px;
  margin-top: 12px;
  color: #dfe9e5;
  font: 14px/1.45 Arial, sans-serif;
}

.meet-steward-copy h2 {
  margin: 0 0 18px;
  color: #fff7df;
  font-size: 46px;
  line-height: 1.03;
  letter-spacing: -.035em;
}

.meet-steward-copy p {
  max-width: 720px;
  color: #e7f0ed;
  font: 17px/1.65 Arial, sans-serif;
}

.steward-trust-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
}

.steward-trust-list span {
  padding: 12px 14px;
  border: 1px solid rgba(215,188,120,.55);
  background: rgba(255,249,234,.08);
  color: #f1d99f;
  font: 900 11px/1 Arial, sans-serif;
  letter-spacing: .075em;
  text-transform: uppercase;
}

.testimonial-section {
  padding: 76px 78px;
  border-top: 1px solid var(--line);
  background: linear-gradient(180deg, #fff9ea, #f3e7cf);
}

.testimonial-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  max-width: 1120px;
  margin: 0 auto;
}

.testimonial-grid article {
  position: relative;
  padding: 30px;
  border: 1px solid var(--line);
  background: #fffdf4;
  box-shadow: 0 16px 38px rgba(53,39,17,.08);
}

.testimonial-grid article:nth-child(2) {
  background: #f7eed9;
}

.testimonial-grid article::before {
  content: "“";
  position: absolute;
  top: 6px;
  left: 18px;
  color: rgba(185,148,77,.18);
  font-size: 92px;
  line-height: 1;
}

.testimonial-grid p {
  position: relative;
  margin: 0 0 22px;
  color: var(--green);
  font-size: 25px;
  line-height: 1.18;
  font-weight: bold;
}

.testimonial-grid strong {
  display: block;
  color: var(--green2);
  font: 900 13px/1 Arial, sans-serif;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.testimonial-grid span {
  display: block;
  margin-top: 6px;
  color: #5d675f;
  font: 14px/1.3 Arial, sans-serif;
}

.family-reassurance-section {
  padding: 70px 78px;
  border-top: 1px solid var(--line);
  background: #fff9ea;
}

.family-reassurance-card {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 28px;
  align-items: center;
  max-width: 1080px;
  margin: 0 auto;
  padding: 34px;
  border: 1.5px solid var(--gold);
  background: #f7eed9;
  box-shadow: 0 18px 42px rgba(53,39,17,.09);
}

.family-reassurance-card h2 {
  margin: 0 0 12px;
  color: var(--green);
  font-size: 40px;
  line-height: 1.05;
}

.family-reassurance-card p {
  margin: 0;
  color: #405044;
  font: 17px/1.6 Arial, sans-serif;
}

.call-note {
  margin-top: 20px !important;
  color: #405044 !important;
  font: 17px/1.45 Arial, sans-serif !important;
}

.call-note a,
.footer p a {
  color: var(--green);
  font-weight: 900;
  text-decoration: none;
}

@media(max-width:900px) {
  .header-phone {
    margin-left: auto;
  }

  .meet-steward-section,
  .testimonial-section,
  .family-reassurance-section {
    padding: 50px 22px;
  }

  .meet-steward-card,
  .family-reassurance-card {
    grid-template-columns: 1fr;
  }

  .testimonial-grid {
    grid-template-columns: 1fr;
  }

  .meet-steward-copy h2,
  .family-reassurance-card h2 {
    font-size: 34px;
  }
}

@media(max-width:560px) {
  .header-phone {
    order: 2;
    width: 100%;
    text-align: center;
    padding: 10px 0 0;
  }

  .trust-strip {
    display: grid;
    grid-template-columns: 1fr;
    padding: 14px 18px;
  }

  .trust-strip span,
  .steward-trust-list span {
    justify-content: center;
    text-align: center;
  }

  .steward-photo-card {
    min-height: 260px;
  }

  .photo-placeholder {
    min-height: 220px;
  }

  .photo-placeholder span {
    font-size: 25px;
  }

  .testimonial-grid p {
    font-size: 22px;
  }

  .family-reassurance-card {
    padding: 26px 20px;
  }
}


/* ======================================================================
   Seniors Page — Meet Your Steward Photo
   ----------------------------------------------------------------------
   Replaces the temporary placeholder with the generated website portrait.
   ====================================================================== */

.steward-photo-card {
  overflow: hidden;
  padding: 0;
}

.steward-photo {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 360px;
  object-fit: cover;
  object-position: center;
}

@media(max-width:560px) {
  .steward-photo {
    min-height: 300px;
  }
}

/* ======================================================================
   Adult Children Page — Peace of Mind / Family Support
   ----------------------------------------------------------------------
   Adult-child-specific sections built on the existing YHS visual system.
   ====================================================================== */

.adult-children-page .adult-hero .hero-image {
  background-image: url('assets/hero-adult-mom-steward.png');
  background-position: center top;
}

.adult-children-page .adult-hero .hero-content {
  width: min(700px, 55vw);
}

.adult-children-page .adult-hero h1 {
  max-width: 700px;
}

.adult-worry-section {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(420px, .95fr);
  gap: 46px;
  align-items: center;
  padding: 76px 78px;
  border-top: 1px solid var(--line);
  background: linear-gradient(180deg, #fff9ea, #f3e7cf);
}

.adult-worry-copy h2,
.update-copy h2,
.adult-system-copy h2 {
  margin: 0 0 18px;
  color: var(--green);
  font-size: 50px;
  line-height: 1.02;
  letter-spacing: -.04em;
}

.adult-worry-copy p,
.update-copy p,
.adult-system-copy p {
  max-width: 760px;
  color: #405044;
  font: 18px/1.65 Arial, sans-serif;
}

.adult-worry-copy .btn {
  margin-top: 8px;
}

.adult-worry-quotes {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.adult-worry-quotes article {
  position: relative;
  min-height: 136px;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  padding: 24px 22px 22px;
  border: 1px solid var(--line);
  background: #fffdf4;
  box-shadow: 0 14px 34px rgba(53,39,17,.08);
}

.adult-worry-quotes article:nth-child(4n + 2),
.adult-worry-quotes article:nth-child(4n + 3) {
  background: #f7eed9;
}

.adult-worry-quotes article::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 4px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
}

.adult-worry-quotes span {
  position: absolute;
  left: 14px;
  top: 5px;
  color: rgba(185,148,77,.18);
  font-size: 74px;
  line-height: 1;
}

.adult-worry-quotes p {
  position: relative;
  margin: 0;
  color: var(--green);
  font-size: 23px;
  font-weight: bold;
  line-height: 1.15;
  letter-spacing: -.015em;
}

.monthly-relief-section {
  padding: 76px 78px;
  border-top: 1px solid var(--line);
  background: #fff9ea;
}

.update-showcase {
  display: grid;
  grid-template-columns: 360px minmax(0, 1fr);
  gap: 48px;
  align-items: center;
  max-width: 1120px;
  margin: 0 auto;
}

.phone-update {
  position: relative;
  max-width: 360px;
  min-height: 620px;
  padding: 52px 22px 28px;
  border: 9px solid #16241d;
  border-radius: 38px;
  background: linear-gradient(180deg, #f6f0e2, #eadfc7);
  box-shadow: 0 24px 60px rgba(53,39,17,.22);
}

.phone-top {
  position: absolute;
  top: 18px;
  left: 50%;
  width: 96px;
  height: 7px;
  border-radius: 999px;
  background: rgba(16,47,36,.32);
  transform: translateX(-50%);
}

.message-card {
  padding: 22px 20px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fffdf4;
  box-shadow: 0 12px 24px rgba(53,39,17,.10);
}

.message-card strong {
  display: block;
  margin-bottom: 12px;
  color: var(--green);
  font-size: 24px;
  line-height: 1.08;
}

.message-card p,
.message-card li {
  color: #405044;
  font: 15px/1.5 Arial, sans-serif;
}

.message-card ul {
  display: grid;
  gap: 8px;
  margin: 16px 0;
  padding: 0;
  list-style: none;
}

.message-card li {
  position: relative;
  padding-left: 24px;
}

.message-card li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--green2);
  font-weight: 900;
}

.photo-thumbs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-top: 16px;
}

.photo-thumbs span {
  min-height: 78px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background:
    linear-gradient(135deg, rgba(16,47,36,.12), rgba(185,148,77,.18)),
    #fffdf4;
}

.photo-thumbs span:nth-child(2) {
  background:
    linear-gradient(135deg, rgba(185,148,77,.22), rgba(16,47,36,.10)),
    #f7eed9;
}

.update-points {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-top: 26px;
}

.update-points article {
  padding: 22px;
  border: 1px solid var(--line);
  background: #f7eed9;
  box-shadow: 0 14px 32px rgba(53,39,17,.07);
}

.update-points article:nth-child(even) {
  background: #fffdf4;
}

.update-points strong {
  display: block;
  margin-bottom: 7px;
  color: var(--green);
  font-size: 23px;
  line-height: 1.08;
}

.update-points span {
  display: block;
  color: #405044;
  font: 15px/1.5 Arial, sans-serif;
}

.adult-promise-section {
  padding: 76px 78px;
  border-top: 3px solid var(--gold);
  background: linear-gradient(135deg, var(--green2), var(--deep));
  color: #fff7df;
}

.adult-promise-section .section-heading h2 {
  color: #fff7df;
}

.adult-promise-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  max-width: 1120px;
  margin: 0 auto;
}

.adult-promise-grid article {
  padding: 30px;
  border: 1px solid rgba(215,188,120,.62);
  background: rgba(255,249,234,.08);
  box-shadow: 0 18px 38px rgba(0,0,0,.18);
}

.adult-promise-grid .crest {
  margin-bottom: 20px;
  color: #f1d99f;
}

.adult-promise-grid h3 {
  margin: 0 0 12px;
  color: #fff7df;
  font-size: 29px;
  line-height: 1.04;
  letter-spacing: -.025em;
}

.adult-promise-grid p {
  margin: 0;
  color: #e7e2d2;
  font: 16px/1.58 Arial, sans-serif;
}

.adult-system-feature {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 370px;
  gap: 48px;
  align-items: center;
  padding: 76px 78px;
  border-top: 1px solid var(--line);
  background: linear-gradient(180deg, #fbf6e9, #efe4cc);
}

.snapshot-report-card {
  position: relative;
  overflow: hidden;
  padding: 26px;
  border: 1.5px solid var(--gold);
  background: #fffdf4;
  box-shadow: 0 22px 50px rgba(53,39,17,.16);
}

.snapshot-report-card::before {
  content: "";
  position: absolute;
  right: -56px;
  bottom: -50px;
  width: 190px;
  height: 220px;
  background: url('assets/detail-pines-web.png') center/contain no-repeat;
  opacity: .10;
}

.report-header {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 8px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--line);
}

.report-header span {
  color: #9b7837;
  font: 900 12px/1 Arial, sans-serif;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.report-header strong {
  color: var(--green);
  font-size: 34px;
  line-height: 1.02;
}

.report-photo {
  position: relative;
  z-index: 1;
  min-height: 145px;
  margin: 20px 0;
  border: 1px solid var(--line);
  background:
    linear-gradient(135deg, rgba(16,47,36,.20), rgba(185,148,77,.20)),
    #f7eed9;
}

.report-lines {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 10px;
}

.report-lines span {
  height: 12px;
  background: rgba(16,47,36,.12);
}

.report-lines span:nth-child(2) { width: 88%; }
.report-lines span:nth-child(3) { width: 76%; }
.report-lines span:nth-child(4) { width: 58%; }

.report-status-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-top: 20px;
}

.report-status-grid b {
  padding: 12px 8px;
  border: 1px solid var(--line);
  background: #f7eed9;
  color: var(--green);
  font: 900 11px/1 Arial, sans-serif;
  text-align: center;
  letter-spacing: .08em;
}

.report-status-grid b:nth-child(2) {
  background: #fff4d0;
}

.report-status-grid b:nth-child(3) {
  background: #f3ded2;
}

.adult-difference-section {
  padding: 76px 78px;
  border-top: 1px solid var(--line);
  background: #fff9ea;
}

.comparison-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
  max-width: 1000px;
  margin: 30px auto 0;
}

.comparison-grid article {
  padding: 32px;
  border: 1px solid var(--line);
  box-shadow: 0 18px 42px rgba(53,39,17,.09);
}

.comparison-negative {
  background: #f7eed9;
}

.comparison-positive {
  background: linear-gradient(180deg, #173e2e, #061a13);
  border-color: var(--gold) !important;
  color: #fff7df;
}

.comparison-grid h3 {
  margin: 0 0 20px;
  color: var(--green);
  font-size: 33px;
  line-height: 1.04;
}

.comparison-positive h3 {
  color: #fff7df;
}

.comparison-grid ul {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.comparison-grid li {
  position: relative;
  padding-left: 28px;
  color: #405044;
  font: 16px/1.5 Arial, sans-serif;
}

.comparison-negative li::before {
  content: "×";
  position: absolute;
  left: 0;
  color: #9b7837;
  font: 900 19px/1.3 Arial, sans-serif;
}

.comparison-positive li {
  color: #e7e2d2;
}

.comparison-positive li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: #f1d99f;
  font: 900 16px/1.5 Arial, sans-serif;
}

.adult-children-page .faq-list p {
  padding-top: 0;
}

@media(max-width:900px) {
  .adult-children-page .adult-hero .hero-content {
    width: auto;
  }

  .adult-worry-section,
  .update-showcase,
  .adult-system-feature {
    grid-template-columns: 1fr;
    padding: 50px 22px;
  }

  .monthly-relief-section,
  .adult-promise-section,
  .adult-difference-section {
    padding: 50px 22px;
  }

  .adult-worry-copy h2,
  .update-copy h2,
  .adult-system-copy h2 {
    font-size: 36px;
  }

  .adult-worry-copy p,
  .update-copy p,
  .adult-system-copy p {
    font-size: 16px;
  }

  .adult-promise-grid,
  .comparison-grid,
  .update-points {
    grid-template-columns: 1fr;
  }

  .phone-update {
    justify-self: center;
    min-height: auto;
  }

  .snapshot-report-card {
    max-width: 420px;
  }
}

@media(max-width:560px) {
  .adult-worry-quotes {
    grid-template-columns: 1fr;
  }

  .adult-worry-quotes article {
    min-height: 100px;
  }

  .adult-worry-quotes p {
    font-size: 20px;
  }

  .adult-promise-grid article,
  .comparison-grid article {
    padding: 24px 20px;
  }

  .phone-update {
    max-width: 100%;
    padding-left: 16px;
    padding-right: 16px;
    border-width: 7px;
  }

  .photo-thumbs span {
    min-height: 64px;
  }

  .adult-promise-grid h3,
  .comparison-grid h3 {
    font-size: 26px;
  }
}

/* ======================================================================
   Busy Professionals & Families Page
   ----------------------------------------------------------------------
   Audience-specific page using the existing YHS visual system.
   ====================================================================== */

.busy-family-page .busy-hero .hero-image {
  background-image: url('assets/hero-busy-homeowners-steward.png');
  background-position: center center;
}

.busy-family-page .busy-hero .hero-content {
  width: min(760px, 56vw);
}

.busy-family-page .busy-hero h1 {
  max-width: 760px;
  font-size: 68px;
}

.busy-pressure-section {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(420px, .95fr);
  gap: 46px;
  align-items: center;
  padding: 76px 78px;
  border-top: 1px solid var(--line);
  background: linear-gradient(180deg, #fff9ea, #f3e7cf);
}

.busy-pressure-copy h2,
.busy-relief-copy h2 {
  margin: 0 0 18px;
  color: var(--green);
  font-size: 50px;
  line-height: 1.02;
  letter-spacing: -.04em;
}

.busy-pressure-copy p,
.busy-relief-copy p {
  max-width: 760px;
  color: #405044;
  font: 18px/1.65 Arial, sans-serif;
}

.busy-pressure-copy .btn {
  margin-top: 8px;
}

.busy-pressure-quotes {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.busy-pressure-quotes article {
  position: relative;
  min-height: 136px;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  padding: 24px 22px 22px;
  border: 1px solid var(--line);
  background: #fffdf4;
  box-shadow: 0 14px 34px rgba(53,39,17,.08);
}

.busy-pressure-quotes article:nth-child(4n + 2),
.busy-pressure-quotes article:nth-child(4n + 3) {
  background: #f7eed9;
}

.busy-pressure-quotes article::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 4px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
}

.busy-pressure-quotes span {
  position: absolute;
  left: 14px;
  top: 5px;
  color: rgba(185,148,77,.18);
  font-size: 74px;
  line-height: 1;
}

.busy-pressure-quotes p {
  position: relative;
  margin: 0;
  color: var(--green);
  font-size: 23px;
  font-weight: bold;
  line-height: 1.15;
  letter-spacing: -.015em;
}

.busy-relief-section {
  padding: 76px 78px;
  border-top: 1px solid var(--line);
  background: #fff9ea;
}

.busy-relief-showcase {
  display: grid;
  grid-template-columns: 390px minmax(0, 1fr);
  gap: 48px;
  align-items: center;
  max-width: 1120px;
  margin: 0 auto;
}

.home-list-card {
  position: relative;
  overflow: hidden;
  padding: 26px;
  border: 1.5px solid var(--gold);
  background: #fffdf4;
  box-shadow: 0 22px 50px rgba(53,39,17,.16);
}

.home-list-card::before {
  content: "";
  position: absolute;
  right: -56px;
  bottom: -50px;
  width: 190px;
  height: 220px;
  background: url('assets/detail-pines-web.png') center/contain no-repeat;
  opacity: .10;
}

.home-list-items {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 10px;
  margin-top: 22px;
}

.home-list-items article {
  display: grid;
  grid-template-columns: 70px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding: 14px;
  border: 1px solid var(--line);
  background: #f7eed9;
}

.home-list-items article:nth-child(even) {
  background: #fff9ea;
}

.home-list-items b {
  display: inline-flex;
  justify-content: center;
  padding: 8px 9px;
  border: 1px solid rgba(185,148,77,.45);
  background: rgba(16,47,36,.09);
  color: var(--green);
  font: 900 11px/1 Arial, sans-serif;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.home-list-items span {
  color: #405044;
  font: 15px/1.4 Arial, sans-serif;
}

.busy-points article {
  min-height: 140px;
}

.busy-rhythm-section {
  padding: 76px 78px;
  border-top: 3px solid var(--gold);
  background: linear-gradient(135deg, var(--green2), var(--deep));
  color: #fff7df;
}

.busy-rhythm-section .section-heading h2 {
  color: #fff7df;
}

.busy-rhythm-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  max-width: 1120px;
  margin: 0 auto;
}

.busy-rhythm-grid article {
  padding: 30px;
  border: 1px solid rgba(215,188,120,.62);
  background: rgba(255,249,234,.08);
  box-shadow: 0 18px 38px rgba(0,0,0,.18);
}

.busy-rhythm-grid .crest {
  margin-bottom: 20px;
  color: #f1d99f;
}

.busy-rhythm-grid h3 {
  margin: 0 0 12px;
  color: #fff7df;
  font-size: 29px;
  line-height: 1.04;
  letter-spacing: -.025em;
}

.busy-rhythm-grid p {
  margin: 0;
  color: #e7e2d2;
  font: 16px/1.58 Arial, sans-serif;
}

.busy-system-feature .report-photo {
  background:
    linear-gradient(135deg, rgba(16,47,36,.18), rgba(185,148,77,.18)),
    url('assets/hero-busy-professionals-families.png') center/cover no-repeat;
}

.busy-family-page .faq-list p {
  padding-top: 0;
}

@media(max-width:900px) {
  .busy-family-page .busy-hero .hero-content {
    width: auto;
  }

  .busy-family-page .busy-hero h1 {
    font-size: 48px;
  }

  .busy-pressure-section,
  .busy-relief-showcase {
    grid-template-columns: 1fr;
    padding: 50px 22px;
  }

  .busy-relief-section,
  .busy-rhythm-section {
    padding: 50px 22px;
  }

  .busy-pressure-copy h2,
  .busy-relief-copy h2 {
    font-size: 36px;
  }

  .busy-pressure-copy p,
  .busy-relief-copy p {
    font-size: 16px;
  }

  .busy-rhythm-grid {
    grid-template-columns: 1fr;
  }

  .home-list-card {
    max-width: 440px;
  }
}

@media(max-width:560px) {
  .busy-family-page .busy-hero h1 {
    font-size: 40px;
  }

  .busy-pressure-quotes {
    grid-template-columns: 1fr;
  }

  .busy-pressure-quotes article {
    min-height: 100px;
  }

  .busy-pressure-quotes p {
    font-size: 20px;
  }

  .busy-rhythm-grid article {
    padding: 24px 20px;
  }

  .busy-rhythm-grid h3 {
    font-size: 26px;
  }

  .home-list-items article {
    grid-template-columns: 1fr;
  }
}

/* ======================================================================
   Safe, Trusted Help Page
   ----------------------------------------------------------------------
   Audience-specific page for single women, single mothers, widows, and
   anyone who wants familiar, respectful help around the home.
   ====================================================================== */

.safe-help-page .safe-hero .hero-image {
  background-image: url('assets/hero-single-women-steward.png');
  background-position: center center;
}

.safe-help-page .safe-hero .hero-content {
  width: min(760px, 56vw);
}

.safe-help-page .safe-hero h1 {
  max-width: 760px;
  font-size: 68px;
}

.safe-trust-section {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(420px, .95fr);
  gap: 46px;
  align-items: center;
  padding: 76px 78px;
  border-top: 1px solid var(--line);
  background: linear-gradient(180deg, #fff9ea, #f3e7cf);
}

.safe-trust-copy h2,
.safe-relief-copy h2 {
  margin: 0 0 18px;
  color: var(--green);
  font-size: 50px;
  line-height: 1.02;
  letter-spacing: -.04em;
}

.safe-trust-copy p,
.safe-relief-copy p {
  max-width: 760px;
  color: #405044;
  font: 18px/1.65 Arial, sans-serif;
}

.safe-trust-copy .btn {
  margin-top: 8px;
}

.safe-trust-quotes {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.safe-trust-quotes article {
  position: relative;
  min-height: 136px;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  padding: 24px 22px 22px;
  border: 1px solid var(--line);
  background: #fffdf4;
  box-shadow: 0 14px 34px rgba(53,39,17,.08);
}

.safe-trust-quotes article:nth-child(4n + 2),
.safe-trust-quotes article:nth-child(4n + 3) {
  background: #f7eed9;
}

.safe-trust-quotes article::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 4px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
}

.safe-trust-quotes span {
  position: absolute;
  left: 14px;
  top: 5px;
  color: rgba(185,148,77,.18);
  font-size: 74px;
  line-height: 1;
}

.safe-trust-quotes p {
  position: relative;
  margin: 0;
  color: var(--green);
  font-size: 23px;
  font-weight: bold;
  line-height: 1.15;
  letter-spacing: -.015em;
}

.safe-relief-section {
  padding: 76px 78px;
  border-top: 1px solid var(--line);
  background: #fff9ea;
}

.safe-relief-showcase {
  display: grid;
  grid-template-columns: 390px minmax(0, 1fr);
  gap: 48px;
  align-items: center;
  max-width: 1120px;
  margin: 0 auto;
}

.comfort-card {
  position: relative;
  overflow: hidden;
  padding: 26px;
  border: 1.5px solid var(--gold);
  background: #fffdf4;
  box-shadow: 0 22px 50px rgba(53,39,17,.16);
}

.comfort-card::before {
  content: "";
  position: absolute;
  right: -56px;
  bottom: -50px;
  width: 190px;
  height: 220px;
  background: url('assets/detail-pines-web.png') center/contain no-repeat;
  opacity: .10;
}

.comfort-list {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 10px;
  margin-top: 22px;
}

.comfort-list article {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding: 14px;
  border: 1px solid var(--line);
  background: #f7eed9;
}

.comfort-list article:nth-child(even) {
  background: #fff9ea;
}

.comfort-list b {
  display: inline-flex;
  justify-content: center;
  padding: 8px 9px;
  border: 1px solid rgba(185,148,77,.45);
  background: rgba(16,47,36,.09);
  color: var(--green);
  font: 900 11px/1 Arial, sans-serif;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.comfort-list span {
  color: #405044;
  font: 15px/1.4 Arial, sans-serif;
}

.safe-points article {
  min-height: 140px;
}

.safe-promise-section {
  padding: 76px 78px;
  border-top: 3px solid var(--gold);
  background: linear-gradient(135deg, var(--green2), var(--deep));
  color: #fff7df;
}

.safe-promise-section .section-heading h2 {
  color: #fff7df;
}

.safe-promise-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  max-width: 1120px;
  margin: 0 auto;
}

.safe-promise-grid article {
  padding: 30px;
  border: 1px solid rgba(215,188,120,.62);
  background: rgba(255,249,234,.08);
  box-shadow: 0 18px 38px rgba(0,0,0,.18);
}

.safe-promise-grid .crest {
  margin-bottom: 20px;
  color: #f1d99f;
}

.safe-promise-grid h3 {
  margin: 0 0 12px;
  color: #fff7df;
  font-size: 29px;
  line-height: 1.04;
  letter-spacing: -.025em;
}

.safe-promise-grid p {
  margin: 0;
  color: #e7e2d2;
  font: 16px/1.58 Arial, sans-serif;
}

.safe-system-feature .report-photo {
  background:
    linear-gradient(135deg, rgba(16,47,36,.18), rgba(185,148,77,.18)),
    url('assets/hero-safe-trusted-help.png') center/cover no-repeat;
}

.safe-help-page .faq-list p {
  padding-top: 0;
}

@media(max-width:900px) {
  .safe-help-page .safe-hero .hero-content {
    width: auto;
  }

  .safe-help-page .safe-hero h1 {
    font-size: 48px;
  }

  .safe-trust-section,
  .safe-relief-showcase {
    grid-template-columns: 1fr;
    padding: 50px 22px;
  }

  .safe-relief-section,
  .safe-promise-section {
    padding: 50px 22px;
  }

  .safe-trust-copy h2,
  .safe-relief-copy h2 {
    font-size: 36px;
  }

  .safe-trust-copy p,
  .safe-relief-copy p {
    font-size: 16px;
  }

  .safe-promise-grid {
    grid-template-columns: 1fr;
  }

  .comfort-card {
    max-width: 440px;
  }
}

@media(max-width:560px) {
  .safe-help-page .safe-hero h1 {
    font-size: 40px;
  }

  .safe-trust-quotes {
    grid-template-columns: 1fr;
  }

  .safe-trust-quotes article {
    min-height: 100px;
  }

  .safe-trust-quotes p {
    font-size: 20px;
  }

  .safe-promise-grid article {
    padding: 24px 20px;
  }

  .safe-promise-grid h3 {
    font-size: 26px;
  }

  .comfort-list article {
    grid-template-columns: 1fr;
  }
}

/* ======================================================================
   Home Selector Page — Polished Routing Experience
   ----------------------------------------------------------------------
   Purpose:
   - Turns the home page into a simple audience-selection page.
   - Removes traditional homepage flow and moves the cards into the hero.
   - Keeps all cards fully editable HTML with separate image files.
   ====================================================================== */

.home-selector-page {
  background: var(--cream);
}

.selector-topbar {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 20;
  min-height: 96px;
  justify-content: center;
  padding: 14px 24px 8px;
  background: linear-gradient(180deg, rgba(251, 247, 236, .97), rgba(251, 247, 236, .82));
  border-bottom: 1px solid rgba(185, 148, 77, .28);
  box-shadow: 0 10px 26px rgba(0,0,0,.08);
}

.selector-topbar .brand img {
  height: 86px;
  width: auto;
}

.home-choice-hero {
  position: relative;
  min-height: 760px;
  overflow: hidden;
  padding: 138px 42px 72px;
  color: #fff7df;
}

.home-choice-bg {
  position: absolute;
  inset: 0;
  background-image: url('assets/hero-homeowner-steward.jpg');
  background-position: center top;
  background-size: cover;
  filter: saturate(1.02) contrast(1.03);
}

.home-choice-overlay {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 82% 18%, rgba(215,188,120,.13), transparent 28%),
    linear-gradient(90deg, rgba(3,14,10,.92) 0%, rgba(7,22,17,.82) 38%, rgba(8,24,17,.50) 68%, rgba(7,18,13,.38) 100%);
}

.home-choice-shell {
  position: relative;
  z-index: 2;
  max-width: 1180px;
  margin: 0 auto;
}

.home-choice-intro {
  max-width: 720px;
  margin: 0 auto 32px;
  text-align: center;
}

.home-choice-intro .rule {
  justify-content: center;
}

.home-choice-intro h1 {
  max-width: 760px;
  margin: 0 0 15px;
  color: #fff7df;
  font-size: clamp(44px, 6vw, 76px);
  line-height: .96;
  letter-spacing: -.052em;
  text-shadow: 0 4px 18px rgba(0,0,0,.42);
}

.home-choice-intro p {
  max-width: 600px;
  margin: 18px auto 0;
  color: #f3ecd8;
  font: 18px/1.58 Arial, sans-serif;
}

.choice-panel {
  padding: 30px;
  border: 1px solid rgba(215,188,120,.62);
  background: rgba(255, 249, 234, .12);
  box-shadow: 0 28px 70px rgba(0,0,0,.25);
  backdrop-filter: blur(2px);
}

.choice-heading {
  max-width: 780px;
  margin: 0 auto 24px;
  text-align: center;
}

.choice-heading span {
  display: inline-flex;
  margin-bottom: 12px;
  padding: 9px 13px;
  border: 1px solid rgba(215,188,120,.55);
  background: rgba(6,26,19,.45);
  color: #f1d99f;
  font: 900 11px/1 Arial, sans-serif;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.choice-heading h2 {
  margin: 0 0 10px;
  color: #fff7df;
  font-size: 42px;
  line-height: 1.03;
  letter-spacing: -.035em;
}

.choice-heading p {
  max-width: 680px;
  margin: 0 auto;
  color: #e7e2d2;
  font: 16px/1.58 Arial, sans-serif;
}

.home-selector-page .selector-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.home-selector-page .selector-card {
  min-height: 465px;
  border-color: rgba(218,199,158,.95);
  background: #fff9ea;
  box-shadow: 0 20px 44px rgba(0,0,0,.24);
}

.home-selector-page .selector-card-media {
  height: 158px;
  border-bottom: 1px solid var(--line);
}

.home-selector-page .selector-card-body {
  min-height: 306px;
  padding: 26px 24px 24px;
}

.home-selector-page .selector-card small {
  min-height: 25px;
  margin-bottom: 13px;
}

.home-selector-page .selector-card strong {
  margin-bottom: 14px;
  font-size: 27px;
}

.home-selector-page .selector-card span {
  margin-bottom: 22px;
  color: #405044;
  font: 15px/1.52 Arial, sans-serif;
}

.home-selector-page .selector-card em {
  margin-top: auto;
  justify-content: center;
  min-height: 48px;
}

.not-sure-section {
  padding: 44px 24px 58px;
  border-top: 1px solid var(--line);
  background: linear-gradient(180deg, #fbf6e9, #efe4cc);
}

.not-sure-card {
  max-width: 860px;
  margin: 0 auto;
  padding: 34px 32px;
  border: 1.5px dashed var(--gold);
  background: #fff9ea;
  text-align: center;
  box-shadow: 0 16px 36px rgba(53,39,17,.08);
}

.not-sure-card h2 {
  margin: 0 0 12px;
  color: var(--green);
  font-size: 36px;
  line-height: 1.05;
  letter-spacing: -.03em;
}

.not-sure-card p {
  max-width: 680px;
  margin: 0 auto;
  color: #405044;
  font: 16px/1.62 Arial, sans-serif;
}

@media(max-width:1100px) {
  .home-selector-page .selector-grid {
    grid-template-columns: 1fr 1fr;
  }

  .home-selector-page .selector-card {
    min-height: 0;
  }

  .home-selector-page .selector-card-body {
    min-height: 280px;
  }
}

@media(max-width:900px) {
  .selector-topbar {
    position: relative;
  }

  .selector-topbar .brand img {
    height: 86px;
  }

  .home-choice-hero {
    min-height: 0;
    padding: 50px 22px;
  }

  .home-choice-intro {
    text-align: left;
  }

  .home-choice-intro .rule {
    justify-content: flex-start;
  }

  .choice-panel {
    padding: 24px;
  }

  .choice-heading h2 {
    font-size: 34px;
  }
}

@media(max-width:560px) {
  .selector-topbar {
    padding: 12px 18px 8px;
  }

  .selector-topbar .brand img {
    height: 76px;
  }

  .home-choice-hero {
    padding: 38px 18px;
  }

  .home-choice-intro h1 {
    font-size: 40px;
  }

  .home-choice-intro p,
  .choice-heading p {
    font-size: 15px;
  }

  .choice-panel {
    padding: 18px;
  }

  .home-selector-page .selector-grid {
    grid-template-columns: 1fr;
  }

  .home-selector-page .selector-card-body {
    min-height: auto;
  }

  .home-selector-page .selector-card-media {
    height: 175px;
  }

  .home-selector-page .selector-card strong {
    font-size: 25px;
  }

  .not-sure-section {
    padding: 34px 18px 46px;
  }

  .not-sure-card {
    padding: 28px 20px;
  }

  .not-sure-card h2 {
    font-size: 30px;
  }
}

/* ======================================================================
   Seniors Page — Membership Options Jump Button
   ----------------------------------------------------------------------
   Makes the non-accordion Membership Options link visually match the
   accordion buttons in the Membership section.
   ====================================================================== */

.membership-quick-actions {
  max-width: 100%;
  margin-top: 34px;
}

.membership-jump-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  min-width: 260px;
  padding: 17px 25px;
  border: 1px solid var(--gold);
  background: var(--green);
  color: #f1d99f;
  text-decoration: none;
  font: 900 12px/1 Arial, sans-serif;
  letter-spacing: .11em;
  text-transform: uppercase;
  box-shadow: 0 12px 28px rgba(0,0,0,.14);
}

.membership-jump-button span {
  color: var(--gold2);
  font-size: 15px;
}

.membership-jump-button:hover,
.membership-jump-button:focus-visible {
  background: var(--green2);
}

@media(max-width:560px) {
  .membership-jump-button {
    width: 100%;
    min-width: 0;
  }
}


/* ======================================================================
   Seniors Page — Home SnapShot Pricing Banner
   ----------------------------------------------------------------------
   Presents the 300-Point Home SnapShot™ as the starting step above the
   membership comparison cards instead of squeezing it into a fourth column.
   ====================================================================== */

.membership-start-banner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 310px;
  gap: 24px;
  align-items: center;
  max-width: 1120px;
  margin: 0 auto 26px;
  padding: 28px 30px;
  border: 1.5px solid rgba(215, 188, 120, .78);
  background: #0a343b;
  box-shadow: 0 18px 42px rgba(0,0,0,.18);
}

.membership-start-copy h3 {
  margin: 0 0 10px;
  color: #fff7df;
  font-size: 34px;
  line-height: 1.04;
  letter-spacing: -.025em;
}

.membership-start-copy p {
  max-width: 720px;
  margin: 0;
  color: #e7e2d2;
  font: 16px/1.58 Arial, sans-serif;
}

.membership-start-price {
  padding: 24px;
  border: 1px solid rgba(215, 188, 120, .62);
  background: rgba(6, 26, 19, .38);
  text-align: center;
}

.membership-start-price > span {
  display: block;
  color: #d8b76e;
  font: 900 11px/1 Arial, sans-serif;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.membership-start-price strong {
  display: block;
  margin: 12px 0 8px;
  color: #fff7df;
  font-size: 54px;
  line-height: .95;
}

.membership-start-price p {
  margin: 0 0 16px;
  color: #e7dfc9;
  font: 14px/1.45 Arial, sans-serif;
}

.membership-start-price .plan-cta {
  margin-top: 0;
}

@media(max-width:900px) {
  .membership-start-banner {
    grid-template-columns: 1fr;
    padding: 24px 22px;
  }
}

@media(max-width:560px) {
  .membership-start-copy h3 {
    font-size: 27px;
  }

  .membership-start-price strong {
    font-size: 46px;
  }
}
