@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Baskerville:wght@700&display=swap');
:root{--navy:#102f55;--green:#607b35;--gold:#b78635;--ink:#18304d;--cream:#f7f7f3;--white:#fff;--muted:#5f6d7b;--line:#e1e6df}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:"DM Sans",Arial,sans-serif;line-height:1.6;background:var(--white)}
.container{width:min(1120px,92%);margin:auto}.site-header{position:sticky;top:0;background:rgba(255,255,255,.97);border-bottom:1px solid #e6e9e3;z-index:20;backdrop-filter:blur(8px)}.nav{display:flex;align-items:center;justify-content:space-between;min-height:82px}.brand img{width:150px;display:block}.nav nav{display:flex;gap:24px;align-items:center}.nav a{color:var(--navy);text-decoration:none;font-weight:600}.nav-cta{padding:10px 16px;border:2px solid var(--navy);border-radius:999px}.hero{background:linear-gradient(135deg,#f7faf5 0%,#fff 52%,#eef3f8 100%);padding:78px 0}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center}.eyebrow{font-size:.8rem;letter-spacing:.18em;font-weight:700;color:var(--green);margin:0 0 12px}.gold{color:#dfb15e}.hero h1,h2{font-family:"Libre Baskerville",Georgia,serif;color:var(--navy);line-height:1.15}.hero h1{font-size:clamp(2.6rem,5vw,4.6rem);margin:0 0 22px}.lead{font-size:1.18rem;color:#4d5d6d;max-width:650px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0}.button{display:inline-block;text-decoration:none;padding:13px 20px;border-radius:8px;font-weight:700;border:0;cursor:pointer;font:inherit}.primary{background:var(--navy);color:white}.secondary{border:2px solid var(--navy);color:var(--navy);background:white}.ghost{color:var(--green);border-bottom:2px solid var(--green);border-radius:0}.hero-card{background:white;border-radius:20px;padding:24px;box-shadow:0 20px 60px rgba(16,47,85,.13)}.hero-card img{width:100%;display:block}.quick-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:20px 4px 2px;color:var(--green);font-weight:700}.small{font-size:.9rem;color:#6c7782}.section{padding:86px 0}.section-heading{max-width:760px;margin-bottom:38px}.section h2{font-size:clamp(2rem,4vw,3rem);margin:0 0 14px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.cards article{border:1px solid var(--line);border-radius:14px;padding:24px;background:white;box-shadow:0 8px 24px rgba(16,47,85,.05)}.cards span{font-size:2rem}.cards h3{margin:12px 0 7px;color:var(--navy)}.cards p{margin:0;color:#5d6873}.membership{background:var(--navy);color:white}
.membership-intro{max-width:780px;margin-bottom:36px}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch}.price-card{position:relative;background:white;color:var(--ink);border-radius:18px;padding:30px 26px;display:flex;flex-direction:column;box-shadow:0 14px 40px rgba(0,0,0,.12);border:2px solid transparent}.price-card.featured{border-color:var(--gold);transform:translateY(-8px)}.popular{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:var(--gold);color:white;font-size:.75rem;letter-spacing:.12em;font-weight:800;padding:6px 12px;border-radius:999px;white-space:nowrap}.tier-label{font-size:.78rem;letter-spacing:.17em;font-weight:800;color:var(--green);margin:0}.price-card h3{font-family:"Libre Baskerville",Georgia,serif;color:var(--navy);font-size:1.55rem;margin:8px 0 10px}.price{display:flex;align-items:flex-end;gap:6px;color:var(--navy);margin:2px 0}.price span{font-size:3rem;font-weight:800;line-height:1}.price small{font-size:1rem;font-weight:700;padding-bottom:5px}.annual{margin:6px 0 18px;color:var(--muted);font-weight:600}.price-card ul{padding-left:20px;margin:0 0 24px;flex:1}.price-card li{margin:9px 0;color:#52606d}.price-button{background:var(--navy);color:white;text-align:center}.membership-note{margin-top:28px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);padding:20px 22px;border-radius:12px}.membership-note strong{color:white}.membership-note p{margin:6px 0 0;color:#dce5ef}
.membership h2{color:white}.membership .lead{color:#dce5ef}.membership-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.checklist{background:white;color:var(--ink);padding:28px;border-radius:16px}.checklist h3{color:var(--navy);margin-top:0}.checklist div{padding:9px 0;border-bottom:1px solid var(--line);font-weight:600}.light-button{background:white;color:var(--navy)}.light{background:var(--cream)}.narrow{max-width:900px}.values{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:32px}.values div{background:white;padding:22px;border-radius:12px}.values strong,.values span{display:block}.values strong{color:var(--green);font-size:1.1rem}.service-area{background:white}.quote-section{background:#edf2f5}.quote-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:54px;align-items:start}.contact-card{background:white;border-radius:14px;padding:22px;margin-top:28px;display:flex;flex-direction:column;gap:4px}.contact-card a{font-size:1.5rem;font-weight:700;color:var(--navy);text-decoration:none}.quote-form{background:white;border-radius:18px;padding:30px;box-shadow:0 12px 40px rgba(16,47,85,.08)}.quote-form label{display:block;font-weight:700;color:var(--navy);margin-bottom:16px}.quote-form input,.quote-form select,.quote-form textarea{width:100%;margin-top:7px;padding:12px 13px;border:1px solid #cbd4dc;border-radius:8px;font:inherit;color:var(--ink);background:white}.quote-form textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.checkbox{display:flex!important;gap:10px;align-items:flex-start;font-weight:500!important;color:var(--muted)!important}.checkbox input{width:auto;margin-top:5px}.submit{width:100%;font-weight:700}.hidden{position:absolute;left:-9999px}.faq details{border-bottom:1px solid var(--line);padding:16px 0}.faq summary{cursor:pointer;font-weight:700;color:var(--navy);font-size:1.05rem}.faq details p{color:var(--muted)}.cta-band{background:var(--green);color:white;padding:28px 0}.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:24px}.cta-inner strong,.cta-inner span{display:block}.cta-inner strong{font-size:1.3rem}footer{background:#0b2341;color:white;padding:28px 0}.footer{display:flex;justify-content:space-between;gap:30px}.footer a{color:white;text-decoration:none}.footer span{color:#bfcbd7}
@media(max-width:900px){.pricing-grid{grid-template-columns:1fr}.price-card.featured{transform:none}.pricing-grid .featured{order:-1}.nav nav{gap:12px}.nav nav a:not(.nav-cta){display:none}.hero-grid,.membership-grid,.quote-grid{grid-template-columns:1fr}.cards{grid-template-columns:repeat(2,1fr)}.hero-card{max-width:650px}.cta-inner{align-items:flex-start;flex-direction:column}}
@media(max-width:580px){.hero{padding:52px 0}.section{padding:62px 0}.cards,.values,.form-row,.quick-list{grid-template-columns:1fr}.brand img{width:132px}.footer{flex-direction:column}.nav{min-height:72px}.nav-cta{font-size:.9rem;padding:9px 12px}.hero h1{font-size:2.55rem}.quote-form{padding:22px}}

.enrollment-section{background:var(--cream)}

.billing-note{margin-top:28px;background:#fff;color:var(--ink);padding:20px 22px;border-radius:12px;border:2px solid var(--gold)}
.billing-note strong{color:var(--navy)}
.billing-note p{margin:6px 0 0;color:var(--muted)}
.price-button{line-height:1.25}

.terms-link{margin:12px 0 0}.terms-link a{color:var(--navy);font-weight:700}
.terms-page{background:var(--cream);min-height:70vh}.terms-card{background:white;border-radius:18px;padding:34px;box-shadow:0 12px 40px rgba(16,47,85,.08)}
.terms-card h1{font-family:"Libre Baskerville",Georgia,serif;color:var(--navy);line-height:1.2}.terms-card h2{font-size:1.35rem;margin-top:28px}
.terms-card ul{padding-left:22px}.terms-card .effective{color:var(--muted);font-weight:600}

.onboarding-page{background:var(--cream);min-height:70vh}.onboarding-page h1{font-family:"Libre Baskerville",Georgia,serif;color:var(--navy);font-size:clamp(2rem,5vw,3.4rem);line-height:1.15}

.assessment-page{background:var(--cream);min-height:80vh}
.assessment-intro{max-width:850px;margin:0 auto 28px}
.assessment-intro h1{font-family:"Libre Baskerville",Georgia,serif;color:var(--navy);font-size:clamp(2.1rem,5vw,3.6rem);line-height:1.12;margin:.2em 0}
.assessment-form{max-width:900px;margin:0 auto}
.assessment-card{background:#fff;border:1px solid #e5ebe5;border-radius:18px;padding:24px;margin:18px 0;box-shadow:0 10px 32px rgba(16,47,85,.06)}
.assessment-card h2{color:var(--navy);margin-top:0;font-size:1.35rem}
.assessment-card label{display:block;font-weight:700;color:var(--navy);margin:12px 0}
.assessment-card input,.assessment-card textarea,.assessment-card select{width:100%;margin-top:7px;padding:12px;border:1px solid #cfd8df;border-radius:9px;font:inherit;background:white}
.check-grid{border:0;padding:0;margin:16px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px}
.check-grid legend{font-weight:800;color:var(--navy);margin-bottom:8px}
.check-grid label{display:flex;align-items:center;gap:8px;margin:0;font-weight:600;color:#536372}
.check-grid input{width:auto;margin:0}
.assessment-submit{width:100%;max-width:420px;margin:22px auto;display:block}
@media(max-width:650px){.check-grid{grid-template-columns:1fr}.assessment-card{padding:18px}}

.visit-page{background:var(--cream);min-height:80vh}
.visit-intro{max-width:850px;margin:0 auto 28px}
.visit-intro h1{font-family:"Libre Baskerville",Georgia,serif;color:var(--navy);font-size:clamp(2.1rem,5vw,3.6rem);line-height:1.12;margin:.2em 0}

.hub-page{background:var(--cream);min-height:80vh}
.hub-intro{max-width:850px;margin:0 auto 34px}
.hub-intro h1{font-family:"Libre Baskerville",Georgia,serif;color:var(--navy);font-size:clamp(2.2rem,5vw,3.8rem);line-height:1.12;margin:.2em 0}
.hub-notice{display:flex;gap:8px;flex-wrap:wrap;background:#fff7e6;border:1px solid #ead09a;padding:12px 14px;border-radius:10px;color:#67552e}
.hub-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.hub-card{display:block;text-decoration:none;background:#fff;border:1px solid #e1e6df;border-radius:16px;padding:24px;color:var(--ink);box-shadow:0 10px 30px rgba(16,47,85,.06);transition:transform .15s ease,box-shadow .15s ease}
.hub-card:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(16,47,85,.10)}
.hub-icon{font-size:2rem}.hub-card h2{font-size:1.35rem;margin:10px 0 8px}.hub-card p{color:var(--muted);min-height:72px}.hub-action{color:var(--green);font-weight:800}
.hub-tips{margin-top:34px;background:#fff;border-radius:16px;padding:26px;border:1px solid #e1e6df}
.hub-tips h2{margin-top:0}.hub-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.hub-steps div{background:var(--cream);border-radius:12px;padding:16px}.hub-steps strong{display:block;color:var(--green);font-size:1.4rem}.hub-steps span{display:block;color:var(--muted)}
@media(max-width:900px){.hub-grid{grid-template-columns:repeat(2,1fr)}.hub-steps{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.hub-grid,.hub-steps{grid-template-columns:1fr}.hub-card p{min-height:0}}
