:root{--cream:#f8f2e4;--paper:#fffaf0;--green:#12372a;--green2:#0c261d;--gold:#b78a34;--gold2:#e2bd6a;--ink:#1d2a24;--rose:#7a2e2e}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{font-family:'Figtree',system-ui,sans-serif;color:var(--ink);background:var(--paper);font-size:1.08rem;line-height:1.65}
h1,h2,h3,h4{font-family:'Fraunces',Georgia,serif;font-weight:700;color:var(--green);line-height:1.1}
.eyebrow{font-family:'Figtree';text-transform:uppercase;letter-spacing:.2em;font-size:.8rem;font-weight:700;color:var(--gold)}
.script{font-style:italic;color:var(--gold);font-weight:600}
a{color:var(--green)}
.btn-gold{background:var(--gold);color:#1a1307;font-weight:700;border:2px solid var(--gold);border-radius:0;padding:.8rem 1.6rem;letter-spacing:.04em}
.btn-gold:hover{background:var(--gold2);border-color:var(--gold2);color:#1a1307}
.btn-line{border:2px solid var(--green);color:var(--green);border-radius:0;font-weight:700;padding:.8rem 1.6rem}
.btn-line:hover{background:var(--green);color:#fff}
.util{background:var(--green2);color:#efe6cd;font-size:.92rem;padding:.4rem 0}
.util a{color:var(--gold2);text-decoration:none;font-weight:700}
.navbar.main{background:var(--paper);border-bottom:3px double var(--gold);padding:.6rem 0}
.navbar .brand{display:flex;align-items:center;gap:.8rem;text-decoration:none}
.navbar .brand img{height:52px;width:auto}
.navbar .brand span{font-family:'Fraunces';font-weight:700;color:var(--green);font-size:1.15rem;line-height:1.1}
.navbar .brand small{display:block;font-family:'Figtree';font-weight:600;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.navbar-nav .nav-link{color:var(--green);font-weight:600;padding:.5rem .8rem}
.navbar-nav .nav-link:hover{color:var(--gold)}
/* hero */
.hero{background:var(--green);color:#fff;position:relative;overflow:hidden}
.hero .row{min-height:min(78vh,720px)}
.hero-copy{padding:4.5rem 0 4rem}
.hero h1{color:#fff;font-size:clamp(2.6rem,6vw,4.8rem);letter-spacing:-.01em}
.hero h1 em{color:var(--gold2);font-weight:600}
.hero p.lead{color:#e8eee9;max-width:34rem}
.hero-photo{background:url('img/seniors.webp') center/cover no-repeat;min-height:340px;position:relative}
.hero-photo::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--green) 0,rgba(18,55,42,0) 22%)}
.hero-seal{position:absolute;right:1.5rem;bottom:1.5rem;background:var(--paper);border:3px double var(--gold);padding:.6rem 1rem;text-align:center;font-family:'Fraunces';color:var(--green);font-weight:700;line-height:1.1;box-shadow:6px 6px 0 var(--gold)}
.hero-seal b{font-size:1.9rem;display:block;color:var(--gold)}
.hero-chest{position:absolute;left:-40px;bottom:-60px;width:320px;opacity:.07;pointer-events:none}
.pillars{background:var(--cream);border-bottom:1px solid #e4d8b8}
.pillars div{padding:1.1rem .5rem;font-family:'Fraunces';font-weight:600;color:var(--green);text-align:center}
.pillars i{color:var(--gold);margin-right:.4rem}
section{padding:5rem 0}
.sec-title{font-size:clamp(2rem,4vw,3.1rem)}
/* services */
.svc-list{list-style:none;padding:0;margin:0;border-top:2px solid var(--green)}
.svc-list li{display:grid;grid-template-columns:1fr 1.4fr;gap:1.5rem;padding:1.4rem .2rem;border-bottom:1px solid #d9cca8;align-items:baseline}
.svc-list h3{font-size:1.7rem;margin:0}
.svc-list p{margin:0}
.svc-photos img{width:100%;aspect-ratio:4/3;object-fit:cover;border:6px solid #fff;box-shadow:8px 8px 0 var(--gold)}
/* process */
.process{background:var(--green);color:#e8eee9;position:relative;overflow:hidden}
.process h2{color:#fff}
.step{background:rgba(255,255,255,.06);border:1px solid rgba(226,189,106,.5);padding:2rem 1.6rem;height:100%;position:relative}
.step .n{font-family:'Fraunces';font-size:4rem;color:var(--gold2);line-height:1}
.step strong{color:var(--gold2)}
.chest{width:92px;height:92px}
/* monster */
.monster{background:var(--cream)}
.head{border:2px solid var(--green);background:var(--paper);padding:1.4rem 1rem;text-align:center;font-family:'Fraunces';font-weight:700;color:var(--green);height:100%;position:relative}
.head svg{width:48px;height:48px;display:block;margin:0 auto .5rem;color:var(--rose)}
.about-photo{border-radius:50%;background:var(--cream);border:4px double var(--gold);width:100%;max-width:380px}
.creds{list-style:none;padding:0}
.creds li{padding:.4rem 0 .4rem 1.6rem;position:relative}
.creds li::before{content:"\2726";position:absolute;left:0;color:var(--gold)}
/* resources */
.res-card{border:1px solid #d9cca8;background:#fff;height:100%;display:flex;flex-direction:column}
.res-card img{width:100%;object-fit:cover}
.res-card .body{padding:1.4rem;flex:1;display:flex;flex-direction:column}
.res-card .body .btn{margin-top:auto;align-self:flex-start}
.book-img{max-height:220px;width:auto;margin:1.2rem auto 0;display:block;box-shadow:6px 6px 0 var(--gold)}
/* testimonials: pull quote band + scroll snap */
.quote-band{background:var(--green2);color:#fff;padding:4rem 0}
.quote-band blockquote{font-family:'Fraunces';font-size:clamp(1.4rem,3vw,2.2rem);max-width:56rem;margin:0 auto;text-align:center}
.quote-band cite{display:block;margin-top:1rem;color:var(--gold2);font-style:normal;font-family:'Figtree';letter-spacing:.15em;text-transform:uppercase;font-size:.85rem}
.snap{display:flex;gap:1.2rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:.5rem .2rem 1.5rem}
.snap article{flex:0 0 min(420px,86%);scroll-snap-align:start;background:#fff;border:1px solid #d9cca8;border-top:5px solid var(--gold);padding:1.6rem}
.snap cite{font-style:normal;font-weight:700;color:var(--green);display:block;margin-top:.8rem}
.stars{color:var(--gold);letter-spacing:.15em}
.badges{display:flex;flex-wrap:wrap;gap:.6rem}
.badges a{border:1px solid var(--gold);padding:.35rem .8rem;text-decoration:none;font-weight:600;font-size:.9rem;background:#fff}
/* contact */
.contact{background:var(--cream)}
.contact iframe{width:100%;height:100%;min-height:380px;border:0}
.contact dt{font-family:'Figtree';text-transform:uppercase;letter-spacing:.15em;font-size:.75rem;color:var(--gold);margin-top:1rem}
.contact dd{margin:0;font-size:1.15rem}
.final-cta{background:var(--green);color:#fff;text-align:center;padding:4rem 0}
.final-cta h2{color:#fff}
footer{background:var(--green2);color:#cfd8d2;padding:2.5rem 0;font-size:.95rem}
footer a{color:var(--gold2)}
.legal{font-size:.82rem;opacity:.8}
@media(max-width:767px){
 section{padding:3.5rem 0}
 .svc-list li{grid-template-columns:1fr;gap:.4rem}
 .hero-photo::before{background:linear-gradient(180deg,var(--green) 0,rgba(18,55,42,0) 25%)}
 .hero-photo{min-height:300px}
 .navbar .brand img{height:42px}
 .hero-chest{display:none}
}
