
:root{--bg:#fbf8f3;--surface:#fff;--ink:#1c2438;--muted:#586079;--navy:#1b2a4a;--red:#c8382f;--soft:#eef1f7;--line:#e4e0d8;--on-navy:#fff;--btn:#1b2a4a;--btn-ink:#fff;
box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);color-scheme:light}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#10151f;--surface:#192031;--ink:#f1efe9;--muted:#a9b1c4;--navy:#8fa8dc;--red:#ff7a6e;--soft:#1a2234;--line:#2b344a;--on-navy:#10151f;--btn:#8fa8dc;--btn-ink:#10151f;color-scheme:dark}}
:root[data-theme="dark"]{--bg:#10151f;--surface:#192031;--ink:#f1efe9;--muted:#a9b1c4;--navy:#8fa8dc;--red:#ff7a6e;--soft:#1a2234;--line:#2b344a;--on-navy:#10151f;--btn:#8fa8dc;--btn-ink:#10151f;color-scheme:dark}
html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 70px)}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Nunito Sans",system-ui,-apple-system,"Segoe UI",sans-serif;font-size:17px;line-height:1.6}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);background:var(--bg);z-index:30}
h1,h2,h3{font-family:Fraunces,Georgia,"Times New Roman",serif;line-height:1.15;margin:0 0 .5em;color:var(--navy)}
h1{font-size:clamp(2.1rem,5vw,3.3rem)}h2{font-size:clamp(1.7rem,3.5vw,2.4rem)}h3{font-size:1.2rem}
p{margin:0 0 1em}a{color:inherit}[hidden]{display:none!important}
.wrap{max-width:1080px;margin:0 auto;padding:0 22px}
header{position:sticky;top:env(safe-area-inset-top,0px);background:var(--bg);border-bottom:1px solid var(--line);z-index:20}
nav{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;flex-wrap:wrap}
.logo{text-decoration:none;display:flex;align-items:center;gap:10px;line-height:1}
.mark{width:38px;height:38px;border:3px solid var(--navy);border-radius:50%;flex:none}
.logo b{display:block;font-family:Fraunces,Georgia,serif;font-size:1.35rem;font-weight:600;color:var(--navy);letter-spacing:.02em}
.logo small{display:block;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--red);font-weight:700;margin-top:3px}
nav ul{display:flex;gap:30px;list-style:none;margin:0;padding:0}
nav ul a{text-decoration:none;font-weight:700;color:var(--navy);font-size:1.12rem;padding:4px 0;border-bottom:3px solid transparent}
nav ul a:hover,nav ul a.on{color:var(--navy);border-color:var(--red)}
.btn{display:inline-block;background:var(--btn);color:var(--btn-ink);padding:13px 26px;border-radius:999px;font-weight:700;text-decoration:none;border:2px solid var(--btn);font-family:inherit;font-size:1rem;cursor:pointer}
.btn:hover{filter:brightness(1.1)}.btn.red{background:var(--red);border-color:var(--red);color:#fff}.btn.ghost{background:transparent;color:var(--navy)}
.eyebrow{color:var(--red);font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:.8rem;margin-bottom:12px}
.lead{font-size:1.18rem;color:var(--muted);max-width:36em}
.cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.hero{padding:64px 0 0;background:linear-gradient(var(--soft),var(--bg));text-align:center}
.hero h1{max-width:18em;margin:0 auto .4em}.hero .lead,.center .lead{margin-left:auto;margin-right:auto}.hero .cta,.center .cta{justify-content:center}
.hills{display:block;width:100%;height:auto;margin-top:46px}
.page-head{padding:54px 0 10px;text-align:center}
section{padding:54px 0}.alt{background:var(--soft)}.center{text-align:center}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));gap:20px;margin-top:30px;text-align:left}
.card{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:26px}
.card p{color:var(--muted);margin:0 0 12px}.card .more{color:var(--red);font-weight:700;text-decoration:none}
.card .ic{font-size:1.8rem;margin-bottom:8px}
.tabs{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:26px 0}
.tabs button{font:inherit;font-weight:700;color:var(--navy);background:var(--surface);border:2px solid var(--line);border-radius:999px;padding:9px 20px;cursor:pointer}
.tabs button[aria-selected="true"]{background:var(--navy);color:var(--on-navy);border-color:var(--navy)}
.panel{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:28px}
.ph{aspect-ratio:4/3;border-radius:18px;background:linear-gradient(135deg,var(--soft),var(--line));display:grid;place-items:center;text-align:center;color:var(--muted);font-size:.85rem;padding:12px}
.ph span{font-size:3.4rem;display:block;line-height:1.2}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 16px}
.chip{background:var(--soft);border:1px solid var(--line);border-radius:999px;padding:5px 14px;font-weight:700;font-size:.88rem;color:var(--navy)}
.quote{max-width:760px;margin:0 auto;text-align:center}
.quote blockquote{font-family:Fraunces,Georgia,serif;font-size:clamp(1.2rem,2.6vw,1.5rem);margin:12px 0 18px;line-height:1.45}
.quote strong{color:var(--navy)}.quote small{display:block;color:var(--muted)}
.tst{display:grid}
.tst .slide{grid-area:1/1;margin:0;opacity:0;visibility:hidden;transition:opacity .6s ease,visibility .6s}
.tst .slide.on{opacity:1;visibility:visible}
.dots{display:flex;justify-content:center;gap:10px;margin-top:22px}
.dots button{width:11px;height:11px;border-radius:50%;border:0;padding:0;background:var(--line);cursor:pointer;transition:background .2s,transform .2s}
.dots button[aria-current="true"]{background:var(--navy);transform:scale(1.25)}
.dots button:focus-visible{outline:2px solid var(--navy);outline-offset:3px}
@media (prefers-reduced-motion:reduce){.tst .slide{transition:none}}

.band{background:var(--navy);color:var(--on-navy);border-radius:28px;padding:44px 28px;text-align:center}
.band h2{color:var(--on-navy)}.band .btn{background:var(--on-navy);color:var(--navy);border-color:var(--on-navy)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center}
.big{font-family:Fraunces,Georgia,serif;font-size:1.8rem;text-decoration:none;font-weight:700;color:var(--navy)}
footer{padding:30px 0;color:var(--muted);font-size:.92rem;border-top:1px solid var(--line);text-align:center}
@media(max-width:820px){.panel,.two{grid-template-columns:1fr}nav ul{order:3;width:100%;overflow-x:auto;gap:20px;padding-bottom:4px}nav ul a{white-space:nowrap}}
.topbar{background:var(--navy);color:var(--on-navy);font-size:.95rem;font-weight:700}.topbar .wrap{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px 26px;padding-top:7px;padding-bottom:7px}.topbar a{text-decoration:none}.topbar a:hover{text-decoration:underline}.band .big{color:var(--on-navy);display:block;margin:6px 0}.band .em{color:var(--on-navy);font-weight:700;font-size:1.1rem}
@media(max-width:820px){.topbar .wrap{justify-content:center}}
.aboutimg{width:100%;max-width:420px;aspect-ratio:4/5;object-fit:cover;border-radius:22px;display:block;margin:0 auto;box-shadow:0 10px 30px rgba(0,0,0,.12)}
.ph svg{width:100%;height:100%;display:block}.ph .n{fill:var(--navy)}.ph .r{fill:var(--red)}.ph .s{fill:var(--surface)}.ph .l{fill:var(--line)}.ph .nn{fill:none;stroke:var(--navy);stroke-width:6;stroke-linecap:round;stroke-linejoin:round}
.lg{height:96px;width:auto;display:block}
@media(max-width:820px){.lg{height:74px}}.lg-dark{display:none}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .lg-light{display:none}:root:not([data-theme="light"]) .lg-dark{display:block}}
:root[data-theme="dark"] .lg-light{display:none}:root[data-theme="dark"] .lg-dark{display:block}

.steps .card{text-align:center}
.num{width:46px;height:46px;border-radius:50%;background:var(--red);color:#fff;font-family:Fraunces,Georgia,serif;font-weight:700;font-size:1.3rem;display:grid;place-items:center;margin:0 auto 12px}
footer{text-align:left;padding:44px 0 26px}
.fgrid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:28px}
.fname{font-family:Fraunces,Georgia,serif;font-size:1.2rem;color:var(--navy);display:block;margin-bottom:8px}
footer h4{margin:0 0 10px;color:var(--navy);font-size:.8rem;letter-spacing:.1em;text-transform:uppercase}
footer p{margin:0 0 10px}footer ul{list-style:none;margin:0;padding:0}footer li{margin-bottom:6px}
footer a{text-decoration:none}footer a:hover{color:var(--navy);text-decoration:underline}
footer .copy{border-top:1px solid var(--line);margin-top:24px;padding-top:18px;text-align:center;font-size:.85rem}
@media(max-width:820px){.fgrid{grid-template-columns:1fr;gap:18px}footer{text-align:center}}

.faq{max-width:780px;margin:22px auto 0;text-align:left}
.faq details{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px 20px;margin-bottom:12px}
.faq summary{cursor:pointer;font-weight:700;color:var(--navy);font-size:1.05rem;list-style:none;display:flex;justify-content:space-between;gap:12px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.4rem;line-height:1;color:var(--red)}
.faq details[open] summary::after{content:"−"}
.faq details p{margin:12px 0 0;color:var(--muted)}
.areas .card{text-decoration:none;display:block;transition:transform .15s,box-shadow .15s}
.areas .card:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(27,42,74,.10)}
.areas .card p{color:var(--muted)}
.crumbs{font-size:.88rem;color:var(--muted);margin-bottom:14px}.crumbs a{color:var(--muted)}
@media(min-width:821px){.fgrid{grid-template-columns:1.3fr 1fr 1fr 1fr}}
