:root{color-scheme:light;--ink:#202e28;--muted:#526059;--paper:#f6f5ef;--card:#fffefa;--line:#deded1;--forest:#22483d;--leaf:#dce8cb;--sand:#efe8d7;--radius:1.15rem}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 system-ui,sans-serif}a{color:var(--forest);text-underline-offset:.2em}header{background:var(--card);border-bottom:1px solid var(--line)}.header-inner{max-width:1320px;padding:1rem clamp(1rem,4vw,3rem);margin:auto;display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
.brand{display:inline-flex;align-items:center;gap:.65rem;text-decoration:none;color:var(--ink);font-size:1.25rem;line-height:1.02;letter-spacing:-.04em}.brand span{display:grid;place-items:center;width:2.45rem;height:2.45rem;border-radius:50%;background:var(--forest);color:white;font:1.6rem Georgia,serif}.brand small{display:block;margin-top:.35rem;color:var(--muted);font-size:.55rem;letter-spacing:.14em}
nav{display:flex;align-items:center;gap:clamp(.6rem,2.5vw,1.6rem);flex-wrap:wrap}nav a{font-weight:650;text-decoration:none;font-size:.88rem}.nav-action{border:1px solid var(--line);padding:.55rem .8rem;border-radius:999px}
main{max-width:1320px;padding:clamp(1.5rem,4vw,3.4rem) clamp(1rem,4vw,3rem);margin:auto;min-height:68vh}h1,h2,h3,h4{line-height:1.16;margin:.25em 0 .55em}h1{font:500 clamp(2.4rem,6vw,4.8rem)/.98 Georgia,serif;letter-spacing:-.06em}h2{font-size:clamp(1.25rem,2.8vw,1.7rem);letter-spacing:-.025em}h3,h4{font-size:1rem}p{margin:.55rem 0 1rem}.muted{color:var(--muted);font-size:.85rem}
.hero{display:grid;grid-template-columns:1.3fr .8fr;gap:2rem;align-items:center;min-height:28rem;padding:clamp(1.5rem,6vw,5rem);border-radius:calc(var(--radius) + .55rem);background:var(--leaf)}.hero h1{max-width:12ch}.hero p:not(.eyebrow){max-width:40ch;color:#3f5448;margin-bottom:1.7rem}.hero-art{position:relative;overflow:hidden;display:grid;place-items:center;min-height:20rem;border-radius:50% 50% .8rem .8rem;background:radial-gradient(ellipse at 32% 10%,#729373 0%,#345c49 53%,#203f34 100%);color:#e8ecd8}.hero-art:before,.hero-art:after{content:'';position:absolute;width:75%;aspect-ratio:1;border:1px solid #eef3df6b;border-radius:50%;transform:translate(25%,-14%)}.hero-art:after{transform:translate(-25%,14%)}.hero-art span{font:clamp(6rem,16vw,13rem)/1 Georgia,serif;opacity:.88}.hero-art small{position:absolute;bottom:1.2rem;left:1.4rem;font-size:.62rem;letter-spacing:.15em}.eyebrow{font-size:.73rem;font-weight:780;letter-spacing:.14em;color:var(--forest)}
.intro{display:grid;grid-template-columns:1fr 3fr;gap:1rem;padding:2.5rem 0}.steps{counter-reset:step;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding:0;list-style:none}.steps li{counter-increment:step;border-top:1px solid var(--line);padding:1rem 0}.steps li:before{content:'0' counter(step);display:block;color:var(--muted);font-size:.8rem;margin-bottom:.4rem}.steps span{display:block;color:var(--muted);font-size:.9rem}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1rem,3vw,1.65rem);margin:0 0 1.1rem;min-width:0}.narrow{max-width:510px;margin:1rem auto}.grid{display:grid;grid-template-columns:minmax(11rem,1fr) minmax(0,4fr);gap:1.25rem}.grid aside{align-self:start}.grid aside p{margin:.5rem 0}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:.7rem;flex-wrap:wrap;margin-bottom:1rem}.week{display:grid;grid-template-columns:repeat(7,minmax(8rem,1fr));gap:.45rem;overflow-x:auto;padding-bottom:.4rem}.day{background:var(--paper);border-radius:.7rem;padding:.55rem;min-height:8rem;overflow-wrap:anywhere}.day h3{display:flex;justify-content:space-between;gap:.4rem;font-size:.83rem}.day h3 span{color:var(--muted);font-weight:500}.appointment{padding:.65rem .45rem;background:white;border:1px solid var(--line);border-radius:.55rem;margin-bottom:.45rem}.appointment p,.appointment button{font-size:.78rem}.appointment form{margin:.35rem 0}
details{border-top:1px solid var(--line);padding:.7rem 0}summary{cursor:pointer;font-weight:650}label{display:grid;gap:.35rem;font-size:.9rem;font-weight:600}form{display:grid;gap:.7rem;margin:1rem 0}input,select,button,.button{font:inherit;border-radius:.55rem;padding:.65rem .8rem}input,select{min-width:0;border:1px solid #a9b4aa;width:100%;background:#fff;color:inherit}button,.button{border:1px solid var(--forest);background:var(--forest);color:white;cursor:pointer;text-decoration:none;display:inline-flex;gap:.8rem;align-items:center;max-width:100%;width:fit-content;font-weight:650}button:hover,.button:hover{background:#163429}button:disabled{opacity:.65;cursor:wait}:focus-visible{outline:3px solid #a16325;outline-offset:3px}.error{color:#972c34}.badge{display:inline-flex;font-size:.72rem;background:var(--sand);border-radius:999px;padding:.15rem .5rem;color:#4a3b2a}li{overflow-wrap:anywhere}footer{max-width:1320px;margin:auto;border-top:1px solid var(--line);padding:1.2rem clamp(1rem,4vw,3rem);display:flex;gap:1rem;flex-wrap:wrap;color:var(--muted);font-size:.85rem}footer span{margin-right:auto}
@media(max-width:760px){.hero{grid-template-columns:1fr;min-height:0}.hero-art{min-height:11rem}.intro,.grid{grid-template-columns:1fr}.steps{gap:.6rem}.steps span{font-size:.78rem}.header-inner{gap:.75rem}.header-inner nav{gap:.65rem}}
@media(max-width:420px){.steps{grid-template-columns:1fr}.hero h1{font-size:2.65rem}}
