:root{
  --sage:#9caf88;--sage-deep:#55684c;--sage-ink:#43523d;--cream:#eee1c6;--cream-soft:#fdf8ee;--paper:#fffdf9;--mauve:#c0afc5;--mauve-deep:#8a708e;--gold:#d2b450;--ink:#5f514e;--ink-soft:#756965;--line:#ded3c3;--white:#fff;--shadow:0 25px 70px rgba(84,70,64,.12);--shadow-soft:0 12px 38px rgba(84,70,64,.09)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Lato,Arial,sans-serif;font-size:17px;line-height:1.68;-webkit-font-smoothing:antialiased}body.dialog-open{overflow:hidden}a{color:inherit}button,input,select,textarea{font:inherit}button{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:"Playfair Display",Georgia,serif;line-height:1.09}h1{font-size:clamp(3.35rem,6.3vw,6.65rem);letter-spacing:-.057em;margin-bottom:.08em;font-weight:600;max-width:900px}h2{font-size:clamp(2.25rem,4.1vw,4.2rem);letter-spacing:-.04em;margin-bottom:.42em;font-weight:600}h3{font-size:clamp(1.42rem,2.4vw,1.9rem);letter-spacing:-.025em}section{scroll-margin-top:92px}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.skip-link{position:fixed;z-index:1000;top:10px;left:10px;transform:translateY(-160%);padding:10px 15px;border-radius:8px;background:var(--ink);color:white}.skip-link:focus{transform:none}
.site-header{height:86px;display:flex;align-items:center;justify-content:space-between;padding:10px clamp(20px,5vw,76px);position:sticky;top:0;background:rgba(255,253,249,.92);backdrop-filter:blur(15px);z-index:20;border-bottom:1px solid rgba(222,211,195,.72)}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;line-height:.78;min-width:max-content}.brand-mark{width:43px;height:43px;fill:none;stroke:var(--sage-deep);stroke-width:2;stroke-linecap:round}.wordmark{display:grid;grid-template-columns:auto auto;align-items:end;column-gap:7px}.brand-script{font:2.02rem "Great Vibes",cursive;color:var(--ink)}.brand-forward{font:700 1.25rem "Playfair Display",serif;text-transform:uppercase;letter-spacing:.12em;color:var(--sage-deep)}.brand-subtitle{grid-column:1/-1;font-size:.56rem;text-transform:uppercase;letter-spacing:.43em;text-align:center;margin-top:9px;color:var(--ink)}.site-header nav{display:flex;align-items:center;gap:31px}.site-header nav a{text-decoration:none;font-weight:900;font-size:.86rem;letter-spacing:.015em;position:relative}.site-header nav a:not(.nav-cta):after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:2px;background:var(--mauve-deep);transition:right .22s ease}.site-header nav a:not(.nav-cta):hover:after,.site-header nav a:not(.nav-cta):focus-visible:after{right:0}.nav-cta{padding:11px 18px;border:1px solid var(--sage-deep);border-radius:999px;transition:.2s ease}.nav-cta:hover,.nav-cta:focus-visible{background:var(--sage-deep);color:white}.menu-button{display:none;background:white;border:1px solid var(--line);padding:9px 14px;border-radius:999px;font-weight:900;font-size:.82rem}
.eyebrow,.kicker,.small-label,.service-label{text-transform:uppercase;letter-spacing:.18em;color:var(--sage-deep);font-size:.75rem;font-weight:900}.hero{min-height:calc(100vh - 86px);display:grid;grid-template-columns:minmax(0,1.07fr) minmax(390px,.93fr);align-items:center;gap:40px;padding:80px clamp(24px,7vw,112px) 90px;background:radial-gradient(circle at 78% 16%,rgba(210,180,80,.14),transparent 27%),linear-gradient(130deg,var(--cream-soft),#fff 64%);overflow:hidden}.hero-copy{position:relative;z-index:2}.hero-script{font:clamp(2.7rem,5.2vw,5.3rem) "Great Vibes",cursive;color:var(--mauve-deep);margin:-.18em 0 .22em;line-height:1}.intro{max-width:690px;font-size:clamp(1.05rem,1.45vw,1.2rem);color:var(--ink-soft)}.hero-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;padding:15px 24px;text-decoration:none;border:0;font-weight:900;font-size:.91rem;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.button:hover,.button:focus-visible{transform:translateY(-2px)}.button.primary{background:var(--sage-deep);color:white;box-shadow:0 12px 30px rgba(85,104,76,.23)}.button.primary:hover,.button.primary:focus-visible{background:var(--sage-ink);box-shadow:0 16px 35px rgba(85,104,76,.3)}.button.secondary{background:white;border:1px solid var(--line)}.text-link{font-weight:900;text-underline-offset:6px;text-decoration-thickness:1px}.trust-row{display:flex;gap:9px;flex-wrap:wrap;margin-top:32px}.trust-row span{font-size:.75rem;font-weight:900;border:1px solid var(--line);background:rgba(255,255,255,.68);padding:7px 11px;border-radius:999px}
.hero-art{min-height:570px;position:relative;display:flex;align-items:center;justify-content:center}.hero-art:before{content:"";position:absolute;width:min(33vw,500px);aspect-ratio:1;border-radius:50%;background:linear-gradient(155deg,rgba(238,225,198,.78),rgba(192,175,197,.22));border:1px solid rgba(210,180,80,.25)}.hero-art svg{position:relative;width:115%;max-width:690px;z-index:2;overflow:visible}.hill{fill:none;stroke:var(--sage);stroke-linecap:round}.hill-back{stroke-width:5;opacity:.63}.hill-front{stroke-width:8;opacity:.85}.road-shadow{fill:none;stroke:rgba(95,81,78,.1);stroke-width:55;stroke-linecap:round}.road{fill:none;stroke:var(--sage-deep);stroke-width:34;stroke-linecap:round;opacity:.76}.sprig{fill:none;stroke:var(--mauve-deep);stroke-width:4;stroke-linecap:round;stroke-linejoin:round;opacity:.75}.sun-rays{position:absolute;top:76px;left:54%;width:108px;height:54px;border:4px solid var(--gold);border-bottom:0;border-radius:108px 108px 0 0;z-index:3}.sun-rays:before,.sun-rays:after{content:"";position:absolute;top:-35px;width:3px;height:25px;background:var(--gold)}.sun-rays:before{left:24px;transform:rotate(-25deg)}.sun-rays:after{right:24px;transform:rotate(25deg)}.path-note{position:absolute;right:-3%;bottom:5%;z-index:3;display:grid;gap:6px;transform:rotate(-4deg)}.path-note span{display:block;padding:7px 16px;border-radius:999px;background:rgba(255,253,249,.91);box-shadow:var(--shadow-soft);font:italic 1rem "Playfair Display",serif;width:max-content}.path-note span:nth-child(2){margin-left:25px;color:var(--mauve-deep)}.path-note span:nth-child(3){margin-left:48px;color:var(--sage-deep)}
.services{padding:110px clamp(24px,7vw,112px);background:white}.section-heading{max-width:750px;margin-bottom:46px}.section-heading>p:last-child{font-size:1.08rem;color:var(--ink-soft)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-card{display:flex;flex-direction:column;min-height:410px;padding:36px;border-radius:26px;background:#edf2e8;border:1px solid rgba(156,175,136,.18);position:relative;overflow:hidden;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.service-card:hover,.service-card:focus-within{transform:translateY(-5px);box-shadow:var(--shadow);border-color:rgba(85,104,76,.28)}.service-card.mauve{background:#f2edf3;border-color:rgba(192,175,197,.2)}.service-card.gold{background:#fbf3dd;border-color:rgba(210,180,80,.2)}.service-icon{font:700 5rem "Playfair Display",serif;color:rgba(95,81,78,.1);position:absolute;right:22px;top:4px}.service-label{margin-bottom:37px}.service-card h3{max-width:280px;margin-bottom:15px}.service-card p:not(.service-label){color:var(--ink-soft)}.service-choice{width:max-content;margin-top:auto;padding:9px 0;background:none;border:0;border-bottom:1px solid currentColor;font-weight:900;font-size:.86rem;cursor:pointer}.service-card.chosen{outline:3px solid rgba(85,104,76,.55);outline-offset:3px}.process{max-width:1080px;margin:64px auto 0;padding:30px 38px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.process div{display:grid;grid-template-columns:38px 1fr;gap:12px;align-items:start}.process span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--sage-deep);color:white;font:700 .83rem "Playfair Display",serif}.process p{margin:0;font-size:.9rem;color:var(--ink-soft);line-height:1.45}.process strong{color:var(--ink);font-size:.97rem}.minor-note{text-align:center;margin:23px 0 0;color:var(--ink-soft);font-size:.81rem}
.finish{background:var(--cream-soft)}.about-wrap{display:grid;grid-template-columns:.85fr 1.15fr;min-height:740px}.portrait-panel{background:radial-gradient(circle at 22% 12%,rgba(210,180,80,.22),transparent 25%),linear-gradient(145deg,#e9eee4 0%,#d8e2d0 56%,#f4ebdc 100%);display:grid;place-items:center;padding:70px 42px}.portrait-frame{width:min(100%,430px);aspect-ratio:4/5;border-radius:220px 220px 26px 26px;background:linear-gradient(165deg,rgba(255,255,255,.78),rgba(192,175,197,.37));border:1px solid rgba(95,81,78,.13);box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden}.portrait-frame:before{content:"";position:absolute;width:48%;aspect-ratio:1;border-radius:50%;top:18%;background:linear-gradient(145deg,#fff,#e9dfd8);box-shadow:0 13px 35px rgba(95,81,78,.08)}.portrait-frame:after{content:"";position:absolute;width:76%;height:44%;border-radius:50% 50% 0 0;bottom:-7%;background:linear-gradient(145deg,rgba(156,175,136,.7),rgba(85,104,76,.55))}.portrait-initials{position:absolute;top:27%;z-index:2;font:italic clamp(3rem,6vw,5.5rem) "Playfair Display",serif;color:var(--mauve-deep)}.portrait-caption{position:absolute;z-index:3;bottom:11%;text-align:center;color:white;text-transform:uppercase;letter-spacing:.16em;font-size:.7rem;font-weight:900}.portrait-horizon{position:absolute;inset:auto 7% 26%;height:2px;background:rgba(255,255,255,.5);z-index:2}.portrait-note{max-width:420px;text-align:center;font-size:.78rem;color:var(--ink-soft);margin:18px 0 0}.about-copy{padding:100px clamp(34px,7vw,120px);align-self:center}.about-copy .lead{font:italic 1.3rem "Playfair Display",serif;color:var(--sage-ink)}.about-copy p{max-width:760px}.credentials{display:flex;flex-wrap:wrap;gap:9px;margin-top:27px}.credentials span{background:white;border:1px solid var(--line);border-radius:999px;padding:8px 13px;font-size:.78rem;font-weight:900}
.consultation{display:grid;grid-template-columns:.72fr 1.28fr;gap:70px;align-items:start;padding:115px clamp(24px,8vw,135px);background:linear-gradient(135deg,#5b4f4c,#5d7153);color:white;position:relative;overflow:hidden}.consultation:before{content:"";position:absolute;width:470px;height:470px;border:1px solid rgba(255,255,255,.09);border-radius:50%;left:-240px;bottom:-230px}.consultation .kicker{color:#ead783}.consultation-copy{position:sticky;top:125px}.consultation-copy>p:not(.kicker){color:#eee7e3}.consultation-promise{margin-top:45px;display:flex;gap:16px;align-items:flex-start}.consultation-promise span{font:5rem "Playfair Display",serif;color:var(--mauve);line-height:.65}.consultation-promise p{font:italic 1.38rem "Playfair Display",serif;line-height:1.4}.request-form{background:var(--paper);color:var(--ink);border-radius:30px;padding:clamp(27px,4vw,50px);box-shadow:0 30px 90px rgba(28,21,19,.2)}.form-head h3{margin-bottom:22px}.mode-picker{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0;margin:0 0 26px;border:0}.mode-option{display:grid;grid-template-columns:42px 1fr;gap:11px;align-items:start;padding:17px;border:1px solid var(--line);border-radius:17px;cursor:pointer;background:white;transition:.18s ease;position:relative}.mode-option:hover{border-color:var(--sage)}.mode-option.selected{border-color:var(--sage-deep);background:#f2f6ee;box-shadow:0 0 0 1px var(--sage-deep)}.mode-option input{position:absolute;opacity:0;pointer-events:none}.mode-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--cream-soft);color:var(--sage-deep);font-size:1.35rem}.mode-option strong,.mode-option small{display:block}.mode-option small{font-size:.74rem;line-height:1.4;color:var(--ink-soft);margin-top:4px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid label{display:grid;gap:7px;font-size:.78rem;font-weight:900}.form-grid .full{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea{width:100%;border:1px solid var(--line);border-radius:11px;background:white;color:var(--ink);padding:12px 13px;outline:0;font-weight:400;transition:border .18s ease,box-shadow .18s ease}.form-grid textarea{resize:vertical;min-height:112px}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--sage-deep);box-shadow:0 0 0 3px rgba(156,175,136,.22)}.form-grid [aria-invalid="true"]{border-color:#a84949;background:#fffafa}.form-submit{width:100%;margin-top:6px}.form-note{font-size:.72rem;line-height:1.5;color:var(--ink-soft);margin:14px 0 0;text-align:center}.form-status{min-height:24px;margin:10px 0 0;font-size:.78rem;color:#94413e;font-weight:900}
footer{text-align:center;padding:68px 22px 32px;background:#493f3d;color:white}.footer-brand{display:inline-flex;margin-bottom:22px}.footer-brand .brand-script,.footer-brand .brand-subtitle{color:white}.footer-brand .brand-forward{color:#c8d3bc}.footer-values{font-size:.78rem;text-transform:uppercase;letter-spacing:.19em}.footer-values i{font-style:normal;color:var(--gold);margin:0 6px}.disclaimer{font-size:.78rem;max-width:790px;margin:29px auto;color:#d7cfca}.copyright{font-size:.72rem;color:#bdb2ac;margin-bottom:0}
.request-dialog{width:min(92vw,720px);max-height:90vh;border:0;border-radius:27px;padding:42px;background:var(--paper);color:var(--ink);box-shadow:0 35px 100px rgba(30,22,20,.34);overflow:auto}.request-dialog::backdrop{background:rgba(50,42,40,.7);backdrop-filter:blur(4px)}.dialog-accent{height:7px;position:absolute;top:0;left:0;right:0;background:linear-gradient(90deg,var(--sage),var(--mauve),var(--gold))}.dialog-close{position:absolute;right:17px;top:15px;width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:white;font-size:1.35rem;cursor:pointer}.request-dialog h2{font-size:clamp(2rem,4vw,3rem);max-width:540px}.dialog-intro{color:var(--ink-soft)}.request-dialog pre{white-space:pre-wrap;font:400 .89rem/1.55 Lato,Arial,sans-serif;background:white;border:1px solid var(--line);border-radius:15px;padding:19px;max-height:310px;overflow:auto}.dialog-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:21px}.copy-status{min-height:24px;margin:13px 0 0;color:var(--sage-deep);font-weight:900;font-size:.8rem}
@media(max-width:980px){.site-header nav{display:none;position:absolute;top:85px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--paper);padding:14px 22px 25px;border-bottom:1px solid var(--line);box-shadow:var(--shadow-soft)}.site-header nav.open{display:flex}.site-header nav a{padding:13px;text-align:center}.nav-cta{margin-top:7px}.menu-button{display:block}.hero{grid-template-columns:1fr;min-height:auto;padding-top:75px}.hero-copy{max-width:810px}.hero-art{min-height:420px;width:min(100%,680px);margin:auto}.hero-art:before{width:min(65vw,440px)}.sun-rays{top:27px}.service-grid{grid-template-columns:1fr}.service-card{min-height:290px}.service-label{margin-bottom:26px}.about-wrap{grid-template-columns:1fr}.portrait-panel{padding:70px 24px}.portrait-frame{width:min(80vw,400px)}.consultation{grid-template-columns:1fr;gap:40px}.consultation-copy{position:static;max-width:760px}}
@media(max-width:660px){body{font-size:16px}.site-header{height:78px;padding:8px 17px}.site-header nav{top:77px}.brand-mark{width:36px;height:36px}.brand-script{font-size:1.6rem}.brand-forward{font-size:1rem}.brand-subtitle{font-size:.48rem;letter-spacing:.37em;margin-top:8px}h1{font-size:clamp(3rem,15vw,4.5rem)}.hero{padding:59px 21px 65px;gap:25px}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.button{width:100%}.trust-row{margin-top:27px}.hero-art{min-height:315px}.sun-rays{top:10px;left:51%;transform:scale(.72)}.path-note{right:0;bottom:0}.path-note span{font-size:.8rem;padding:6px 12px}.services{padding:78px 21px}.service-card{padding:29px;min-height:310px}.process{grid-template-columns:1fr;padding:27px 8px;gap:23px}.portrait-panel{padding:60px 21px}.portrait-frame{width:min(88vw,370px)}.about-copy{padding:76px 21px}.consultation{padding:78px 21px}.request-form{padding:28px 20px;border-radius:23px}.mode-picker,.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.request-dialog{padding:37px 21px 26px}.dialog-actions{display:grid}.footer-values{line-height:2}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

.portrait-photo:before,.portrait-photo:after{display:none}.portrait-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:25% center}
