:root{--ink:#2f302c;--cream:#f7f3ec;--paper:#fffdfa;--sage:#e1e5dc;--line:#d4d0c7;--muted:#6d6e69;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Georgia,'Times New Roman',serif;color:var(--ink);background:var(--paper);line-height:1.7}header{display:flex;justify-content:space-between;align-items:center;padding:22px 6vw;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(255,253,250,.97);z-index:20}.brand{text-decoration:none;color:var(--ink);font-size:1.12rem;line-height:1.2}.brand small{display:block;letter-spacing:.16em;font-family:Arial,sans-serif;font-size:.57rem;margin-top:5px;font-weight:400}nav{display:flex;gap:21px}nav a{color:var(--ink);text-decoration:none;font:11px Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase}.hero{min-height:78vh;display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:7vw;padding:72px 9vw;background:var(--cream)}h1{font-size:clamp(3rem,5.5vw,5.5rem);font-weight:400;line-height:1.02;margin:.12em 0 .12em}h2{font-size:clamp(2.3rem,4vw,4rem);font-weight:400;line-height:1.08;margin:.15em 0 .55em}h3{font-size:1.55rem;font-weight:400;margin-top:0}h4{font:700 12px Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;margin:28px 0 8px}.subhead{font-size:1.35rem;margin:.3rem 0 1.3rem}.intro{font-size:1.12rem;max-width:650px}.eyebrow{font:11px Arial,sans-serif;letter-spacing:.2em;text-transform:uppercase}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.centered{justify-content:center}.button{display:inline-block;padding:13px 22px;border:1px solid var(--ink);background:transparent;color:var(--ink);text-decoration:none;font:12px Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.button.dark{background:var(--ink);color:var(--white)}.portrait{margin:0;background:#ece7de;padding:14px;border:1px solid var(--line)}.portrait img{width:100%;height:520px;object-fit:cover;object-position:center 25%;display:block}section:not(.hero){padding:90px 9vw}.split{display:grid;grid-template-columns:1.3fr .7fr;gap:9vw}.quote{font-size:1.65rem;line-height:1.45;border-left:1px solid var(--ink);padding-left:32px;align-self:center}.soft{background:var(--sage)}.wide{max-width:850px;font-size:1.1rem}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:42px}.cards article{background:rgba(255,255,255,.46);padding:32px;border-top:1px solid var(--ink)}.relationship{display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw;align-items:start}.focus-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.focus-grid span{padding:19px 8px;border-bottom:1px solid var(--line);font-size:1.05rem}.payment-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:40px}.payment-grid article{background:rgba(255,255,255,.5);padding:38px}.payment-grid ul{columns:1;padding-left:20px}.price{font-size:2.8rem;line-height:1;margin:.5rem 0 1.3rem}.price small{font-size:1rem}.note{color:var(--muted);font-style:italic}.contact{text-align:center}.contact>p{max-width:720px;margin-left:auto;margin-right:auto}.contact-form{max-width:720px;margin:42px auto 28px;text-align:left;border:1px solid var(--line);padding:34px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-form label{display:block;font:12px Arial,sans-serif;letter-spacing:.04em;margin-bottom:18px}.contact-form input,.contact-form select,.contact-form textarea{width:100%;margin-top:8px;padding:13px;border:1px solid var(--line);background:var(--white);font:16px Georgia,'Times New Roman',serif;color:var(--ink)}.hidden{display:none}.disclaimer{font-size:.82rem;color:var(--muted);max-width:800px!important}footer{padding:34px 6vw;display:flex;justify-content:space-between;gap:25px;border-top:1px solid var(--line);font:11px Arial,sans-serif;letter-spacing:.03em}@media(max-width:900px){header{display:block}.brand{display:block;margin-bottom:13px}nav{gap:13px;overflow-x:auto;padding-bottom:3px}.hero,.split,.relationship,.payment-grid{grid-template-columns:1fr}.hero{padding:52px 7vw}.portrait img{height:auto}.cards{grid-template-columns:1fr}.focus-grid{grid-template-columns:1fr 1fr}section:not(.hero){padding:68px 7vw}.quote{font-size:1.4rem}.form-row{grid-template-columns:1fr}footer{display:block}footer div{margin:8px 0}}@media(max-width:520px){.focus-grid{grid-template-columns:1fr}nav a{white-space:nowrap}.contact-form{padding:22px}.actions .button{width:100%;text-align:center}}

/* Mobile refinements: desktop layout above remains unchanged. */
.menu-toggle{display:none}
@media(max-width:600px){
 header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:15px 5vw;gap:8px}
 .brand{margin:0;max-width:calc(100% - 92px);font-size:.94rem;line-height:1.15}
 .brand small{font-size:.46rem;letter-spacing:.11em;margin-top:5px}
 .menu-toggle{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:transparent;color:var(--ink);padding:9px 10px;font:12px Arial,sans-serif;cursor:pointer}
 header nav{display:none;width:100%;flex-direction:column;gap:0;overflow:visible;padding:6px 0 0}
 header nav.is-open{display:flex}
 header nav a{display:block;padding:12px 2px;border-top:1px solid var(--line);font-size:12px}
 .hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:10px 14px;align-items:center;min-height:0;padding:34px 5vw 42px}
 .hero-copy{display:contents}
 .hero .eyebrow{grid-column:1;grid-row:1;align-self:end;font-size:9px;letter-spacing:.09em;line-height:1.5;margin:0}
 .hero h1{grid-column:1;grid-row:2;font-size:clamp(1.65rem,7vw,2.5rem);line-height:1.08;overflow-wrap:normal;margin:0}
 .hero .subhead{grid-column:1;grid-row:3;font-size:.94rem;line-height:1.3;margin:0;align-self:start}
 .hero .portrait{grid-column:2;grid-row:1 / 4;align-self:stretch;padding:5px;min-width:0}
 .hero .portrait img{height:100%;min-height:205px;max-height:300px;object-fit:cover;object-position:center 24%}
 .hero .intro{grid-column:1 / -1;font-size:1.04rem;line-height:1.55;margin:15px 0 0;max-width:none}
 .hero .actions{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:5px}
 .hero .actions .button{width:100%;padding:12px 8px;font-size:10px;letter-spacing:.03em;line-height:1.4;text-align:center;display:flex;justify-content:center;align-items:center;min-height:46px}
 section:not(.hero){padding:55px 6vw}
}
@media(max-width:370px){.hero{grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr);column-gap:10px}.hero h1{font-size:1.55rem}.hero .subhead{font-size:.84rem}.hero .actions{grid-template-columns:1fr}}
