:root{--bg:#f8f7ed;--ink:#292e2b;--green:#315b4a;--green-dark:#25473a;--sage:#e1e9df;--muted:#686e69;--line:#e4e1d5;--card:#fff;--terra:#a96c5d;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Inter',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.65 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit}.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;z-index:100;background:var(--green);color:white;padding:10px}.container{width:min(1200px,100% - 48px);margin:auto}.header{position:sticky;top:0;z-index:20;background:#f8f7edf2;backdrop-filter:blur(10px);border-bottom:1px solid #e4e1d5cc}.nav-wrap{width:min(1200px,100% - 48px);margin:auto;min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{text-decoration:none;display:flex;flex-direction:column}.brand span,.footer-brand{font:500 27px/1 var(--serif);letter-spacing:.01em}.brand small{margin-top:6px;font-size:9px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.desktop-nav{display:flex;gap:34px}.desktop-nav a,.mobile-nav a{text-decoration:none;text-transform:uppercase;font-size:11px;letter-spacing:.14em;font-weight:500}.desktop-nav a:hover,.footer a:hover{color:var(--green)}.btn{display:inline-flex;justify-content:center;align-items:center;min-height:52px;padding:0 26px;border-radius:9px;background:var(--green);color:#fff;text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:600;transition:.2s;border:1px solid var(--green);text-align:center}.btn:hover{background:var(--green-dark);border-color:var(--green-dark)}.btn-outline{background:transparent;color:var(--green);border-color:#8da496}.btn-outline:hover{background:var(--green);color:white}.nav-cta{min-height:44px;padding:0 22px;font-size:10px}.menu-toggle,.mobile-nav{display:none}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:64px;padding-top:52px;padding-bottom:58px}.eyebrow{font-size:10px;letter-spacing:.19em;text-transform:uppercase;color:var(--muted);font-weight:500}.green{color:var(--green)}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.12;margin:0}h1{font-size:clamp(42px,5.2vw,66px);letter-spacing:-.015em;margin:16px 0 18px}.lead{font-size:18px;line-height:1.72;max-width:55ch;color:#454b47;margin:0 0 26px}.micro{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:17px}.micro i{font-style:normal;color:var(--terra);padding:0 8px}.hero-photo{position:relative;border:1px solid var(--line);border-radius:14px;background:var(--sage);overflow:hidden;box-shadow:13px 13px 0 var(--sage)}.hero-photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.section{padding:64px 0}.section-intro{max-width:680px}.rule{display:block;width:40px;height:1px;background:var(--terra)}h2{font-size:clamp(34px,4vw,46px);margin-top:12px} .section-intro>p{color:var(--muted);font-size:16px;margin:12px 0 0}.concerns-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:34px}.info-card,.program-card,.credentials{border:1px solid var(--line);border-radius:12px;background:var(--card);padding:24px}.info-card{transition:.25s}.info-card:hover{transform:translateY(-4px);border-color:#b7c9bd}.icon{display:flex;width:42px;height:42px;align-items:center;justify-content:center;border-radius:50%;background:var(--sage);color:var(--green);font-size:23px}.info-card h3,.program-card h3{font-size:23px;font-weight:600;margin:14px 0 6px}.info-card p,.program-card p{font-size:14px;line-height:1.7;color:var(--muted);margin:0}.center-note{text-align:center;max-width:700px;margin:36px auto 0}.center-note p{font-size:16px;color:#454b47;margin-bottom:20px}.about{background:#e8eee6}.about-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:center}.about .eyebrow{color:var(--green)}.body-copy{margin-top:22px;color:#454b47;font-size:16px}.body-copy p{margin:0 0 14px}.credentials{padding:28px}.credentials ul,.footer ul{list-style:none;padding:0;margin:18px 0 0}.credentials li{display:flex;gap:13px;margin:16px 0;font-size:14px;line-height:1.45}.credentials li b{color:var(--green);font-size:18px}.credentials a{color:var(--green);font-weight:600}.program-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:36px}.program-card{display:flex;flex-direction:column;min-height:365px;padding:26px}.program-card.featured{background:var(--sage);border:2px solid #789887}.program-top{display:flex;justify-content:space-between;align-items:center}.pill{font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:white;background:var(--green);border-radius:20px;padding:6px 12px}.program-card .icon{margin-bottom:4px}.program-card h3{margin:16px 0 12px}.program-card p+p{margin-top:12px}.program-card .disclaimer{font-size:12px;color:#555d57}.program-card .btn{margin-top:auto}.full{width:100%;margin-top:22px}.testimonials{background:#edf1e9}.centered{text-align:center;margin:auto}.centered .rule{margin:auto}.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:36px}.testimonial-grid figure{margin:0;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:white}.testimonial-grid img{display:block;width:100%;height:auto}.contact{background:var(--sage);text-align:center}.contact-inner{max-width:820px}.contact-inner>p{max-width:650px;margin:14px auto;color:#4c544e;font-size:16px}.contact h3{font-size:27px;font-weight:600;margin-top:34px}.contact-options{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:30px auto 0;max-width:680px}.contact-detail{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:10px;margin-top:10px;font-size:13px}.contact-detail a{color:var(--ink);text-decoration-color:#a9bcae;text-underline-offset:4px}.copy-email{border:0;background:none;color:var(--green);text-decoration:underline;cursor:pointer;font:inherit}.no-obligation{font-size:13px!important;margin-top:22px!important}.footer{border-top:1px solid var(--line);padding:50px 0 30px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:50px}.footer-brand{text-decoration:none}.footer .eyebrow{margin:10px 0}.footer-desc{max-width:38ch;color:var(--muted);font-size:14px}.footer p,.footer li{font-size:14px}.footer a{text-decoration:none}.footer ul{margin-top:12px}.footer li{margin:8px 0}.footer-bottom{border-top:1px solid var(--line);margin-top:34px;padding-top:22px;color:var(--muted);font-size:12px}.footer-bottom p{font-size:12px}.footer-bottom p:last-child{margin-top:16px}
@media(max-width:900px){.desktop-nav,.nav-cta{display:none}.menu-toggle{display:block;border:1px solid var(--line);background:transparent;border-radius:8px;width:42px;height:42px;font-size:20px;color:var(--green)}.mobile-nav{padding:8px 24px 18px;border-top:1px solid var(--line)}.mobile-nav.open{display:grid;gap:0}.mobile-nav a{padding:12px 0;border-bottom:1px solid var(--line)}.hero-grid{gap:36px}.concerns-grid,.program-grid{grid-template-columns:repeat(2,1fr)}.about-grid{gap:30px}.testimonial-grid{gap:14px}}
@media(max-width:640px){.container,.nav-wrap{width:min(100% - 36px,1200px)}.nav-wrap{min-height:70px}.brand span{font-size:24px}.brand small{font-size:8px}.hero-grid{grid-template-columns:1fr;padding-top:36px;padding-bottom:42px;gap:32px}.hero-copy{order:1}.hero-photo{order:2}.hero-photo img{aspect-ratio:4/3}.lead{font-size:16px}.section{padding:48px 0}.concerns-grid,.program-grid,.about-grid,.testimonial-grid,.contact-options,.footer-grid{grid-template-columns:1fr}.concerns-grid{gap:12px}.info-card,.program-card{padding:21px}.about-grid{gap:26px}.program-card{min-height:320px}.testimonial-grid{gap:18px}.testimonial-grid figure{max-width:440px;margin:auto;width:100%}.contact-options{gap:22px}.footer-grid{gap:28px}.footer{padding-top:40px}h1{font-size:43px}}

/* =========================================================
   PRIVACY POLICY + TERMS & CONDITIONS
   Shared legal-page styles for privacy.html and terms.html
   ========================================================= */
main#main > article.legal-page {
    display:block; width:min(100% - 48px, 820px); max-width:820px;
    margin:0 auto; padding:76px 0 92px; color:var(--ink);
}
main#main > article.legal-page > .legal-eyebrow {
    margin:0 0 12px; color:var(--green); font-family:var(--sans);
    font-size:11px; font-weight:600; line-height:1.5;
    letter-spacing:.19em; text-transform:uppercase;
}
main#main > article.legal-page > h1 {
    margin:0 0 12px; color:var(--ink); font-family:var(--serif);
    font-size:clamp(42px,6vw,60px); font-weight:500;
    line-height:1.04; letter-spacing:-.015em;
}
main#main > article.legal-page > .legal-subtitle {
    margin:0; color:var(--muted); font-family:var(--serif);
    font-size:22px; font-weight:400; line-height:1.45;
}
main#main > article.legal-page > .legal-date {
    margin:18px 0 26px; color:var(--muted); font-family:var(--sans);
    font-size:11px; font-weight:500; line-height:1.6;
    letter-spacing:.13em; text-transform:uppercase;
}
main#main > article.legal-page > .legal-rule {
    display:block; width:52px; height:2px; margin:0 0 38px; background:var(--terra);
}
main#main > article.legal-page > .legal-section {
    display:block; margin:0 0 36px; padding:0; border:0; background:transparent;
}
main#main > article.legal-page .legal-section h2 {
    margin:0 0 12px; color:var(--green-dark); font-family:var(--serif);
    font-size:clamp(25px,3vw,29px); font-weight:600; line-height:1.2;
}
main#main > article.legal-page .legal-section p {
    margin:0 0 13px; color:#505852; font-family:var(--sans);
    font-size:15px; font-weight:400; line-height:1.85;
}
main#main > article.legal-page .legal-section p:last-child { margin-bottom:0; }
main#main > article.legal-page .legal-section ul,
main#main > article.legal-page .legal-section ol {
    margin:12px 0 16px; padding-left:25px; color:#505852;
    font-family:var(--sans); font-size:15px; line-height:1.8;
}
main#main > article.legal-page .legal-section li {
    margin:0 0 7px; padding:0 0 0 3px; line-height:1.8;
}
main#main > article.legal-page .legal-section a {
    color:var(--green); text-decoration:underline;
    text-decoration-color:#a8b9ac; text-underline-offset:3px; overflow-wrap:anywhere;
}
main#main > article.legal-page .legal-section a:hover {
    color:var(--green-dark); text-decoration-color:currentColor;
}
main#main > article.legal-page .legal-details {
    margin:18px 0; padding:17px 20px; border:1px solid var(--line);
    border-radius:10px; background:#fffefa;
}
main#main > article.legal-page .legal-details p {
    margin:0 0 9px; font-size:14px; line-height:1.75;
}
main#main > article.legal-page .legal-details p:last-child { margin-bottom:0; }
main#main > article.legal-page .legal-details strong {
    display:inline-block; min-width:82px; margin-right:8px; color:var(--muted);
    font-family:var(--sans); font-size:10px; font-weight:600;
    letter-spacing:.12em; text-transform:uppercase;
}
main#main > article.legal-page > .legal-updated {
    margin:48px 0 0; padding:22px 0 0; border-top:1px solid var(--line);
    color:var(--muted); font-family:var(--sans); font-size:11px;
    font-weight:500; line-height:1.6; letter-spacing:.13em; text-transform:uppercase;
}
main#main > article.legal-page > .legal-back {
    display:inline-flex; align-items:center; gap:8px; margin:24px 0 0;
    color:var(--green); font-family:var(--sans); font-size:13px;
    font-weight:600; line-height:1.5; text-decoration:none;
}
main#main > article.legal-page > .legal-back:hover {
    color:var(--green-dark); text-decoration:underline; text-underline-offset:4px;
}
@media (max-width:640px) {
    main#main > article.legal-page {
        width:min(100% - 36px, 820px); padding:48px 0 62px;
    }
    main#main > article.legal-page > h1 { font-size:clamp(37px,10vw,46px); }
    main#main > article.legal-page > .legal-subtitle { font-size:19px; }
    main#main > article.legal-page > .legal-date { margin:14px 0 22px; font-size:10px; }
    main#main > article.legal-page > .legal-rule { margin-bottom:30px; }
    main#main > article.legal-page > .legal-section { margin-bottom:29px; }
    main#main > article.legal-page .legal-section h2 { font-size:25px; }
    main#main > article.legal-page .legal-section p,
    main#main > article.legal-page .legal-section ul,
    main#main > article.legal-page .legal-section ol { font-size:14px; line-height:1.8; }
    main#main > article.legal-page .legal-details { padding:14px 15px; }
    main#main > article.legal-page .legal-details strong { min-width:68px; }
}
