:root{--paper:#f6f5ef;--ink:#303d3d;--muted:#566365;--blue:#526b7a;--line:#cdd1cb;--wash:#e8ebe4}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:18px/1.65 Arial,Helvetica,sans-serif}a{color:inherit;text-underline-offset:5px}a:hover{color:var(--blue)}a:focus-visible,summary:focus-visible{outline:3px solid #8a582c;outline-offset:6px}img{max-width:100%;height:auto;display:block}h1,h2,h3,p{margin-top:0}h1,h2{font-weight:400;letter-spacing:-.055em;line-height:1.08}h1{font-size:clamp(3rem,5.5vw,5.7rem)}h2{font-size:clamp(2.2rem,3.5vw,3.6rem)}h3{font-size:1.3rem;font-weight:400;line-height:1.3;letter-spacing:-.025em}p{margin-bottom:1.3rem}header{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:25px 5vw;border-bottom:1px solid var(--line)}.brand{font-size:1.5rem;line-height:1.1;letter-spacing:-.04em;text-decoration:none}.brand span{display:block;font:12px/1.8 'Courier New',monospace;letter-spacing:.08em;margin-top:5px}nav{display:flex;gap:28px;align-items:center;font-size:14px}nav a{text-decoration:none;padding:8px 0}nav a[aria-current]{border-bottom:1px solid var(--ink)}nav a:last-child{border:1px solid var(--ink);padding:10px 16px}.eyebrow{font:14px/1.5 'Courier New',monospace;letter-spacing:.08em;text-transform:uppercase;margin-bottom:25px}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:690px}.coast{position:relative;overflow:hidden;min-height:650px}.landscape{position:absolute;width:100%;height:100%;object-fit:cover;object-position:55% center}.mark{position:absolute;top:50%;left:50%;width:45%;height:auto;transform:translate(-50%,-50%)}.hero-copy{padding:65px 6vw 50px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.hero h1{color:var(--blue);margin-bottom:30px}.hero-copy p{max-width:470px}.lead{font-size:clamp(1.2rem,1.5vw,1.45rem);line-height:1.5;letter-spacing:-.02em}.button{display:inline-block;background:var(--ink);color:var(--paper);padding:14px 25px;text-decoration:none;font-size:16px;border:1px solid var(--ink);transition:background .2s}.button:hover{background:var(--blue);color:white}.micro{font:13px/1.5 'Courier New',monospace;margin-top:16px;margin-bottom:0;color:var(--muted)}.section{padding:90px 7vw}.intro{display:grid;grid-template-columns:1fr 1fr;gap:15px 7vw}.intro>.eyebrow{grid-column:1/-1}.intro>h2{max-width:560px}.text-link{display:inline-block;margin-top:8px;font-size:16px}.areas{padding-top:25px}.rows a{display:grid;grid-template-columns:45px 1fr 1fr;gap:30px;border-top:1px solid var(--line);padding:28px 0;text-decoration:none;align-items:start}.rows a:last-child{border-bottom:1px solid var(--line)}.rows span{font:14px/1.8 'Courier New',monospace}.rows h3{font-size:1.6rem}.rows p{margin:0;color:var(--muted)}.meet,.about-hero{display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:8vw}.meet{background:var(--wash)}.meet img{width:100%;max-width:460px;aspect-ratio:1;object-fit:cover}.closing{padding:90px 7vw 100px;text-align:center;max-width:950px;margin:auto}.closing p:not(.eyebrow){max-width:620px;margin:0 auto 28px}.closing h2{margin-bottom:24px}footer{border-top:1px solid var(--line);padding:45px 7vw;display:grid;grid-template-columns:1.3fr 1fr .6fr;gap:40px;font-size:14px}footer strong{font-size:20px;font-weight:400}footer p{margin:12px 0}footer a{display:inline-block;margin:4px 0}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:8vw;border-top:1px solid var(--line)}.about-hero{align-items:start}.about-hero h1{font-size:clamp(2.6rem,4.7vw,4.6rem)}.credential{border-top:1px solid var(--line);padding-top:24px;margin-top:24px}.credential p{font-size:16px}.tint{background:var(--wash)}.page-head{padding-bottom:65px}.page-head h1{max-width:1050px}.page-head .lead{max-width:760px}.topics{padding-top:0}.topics article{display:grid;grid-template-columns:50px 1fr 1.2fr;gap:28px;border-top:1px solid var(--line);padding:45px 0}.topics h2{font-size:2.3rem}.topics article p:last-child:not(:nth-child(3)){grid-column:3;margin-top:-20px}.fee-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;padding-top:0}.fee-grid article{border:1px solid var(--line);padding:40px}.fee-grid article+article{border-left:0;background:var(--wash)}.price{font-size:3rem;letter-spacing:-.05em;margin-top:30px}.price span{font-size:16px;letter-spacing:0}.price.words{font-size:2.2rem;padding:8px 0}.faq details{border-bottom:1px solid var(--line);padding:20px 0}.faq summary{cursor:pointer;font-size:18px}.faq details p{font-size:16px;margin-top:18px;margin-bottom:0}.contact{display:grid;grid-template-columns:1.2fr .8fr;gap:9vw;align-items:start}.contact h1{font-size:clamp(3rem,5vw,5rem)}.contact-email{font-size:clamp(1.2rem,2.2vw,1.85rem);display:block;overflow-wrap:anywhere;margin:36px 0 12px}.contact-phone{font-size:1.3rem}.contact aside{background:var(--wash)}.contact aside img{aspect-ratio:1.9;object-fit:cover}.contact aside>div{padding:32px}.contact aside h2{font-size:2rem;margin-bottom:30px}.contact aside h3{font-size:16px;margin-bottom:6px}.contact aside p{font-size:16px}.skip{position:absolute;left:20px;top:-100px;background:white;z-index:20;padding:12px}.skip:focus{top:20px}@media(max-width:850px){header{align-items:flex-start;flex-direction:column;gap:16px;padding:22px 6vw}nav{gap:18px;flex-wrap:wrap}nav a:last-child{padding:7px 10px}.hero{min-height:0}.coast{min-height:550px}.hero-copy{padding:40px 6vw}.hero h1{font-size:3.7rem}.section{padding:60px 6vw}.meet,.about-hero{gap:5vw}.two-col{gap:5vw}.topics article{grid-template-columns:30px 1fr}.topics article>p:not(.eyebrow){grid-column:2}.topics article p:last-child:not(:nth-child(3)){grid-column:2;margin-top:0}.fee-grid article{padding:28px}.contact{gap:5vw}footer{gap:24px}}@media(max-width:600px){body{font-size:17px}nav{gap:10px 18px;font-size:14px}.hero{display:flex;flex-direction:column}.coast{min-height:310px;height:310px}.mark{width:32%}.hero-copy{padding:40px 6vw 44px}.hero h1{font-size:3.7rem}.intro,.meet,.about-hero,.two-col,.fee-grid,.contact{grid-template-columns:1fr;gap:30px}.intro>.eyebrow{margin-bottom:0}.intro h2{margin-bottom:0}.rows a{grid-template-columns:26px 1fr;gap:12px}.rows p{grid-column:2}.rows h3{margin-bottom:0}.meet img{max-width:100%}.about-hero img{max-width:370px}.fee-grid{gap:0}.fee-grid article+article{border-left:1px solid var(--line);border-top:0}.closing{padding:60px 6vw}.topics h2{font-size:2rem}.topics article{gap:15px}.page-head{padding-bottom:40px}footer{grid-template-columns:1fr;gap:20px}.contact-email{margin-top:25px}.hero .eyebrow{margin-bottom:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Subtle rounding for primary and navigation buttons. */
.button, nav a:last-child{border-radius:8px}

/* Original Cartograph identity, with restrained coastal accents. */
:root{--name-blue:#a8bcc2;--type:"msxp","Cartograph CF","Courier New",monospace}
body{font-family:var(--type);font-size:17px;line-height:1.75}
h1,h2,h3{font-family:var(--type);font-weight:700;letter-spacing:-.045em;line-height:1.22;overflow-wrap:normal}
h1{font-size:clamp(2.4rem,4.3vw,4.3rem)}
h2{font-size:clamp(1.85rem,2.7vw,2.8rem)}
h3{font-size:1.15rem;letter-spacing:-.03em}
.brand{color:var(--name-blue);font-family:var(--type);font-size:clamp(1.6rem,2.6vw,2.3rem);font-weight:900;letter-spacing:-.035em;line-height:1.2}
.brand:hover{color:var(--blue)}
.brand span{font-family:var(--type);font-weight:700;color:var(--ink);font-size:12px;letter-spacing:.04em}
.eyebrow,.micro,.rows span{font-family:var(--type)}
.eyebrow{font-weight:700;font-size:13px;letter-spacing:.035em}
.hero h1{font-size:clamp(2.5rem,4.3vw,4.3rem);color:var(--blue)}
.hero-copy{padding-left:5vw;padding-right:5vw}
.lead{font-size:clamp(1.05rem,1.4vw,1.25rem);line-height:1.65;letter-spacing:-.03em}
.button{font-family:var(--type);font-weight:700;font-size:14px;padding:14px 23px}
nav{font-size:13px;gap:22px}nav a:last-child{font-weight:700}
.text-link{font-size:15px;text-decoration-color:var(--name-blue);text-decoration-thickness:2px}
.rows h3{font-size:1.35rem}.rows span{color:var(--blue)}
.about-hero h1,.contact h1{font-size:clamp(2.2rem,3.4vw,3.5rem)}
.topics h2{font-size:clamp(1.7rem,2.3vw,2.25rem)}
.price{font-weight:700;font-size:2.8rem}.price.words{font-size:1.8rem}
.contact-email{font-size:clamp(1rem,1.65vw,1.45rem)}
footer strong{font-family:var(--type);font-weight:800;color:var(--blue)}
@media(max-width:1000px){header{align-items:flex-start;flex-direction:column;gap:16px}nav{flex-wrap:wrap}.fee-grid article{padding:28px}.price.words{font-size:1.5rem}}
@media(max-width:600px){body{font-size:16px}.hero h1{font-size:2.8rem}.hero-copy{padding:40px 6vw}.brand{font-size:1.9rem}nav{font-size:13px;gap:12px 18px}.about-hero h1,.contact h1{font-size:2.2rem}.topics h2{font-size:1.7rem}.rows h3{font-size:1.2rem}}

/* Keep portraits proportional as grid columns resize. */
.about-hero>img,.meet>img{width:100%;height:auto;aspect-ratio:1 / 1;object-fit:cover;align-self:start}
/* Keep longer consultation invitations within narrow screens. */
.button{max-width:100%;white-space:normal;overflow-wrap:break-word;text-align:center;line-height:1.5}
/* Pair distinctive Cartograph headings with quieter, proportional body text. */
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;font-weight:400;font-size:18px;line-height:1.7;letter-spacing:normal}
p,.lead,.rows p,.credential p,.faq details p,.contact aside p,footer p{font-family:inherit;font-weight:400;letter-spacing:normal}
.lead{font-size:clamp(1.125rem,1.5vw,1.375rem);line-height:1.6}
.eyebrow,.micro{font-family:var(--type)}
.eyebrow{font-weight:700}.micro{font-weight:400}
.price{font-family:var(--type);font-weight:700}
nav,.text-link{font-family:var(--type)}
@media(max-width:600px){body{font-size:17px}}

/* Consultation and personal introduction. */
nav{font-size:14px}.hero-person{display:flex;align-items:center;gap:14px;text-decoration:none;margin-bottom:24px;font-size:14px;line-height:1.5}.hero-person img{width:64px;height:64px;border-radius:50%;object-fit:cover}.hero-person span span{color:var(--muted);text-decoration:underline;text-underline-offset:3px}.hero-copy{padding-top:40px;padding-bottom:40px}.hero h1{margin-bottom:22px}.hero .eyebrow{margin-bottom:18px}.hero .text-link{font-size:14px}.contact-actions{display:flex;gap:14px;flex-wrap:wrap}.button.secondary{background:transparent;color:var(--ink)}.button.secondary:hover{background:var(--wash)}.contact-email{margin-top:24px;margin-bottom:36px}.next-heading{margin-top:40px}.next-steps{padding-left:24px}.next-steps li{padding-left:8px;margin-bottom:18px}.page-head>p:not(.eyebrow){max-width:760px}.contact aside h3{margin-top:26px}.contact aside .text-link{font-size:14px}.topics article>p:not(.eyebrow){grid-column:3}.topics article p:last-child:not(:nth-child(3)){margin-top:0}button:focus-visible,.button:focus-visible{outline:3px solid #8a582c;outline-offset:5px}
@media(max-width:850px){.topics article>p:not(.eyebrow){grid-column:2}}
@media(max-width:600px){.hero-copy{order:-1}.coast{min-height:200px;height:200px}.mark{width:25%;max-width:125px}.hero h1{font-size:clamp(2rem,9vw,2.8rem)}.hero-person{margin-bottom:20px}.hero-person img{width:56px;height:56px}.contact-actions{flex-direction:column;align-items:flex-start}nav{font-size:14px;gap:10px 16px}.section{padding-top:48px;padding-bottom:48px}}

/* Keep the therapy offer and first step ahead of credentials. */
.hero-consult-note{font-size:15px;line-height:1.5;margin:12px 0 22px;color:var(--muted)}.hero-person{margin-bottom:0}.hero-copy>.lead{margin-bottom:16px}.hero-copy>.eyebrow{margin-bottom:14px}
