
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Manrope:wght@400;500;600&display=swap');
:root{--paper:#f7f6f0;--ink:#29382b;--muted:#62685d;--line:#d7dacd;--olive:#dfe4d3;--dark:#2f412f}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:15px;line-height:1.65}button,a,select{touch-action:manipulation}a{color:inherit}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible,select:focus-visible{outline:3px solid #a17f42;outline-offset:5px}header{position:sticky;top:0;z-index:10;background:#f7f6f0f5;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}nav{max-width:1440px;padding:22px 5%;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.logo{text-decoration:none;font-size:21px;letter-spacing:-1px;font-weight:600}.logo span{font-weight:400}.navlinks{display:flex;align-items:center;gap:32px;font-size:13px}.navlinks a{text-decoration:none}.pill{display:inline-flex;justify-content:center;align-items:center;gap:25px;padding:13px 23px;border-radius:50px;border:1px solid var(--ink);text-decoration:none;font-size:13px;line-height:1.4;background:transparent;color:var(--ink)}.pill.solid{background:var(--dark);color:white;border-color:var(--dark)}.pill:hover{background:#e6e9dc}.pill.solid:hover{background:#455c43}.menu{display:none}.hero{max-width:1440px;margin:auto;padding:56px 5% 28px;display:grid;grid-template-columns:1fr 1fr;gap:6%;align-items:center}.eyebrow{font-size:10px;letter-spacing:2px;text-transform:uppercase;font-weight:600;display:flex;align-items:center;gap:10px}.eyebrow:before{content:'';width:6px;height:6px;border-radius:50%;background:#7c8a63}h1,h2,h3{font-family:'Manrope',Arial,sans-serif;font-weight:400;line-height:1.12;margin:0}h1{font-size:clamp(54px,6.1vw,88px);letter-spacing:-5px;margin:26px 0}h1 em{font-family:Georgia,serif;font-weight:400;color:#7c866d}p{color:var(--muted)}.lead{max-width:370px;font-size:15px;margin:0 0 30px}.hero-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.textlink{font-size:12px;text-underline-offset:5px}.hero-note{font-size:10px;margin-top:35px;letter-spacing:.5px}.portrait{position:relative;height:570px;background:#dedbcf;border-radius:180px 180px 10px 10px;overflow:hidden}.portrait img{width:100%;height:100%;object-fit:cover;object-position:center 40%;filter:saturate(.65)}.image-label{position:absolute;bottom:24px;left:24px;right:24px;display:flex;justify-content:space-between;align-items:center;padding:17px 20px;border:1px solid #ffffff90;background:#ffffffb8;backdrop-filter:blur(10px);border-radius:6px;font-size:11px}.image-label span:last-child{font-family:Georgia,serif;font-size:22px}.strip{max-width:1296px;margin:24px auto 0;padding:23px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:space-around;gap:20px;font-size:10px;letter-spacing:1.4px;text-transform:uppercase}.strip span:before{content:'✳';margin-right:18px;color:#7c866d;font-size:15px}.section{max-width:1440px;margin:auto;padding:92px 5%}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:45px;margin-bottom:40px}h2{font-size:clamp(34px,4vw,54px);letter-spacing:-2px;margin-top:18px}.section-heading p{max-width:310px;margin:0;font-size:13px}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.service{border:1px solid var(--line);border-radius:6px;padding:28px;min-height:305px;display:flex;flex-direction:column}.service:nth-child(2){background:#e9ebdf}.service:nth-child(3){background:#e9e5dc}.number{font-size:10px;color:#7b826f;display:flex;justify-content:space-between;margin-bottom:32px}.number span{font-size:25px;line-height:1}.service h3{font-size:25px;letter-spacing:-.8px;max-width:250px}.service p{font-size:12px;margin:16px 0 25px}.service button{border:0;background:transparent;padding:0;display:flex;justify-content:space-between;color:var(--ink);text-align:left;font-size:12px;width:100%;margin-top:auto}.service:nth-child(n+4){grid-column:span 1}.service-last{background:var(--dark);color:var(--paper);justify-content:center}.service-last p{color:#ced6c6}.service-last .pill{border-color:#bcc6b2;color:white;align-self:flex-start}.approach{background:#e9ecdf}.approach-inner{max-width:1296px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start}.approach h2{max-width:450px}.approach .intro{font-size:13px;max-width:400px;margin:25px 0}.steps article{padding:22px 0;border-top:1px solid #c4ccb8;display:grid;grid-template-columns:40px 1fr;gap:15px}.steps article:last-child{border-bottom:1px solid #c4ccb8}.steps small{font-size:10px}.steps h3{font-size:20px;letter-spacing:-.5px}.steps p{font-size:12px;margin:10px 0 0;max-width:380px}.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:10%}details{border-top:1px solid var(--line);padding:20px 0}details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;font-size:14px;gap:20px}summary:after{content:'+';font-size:20px}details[open] summary:after{content:'−'}details p{font-size:12px;max-width:600px;margin-bottom:0}.consult{background:var(--dark);color:var(--paper);border-radius:8px;padding:54px;display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}.consult h2{font-size:46px;margin:16px 0}.consult p{color:#d2d9ca;font-size:13px;max-width:390px}.consult .eyebrow:before{background:#c1cba9}label{display:block;font-size:11px;margin-bottom:8px}select{width:100%;padding:14px;background:#f7f6f0;color:var(--ink);border:0;border-radius:4px;font:inherit;font-size:13px}.consult button{margin-top:15px;border-color:#e4e8dc;color:var(--ink);background:#e4e8dc;width:100%}.consult small{display:block;color:#c0cbbb;font-size:10px;margin-top:13px}#plan{margin-top:18px;padding:18px;border:1px solid #829477;border-radius:5px}#plan p{margin:0;font-size:12px}footer{padding:40px 5% 25px;max-width:1440px;margin:auto}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-bottom:28px;border-bottom:1px solid var(--line)}.footer-top p{font-size:11px}.fineprint{font-size:10px;max-width:800px}.footer-bottom{display:flex;justify-content:space-between;gap:25px;color:var(--muted);font-size:10px;margin-top:25px}dialog{border:1px solid var(--line);border-radius:12px;padding:38px;max-width:570px;width:calc(100% - 32px);background:var(--paper);color:var(--ink)}dialog::backdrop{background:#1d2b1dc0;backdrop-filter:blur(4px)}dialog h2{font-size:35px;margin:15px 0 20px}dialog p,dialog li{font-size:14px;color:var(--muted)}.close{float:right;border:1px solid var(--line);border-radius:50%;height:32px;width:32px;background:none;color:var(--ink)}dialog .pill{margin-top:15px}body:has(dialog[open]){overflow:hidden}
@media(min-width:1500px){.strip{max-width:1296px}}@media(max-width:900px){.navlinks{gap:16px}.hero{gap:5%}.portrait{height:490px}h1{letter-spacing:-3px}.services{grid-template-columns:repeat(2,1fr)}.strip{margin-left:5%;margin-right:5%;flex-wrap:wrap}.section{padding:65px 5%}.consult{padding:35px;gap:6%}.consult h2{font-size:36px}}@media(max-width:600px){nav{padding:17px 5%}.menu{display:block;border:0;background:none;color:var(--ink);font-size:13px}.navlinks{display:none;position:absolute;top:69px;left:0;right:0;background:var(--paper);padding:25px;box-shadow:0 8px 12px #00000012}.navlinks.open{display:flex;flex-direction:column;align-items:stretch}.hero{grid-template-columns:1fr;padding-top:35px;gap:30px}.hero h1{font-size:62px;letter-spacing:-3.5px}.lead{max-width:340px}.hero-note{margin-top:22px}.portrait{height:410px;border-radius:150px 150px 6px 6px}.strip{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:8px}.strip span:before{margin-right:8px}.section-heading{display:block}.section-heading p{margin-top:20px}.services{grid-template-columns:1fr}.service{min-height:260px}.approach-inner,.faq,.consult{grid-template-columns:1fr;gap:30px}.approach-inner{gap:22px}.section{padding:52px 5%}.consult{padding:30px 24px}.footer-top{align-items:start;flex-direction:column;gap:0}.footer-bottom{flex-direction:column;gap:5px}.faq h2{margin-bottom:5px}dialog{padding:26px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.announcement{background:#2f412f;color:#fff;text-align:center;padding:9px 18px;font-size:11px;letter-spacing:1px}.announcement a{color:#fff;text-underline-offset:3px}.logo{white-space:nowrap}.hero-note{font-size:12px;letter-spacing:1px;font-weight:600}.service{min-height:345px}.service a{margin-top:15px}.service .free-label{font-size:10px;color:#52634c;margin:15px 0 0}.service-last{grid-column:span 2!important}.service-last h3{max-width:100%;font-size:34px}.service-last .free-label{color:#dfe4d3}.price-card{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;background:#e9e5dc;border-radius:8px;padding:48px}.price-card strong{font-family:Georgia,serif;font-weight:400;font-size:100px;line-height:1.1}.price-card p{max-width:470px}.price-card small{display:block;font-size:12px}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:8%;align-items:start}.contact-info{position:sticky;top:120px}.contact-info h2{font-size:43px}.contact-info address{font-style:normal;margin:25px 0;font-size:15px}.contact-info p{font-size:14px}.contact-form{padding:32px;border:1px solid var(--line);border-radius:8px;background:#eeefe6}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field-wide{grid-column:1/-1}.contact-form label{font-size:12px;font-weight:500}.contact-form input,.contact-form select,.contact-form textarea{font:inherit;font-size:14px;border:1px solid #b7bfaa;border-radius:4px;background:#fafaf5;color:var(--ink);width:100%;padding:12px}.contact-form textarea{resize:vertical;min-height:105px}.contact-form .consent{display:flex;align-items:flex-start;gap:10px;margin:20px 0;font-size:12px;font-weight:400}.contact-form .consent input{width:17px;height:17px;flex-shrink:0}.contact-form .pill{width:100%;font-size:14px}.contact-form small{font-size:11px;color:var(--muted)}.contact-form button:disabled{opacity:.65;cursor:wait}.form-status{font-size:13px;margin-top:15px}.form-status:empty{display:none}.form-status.error{padding:15px;background:#f8e9df;color:#6d3627}.form-status.success{padding:15px;background:#dbe7d1;color:#284127}.contact-form h3{font-size:25px;margin-bottom:8px}.contact-form>p{font-size:12px;margin-bottom:24px}.honeypot{display:none!important}.contact-hero{padding-bottom:35px}.contact-hero h1{font-size:clamp(44px,5vw,70px);max-width:850px}.contact-hero p{max-width:600px}.mobile-call{display:none}.service-detail{margin:12px 0;font-size:12px}.service-detail summary{font-size:12px}.service-detail ul{padding-left:18px;color:var(--muted)}.service-detail li{margin:8px 0}.service-detail p{margin:12px 0}.free-banner{font-size:13px;padding:16px 20px;border:1px solid var(--line);border-radius:5px;margin-top:28px}.section-heading .eyebrow{margin:0}.portrait{border-radius:170px 170px 8px 8px}.portrait img{object-position:center;filter:saturate(.65)}.image-label{font-size:11px}.privacy-copy{max-width:850px;margin:auto}.privacy-copy h2{font-size:28px;margin:32px 0 14px}.privacy-copy p{font-size:14px}.booking-card a{background:#e4e8dc;color:var(--ink);border-color:#e4e8dc}.booking-card .textlink{background:none;color:white;display:block;margin-top:20px}.footer-links{display:flex;gap:22px;flex-wrap:wrap}.navlinks{gap:22px}.skip{position:absolute;top:-100px;left:20px;z-index:50;background:white;padding:12px}.skip:focus{top:8px}
@media(max-width:900px){.service-last{grid-column:span 1!important}.navlinks{gap:12px;font-size:12px}.navlinks .pill{padding:11px 15px;gap:8px}.price-card{padding:30px}.contact-grid{gap:5%}.contact-info h2{font-size:35px}.contact-form{padding:24px}.hero h1{font-size:56px}}
@media(max-width:600px){.announcement{font-size:9px;letter-spacing:.4px}.hero h1{font-size:58px}.hero .lead{font-size:14px}.hero .pill{padding:13px 18px}.navlinks{top:69px}.price-card,.contact-grid,.field-grid{grid-template-columns:1fr;gap:24px}.contact-info{position:static}.price-card strong{font-size:80px}.price-card{padding:28px}.contact-form{padding:23px 18px}.field-wide{grid-column:auto}.mobile-call{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:20;background:var(--dark);color:white;justify-content:space-around;padding:14px;box-shadow:0 -2px 12px #0002;font-size:12px}.mobile-call a{color:white;text-decoration:none}footer{padding-bottom:82px}.contact-hero h1{font-size:47px;letter-spacing:-2px}.service-last h3{font-size:30px}}
