/* Derived from the selected 12ui direction and recovered LayerDoc assets. */
:root{--cream:#f4f1e9;--paper:#ede6d7;--brown:#3d2b1f;--muted:#776454;--gold:#af8c52;--clay:#ad581d;--line:#cfc1ad;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Montserrat',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--cream);color:var(--brown);font:400 15px/1.8 var(--sans);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{color:inherit;cursor:pointer}img{display:block;max-width:100%;height:auto}button{border:0;background:none}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.02;letter-spacing:-.045em}h2{font-size:clamp(48px,4.5vw,72px);white-space:pre-line}h3{font-size:34px;letter-spacing:-.035em}p{overflow-wrap:break-word}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--clay);outline-offset:6px}::selection{background:#d1b797;color:var(--brown)}[hidden]{display:none!important}.wrap{width:min(1360px,88%);margin-inline:auto}.section{padding-block:120px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:.25em;line-height:1.6;text-transform:uppercase;color:#90652f}.eyebrow::selection{color:var(--brown)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:60px;padding:19px 28px;font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;line-height:1.5;transition:background .2s,transform .2s}.button>span{font-size:24px;line-height:1;letter-spacing:0}.primary{background:var(--clay);color:#fff9ee}.primary:hover{background:#874015;transform:translateY(-2px)}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;font-size:12px;border-bottom:1px solid var(--gold);padding:8px 0;line-height:1.5}.text-link span{font-size:20px}.text-link:hover{color:#93440e}.skip-link{position:fixed;top:-80px;left:24px;background:var(--brown);color:white;padding:12px;z-index:100}.skip-link:focus{top:16px}.site-header{position:absolute;inset:0 0 auto;z-index:20;height:135px;display:flex;align-items:center;gap:50px}.brand{display:block;width:224px;flex:none}.brand img{width:100%;height:auto}.site-header nav{display:flex;align-items:center;gap:38px;margin-left:auto}.site-header nav a{font-size:10px;letter-spacing:.15em;text-transform:uppercase;padding-block:12px;border-bottom:1px solid transparent}.site-header nav a:hover{border-color:var(--gold)}.header-cta{display:flex;align-items:center;gap:24px;font-size:11px;border-bottom:1px solid var(--gold);padding:9px 0}.header-cta span{font-size:23px}.menu-toggle{display:none}.hero-shell{background:var(--cream) url('assets/hero-backdrop.webp') center/cover no-repeat;overflow:hidden}.hero{position:relative;height:min(56vw,850px);min-height:710px}.hero-copy{position:relative;z-index:2;padding-top:235px;max-width:53%}.hero .eyebrow{margin-bottom:23px}.hero h1{font-size:clamp(70px,7vw,108px);line-height:.91;white-space:pre-line;letter-spacing:-.052em}.hero-lead{font-size:15px;line-height:1.8;margin:28px 0 28px;max-width:410px}.hero .button{min-width:310px}.hero-explore{display:flex;align-items:center;gap:35px;margin-top:24px;font-size:11px;width:max-content}.hero-explore span{font-size:18px}.hero-portrait{position:absolute;right:4%;bottom:0;width:50%;height:92%;object-fit:contain;object-position:bottom center;z-index:1;pointer-events:none}.hero-note{position:absolute;right:0;bottom:55px;writing-mode:vertical-rl;font-size:9px;letter-spacing:.27em;z-index:2}.service-strip{border-bottom:1px solid var(--line);padding:40px 0;background:#efe9dd}.service-strip .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px}.service-strip a{font-family:var(--serif);font-size:28px;line-height:1.1}.service-strip a span{display:block;font-family:var(--sans);font-size:9px;letter-spacing:.15em;color:#8c6736;margin-bottom:12px}.service-strip a:hover{color:var(--clay)}.philosophy{padding-block:90px 0;background:#f0ebe0;overflow:hidden}.philosophy-grid{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center}.philosophy-copy{padding-bottom:100px}.philosophy h2{margin:30px 0 35px;font-size:clamp(48px,4.3vw,68px)}.philosophy-copy>p:not(.eyebrow){max-width:510px;font-size:16px;line-height:1.95;margin-bottom:20px}.signature{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:40px;padding-top:25px;border-top:1px solid var(--line);font-family:var(--serif);font-size:24px}.signature span:last-child{font-style:italic;color:var(--clay)}.philosophy-art{position:relative;align-self:end;padding-top:20px}.philosophy-art img{width:100%;max-height:740px;object-fit:contain;object-position:bottom}.philosophy-art figcaption{position:absolute;right:0;bottom:60px;writing-mode:vertical-rl;font-size:9px;letter-spacing:.25em}.section-heading{display:grid;grid-template-columns:1fr 1fr;gap:15%;align-items:end;margin-bottom:52px}.section-heading h2{margin-top:22px}.section-note{font-size:14px;max-width:420px;line-height:1.9}.editorial-note{display:block;margin-top:18px;font-size:10px;color:var(--muted);line-height:1.6}.styles-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:35px}.style-card{min-width:0}.style-photo{display:block;position:relative;width:100%;padding:0;overflow:hidden;background:var(--paper);text-align:left}.style-photo img{width:100%;aspect-ratio:.96;object-fit:cover;transition:transform .55s}.style-photo>span{position:absolute;right:15px;bottom:15px;width:36px;height:36px;display:grid;place-items:center;background:var(--cream);font-size:23px;transition:background .2s}.style-photo:hover img{transform:scale(1.04)}.style-photo:hover>span{background:#d1b797}.card-heading{display:flex;align-items:baseline;gap:12px;margin:22px 0 15px}.card-heading h3{font-size:36px;white-space:nowrap}.index{font:500 9px var(--sans);letter-spacing:.1em;color:#946a35}.style-card>p{font-size:12px;line-height:1.9;min-height:110px;color:#6d5b4a}.style-card .text-link{font-size:10px;letter-spacing:.03em;width:100%;margin-top:15px}.style-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:55px;padding-top:30px;border-top:1px solid var(--line)}.style-bottom>p{font-family:var(--serif);font-size:30px}.process{background:#eae2d3;overflow:hidden}.process-grid{display:grid;grid-template-columns:1.45fr 1fr;align-items:center;gap:7%}.process h2{margin:25px 0;font-size:clamp(48px,4.1vw,66px)}.process-lead{max-width:520px;font-size:14px}.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:50px}.step-number{display:flex;align-items:center;gap:20px;font-size:10px;letter-spacing:.17em;margin-bottom:22px}.step-number i{display:block;width:36px;height:1px;background:var(--gold)}.step h3{font-size:29px;min-height:60px;line-height:1.05}.step p{font-size:12px;line-height:1.9;margin-top:16px;color:#685747}.process-photo{align-self:stretch;display:flex;flex-direction:column;justify-content:center}.process-photo img{width:100%;aspect-ratio:1/1.08;object-fit:cover}.process-photo figcaption{font-size:8px;letter-spacing:.2em;margin-top:18px}.faq{display:grid;grid-template-columns:1fr 1.5fr;gap:13%}.faq-copy h2{margin:25px 0}.faq-copy>p:not(.eyebrow){font-size:14px;max-width:280px}.faq-copy .text-link{margin-top:20px}.questions details{border-bottom:1px solid var(--line)}.questions details:first-child{border-top:1px solid var(--line)}.questions summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:35px;cursor:pointer;padding:26px 0;font-family:var(--serif);font-size:27px;line-height:1.15;letter-spacing:-.02em}.questions summary::-webkit-details-marker{display:none}.questions summary span{font-family:var(--sans);font-size:21px;color:#996b31;font-weight:400;transition:transform .2s}.questions details[open] summary span{transform:rotate(45deg)}.questions details p{font-size:13px;line-height:1.9;padding:0 40px 25px 0;max-width:650px;color:#6e5b48}.appointment{position:relative;background:#ece4d5;padding-bottom:100px;overflow:hidden}.appointment-top{display:grid;grid-template-columns:1fr 1fr;gap:5%;position:relative;min-height:395px}.appointment-top h2{font-size:clamp(56px,5vw,78px);margin:24px 0}.appointment-top p:not(.eyebrow){font-size:14px;line-height:1.9}.appointment-photo{position:absolute;width:65%;height:530px;object-fit:cover;right:-7%;top:-120px;pointer-events:none;opacity:.9;mask-image:linear-gradient(to right,transparent,#000 20%)}.appointment-top>div{position:relative;z-index:2}.booking-layout{display:grid;grid-template-columns:1.65fr 1fr;gap:8%;position:relative;z-index:3}.booking-form{background:#f8f5ed;padding:40px;box-shadow:0 15px 50px #59452b0a}.form-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:30px;padding-bottom:20px;border-bottom:1px solid var(--line)}.form-heading>p{font-size:10px;color:var(--muted);max-width:170px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px 30px}.booking-form label{font-size:11px;font-weight:500;display:flex;flex-direction:column;line-height:1.5;gap:12px;min-width:0}.booking-form label>span{font-weight:400;color:var(--muted)}.full-field{grid-column:1/-1}.booking-form input,.booking-form select,.booking-form textarea{width:100%;min-width:0;padding:12px 0;border:0;border-bottom:1px solid #bbae98;background:transparent;border-radius:0;color:var(--brown);font-size:13px;line-height:1.6;min-height:46px;resize:vertical;color-scheme:light}.booking-form input::placeholder,.booking-form textarea::placeholder{color:#8f8170;opacity:1}.booking-form select{padding-right:16px}.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{outline:none;border-bottom-color:var(--clay);box-shadow:0 2px var(--clay)}.booking-form input:user-invalid,.booking-form select:user-invalid{border-color:#a73525}.form-submit{margin-top:30px;width:100%}.form-privacy{font-size:9px;color:#756650;line-height:1.8;margin-top:16px}.form-error{color:#a73525;font-size:12px;margin-top:15px}.booking-aside{padding:60px 0 10px}.aside-symbol{display:inline-block;font-size:60px;color:#ac773a;line-height:1;margin-bottom:28px}.booking-aside h3{font-size:42px;line-height:1.05;margin-bottom:24px}.booking-aside>p:not(.eyebrow){font-size:12px;line-height:1.95;max-width:320px}.aside-contact{margin-top:36px;padding-top:25px;border-top:1px solid #bca88d}.aside-contact .eyebrow{font-size:8px}.aside-contact a{display:inline-flex;gap:20px;font:400 29px/1.5 var(--serif);margin-top:10px;border-bottom:1px solid var(--gold)}.aside-signature{margin-top:40px;font-size:9px;line-height:2.1}.booking-result{margin-top:30px;padding-top:30px;border-top:1px solid var(--line);scroll-margin-block:25px}.booking-result h3{font-size:38px;margin:15px 0}.booking-result pre{font-family:var(--sans);font-size:12px;line-height:1.85;white-space:pre-wrap;overflow-wrap:anywhere;padding:20px;background:#eee7da;margin:20px 0}.result-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap}.result-actions .button{padding-inline:20px;min-height:52px;font-size:10px}.result-actions .text-link{font-size:10px}#copy-status{font-size:10px;margin-top:10px}.site-footer{padding:50px 0 25px;background:#f3eee4}.footer-main{display:flex;align-items:center;justify-content:space-between;gap:40px}.footer-main .brand{width:185px}.footer-main p{font:400 24px/1.2 var(--serif)}.footer-bottom{margin-top:45px;padding-top:22px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:8px;letter-spacing:.12em}.mobile-booking{display:none}.noscript-contact{text-align:center;padding:20px;background:var(--brown);color:white}.noscript-contact a{text-decoration:underline}
.site-header nav{margin-left:25px}.header-cta{margin-left:auto}.hero-shell{position:relative}.hero h1{font-size:clamp(70px,6.7vw,102.4px)}.hero-arc,.hero-clay{position:absolute;left:0;bottom:0;pointer-events:none}.hero-arc{width:120px;bottom:0}.hero-clay{width:170px;bottom:-110px}.service-strip{background-image:url('assets/strip-paper.webp');background-size:cover}.service-strip a{font-size:24px}.service-strip a span{font-size:10px;font-weight:500}
@media(min-width:1600px){.hero-copy{padding-top:250px}.hero-portrait{right:3%;width:51%}}
@media(max-width:1150px){.site-header{gap:30px}.brand{width:190px}.site-header nav{gap:24px}.hero-copy{padding-top:220px;max-width:59%}.hero h1{font-size:84px}.hero-portrait{right:-3%;width:55%}.hero-note{display:none}.section{padding-block:90px}.philosophy{padding-bottom:0}.styles-grid{gap:22px}.card-heading{gap:7px}.card-heading h3{font-size:29px}.style-card>p{min-height:130px}.process-grid{gap:5%}.steps{gap:18px}.step h3{font-size:25px}.appointment-top{min-height:360px}.booking-layout{gap:5%;grid-template-columns:1.8fr 1fr}.booking-form{padding:30px}.booking-aside h3{font-size:37px}.form-heading{display:block}.form-heading>p{max-width:none;margin-top:8px}.aside-contact a{font-size:25px}}
@media(max-width:900px){.wrap{width:89%}.site-header nav{gap:20px}.header-cta{display:none}.hero h1{font-size:73px}.hero-copy{padding-top:210px;max-width:60%}.hero-portrait{right:-10%;width:62%;opacity:.95}.hero-lead{font-size:14px}.hero .button{min-width:270px}.service-strip .eyebrow{display:none}.service-strip a{font-size:26px}.philosophy-grid{gap:2%}.philosophy h2{font-size:47px}.philosophy-copy>p:not(.eyebrow){font-size:14px}.styles-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 28px}.card-heading h3{font-size:37px}.style-card>p{min-height:68px;font-size:13px}.section-heading{gap:8%;grid-template-columns:1.2fr 1fr}.section-note{font-size:12px}.process-grid{grid-template-columns:1fr}.process-photo{display:none}.steps{gap:35px}.step h3{font-size:32px}.step p{font-size:13px}.faq{gap:8%;grid-template-columns:1fr 1.4fr}.questions summary{font-size:25px}.booking-layout{grid-template-columns:1fr}.booking-aside{padding:30px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:20px 40px}.aside-symbol,.aside-signature{display:none}.booking-aside h3{grid-row:1/3}.booking-aside>p:not(.eyebrow){grid-column:2}.aside-contact{margin:0;grid-column:2;border:0;padding:0}.appointment-photo{width:77%;right:-17%}.footer-main .brand{width:150px}.footer-main p{font-size:22px}}
@media(max-width:640px){html{scroll-padding-top:20px}.wrap{width:88%}.section{padding-block:75px}.site-header{height:96px;gap:20px}.brand{width:162px}.site-header nav{display:none;position:absolute;top:85px;left:0;right:0;background:var(--cream);padding:25px;box-shadow:0 15px 25px #3d2b1f16;border:1px solid var(--line);margin:0;flex-direction:column;align-items:stretch;gap:5px}.site-header nav.open{display:flex}.site-header nav a{font-size:11px;padding:12px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px;width:44px;height:44px;margin-left:auto;border:1px solid var(--line)}.menu-toggle span{width:19px;height:1px;background:var(--brown);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.hero-shell{background-position:65% center}.hero{height:auto;min-height:0;width:100%;padding-top:140px;overflow:hidden}.hero-copy{max-width:100%;width:88%;margin:auto;padding-top:0}.hero .eyebrow{font-size:8px;letter-spacing:.21em;margin-bottom:24px}.hero h1{font-size:clamp(52px,14.2vw,78px);line-height:.95;letter-spacing:-.045em}.hero-lead{font-size:13px;line-height:1.9;margin:24px 0 25px}.hero .button{min-width:0;width:auto;gap:32px;min-height:57px;padding:18px 22px;font-size:9px;letter-spacing:.11em}.hero-explore{font-size:10px;margin-top:20px}.hero-portrait{position:relative;right:auto;bottom:auto;width:91%;height:440px;object-fit:contain;object-position:center bottom;opacity:1;margin:-10px -7% -1px auto}.service-strip{padding:30px 0}.service-strip .wrap{display:grid;grid-template-columns:1fr 1fr;gap:25px 35px}.service-strip a{font-size:27px}.service-strip a span{font-size:8px;margin-bottom:8px}.philosophy{padding-top:75px;padding-bottom:0}.philosophy-grid{grid-template-columns:1fr}.philosophy-copy{padding-bottom:15px}.philosophy h2{font-size:47px;line-height:1.04;margin-block:24px}.philosophy-copy>p:not(.eyebrow){font-size:14px}.signature{font-size:23px;gap:17px;margin-top:30px;padding-top:20px}.philosophy-art{max-width:80%;margin:auto;padding-top:0}.philosophy-art img{max-height:480px}.philosophy-art figcaption{right:-15px;bottom:30px;font-size:7px}h2{font-size:48px;line-height:1.04}.section-heading{display:block;margin-bottom:35px}.section-heading h2{margin-top:22px}.section-note{margin-top:24px;font-size:13px;max-width:none}.editorial-note{font-size:9px;margin-top:14px}.styles-grid{gap:40px 15px}.card-heading{margin:15px 0 10px;display:block}.card-heading .index{display:block;margin-bottom:7px}.card-heading h3{font-size:29px;white-space:normal}.style-card>p{font-size:11px;line-height:1.9;min-height:150px}.style-card .text-link{font-size:9px;gap:7px;margin-top:10px;align-items:center}.style-photo>span{width:29px;height:29px;right:8px;bottom:8px}.style-bottom{display:block;margin-top:35px;padding-top:24px}.style-bottom>p{font-size:27px;margin-bottom:10px}.style-bottom .text-link{font-size:11px}.process h2{font-size:48px;margin-top:25px}.process-lead{font-size:13px}.steps{display:block;margin-top:35px}.step{display:grid;grid-template-columns:40px 1fr;gap:8px 20px;padding:25px 0;border-top:1px solid #c3b39e}.step-number{grid-row:1/3;align-self:start;margin-top:4px;gap:0}.step-number i{display:none}.step h3{font-size:30px;min-height:0}.step p{font-size:12px;margin:4px 0 0;grid-column:2}.faq{display:block}.faq-copy>p:not(.eyebrow){max-width:none;font-size:13px}.faq-copy h2{font-size:48px}.questions{margin-top:40px}.questions summary{font-size:25px;line-height:1.2;gap:25px;padding-block:24px}.questions details p{font-size:12px;padding-right:12px}.appointment{padding-bottom:70px}.appointment-top{display:block;min-height:0}.appointment-top h2{font-size:55px;margin-top:24px}.appointment-top p:not(.eyebrow){font-size:13px}.appointment-photo{position:relative;right:auto;top:auto;width:125%;max-width:none;margin:15px -12% -45px;height:290px;object-fit:cover;object-position:center;mask-image:linear-gradient(to bottom,#000 65%,transparent)}.booking-layout{gap:0}.booking-form{padding:27px 22px}.form-heading{margin-bottom:25px}.form-heading>.eyebrow{font-size:9px;letter-spacing:.19em}.form-grid{grid-template-columns:1fr;gap:24px}.full-field{grid-column:auto}.booking-form label{font-size:11px;gap:7px}.booking-form input,.booking-form select,.booking-form textarea{font-size:16px;line-height:1.5;padding-block:11px;min-height:48px}.booking-form textarea{font-size:14px}.form-submit{padding:18px 17px;font-size:9px;letter-spacing:.09em;gap:15px}.form-privacy{font-size:9px}.booking-result h3{font-size:35px}.booking-result pre{font-size:11px;padding:15px}.result-actions{gap:18px}.booking-aside{display:block;padding-top:40px}.booking-aside h3{font-size:38px;margin-bottom:18px}.booking-aside>p:not(.eyebrow){font-size:12px;max-width:none}.aside-contact{margin-top:22px}.aside-contact a{font-size:29px}.footer-main{align-items:flex-start;flex-wrap:wrap;gap:25px}.footer-main .brand{width:150px}.footer-main p{font-size:21px;margin-left:auto}.footer-main>.text-link{width:100%;font-size:12px}.footer-bottom{display:flex;flex-wrap:wrap;gap:18px;font-size:7px;margin-top:30px}.footer-bottom>span:nth-child(2){display:none}.footer-bottom>a{margin-left:auto}.site-footer{padding-bottom:100px}.mobile-booking{position:fixed;bottom:14px;left:6%;width:88%;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:54px;padding:14px 23px;background:var(--brown);color:var(--cream);font-size:10px;letter-spacing:.08em;box-shadow:0 6px 25px #3d2b1f33;transition:transform .25s}.mobile-booking>span{font-size:23px}.mobile-booking.is-hidden{transform:translateY(110px);pointer-events:none}.eyebrow{font-size:9px}}
@media(max-width:480px){.styles-grid{grid-template-columns:1fr;gap:42px}.style-photo img{aspect-ratio:1.1;object-position:50% 28%}.card-heading{display:flex;gap:13px;margin-top:20px}.card-heading h3{font-size:39px}.card-heading .index{margin:0}.style-card>p{font-size:13px;min-height:0}.style-card .text-link{font-size:12px;margin-top:18px}.hero .button,.form-submit{font-size:10px}.booking-form label{font-size:12px}}
@media(max-width:640px){.hero-arc,.hero-clay{display:none}}
@media(max-width:360px){.hero h1{font-size:50px}.hero-portrait{height:380px}.form-submit{font-size:9px;letter-spacing:.03em}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
