:root{--cream:#faf7ee;--green:#294f3f;--ink:#293f35;--muted:#59675d;--line:#d8dbce;--peach:#ebd6c3}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.65 'Trebuchet MS',Arial,sans-serif}a{color:inherit}header{max-width:1320px;margin:auto;padding:27px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font:25px/1.1 Georgia,serif;white-space:nowrap}.brand-icon{font-size:49px;color:#6c7957}.brand small{display:block;font:9px/1.5 Arial,sans-serif;letter-spacing:3px;margin-top:7px}nav{display:flex;align-items:center;gap:27px;font-size:13px}nav>a{text-decoration:none}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;background:var(--green);color:white;padding:15px 24px;text-decoration:none;border:0;border-radius:6px;font:14px/1.4 'Trebuchet MS',Arial,sans-serif;cursor:pointer}.button:hover{background:#3f6651}.button span{font-size:20px}.button.small{padding:11px 17px;font-size:12px}.hero{max-width:1320px;margin:auto;padding:65px 5% 54px;display:grid;grid-template-columns:1.1fr 1fr;gap:42px;align-items:center}.eyebrow{font-size:10px;font-weight:bold;letter-spacing:2px;margin:0 0 23px}.dot{display:inline-block;width:7px;height:7px;background:#b77b51;border-radius:50%;margin-right:8px}h1,h2{font-family:Georgia,serif;font-weight:normal;letter-spacing:-2px;line-height:1.08;margin:0 0 26px}h1{font-size:clamp(48px,5.8vw,80px)}em{font-weight:normal;color:#758160}h2{font-size:clamp(34px,3.5vw,49px)}h3{font-family:Georgia,serif;font-size:23px;font-weight:normal;line-height:1.3;margin:0 0 12px}p{margin:0 0 19px;color:var(--muted)}.intro{font-size:18px;max-width:440px}.audience{font-size:13px;max-width:380px;margin:22px 0}.micro{font-size:11px;margin:12px 0 0}.hero-art{position:relative;max-width:520px;width:100%;justify-self:center}.hero-art svg{width:100%;display:block}.art-note{position:absolute;left:0;bottom:105px;background:#fffdf7;padding:20px 26px;border-radius:5px;box-shadow:0 10px 35px #334b3710;font:21px/1.4 Georgia,serif;transform:rotate(-5deg)}.art-caption{display:block;text-align:center;font-size:9px;letter-spacing:2px;margin-top:4px}.ribbon{background:#e6e9dc;padding:22px 5%;display:flex;justify-content:center;align-items:center;gap:65px;font-size:13px}.ribbon i{color:#81916c;font-size:21px}.section{padding:88px 7%;max-width:1440px;margin:auto}.approach{display:grid;grid-template-columns:1fr 1fr;gap:80px}.lead{font-size:21px;color:var(--ink)}.text-link{font-size:13px;text-underline-offset:6px}.support{background:#eef0e6}.support-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;margin-top:47px}.support article{border-top:1px solid #aebba6;padding-top:17px}.number{font-size:11px;letter-spacing:2px;color:#77806b;display:block;margin-bottom:25px}.support article p{font-size:14px}.scope{font-size:11px;margin:28px 0 0;max-width:800px}.journey{display:grid;grid-template-columns:1fr 1fr;gap:100px}.journey>div>p:last-child{max-width:340px}.journey ol{list-style:none;padding:0;margin:0}.journey li{display:flex;gap:25px;padding:0 0 25px;margin-bottom:24px;border-bottom:1px solid var(--line)}.journey li:last-child{border:0;margin:0;padding:0}.journey li>span{display:grid;place-items:center;background:#e5e8d9;border-radius:50%;width:37px;height:37px;flex-shrink:0;font:19px Georgia}.journey li p{font-size:14px;margin:0}.availability{background:var(--green);color:var(--cream);display:grid;grid-template-columns:1fr 1fr;gap:85px}.availability p,.availability small{color:#d5ded3}.availability em{color:#d4dcbf}.policy{border-left:2px solid #d2af80;padding-left:19px;margin-top:32px;font-size:14px}.schedule{background:#ffffff0b;padding:33px;border:1px solid #ffffff25;border-radius:7px}.schedule>div{display:flex;justify-content:space-between;gap:18px;border-bottom:1px solid #ffffff25;padding:17px 0;font-size:13px}.schedule>div strong{white-space:nowrap}.schedule p{font-size:12px;margin:24px 0 15px}.schedule small{font-size:11px}.consultation{display:grid;grid-template-columns:1fr 1fr;gap:85px;background:#f0e4d5}.booking-note{border-top:1px solid #cdbca7;margin-top:36px;padding-top:22px;font-size:14px}.booking-note p{font-size:13px;margin-top:9px}form{background:var(--cream);border-radius:9px;padding:31px;box-shadow:0 12px 40px #47372408}form h3{margin-bottom:24px}label{display:block;font-size:12px;margin-bottom:17px}input,textarea{width:100%;display:block;border:1px solid #c7cebd;border-radius:4px;padding:11px;background:#fffef9;font:14px Arial;margin-top:7px;color:var(--ink)}textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:17px}fieldset{padding:0;border:0;margin:0 0 16px}legend{font-size:12px;margin-bottom:11px}.checks{display:grid;grid-template-columns:1fr 1fr;gap:8px}.checks label,.consent{display:flex;align-items:flex-start;gap:8px;margin:0;font-size:12px}.checks input,.consent input{width:16px;height:16px;margin:3px 0 0;flex-shrink:0;accent-color:var(--green)}.fine{font-size:10px;margin:15px 0}.consultation .button{width:100%;font-size:12px;padding:13px}#form-status{font-size:12px;margin:14px 0 0}.faq{max-width:1000px}.faq h2{margin-bottom:35px}details{border-bottom:1px solid var(--line);padding:19px 0}summary{cursor:pointer;font-size:16px}details p{font-size:14px;margin:15px 0 0;max-width:690px}footer{text-align:center;border-top:1px solid var(--line);padding:43px 20px}footer .brand{justify-content:center}footer p{font-size:13px;margin:20px 0 7px}footer>small{font-size:10px;color:var(--muted)}:focus-visible{outline:3px solid #b67c40;outline-offset:5px}.skip{position:absolute;left:-9999px}.skip:focus{left:15px;top:5px;background:white;padding:10px;z-index:10}@media(max-width:1050px){nav{gap:15px}nav>a:not(.button){display:none}.section{padding:65px 6%}.approach,.journey,.availability,.consultation{gap:40px}.support-grid{grid-template-columns:repeat(2,1fr)}.ribbon{gap:30px}}@media(max-width:650px){header{padding:20px 6%}.brand{font-size:21px}.brand-icon{font-size:36px}nav .button{font-size:10px;padding:10px;gap:7px}.hero{grid-template-columns:1fr;padding:42px 6%;gap:30px}h1{font-size:58px}.hero-art{max-width:370px}.hero-copy .eyebrow{font-size:8px;letter-spacing:1.5px}.art-note{bottom:75px;font-size:19px;padding:14px 22px}.ribbon{gap:12px;padding:18px 6%;font-size:10px;text-align:center}.ribbon i{font-size:13px}.section{padding:54px 6%}.approach,.journey,.availability,.consultation{grid-template-columns:1fr;gap:26px}.support-grid{gap:24px;margin-top:30px}.support h3{font-size:21px}.support article p{font-size:13px}.schedule{padding:24px}.consult-heading>p{max-width:450px}form{padding:23px}.form-row{gap:12px}.checks{gap:10px}.faq h2{font-size:38px}footer{padding-bottom:35px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.contact{background:#e6e9dc;text-align:center}.contact-links{display:flex;justify-content:center;flex-wrap:wrap;gap:15px 28px;margin:25px 0}.contact-links a{font-size:15px;text-underline-offset:5px;overflow-wrap:anywhere}.contact .fine{max-width:620px;margin:25px auto 0}#cancellation-policy li{margin-bottom:15px;color:var(--muted);font-size:14px}#cancellation-policy ul{padding-left:22px}#cancellation-policy>p{font-size:14px}.footer-links{font-size:11px} @media(max-width:650px){.contact-links{flex-direction:column;gap:20px}}

.intake-consent{margin:20px 0;display:block}.intake-consent input{display:inline-block;vertical-align:middle;margin-right:8px}#intake-review{margin-top:22px;border-top:1px solid var(--line);padding-top:22px}.text-action{border:0;background:none;text-decoration:underline;color:var(--green);padding:15px 0;cursor:pointer;font:inherit;font-size:13px}#privacy p{font-size:14px}

/* Audit: prevent grid overflow and improve phone input readability. */
.form-row>*{min-width:0}input,textarea{min-width:0;font-size:16px}#intake-fields{min-width:0;margin:0}em{color:#64704f}.number{color:#606951}.availability em{color:#d4dcbf}.fine,.micro,.scope{font-size:12px}nav{gap:18px}@media(max-width:650px){.form-row{grid-template-columns:1fr}.brand{font-size:19px}header{gap:12px}h1{font-size:clamp(43px,11vw,58px)}.checks{grid-template-columns:1fr}.button{min-height:44px}}
