:root{--bg:#faf8f3;--ink:#1f2f28;--muted:#4d5f56;--teal:#2d6a6a;--teal-dark:#1f4d4d;--sage:#e5eee8;--line:#d5ded8}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:18px/1.7 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.2;color:var(--teal-dark);margin:0 0 .6em}
h1{font-size:clamp(2.2rem,5vw,3.4rem)}h2{font-size:clamp(1.6rem,3.4vw,2.2rem)}h3{font-size:1.25rem}
a{color:var(--teal)}p{margin:0 0 1.1em}
.wrap{max-width:1040px;margin:0 auto;padding:3.2rem 1.4rem}
.narrow{max-width:760px}
.site-header{display:flex;flex-wrap:wrap;gap:.6rem 1.5rem;align-items:center;justify-content:space-between;padding:1rem 1.4rem;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
.brand{font-family:Georgia,serif;font-size:1.3rem;color:var(--teal-dark);text-decoration:none;font-weight:700}
nav{display:flex;flex-wrap:wrap;gap:.4rem 1.3rem;align-items:center}
nav a{text-decoration:none;color:var(--ink);font-size:.95rem}
nav a:hover{color:var(--teal)}
.btn{display:inline-block;background:var(--teal);color:#fff;padding:.8rem 1.4rem;border-radius:999px;text-decoration:none;font-weight:600;margin:0 .4rem .6rem 0;border:2px solid var(--teal)}
.btn:hover{background:var(--teal-dark);border-color:var(--teal-dark)}
.btn.small{padding:.4rem 1rem;font-size:.9rem;margin:0;color:#fff}
.btn.ghost{background:transparent;color:var(--teal)}
.btn.ghost:hover{background:var(--sage)}
.hero{background:linear-gradient(135deg,#dfece4 0%,#cfe3e0 55%,#e9efe4 100%)}
.hero .wrap{padding:5rem 1.4rem 4.5rem}
.hero .lead{font-size:1.25rem;max-width:620px;color:var(--muted)}
.eyebrow{font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:1rem}
.band{background:var(--sage)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.4rem}
.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:1.5rem}
.card a{font-weight:600;text-decoration:none}
.checks{list-style:none;padding:0;margin:0}
.checks li{padding:.35rem 0 .35rem 1.8rem;position:relative}
.checks li:before{content:"\2713";position:absolute;left:0;color:var(--teal);font-weight:700}
.steps{padding-left:1.3rem}.steps li{margin-bottom:.8rem}
.cta{background:var(--teal-dark);color:#fff;text-align:center}
.cta h2,.cta p{color:#fff}
.btn.light{background:#fff;color:var(--teal-dark);border-color:#fff}
.btn.ghost.light{background:transparent;color:#fff}
.site-footer{background:#18302b;color:#cfdcd6;font-size:.95rem}
.site-footer .wrap{padding:2rem 1.4rem}
.site-footer p{margin:0 0 .6em}.small{font-size:.85rem;opacity:.85}
@media(max-width:640px){body{font-size:17px}.hero .wrap{padding:3.2rem 1.2rem}}
.footer-nav{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;margin:0 0 1rem}
.footer-nav a{color:#e5eee8;text-decoration:none;font-weight:600}
.footer-nav a:hover{text-decoration:underline}
.cities{columns:3 180px;column-gap:1.6rem;list-style:none;padding:0;margin:1rem 0 1.2rem}
.cities li{padding:.15rem 0;break-inside:avoid}
.page-hero{background:linear-gradient(135deg,#dfece4 0%,#cfe3e0 55%,#e9efe4 100%)}
.page-hero .wrap{padding:4rem 1.4rem 3.4rem}
.page-hero .lead{font-size:1.2rem;color:var(--muted);max-width:640px}
.bullets{padding-left:1.3rem}.bullets li{margin-bottom:.5rem}
nav a[aria-current]{color:var(--teal);font-weight:700}
:root{--bg:#fbf6ea;--ink:#1d2b24;--teal:#2b6777;--teal-dark:#0f3320;--sage:#e9efe6;--line:#d9d4c2}
.site-footer{background:#0f3320}
.logo{width:44px;height:44px;border-radius:50%;vertical-align:middle;margin-right:.5rem}
.brand{display:inline-flex;align-items:center}
.hero[style],.page-hero[style]{background:linear-gradient(rgba(251,246,234,.80),rgba(251,246,234,.86)),var(--bg) center/cover}
.portrait{float:right;width:min(280px,45%);border-radius:16px;margin:0 0 1rem 1.5rem}
details.more{margin:1rem 0}
details.more summary{cursor:pointer;color:var(--teal);font-weight:600}
details.faq{border-bottom:1px solid var(--line);padding:.8rem 0}
details.faq summary{cursor:pointer;font-weight:600}
.fees{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}

.logo{width:64px;height:64px}
.footer-logo{width:72px;height:72px;margin:0 0 1rem;display:block}
.portrait{width:min(400px,46%)}
.page-hero .portrait{width:min(460px,46%)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:2.6rem;align-items:center;max-width:1120px}
.split.r .side{order:2}
.side{margin:0}
.side img{width:100%;height:100%;min-height:340px;max-height:460px;object-fit:cover;border-radius:18px;display:block}
.txt h2{margin-top:0}
@media(max-width:760px){.split{grid-template-columns:1fr}.split.r .side{order:0}.side img{min-height:240px}.portrait,.page-hero .portrait{float:none;display:block;width:100%;max-width:420px;margin:0 0 1.2rem}.logo{width:52px;height:52px}}

.site-footer{text-align:center}
.footer-nav{justify-content:center}
.footer-logo{width:216px;height:216px;margin:1.6rem auto 0;display:block}
.side img{height:auto;aspect-ratio:4/5;min-height:0;max-height:640px}
.portrait-blue{background:#1f4e6e;padding:0 0 1.8rem;border-radius:16px;overflow:hidden}
.portrait-blue img{display:block;width:100%;float:none;margin:0;border-radius:0}
@media(max-width:760px){.footer-logo{width:170px;height:170px}.side img{aspect-ratio:4/5;max-height:480px}}

.band .portrait{width:min(560px,56%)}
.footer-nav{margin-bottom:2.2rem}
.footer-logo{margin:0 auto 2.2rem}
.side.photo img{aspect-ratio:auto;max-height:none}
.fees{margin:1.2rem 0}
.fees h3 a{text-decoration:none}
@media(max-width:760px){.band .portrait{float:none;width:100%;max-width:520px}}

.hero[style]{min-height:min(82vh,760px);display:flex;align-items:center;background:linear-gradient(100deg,rgba(15,51,32,.88) 0%,rgba(15,51,32,.62) 52%,rgba(15,51,32,.18) 100%),var(--bg) center/cover}
.hero .wrap.hero-grid{display:grid;grid-template-columns:1.5fr .7fr;gap:2rem;align-items:center;width:100%;max-width:1120px;padding:4.5rem 1.4rem}
.hero h1{color:#fff;font-size:clamp(2.6rem,6vw,4.6rem);line-height:1.08;text-shadow:0 2px 18px rgba(0,0,0,.35)}
.hero .eyebrow,.hero .lead{color:#f3efe2}
.hero .lead{font-size:1.35rem;max-width:620px}
.btn.gold{background:#f2d48b;border-color:#f2d48b;color:#0f3320;font-size:1.05rem;padding:.95rem 1.7rem}
.btn.gold:hover{background:#fff;border-color:#fff}
.hero .btn.ghost{color:#fff;border-color:#fff}
.hero .btn.ghost:hover{background:rgba(255,255,255,.15)}
.pills{list-style:none;display:flex;flex-wrap:wrap;gap:.6rem;padding:0;margin:1.4rem 0 0}
.pills li{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.35);color:#fff;padding:.35rem .9rem;border-radius:999px;font-size:.9rem}
.hero-logo{width:min(300px,100%);height:auto;justify-self:center;border-radius:50%;box-shadow:0 18px 50px rgba(0,0,0,.4);border:4px solid rgba(255,255,255,.85)}
.hero-split{display:grid;grid-template-columns:1.1fr .9fr;gap:2.6rem;align-items:center;max-width:1120px}
.hero-photo{margin:0}
.hero-photo img{width:100%;height:auto;border-radius:18px;box-shadow:0 14px 40px rgba(15,51,32,.22);display:block}
.footer-logo{margin:.4rem auto 2.2rem}
@media(max-width:760px){.hero .wrap.hero-grid{grid-template-columns:1fr;padding:3rem 1.2rem}.hero-logo{width:150px;order:-1;justify-self:start}.hero-split{grid-template-columns:1fr}}

.hero-logo{border:0;aspect-ratio:1;height:auto;border-radius:50%;background-color:#0f3320;background-size:109%;background-position:center;background-repeat:no-repeat}
.footer-logo{clip-path:circle(45.5%)}
.hero .wrap.hero-grid{padding:5.5rem 1.4rem}
.hero .eyebrow{margin-bottom:1.5rem;letter-spacing:.1em;line-height:1.6}
.hero h1{margin-bottom:1.4rem;letter-spacing:.01em;line-height:1.14}
.hero .lead{line-height:1.75;margin-bottom:2.2rem}
.hero .hero-copy .btn{margin-bottom:.9rem}
.pills{margin-top:2.2rem;gap:.8rem}
@media(max-width:760px){.hero .wrap.hero-grid{padding:3.6rem 1.2rem}}

.hero[style]{min-height:min(88vh,820px)}
.hero .wrap.hero-grid{padding:6.5rem 1.4rem}
.hero .eyebrow{margin-bottom:1.9rem}
.hero h1{margin-bottom:1.8rem;letter-spacing:.015em;line-height:1.18}
.hero .lead{line-height:1.85;margin-bottom:2.8rem}
.hero .hero-copy .btn{margin-bottom:1.1rem}
.pills{margin-top:2.8rem;gap:.9rem}
.footer-logo{margin:.4rem auto 1.1rem}
.btn{white-space:normal;text-align:center}
@media(max-width:760px){.hero .wrap.hero-grid{padding:4rem 1.2rem}}

.footer-logo{margin:.4rem auto .1rem}

.cta .wrap{padding-bottom:1rem}
.site-footer .wrap{padding-top:.2rem}
.footer-logo{margin-top:0}

.cta .wrap{padding-bottom:0}
.cta .wrap p:last-child{margin-bottom:0}
.site-footer .wrap{padding-top:0}
.footer-logo{margin:.4rem auto 1rem}

.site-footer{display:flow-root}
.site-footer .wrap{padding-top:.4rem}
.footer-logo{margin:0 auto 1rem}
