:root{--cream:#f5efe4;--paper:#fbf8f1;--olive:#59654b;--olive-dark:#354232;--olive-pale:#dfe2d4;--terra:#b8674e;--terra-pale:#ead1c4;--ink:#283029;--muted:#667066;--line:rgba(40,48,41,.16);--serif:"Fraunces",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.65}img{display:block;max-width:100%}a{color:inherit}.skip-link{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:.7rem 1rem;z-index:100}.skip-link:focus{left:1rem;top:1rem}.site-header{height:88px;padding:0 clamp(24px,5vw,76px);display:flex;align-items:center;justify-content:space-between;background:rgba(251,248,241,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.brand{text-decoration:none;display:flex;flex-direction:column;font-family:var(--serif);font-size:1.12rem;line-height:1.05}.brand small{text-transform:uppercase;letter-spacing:.22em;font-family:var(--sans);font-size:.53rem;margin-top:.35rem}.site-header nav{display:flex;align-items:center;gap:1.8rem}.site-header nav a{text-decoration:none;font-size:.86rem;font-weight:500}.nav-cta{border:1px solid var(--olive);border-radius:100px;padding:.65rem 1rem}.section-pad{padding:clamp(80px,10vw,150px) clamp(24px,8vw,130px)}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;font-weight:600;color:var(--terra);margin:0 0 1.25rem}.eyebrow.light{color:var(--terra-pale)}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.12;margin-top:0}h1{font-size:clamp(3.25rem,7vw,7.1rem);letter-spacing:-.045em;margin-bottom:1.6rem}h2{font-size:clamp(2.25rem,4.5vw,4.7rem);letter-spacing:-.035em;margin-bottom:1.5rem}h3{font-size:1.5rem}.hero{min-height:calc(100vh - 88px);display:grid;grid-template-columns:1.08fr .92fr;background:var(--cream)}.hero-copy{padding:clamp(70px,9vw,145px) clamp(24px,7vw,115px);display:flex;flex-direction:column;justify-content:center}.hero-lead{font-size:clamp(1.1rem,1.8vw,1.4rem);max-width:620px;color:#4b554e;margin:0 0 2.3rem}.button-row{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;text-align:center;text-decoration:none;border-radius:100px;padding:.9rem 1.35rem;font-size:.9rem;font-weight:600;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--olive);color:white}.text-link{font-size:.88rem;font-weight:600;text-underline-offset:5px}.portrait-panel{background:var(--olive-pale);position:relative;display:grid;place-items:center;padding:8%}.portrait-frame{width:min(470px,90%);aspect-ratio:4/5;border-radius:48% 48% 7px 7px;overflow:hidden;position:relative;background:#c9bba9;box-shadow:0 24px 70px rgba(53,66,50,.16)}.portrait-frame img{width:100%;height:100%;object-fit:cover;position:relative;z-index:2}.portrait-frame img:not([src]),.portrait-frame img[src=""]{display:none}.portrait-fallback{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--serif);font-size:5rem;color:rgba(53,66,50,.5)}.sun-mark{position:absolute;width:100px;height:100px;right:8%;top:12%}.sun-core{position:absolute;width:58px;height:58px;border:2px solid var(--terra);border-radius:50%;left:21px;top:21px}.ray{position:absolute;background:var(--terra);width:1px;height:17px;left:50%;top:0;transform-origin:50% 50px}.ray-2{transform:rotate(60deg)}.ray-3{transform:rotate(120deg)}.ray-4{transform:rotate(180deg)}.ray-5{transform:rotate(240deg)}.ray-6{transform:rotate(300deg)}.recognition{background:#edd9ce;position:relative;overflow:hidden}.narrow-copy{max-width:850px;margin:auto;position:relative;z-index:1}.narrow-copy p{font-size:1.08rem;max-width:760px}.contour{position:absolute;width:450px;height:450px;border:1px solid rgba(184,103,78,.27);border-radius:42% 58% 52% 48%;left:-180px;top:70px}.contour:before,.contour:after{content:"";position:absolute;border:1px solid rgba(184,103,78,.22);border-radius:inherit}.contour:before{inset:30px}.contour:after{inset:62px}.about{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(50px,9vw,140px);align-items:center;background:var(--paper)}.about-copy{max-width:690px}.about-art{height:560px;background:var(--olive-pale);position:relative;overflow:hidden;border-radius:3px}.modern-sun{width:185px;height:185px;border:2px solid var(--terra);border-radius:50%;position:absolute;left:50%;top:29%;transform:translate(-50%,-50%)}.modern-sun:before,.modern-sun:after,.modern-sun span:before,.modern-sun span:after{content:"";position:absolute;background:var(--terra)}.modern-sun:before{height:45px;width:2px;left:50%;top:-70px}.modern-sun:after{height:45px;width:2px;left:50%;bottom:-70px}.modern-sun span:before{width:45px;height:2px;top:50%;left:-70px}.modern-sun span:after{width:45px;height:2px;top:50%;right:-70px}.horizon-line{position:absolute;border:1px solid rgba(53,66,50,.36);border-radius:50%;width:130%;height:190px;left:-15%;bottom:-50px}.line-two{bottom:-15px;width:115%;left:-7.5%}.line-three{bottom:20px;width:100%;left:0}.help{background:var(--cream)}.section-heading{max-width:800px;margin-bottom:4rem}.section-heading>p:last-child{max-width:670px}.help-grid,.method-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.help-grid article,.method-grid article{padding:clamp(28px,4vw,58px);border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:250px}.help-grid span{color:var(--terra);font-size:.72rem;font-weight:600}.help-grid h3{margin-top:2rem}.help-grid p,.method-grid p{color:var(--muted);max-width:470px}.approach{background:var(--olive-dark);color:#f5f0e6;position:relative;overflow:hidden}.approach-copy{max-width:760px;position:relative;z-index:1}.approach-copy>p{font-size:1.08rem;max-width:700px}.rings{position:absolute;width:650px;height:650px;border:1px solid rgba(234,209,196,.16);border-radius:50%;right:-180px;top:-90px}.rings:before,.rings:after{content:"";position:absolute;border:1px solid rgba(234,209,196,.14);border-radius:50%}.rings:before{inset:75px}.rings:after{inset:150px}.modality-links{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2.4rem}.modality-links a{color:white;border:1px solid rgba(255,255,255,.35);border-radius:100px;padding:.65rem 1rem;text-decoration:none;font-size:.84rem}.methods{background:var(--paper)}.method-grid article{scroll-margin-top:110px}.fees{background:#e6e4d8;display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(50px,8vw,120px);align-items:start}.fee-intro{position:sticky;top:130px}.fee-cards{display:grid;gap:1.25rem}.fee-card{padding:clamp(30px,4vw,55px);background:var(--paper)}.fee-card.private-pay{border-top:6px solid var(--terra)}.fee-card.insurance{border-top:6px solid var(--olive)}.card-label{text-transform:uppercase;letter-spacing:.16em;font-size:.7rem;font-weight:600;color:var(--muted)}.price{font-size:1.2rem}.price strong{font-family:var(--serif);font-size:3rem;font-weight:400}.button-outline{border:1px solid var(--olive);margin-top:1rem;color:var(--olive-dark)}.faq{background:var(--cream)}.faq-list{max-width:900px}.faq-list details{border-top:1px solid var(--line);padding:1.4rem 0}.faq-list details:last-child{border-bottom:1px solid var(--line)}summary{font-family:var(--serif);font-size:1.35rem;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:1rem}summary::-webkit-details-marker{display:none}summary:after{content:"+";font-family:var(--sans);font-weight:300;color:var(--terra)}details[open] summary:after{content:"–"}.faq-list details p{max-width:720px;color:var(--muted);margin-bottom:.25rem}.contact{background:var(--olive);color:white;position:relative;overflow:hidden;min-height:600px;display:flex;align-items:center}.contact-copy{max-width:780px;position:relative;z-index:1}.contact-copy p:not(.eyebrow){font-size:1.15rem;max-width:670px;margin-bottom:2rem}.button-cream{background:var(--cream);color:var(--olive-dark)}.contact-sun{position:absolute;width:460px;height:460px;border:2px solid rgba(234,209,196,.65);border-radius:50%;right:-90px;bottom:-175px}.contact-sun:before,.contact-sun:after{content:"";position:absolute;width:650px;height:1px;background:rgba(234,209,196,.35);left:-110px}.contact-sun:before{top:110px;transform:rotate(-10deg)}.contact-sun:after{top:165px;transform:rotate(6deg)}footer{background:#253025;color:#f5f0e6;padding:50px clamp(24px,8vw,130px);display:grid;grid-template-columns:1fr 1fr auto;gap:2rem;align-items:end;font-size:.84rem}footer p{margin:.3rem 0;color:#cbd0c6}footer a{color:#f5f0e6}.copyright{text-align:right}
@media(max-width:900px){.site-header nav a:not(.nav-cta){display:none}.hero{grid-template-columns:1fr}.hero-copy{min-height:640px}.portrait-panel{min-height:650px}.about,.fees{grid-template-columns:1fr}.about-art{height:420px;order:2}.fee-intro{position:static}.help-grid,.method-grid{grid-template-columns:1fr}footer{grid-template-columns:1fr 1fr}.copyright{text-align:left;grid-column:1/-1}}
@media(max-width:600px){body{font-size:16px}.site-header{height:76px}.brand{font-size:1rem}.nav-cta{padding:.55rem .75rem!important;font-size:.74rem!important}.hero{min-height:0}.hero-copy{min-height:600px}.portrait-panel{min-height:520px;padding:11%}.sun-mark{transform:scale(.75);right:3%;top:5%}.section-pad{padding-top:78px;padding-bottom:78px}.about-art{height:340px}.modern-sun{transform:translate(-50%,-50%) scale(.72)}.section-heading{margin-bottom:2.5rem}.help-grid article,.method-grid article{min-height:auto}.contact{min-height:560px}.button{width:100%}.button-row{align-items:flex-start;flex-direction:column}.text-link{margin-left:.3rem}footer{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

/* Revised visual system based on the approved original-site references. */
:root{--serif:"Libre Baskerville",Georgia,serif}
.hero-copy{position:relative}.hero-credentials{margin-top:2.6rem;display:flex;flex-direction:column;gap:.15rem;font-size:.82rem}.hero-credentials strong{font-family:var(--serif);font-weight:400;font-size:1rem}.hero-credentials span{color:var(--muted)}
.recognition{padding-bottom:clamp(110px,12vw,175px)}.recognition .contour{top:auto;bottom:-235px;left:-155px;width:500px;height:500px}
.about-art{background:linear-gradient(145deg,var(--cream) 0 48%,var(--olive-pale) 48% 100%)}.modern-sun{background:rgba(184,103,78,.06)}.horizon-line{border-color:rgba(53,66,50,.45)}
.help{background:#f7f3ea}.help .section-heading{max-width:850px}.help-grid article{min-height:340px;padding:clamp(35px,4.5vw,65px)}.help-grid h3{font-size:clamp(1.7rem,2.6vw,2.65rem);line-height:1.12;margin-bottom:1.35rem}.help-grid p{font-size:.94rem;line-height:1.7}.help-grid span{color:var(--terra)}
.approach{display:grid;grid-template-columns:.85fr 1.3fr;gap:clamp(60px,8vw,145px);align-items:start;min-height:680px}.approach-label{position:relative;z-index:2;padding-top:.5rem}.approach-copy{max-width:720px}.approach-copy h2{font-size:clamp(2.8rem,4.8vw,5.4rem);margin-bottom:2.2rem}.approach-copy>p{font-size:.96rem;line-height:1.75;margin:0 0 1.15rem}.rings{right:auto;left:-210px;top:-185px;width:620px;height:620px}.modality-links{margin-top:2rem}
.methods{position:relative;overflow:hidden}.methods:after{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(184,103,78,.18);border-radius:50%;right:-250px;bottom:-270px;box-shadow:0 0 0 35px rgba(184,103,78,.06),0 0 0 70px rgba(184,103,78,.04)}.methods .section-heading{max-width:none;display:grid;grid-template-columns:.75fr 1.25fr;column-gap:clamp(50px,8vw,130px);align-items:start}.methods .section-heading .eyebrow{grid-column:1;grid-row:1/3}.methods .section-heading h2{grid-column:2;margin-bottom:1.25rem}.methods .section-heading>p:last-child{grid-column:2;max-width:650px}.method-grid{position:relative;z-index:1}.method-grid article{min-height:285px;padding:clamp(38px,4.5vw,64px)}.method-grid article>span{text-transform:uppercase;letter-spacing:.18em;font-size:.68rem;font-weight:600}.method-grid h3{font-size:clamp(1.55rem,2.5vw,2.45rem);margin:2rem 0 1rem}.method-grid p{font-size:.93rem;line-height:1.7}
.fees{display:block;background:#f5f2e9}.fee-intro{position:static;max-width:900px;margin-bottom:4rem}.fee-intro p:last-child{font-size:1rem}.fee-cards{grid-template-columns:1fr 1fr 1fr;gap:1.25rem;align-items:stretch}.fee-card{min-height:465px;padding:clamp(34px,4vw,56px);display:flex;flex-direction:column;border-top:0!important}.fee-card.private-pay{background:var(--olive-dark);color:white}.fee-card.insurance{background:#fbfaf6}.fee-card.cancellation{background:#c98a70;color:#2f302b}.fee-card h3{font-size:clamp(1.65rem,2.3vw,2.35rem);line-height:1.22;margin:2.5rem 0 1.6rem}.fee-card .card-label{color:inherit}.single-rate{margin:auto 0;border-top:1px solid rgba(255,255,255,.25);border-bottom:1px solid rgba(255,255,255,.25);padding:2.3rem 0}.price{display:flex;align-items:baseline;gap:1rem;margin:0}.price strong{font-size:3.2rem}.price span{font-size:.82rem}.insurance .button{margin-top:auto;width:100%;font-size:.72rem;padding:.85rem .7rem}.cancellation p:last-child{margin-top:auto}
.faq-list details p{margin-left:clamp(70px,12vw,190px);max-width:660px}
.contact{min-height:690px;justify-content:center;text-align:center;padding-top:120px;padding-bottom:120px}.contact-copy{max-width:900px}.contact-copy h2{font-size:clamp(3.1rem,6vw,6.5rem)}.contact-copy p:not(.eyebrow):not(.contact-meta){margin-left:auto;margin-right:auto}.contact-sun{width:410px;height:410px;right:-100px;top:-155px;bottom:auto;background:#c98a70;border:0}.contact-sun:before,.contact-sun:after{width:150vw;left:auto;right:-120px;background:transparent;border-top:1px solid rgba(245,239,228,.48);border-radius:50%}.contact-sun:before{height:320px;top:440px;transform:rotate(-2deg)}.contact-sun:after{height:420px;top:475px;transform:rotate(2deg);box-shadow:0 -55px 0 -54px rgba(245,239,228,.48)}.button-cream{border-radius:0;text-transform:uppercase;letter-spacing:.12em;padding:1rem 1.5rem}.contact-meta{font-size:.78rem!important;font-weight:500!important;margin:1rem auto 0!important}.contact-meta span{padding:0 .4rem}footer{grid-template-columns:1fr auto;background:#242720;padding-top:46px;padding-bottom:46px}footer strong{font-family:var(--serif);font-weight:400;font-size:1rem}.copyright{grid-column:2;text-align:right}
@media(max-width:900px){.approach{grid-template-columns:1fr;gap:2rem}.approach-label{padding-top:0}.methods .section-heading{display:block}.fee-cards{grid-template-columns:1fr}.fee-card{min-height:390px}.faq-list details p{margin-left:45px}footer{grid-template-columns:1fr auto}}
@media(max-width:600px){.hero-credentials{margin-top:2rem}.help-grid article{min-height:auto}.help-grid h3 br{display:none}.approach{min-height:auto}.approach-copy h2 br{display:none}.method-grid h3 br{display:none}.fee-card{min-height:350px}.faq-list details p{margin-left:18px}.contact{min-height:620px}.contact-sun{width:260px;height:260px;right:-70px;top:-105px}.contact-sun:before{top:300px}.contact-sun:after{top:340px}footer{grid-template-columns:1fr}.copyright{grid-column:1;text-align:left}}

/* Final visual refinements. */
.hero h1{font-size:clamp(3rem,5vw,5.45rem);line-height:1.08;max-width:680px}
.portrait-panel{overflow:visible;z-index:2}.portrait-frame{transform:translateX(-9%);z-index:3}
.about-art{background:#f5efe4;isolation:isolate}
.about-art:after{content:"";position:absolute;z-index:0;left:-12%;right:-12%;bottom:-20%;height:58%;background:#c9cebf;border-radius:50% 50% 0 0/24% 24% 0 0}
.modern-sun{z-index:2;width:200px;height:100px;left:50%;top:auto;bottom:118px;transform:translateX(-50%);border:2px solid #ad765e;border-bottom:0;border-radius:200px 200px 0 0;background:#d9a38b}
.modern-sun:before{height:54px;width:1.5px;left:50%;top:-82px;background:#ad765e}
.modern-sun:after{height:1.5px;width:54px;left:-78px;top:70%;background:#ad765e}
.modern-sun span:before{height:1.5px;width:54px;left:222px;top:70%;background:#ad765e}
.modern-sun span:after{width:1.5px;height:48px;left:22px;top:-61px;background:#ad765e;transform:rotate(-38deg)}
.horizon-line{z-index:3;border-color:rgba(82,91,74,.48);height:115px}.line-one{bottom:-50px}.line-two{bottom:-18px}.line-three{bottom:14px}
.fee-card.private-pay{background:#596153}.fee-card.insurance{background:#f7f1e7}.fee-card.cancellation{background:#b98470}.single-rate{margin:2.55rem 0 0}.cancellation p:last-child{margin-top:2.5rem}.fee-card{min-height:445px}
@media(max-width:900px){.portrait-frame{transform:none}}
@media(max-width:600px){.hero h1{font-size:clamp(2.9rem,13.5vw,4.35rem)}.modern-sun{transform:translateX(-50%) scale(.82);transform-origin:bottom center;bottom:88px}.about-art:after{height:56%}.single-rate{margin-top:2rem}.cancellation p:last-child{margin-top:2rem}}

/* About artwork: abstract topographic contour panel. */
.about-art{background:#f6f0e6;min-height:560px}
.about-art:after{left:5%;right:auto;bottom:7%;width:88%;height:82%;background:#c5cab9;border-radius:45% 55% 42% 58%/37% 43% 57% 63%;transform:rotate(-4deg)}
.about-art .modern-sun{display:none}
.about-art .horizon-line{z-index:2;bottom:auto;border:1.5px solid rgba(166,106,82,.72);background:transparent}
.about-art .line-one{width:78%;height:62%;left:8%;top:17%;border-radius:45% 55% 48% 52%/42% 46% 54% 58%;transform:rotate(7deg)}
.about-art .line-two{width:60%;height:46%;left:18%;top:27%;border-radius:52% 48% 43% 57%/47% 55% 45% 53%;transform:rotate(-5deg)}
.about-art .line-three{width:41%;height:31%;left:28%;top:37%;border-radius:47% 53% 56% 44%/54% 44% 56% 46%;transform:rotate(9deg)}
@media(max-width:900px){.about-art{min-height:420px}.about-art:after{width:76%;left:12%;height:84%}.about-art .line-one{width:68%;left:16%}.about-art .line-two{width:51%;left:24%}.about-art .line-three{width:35%;left:32%}}
@media(max-width:600px){.about-art{min-height:340px}.about-art:after{height:82%}}

/* Final About artwork: approved three-ridge mountain illustration. */
.about-art.mountain-art{background:#f6efe4;overflow:hidden;padding:0}
.about-art.mountain-art:after{display:none}
.about-art.mountain-art img{width:100%;height:100%;object-fit:cover;object-position:center bottom}
@media(max-width:900px){.about-art.mountain-art img{object-fit:contain;object-position:center bottom}}

/* Preserve the natural portrait while keeping the face centered in the arch. */
.portrait-frame img{object-position:50% 38%}
