@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Inter:wght@400;450;500;600&display=swap";:root{--paper:#f7f5ef;--ink:#30392f;--sage:#8d977f;--sage-deep:#616e56;--brass:#ac9470;--line:#d9dace;--muted:#73796d;--serif:"Cormorant Garamond",Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:125px}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,Arial,sans-serif;font-size:14px}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.65;cursor:wait}a:focus-visible,button:focus-visible{outline:2px solid var(--brass);outline-offset:5px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400}h1{letter-spacing:-2px;margin-bottom:30px;font-size:clamp(64px,6.5vw,105px);line-height:.99}h2{letter-spacing:-1.8px;margin-bottom:28px;font-size:clamp(45px,4.7vw,74px);line-height:1.02}h1 em,h2 em{color:var(--sage-deep);font-weight:400}p{line-height:1.9}header{z-index:30;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f7f5eff5;border:1px solid #ffffff70;border-radius:22px;justify-content:space-between;align-items:center;max-width:1380px;height:84px;margin:0 auto;padding:0 28px;display:flex;position:fixed;top:22px;left:5%;right:5%;box-shadow:0 8px 35px #20281d0d}.brand{align-items:center;gap:18px;display:flex}.brand>b{font:500 52px var(--serif);letter-spacing:-11px;padding-right:12px;line-height:1;position:relative}.brand>b>span{color:var(--sage-deep);font-weight:400;position:relative;top:5px}.brand>span{font:500 17px var(--serif);letter-spacing:4px;border-left:1px solid #b4a48b;padding-left:18px}.brand small{letter-spacing:2px;color:var(--muted);margin-top:6px;font:400 7px Inter,Arial;display:block}nav{text-transform:uppercase;letter-spacing:1.4px;align-items:center;gap:30px;font-size:10px;display:flex}nav>a:not(.button){padding:10px 0;transition:color .2s}nav>a:hover{color:var(--sage-deep)}.button{border:1px solid var(--sage);background:var(--sage);color:#26311f;letter-spacing:1.4px;text-transform:uppercase;border-radius:30px;justify-content:center;align-items:center;gap:26px;padding:19px 29px;font:500 10px Inter,Arial;transition:background .2s,transform .2s;display:inline-flex}.button:hover{background:var(--sage-deep);border-color:var(--sage-deep);color:#fff;transform:translateY(-2px)}.button svg{width:15px;height:15px}.button.small{letter-spacing:1.2px;padding:16px 22px;font-size:8px}.menu{display:none}.hero{color:#fff;background:#293129;align-items:center;height:95svh;min-height:820px;max-height:1100px;padding:160px 9% 105px;display:flex;position:relative;overflow:hidden}.heroimage{object-fit:cover;object-position:70% 40%;filter:sepia(.18)brightness(.78);width:100%;height:100%;position:absolute;inset:0}.hero-shade{background:linear-gradient(90deg,#202c24f5 0%,#202c24dd 30%,#202c2460 64%,#202c2412 100%);position:absolute;inset:0}.herocopy{max-width:780px;position:relative}.eyebrow{letter-spacing:2.8px;align-items:center;gap:13px;margin:0 0 30px;font-size:8px;font-weight:500;line-height:1.7;display:flex}.eyebrow>span{background:var(--brass);width:30px;height:1px}.herocopy>.eyebrow{color:#d7dbc8}.hero h1 em{color:#c3c9b5}.herodesc{color:#d2d7cd;max-width:390px;margin:0 0 34px;font-size:12px;line-height:1.9}.hero .button{color:#1f2b21;background:#a5af94;border-color:#a5af94}.hero .button:hover{background:#c0c7b4;border-color:#c0c7b4}.textlink{border-bottom:1px solid #949e8c;align-items:center;gap:14px;padding-bottom:7px;font-size:10px;line-height:1.5;display:inline-flex}.herocopy>.textlink{color:#e1e4d8;border-color:#e1e4d860;margin-left:26px}.herobottom{letter-spacing:2px;color:#e1e4d8;border-top:1px solid #eceddf35;justify-content:space-between;align-items:center;padding-top:22px;font-size:8px;display:flex;position:absolute;bottom:35px;left:9%;right:9%}.herobottom a span{padding-left:18px}.ribbon{letter-spacing:2.4px;color:var(--sage-deep);background:#ecefe5;justify-content:center;align-items:center;gap:60px;padding:30px 6%;font-size:8px;display:flex}.ribbon i{color:var(--brass);font:18px Georgia}.section{padding:115px 9%}.about{grid-template-columns:1fr 1fr;align-items:center;gap:100px;display:grid}.portrait{height:570px;margin-bottom:22px;position:relative}.portrait:before{content:"";z-index:-1;border:1px solid #b4a489;position:absolute;inset:20px 20px -20px -20px}.portrait img{object-fit:cover;object-position:60% center;filter:sepia(.12);border-radius:3px;width:100%;height:100%}.portrait>span{text-align:right;letter-spacing:1.5px;color:var(--muted);margin-top:14px;font-size:7px;display:block}.about .eyebrow{color:var(--sage-deep)}.about>div>p:not(.eyebrow){font-family:var(--serif);font-size:26px;line-height:1.45}.about p.muted{color:var(--muted);max-width:410px;font:12px/1.9 Inter,Arial!important}.signature{font:italic 27px var(--serif);flex-direction:column;gap:8px;margin:30px 0;display:flex}.signature span{letter-spacing:2px;color:var(--muted);font:7px Inter,Arial}.dark{border-color:#afbaa2}.services{background:#eceee7}.sectionhead{justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:55px;display:flex}.sectionhead h2{margin-bottom:0}.sectionhead>p{color:var(--muted);margin-bottom:6px;font-size:11px}.serviceeditorial{grid-template-columns:.8fr 1.2fr;align-items:stretch;gap:65px;display:grid}.servicedetail{background:#283329;border-radius:3px;min-height:510px;position:relative;overflow:hidden}.servicedetail img{object-fit:cover;filter:sepia(.2)brightness(.7);width:100%;height:100%;position:absolute;inset:0}.servicedetail:after{content:"";background:linear-gradient(#0000 30%,#1b271ee6);position:absolute;inset:0}.servicedetail>div{z-index:1;color:#f2f1e8;position:absolute;bottom:30px;left:30px;right:25px}.servicedetail .eyebrow{color:#d4d9c6;margin-bottom:14px;font-size:7px}.servicedetail>div>p:last-child{font:36px/1.05 var(--serif);margin-bottom:0}.servicelist{flex-direction:column;justify-content:center;display:flex}.servicerow{text-align:left;border-top:1px solid #b9c1ae70;align-items:center;gap:23px;width:100%;padding:25px 0;transition:padding .2s;display:flex}.servicerow:last-child{border-bottom:1px solid #b9c1ae70}.servicerow:hover{padding-left:8px}.servicerow .number{color:var(--brass);align-self:flex-start;margin-top:8px;font-size:8px}.servicerow>div{flex:1}.servicerow h3{margin-bottom:8px;font-size:27px;line-height:1.1}.servicerow p{color:var(--muted);max-width:310px;margin-bottom:0;font-size:10px;line-height:1.6}.servicerow>b{font:29px var(--serif);font-weight:400}.round{border:1px solid #aeb99f;border-radius:50%;place-items:center;width:31px;height:31px;transition:background .2s;display:grid}.round svg{width:14px}.servicerow:hover .round{background:var(--sage);color:#fff}.fine{color:var(--muted);margin-top:23px;font-size:10px;line-height:1.8}.booking{color:var(--ink);background:#dfe4d5;grid-template-columns:1fr 1fr;align-items:center;gap:90px;display:grid}.bookingintro .eyebrow{color:var(--sage-deep)}.bookingintro>p:not(.eyebrow){color:#626e59;font-size:12px}.booking h2 em{color:#647155}.bookingnote{gap:15px;margin:32px 0 0;display:flex}.bookingnote>svg{display:none}.bookingnote p{color:var(--sage-deep);border-left:1px solid var(--brass);padding-left:17px;font-size:10px}.bookingcard{background:#f7f5efb8;border:1px solid #ffffffa0;border-radius:4px;padding:43px;box-shadow:0 12px 45px #52604609}.appointycard{flex-direction:column;gap:20px;display:flex}.appointycard>svg{display:none}.appointycard h3{margin:0;font-size:38px;line-height:1.1}.muted{color:var(--muted);font-size:12px;line-height:1.9}.appointycard p{margin:0}.full{width:100%}.appointycard .textlink{align-self:flex-start}.appointycard .textlink svg{display:none}.payments{background:var(--paper);grid-template-columns:.75fr 1.25fr;align-items:start;gap:90px;display:grid}.payments>div>p:not(.eyebrow){color:var(--muted);max-width:300px;font-size:12px}.paymentmethods{gap:28px;display:grid}.paymentcard{border-top:1px solid var(--line);padding:30px 0}.paymentcard:last-child{border-bottom:1px solid var(--line);padding-bottom:35px}.paymentcard>svg{display:none}.paymentcard h3{margin-bottom:14px;font-size:30px;line-height:1.15}.paymentcard>p{color:var(--muted);max-width:550px;font-size:11px}.paymentcard .button{color:var(--ink);background:0 0;border-color:#b4bea8;margin-top:8px;padding:15px 22px;font-size:9px}.paymentcard .button:hover{background:#e8ebdf}.paymentcard .fine{margin-top:18px;margin-bottom:0;font-size:9px}.zellelabel{color:var(--sage-deep);letter-spacing:1px;margin-bottom:20px;font:500 12px Inter,Arial;display:block}.paymentcard .paymentnumber{font:30px var(--serif);color:var(--ink);margin:16px 0}.copystatus{font-size:10px!important}.copystatus:empty{display:none}.visit{background:#eceee7;border-top:1px solid #d4dacb}.visitgrid{grid-template-columns:1fr 1fr;gap:90px;display:grid}.contact a{align-items:flex-start;gap:18px;margin-bottom:25px;font-size:12px;line-height:1.8;display:flex}.contact>a>svg{display:none}.contact small{letter-spacing:1.4px;color:var(--sage-deep);margin-top:10px;font-size:8px;display:block}.hours{border-top:1px solid #bec6b4;margin-top:32px;padding-top:25px}.hours h3{font:25px var(--serif);justify-content:space-between;align-items:center;display:flex}.hours h3 small{letter-spacing:1.5px;margin:0;font:7px Inter,Arial}.hours dl{margin:0}.hours dl>div{justify-content:space-between;font-size:11px;line-height:2.7;display:flex}.hours dd{color:var(--muted);margin:0}footer{background:var(--paper);color:var(--ink);flex-wrap:wrap;align-items:center;gap:27px;padding:55px 9% 35px;font-size:9px;display:flex}footer>.brand{margin-right:auto}footer .brand>b{font-size:45px}footer .brand>span{font-size:14px}footer>p{width:100%;font:italic 19px var(--serif);color:var(--muted);order:2;margin:0}footer>small{border-top:1px solid var(--line);width:100%;color:var(--muted);letter-spacing:1px;order:3;padding-top:23px;font-size:8px}.admin{max-width:1100px;margin:auto;padding:50px 25px}.admin h1{font-size:48px}.request{border:1px solid var(--line);background:#fff;margin:15px 0;padding:24px}.request h3{margin-bottom:8px;font-size:28px}.request p{overflow-wrap:anywhere;font-size:13px}.request form{align-items:center;gap:15px;display:flex}.request select{padding:10px}.badge{text-transform:uppercase;letter-spacing:1px;background:#e3e9d9;margin-bottom:15px;padding:5px 10px;font-size:9px;display:inline-block}input,textarea,select{border:1px solid var(--line);padding:10px}@media (width>=1700px){.section{padding-left:max(9%,50vw - 680px);padding-right:max(9%,50vw - 680px)}.hero{padding-left:max(9%,50vw - 680px)}}@media (width<=1100px){header{padding:0 22px;left:3%;right:3%}nav{gap:23px;font-size:9px}.hero{min-height:730px;padding-left:7%;padding-right:7%}.section{padding:90px 7%}.about,.booking,.visitgrid,.payments{gap:50px}.serviceeditorial{gap:35px}.portrait{height:480px}.servicerow{gap:17px}.servicerow h3{font-size:24px}.brand>span{letter-spacing:3px;font-size:15px}.ribbon{gap:40px}}@media (width<=760px){html{scroll-padding-top:105px}header{border-radius:17px;height:73px;padding:0 20px;top:14px;left:4%;right:4%}.brand{gap:12px}.brand>b{letter-spacing:-10px;font-size:45px}.brand>span{letter-spacing:3px;padding-left:14px;font-size:14px}.brand small{letter-spacing:1.4px;font-size:6px}.menu{color:var(--ink);background:0 0;border:0;padding:10px;display:block}.menu svg{width:22px}nav{background:var(--paper);border:1px solid var(--line);border-radius:17px;padding:26px;display:none;position:absolute;top:81px;left:0;right:0;box-shadow:0 15px 35px #26302013}nav.open{flex-direction:column;align-items:stretch;gap:18px;font-size:10px;display:flex}.hero{height:95svh;min-height:740px;max-height:950px;padding:160px 7% 100px}.heroimage{object-position:65% center}.hero-shade{background:linear-gradient(90deg,#202c24e8,#202c24a6 65%,#202c2440)}h1{letter-spacing:-1px;font-size:clamp(52px,10vw,76px);line-height:1.02}h2{letter-spacing:-1.3px;font-size:49px}.hero .eyebrow{letter-spacing:1.8px;font-size:7px}.herodesc{max-width:300px;font-size:11px}.herocopy>.textlink{width:max-content;margin:24px 0 0;display:flex}.herobottom{letter-spacing:1.2px;font-size:6px;bottom:27px;left:7%;right:7%}.herobottom a span{padding-left:5px}.ribbon{letter-spacing:1px;gap:17px;padding:23px 5%;font-size:6px}.ribbon i{font-size:12px}.section{padding:75px 7%}.about,.booking,.payments,.visitgrid{grid-template-columns:1fr;gap:43px}.about{padding-left:10%;padding-right:8%}.portrait{height:440px}.portrait:before{inset:15px 15px -15px -15px}.portrait>span{font-size:6px}.about>div>p:not(.eyebrow){font-size:25px}.sectionhead{margin-bottom:35px;display:block}.sectionhead>p{margin-top:22px}.serviceeditorial{grid-template-columns:1fr;gap:30px}.servicedetail{min-height:300px}.servicedetail img{object-position:center 50%}.servicedetail>div{bottom:25px;left:25px}.servicerow{gap:14px;padding:23px 0}.servicerow h3{font-size:25px}.servicerow p{max-width:240px;font-size:9px}.servicerow>b{font-size:26px}.servicerow .number{display:none}.round{flex-shrink:0;width:28px;height:28px}.bookingcard{padding:30px 25px}.appointycard h3{font-size:34px}.bookingnote{margin-top:25px}.payments{gap:25px}.paymentmethods{gap:5px}.paymentcard{padding:25px 0}.paymentcard .button{width:100%}.visitgrid{gap:24px}.visit h2{font-size:47px}footer{gap:22px;padding:40px 7% 25px}footer>.brand{width:100%;margin-bottom:5px}footer>p{font-size:17px}.button{gap:18px;padding:18px 23px;font-size:9px}.eyebrow{letter-spacing:2px;margin-bottom:25px;font-size:7px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}.hero{border-radius:0 0 44px 44px}.portrait{isolation:isolate}.portrait img{border-radius:145px 26px;transition:transform .45s,box-shadow .45s;box-shadow:0 20px 50px #30392f14}.portrait:before{border-color:var(--brass);border-radius:145px 26px}.servicedetail{border-radius:26px 125px;box-shadow:0 18px 42px #30392f12}.servicedetail img{transition:transform .7s}@media (hover:hover){.portrait:hover img{transform:translateY(-5px);box-shadow:0 26px 55px #30392f20}.servicedetail:hover img{transform:scale(1.035)}}@media (width<=760px){.hero{border-radius:0 0 26px 26px}.portrait img,.portrait:before{border-radius:100px 20px}.servicedetail{border-radius:20px 80px}}.portrait{margin-bottom:42px}.portrait>span{margin-top:32px}.contact-section{background:#e6eadf;border-top:1px solid #d2d8c8;grid-template-columns:.8fr 1.2fr;align-items:start;gap:85px;display:grid}.contact-intro>p:not(.eyebrow){max-width:330px;color:var(--muted);font-size:12px;line-height:1.9}.contact-intro .contact-booking-note{margin-top:35px;font-size:11px}.contact-form-panel{background:#f7f5efcf;border:1px solid #fff9;border-radius:4px;padding:35px}.contact-form-panel fieldset{border:0;min-width:0;margin:0;padding:0}.contact-field-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.contact-form-panel label{letter-spacing:.3px;margin-bottom:21px;font-size:10px;line-height:1.8;display:block}.contact-form-panel label>span{color:var(--muted)}.contact-form-panel input,.contact-form-panel textarea{letter-spacing:0;width:100%;color:var(--ink);background:#fbfaf6;border:1px solid #c9d0c0;border-radius:3px;min-width:0;margin-top:8px;padding:13px 12px;font-size:14px;display:block}.contact-form-panel textarea{resize:vertical;min-height:125px}.contact-form-panel input:focus,.contact-form-panel textarea:focus{outline:2px solid var(--sage-deep);outline-offset:2px}.contact-form-panel .contact-privacy{color:var(--muted);margin:0 0 20px;font-size:10px;line-height:1.8}.contact-verification{min-height:65px;margin:0 0 20px}.contact-error{color:#783c33;background:#f7e9e4;border-left:2px solid #9e5042;margin:0 0 20px;padding:12px 14px;font-size:11px;line-height:1.8}.contact-availability{color:var(--sage-deep);margin-bottom:20px;font-size:11px;line-height:1.8}.contact-availability a{text-decoration:underline}.contact-honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.contact-success>svg{color:var(--sage-deep);margin-bottom:18px}.contact-success h3{margin-bottom:16px;font-size:36px;line-height:1.1}.contact-success p{color:var(--muted);margin-bottom:25px;font-size:12px;line-height:1.9}@media (width<=1100px){.contact-section{gap:45px}.contact-form-panel{padding:28px}.contact-field-grid{grid-template-columns:1fr;gap:0}}@media (width<=760px){.contact-section{grid-template-columns:1fr;gap:30px}.contact-form-panel{padding:24px 18px}.contact-verification{min-width:0}.contact-section .contact-intro h2{font-size:49px}.contact-form-panel .button{font-size:9px}.contact-form-panel input,.contact-form-panel textarea{font-size:16px}}.motion-reveal{opacity:1;transition:opacity .7s,translate .7s cubic-bezier(.2,.65,.3,1);translate:0}.motion-reveal.motion-pending{opacity:0;translate:0 16px}.servicerow.motion-reveal{transition:opacity .65s,translate .65s,padding .2s}@media (prefers-reduced-motion:no-preference){.herocopy>.eyebrow{animation:.8s both sr-arrive}.herocopy>h1{animation:.9s .1s both sr-arrive}.herodesc{animation:.9s .2s both sr-arrive}.herocopy>.button,.herocopy>.textlink{animation:.9s .3s both sr-arrive}.heroimage{animation:1.8s ease-out both sr-photo-arrive}}@keyframes sr-arrive{0%{opacity:0;translate:0 12px}to{opacity:1;translate:0}}@keyframes sr-photo-arrive{0%{transform:scale(1.025)}to{transform:scale(1)}}@media (width<=760px){.motion-reveal.motion-pending{translate:0 10px}}@media (prefers-reduced-motion:reduce){.motion-reveal,.motion-reveal.motion-pending{opacity:1;transition:none;translate:none}.portrait:hover img,.servicedetail:hover img,.button:hover{transform:none}}
