:root{--cream:#f8f5ef;--sand:#e9e3d8;--ink:#292e29;--sage:#727d6a;--moss:#505d4d;--white:#fff;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit}.skip-link{position:absolute;left:-999px;top:10px;background:white;padding:8px;z-index:20}.skip-link:focus{left:10px}a:focus-visible,button:focus-visible{outline:3px solid #a06638;outline-offset:4px}.site-header{height:104px;padding:0 5.4%;display:flex;align-items:center;justify-content:space-between;background:var(--cream);position:relative;z-index:10}.wordmark{display:flex;flex-direction:column;line-height:1}.wordmark-main{font:500 30px var(--serif);letter-spacing:-.055em}.wordmark-by{font-style:italic;font-size:20px;font-weight:400}.wordmark-caption{font-size:8px;font-weight:700;letter-spacing:.32em;margin-top:9px;color:var(--sage)}.site-header nav{display:flex;align-items:center;gap:38px;font-size:12px;letter-spacing:.045em;font-weight:600}.site-header nav a:not(.nav-cta):hover,.text-link:hover{color:var(--sage)}.nav-cta{border:1px solid var(--ink);padding:12px 17px}.nav-cta span{padding-left:15px}.menu-toggle,.mobile-nav{display:none}.hero{min-height:680px;display:grid;grid-template-columns:48% 52%;background:var(--cream)}.hero-copy{padding:105px 9% 60px 11.2%;display:flex;flex-direction:column;align-items:flex-start}.eyebrow{font-weight:700;font-size:10px;letter-spacing:.22em;line-height:1.5;color:var(--moss)}.eyebrow-line{display:inline-block;width:28px;height:1px;background:var(--moss);vertical-align:middle;margin-right:12px}.hero h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.065em;line-height:1.12}.hero h1{font-size:clamp(56px,6.15vw,100px);margin:39px 0 22px;white-space:nowrap}h1 em,h2 em{color:var(--sage);font-weight:400}.hero-intro{font-size:16px;max-width:425px;line-height:1.9;margin:0 0 30px;color:#565d56}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:15px 20px;font-size:12px;font-weight:700;letter-spacing:.02em;min-width:220px;transition:transform .2s,background .2s}.button:hover:not(:disabled){transform:translateY(-3px)}.button-dark{background:var(--ink);color:white}.hero-note{margin-top:auto;padding-top:42px;letter-spacing:.2em;font-size:9px;font-weight:700;color:#8a9287}.hero-visual{position:relative;overflow:hidden;min-height:640px}.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:center}.image-caption{position:absolute;bottom:0;right:0;background:var(--cream);padding:18px 23px;font-family:var(--serif);font-style:italic;font-size:13px}.image-caption span{color:var(--sage);padding-left:20px;font-style:normal}.intro-band{display:flex;align-items:center;justify-content:center;gap:55px;background:var(--moss);color:#f4f0e7;padding:23px 20px;text-align:center}.intro-band p{font:italic 22px var(--serif);margin:0}.little-star{font-size:20px;color:#c9cbb4}.section{padding:120px 8%}.services{display:grid;grid-template-columns:1fr 1fr;gap:9%;max-width:1500px;margin:auto}.section-heading h2,.feature h2,.about h2,.consultation h2{font-size:clamp(48px,5vw,76px);margin:25px 0}.section-heading>p:last-child{max-width:420px;color:#62685f}.service-list{padding-top:12px}.service-list article{display:grid;grid-template-columns:38px 1fr 20px;gap:15px;align-items:start;border-top:1px solid #c8cbc0;padding:28px 0}.service-list article:last-child{border-bottom:1px solid #c8cbc0}.service-number{font:italic 15px var(--serif);color:var(--sage)}.service-list h3{font:400 27px var(--serif);margin:-5px 0 9px;letter-spacing:-.03em}.service-list p{margin:0;color:#62685f;font-size:13px;line-height:1.8;max-width:310px}.service-list article>span:last-child{font-size:16px}.feature{background:#e8e9dd;display:grid;grid-template-columns:49% 51%;min-height:690px}.feature-image{max-height:760px;overflow:hidden}.feature-image img{width:100%;height:100%;object-fit:cover;object-position:center 35%}.feature-copy{align-self:center;padding:70px 14%}.feature-copy>p:not(.eyebrow){max-width:490px;color:#5c655a;font-size:15px;line-height:1.9}.text-link{display:inline-block;border-bottom:1px solid currentColor;padding:5px 0;font-size:12px;font-weight:700;margin-top:22px}.text-link span{padding-left:22px}.about{display:grid;grid-template-columns:1fr 1fr;gap:8%;max-width:1500px;margin:auto}.about-copy{padding-top:52px;max-width:450px;color:#5c655a}.about-copy p{margin:0 0 21px}.about-copy .text-link{color:var(--ink)}.consultation{background:var(--moss);color:var(--cream);min-height:650px;display:grid;grid-template-columns:35% 65%;overflow:hidden}.consult-decoration{font:400 clamp(190px,29vw,450px) var(--serif);letter-spacing:-.24em;opacity:.14;white-space:nowrap;align-self:center;transform:translateX(-20%)}.consult-decoration span{font:200px var(--sans);vertical-align:middle;padding:0 10px}.consult-content{padding:95px 10% 90px 5%;max-width:720px}.consult-content .eyebrow{color:#cdd7c5}.consultation h2{margin-top:25px}.consultation h2 em{color:#c9d2b9}.consult-content>p:not(.eyebrow):not(.consult-footnote){max-width:440px;color:#e1e7dc}.booking-note{font-size:13px;color:#e1e7dc;margin:30px 0 13px}.button-light{color:var(--moss);background:var(--cream)}.button:disabled{opacity:.8;cursor:not-allowed}.consult-footnote{font:italic 15px var(--serif);color:#cdd7c5;margin-top:40px}.site-footer{padding:66px 8% 24px;text-align:center}.footer-brand{font:400 36px var(--serif);letter-spacing:-.06em}.footer-brand em{font-size:25px}.site-footer>p{font-size:12px;color:#738071;margin:8px 0 70px}.footer-bottom{border-top:1px solid #d7dbd1;padding-top:20px;display:flex;justify-content:space-between;font-size:11px;color:#697468}@media(max-width:850px){.site-header{height:78px;padding:0 6%}.site-header nav{display:none}.menu-toggle{display:flex;flex-direction:column;gap:6px;border:0;background:none;padding:15px;cursor:pointer}.menu-toggle span{height:1px;width:24px;background:var(--ink)}.mobile-nav:not([hidden]){display:flex;flex-direction:column;position:absolute;left:0;right:0;top:78px;background:var(--cream);padding:20px 6% 30px;z-index:9;gap:18px;box-shadow:0 16px 20px #2222}.hero{display:flex;flex-direction:column}.hero-copy{padding:75px 8% 60px}.hero h1{font-size:clamp(55px,11vw,84px)}.hero-note{padding-top:50px}.hero-visual{min-height:490px;height:60vw}.services,.about{grid-template-columns:1fr;gap:40px}.section{padding:90px 8%}.feature{grid-template-columns:1fr}.feature-image{height:560px}.feature-copy{padding:75px 8%}.consultation{grid-template-columns:1fr}.consult-decoration{display:none}.consult-content{padding:85px 8%}}@media(max-width:520px){.wordmark-main{font-size:26px}.hero-copy{padding-top:55px}.hero h1{font-size:clamp(50px,12vw,65px);white-space:normal}.hero-visual{height:420px;min-height:420px}.image-caption{font-size:11px;padding:12px}.intro-band{gap:15px}.intro-band p{font-size:17px}.little-star{font-size:12px}.section{padding:75px 7%}.section-heading h2,.feature h2,.about h2,.consultation h2{font-size:clamp(45px,10vw,65px)}.feature-image{height:440px}.feature-copy{padding:75px 7%}.consult-content{padding:75px 7%}.site-footer{padding:65px 7% 25px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

/* Inquiry form */
.inquiry-form{margin-top:22px;width:100%;max-width:520px}
.inquiry-form label{display:block;font-size:13px;font-weight:600;color:var(--cream)}
.inquiry-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.inquiry-form input,.inquiry-form textarea{display:block;width:100%;min-width:0;margin:7px 0 18px;padding:12px 14px;border:1px solid #d7dbd1;border-radius:2px;background:var(--cream);color:var(--ink);font:16px var(--sans);line-height:1.5}
.inquiry-form textarea{resize:vertical;min-height:130px}
.inquiry-form input:focus-visible,.inquiry-form textarea:focus-visible{outline:3px solid #c9d2b9;outline-offset:3px}
.inquiry-form .button{border:0;cursor:pointer;min-height:48px}
.inquiry-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.inquiry-status{font-size:14px;margin:16px 0 0;line-height:1.6}
.inquiry-status:empty{display:none}
.inquiry-status[data-state="error"]{padding:12px;border:1px solid #ecd1bd}
.inquiry-privacy,.inquiry-alternative{font-size:12px;color:#e1e7dc}
.inquiry-alternative a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
@media(max-width:520px){.inquiry-row{grid-template-columns:1fr;gap:0}.inquiry-form .button{width:100%}}
