:root{--cream:#f4f0e7;--paper:#fbf9f3;--ink:#252920;--green:#26392e;--green2:#334538;--red:#803e36;--muted:#74776d;--line:#d9d5ca;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.65}a{color:inherit}.skip-link{position:absolute;top:-60px;left:16px;background:#fff;padding:10px 16px;z-index:99}.skip-link:focus{top:12px}.announcement{height:34px;background:var(--green);color:#f5f1e8;text-align:center;font-size:10px;letter-spacing:.13em;text-transform:uppercase;display:flex;align-items:center;justify-content:center;gap:9px}.announcement-mark{color:#d4b37e;font-size:13px}.site-header{height:86px;padding:0 6.25%;display:flex;align-items:center;justify-content:space-between;background:var(--paper);border-bottom:1px solid rgba(37,41,32,.09);position:sticky;top:0;z-index:20}.brand{text-decoration:none;display:flex;align-items:center;gap:10px;color:var(--green)}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--green);border-radius:50%;font-family:var(--serif);font-style:italic;font-size:26px}.brand-name{font-family:var(--serif);font-size:20px;line-height:1.05}.brand-name small{display:block;font:600 8px var(--sans);letter-spacing:.19em;margin-top:4px}.primary-nav{display:flex;align-items:center;gap:33px}.primary-nav a,.footer-nav a{text-decoration:none;font-size:12px;color:#454940}.primary-nav a:hover,.footer-nav a:hover{color:var(--red)}.primary-nav .nav-call{color:var(--green);font-weight:700;border-left:1px solid var(--line);padding-left:26px}.nav-call span{margin-left:4px}.menu-toggle{display:none}.hero{min-height:600px;display:grid;grid-template-columns:47% 53%;position:relative;background:var(--cream);padding-left:9.2%;overflow:hidden}.hero-copy{padding:100px 8% 90px 0;align-self:center;max-width:600px}.eyebrow{font-size:9px;letter-spacing:.19em;font-weight:700;color:var(--red);margin:0 0 23px}.eyebrow>span{display:inline-block;width:23px;border-top:1px solid var(--red);vertical-align:middle;margin-right:8px}.hero h1,.about h2,.section-heading h2,.booking h2,.visit h2{font:500 clamp(43px,5vw,68px)/1.1 var(--serif);letter-spacing:-.045em;color:var(--green);margin:0}.hero h1 em,.about h2 em,.section-heading h2 em,.booking h2 em,.visit h2 em{font-weight:500;color:var(--red)}.hero-intro{font-size:14px;color:#60635a;max-width:415px;margin:26px 0 30px;line-height:1.9}.hero-actions{display:flex;gap:23px;align-items:center}.button{min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:0 21px;text-decoration:none;font:600 11px var(--sans);letter-spacing:.02em;border:1px solid var(--green);transition:background .2s,color .2s}.button-dark{background:var(--green);color:#fff}.button-dark:hover{background:#18251e}.button-text{padding:0;border:0;color:var(--green)}.button-text:hover{color:var(--red)}.hero-note{display:flex;align-items:center;gap:12px;margin-top:59px;color:#75766d;font-size:10px;letter-spacing:.06em}.note-line{width:32px;border-top:1px solid #a5a196}.hero-image-wrap{position:relative;min-height:600px}.hero-image{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.78)}.hero-image-wrap:after{position:absolute;content:'';inset:0;background:linear-gradient(90deg,rgba(25,34,27,.12),transparent 45%),linear-gradient(0deg,rgba(20,28,22,.28),transparent 30%);pointer-events:none}.image-caption{position:absolute;right:9%;bottom:38px;z-index:1;display:flex;align-items:center;gap:12px;color:#fff;font-size:9px;letter-spacing:.14em}.image-caption small{display:block;font-size:8px;opacity:.78;margin-top:4px}.caption-seal{width:36px;height:36px;border:1px solid rgba(255,255,255,.8);border-radius:50%;display:grid;place-items:center;font:italic 20px var(--serif)}.hero-index{position:absolute;bottom:27px;left:3%;font-size:9px;letter-spacing:.14em;color:#818177}.hero-index span{display:inline-block;width:29px;border-top:1px solid #a9a69b;vertical-align:middle;margin:0 8px}.intro-strip{min-height:75px;padding:18px 12%;display:flex;justify-content:space-between;align-items:center;background:var(--green);color:#f3efe5}.intro-strip p{margin:0;font:500 13px var(--serif);letter-spacing:.02em}.intro-strip p span{color:#d5b47e;margin-right:9px}.section-pad{padding:112px 12%}.about{display:grid;grid-template-columns:44% 1fr;gap:12%;align-items:center}.about-photo-frame{position:relative;padding:0 28px 27px 0}.about-photo-frame:before{content:'';position:absolute;inset:25px 0 0 26px;border:1px solid #c4bda9}.about-photo-frame img{position:relative;display:block;width:100%;height:405px;object-fit:cover;filter:saturate(.75)}.photo-note{position:absolute;bottom:0;left:26px;background:var(--green);padding:11px 15px;color:#f3efe5;font-size:8px;letter-spacing:.15em}.about-copy{padding:10px 0}.about-copy h2{font-size:clamp(39px,4.2vw,54px)}.about-copy .lead{font:500 18px/1.6 var(--serif);color:#4e564c;margin:25px 0 14px}.placeholder-copy{font-size:12px;line-height:1.9;color:var(--muted);max-width:430px}.underlined-link{display:inline-flex;gap:16px;align-items:center;margin-top:17px;padding-bottom:7px;border-bottom:1px solid #8c907f;text-decoration:none;color:var(--green);font-size:11px;font-weight:600}.underlined-link:hover{color:var(--red);border-color:var(--red)}.services{background:#e9e5da;padding-top:91px;padding-bottom:99px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:40px}.section-heading h2{font-size:clamp(39px,4.5vw,58px)}.heading-aside{max-width:250px;font-size:11px;color:var(--muted);line-height:1.8;margin:0 0 6px}.service-list{border-top:1px solid #c9c4b8}.service-row{min-height:94px;border-bottom:1px solid #c9c4b8;display:grid;grid-template-columns:60px 1fr auto;align-items:center;gap:20px}.service-number{font:italic 14px var(--serif);color:var(--red)}.service-row h3{font:600 19px var(--serif);color:var(--green);margin:0}.service-row p{font-size:10px;color:#77786e;margin:4px 0 0}.service-price{font:italic 15px var(--serif);color:var(--red)}.service-footnote{font-size:10px;color:#75766d;margin:20px 0 0}.service-footnote span{color:var(--red);margin-right:6px}.booking{background:var(--green);color:#f4f0e7;display:grid;grid-template-columns:38% 1fr;column-gap:10%;row-gap:22px;padding-top:106px;padding-bottom:90px}.booking .eyebrow{color:#d5b47e}.booking h2{color:#f5f1e8;font-size:clamp(43px,5vw,62px)}.booking h2 em{color:#d5b47e}.booking-intro>p:not(.eyebrow):not(.booking-call){font-size:12px;color:#c9cec5;line-height:1.9;max-width:335px;margin-top:24px}.booking-call{border-top:1px solid rgba(255,255,255,.2);margin-top:34px;padding-top:19px}.booking-call span{display:block;color:#c9cec5;font-size:10px;margin-bottom:7px}.booking-call a{color:#f3eee4;text-decoration:none;font-size:12px}.booking-card{background:var(--paper);color:var(--ink);padding:28px 34px 25px;max-width:510px;width:100%;justify-self:end}.demo-label{color:var(--red);font-size:9px;letter-spacing:.15em;font-weight:700;padding-bottom:20px;border-bottom:1px solid var(--line)}.demo-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--red);margin-right:7px}#booking-form{display:grid;gap:9px}#booking-form label,.time-fieldset legend{font-size:10px;letter-spacing:.05em;font-weight:600;color:#41463d;margin:13px 0 0}#booking-form select,#booking-form input{height:43px;border:1px solid #d5d1c6;background:#fffefa;padding:0 12px;color:#52564d;font:11px var(--sans);border-radius:0}#booking-form select:focus,#booking-form input:focus,.time-option:focus-visible{outline:2px solid #9c6847;outline-offset:2px}.time-fieldset{border:0;padding:0;margin:4px 0 1px}.time-fieldset legend{padding:0 0 11px}.time-options{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.time-option{border:1px solid #d5d1c6;background:transparent;height:35px;font:10px var(--sans);color:#55584f;cursor:pointer}.time-option:hover,.time-option[aria-pressed=true]{background:var(--green);border-color:var(--green);color:#fff}.booking-submit{margin-top:8px;width:100%;cursor:pointer}.form-message{font-size:9px;line-height:1.65;color:#77786e;margin:2px 0 0}.form-message.success{color:var(--green);font-weight:600}.booking-integration{grid-column:2;text-align:right;color:#bbc4b8;font-size:9px;margin:0}.visit{padding-top:100px;padding-bottom:110px}.visit-heading{text-align:center;margin-bottom:52px}.visit-heading .eyebrow{margin-bottom:14px}.visit h2{font-size:clamp(42px,5vw,58px)}.visit-grid{display:grid;grid-template-columns:37% 1fr;gap:8%;align-items:stretch}.visit-details{display:flex;flex-direction:column;justify-content:space-between;padding:7px 0}.detail-block{margin-bottom:26px}.detail-label{display:block;font-size:9px;letter-spacing:.17em;color:var(--red);font-weight:700;margin-bottom:12px}.detail-block address{font:500 20px/1.5 var(--serif);font-style:normal;color:var(--green)}.detail-block .underlined-link{margin-top:8px;font-size:10px}.phone-number{font:500 22px var(--serif);color:var(--green);text-decoration:none}.detail-hint{display:block;font-size:10px;color:var(--muted);margin-top:6px}.hours-block p{font-size:11px;color:var(--muted)}.hours-block strong{color:var(--red)}.map-card{height:370px;position:relative;overflow:hidden;background-color:#e8e6d9;background-image:linear-gradient(0deg,rgba(247,244,235,.7),rgba(247,244,235,.1)),repeating-linear-gradient(28deg,transparent 0 54px,rgba(255,255,255,.83) 55px 61px,transparent 62px 116px),repeating-linear-gradient(112deg,transparent 0 76px,rgba(255,255,255,.75) 77px 84px,transparent 85px 150px);text-decoration:none}.map-river{position:absolute;width:130%;height:105px;background:#cddbd4;transform:rotate(-24deg);top:22%;left:-15%;opacity:.8}.map-lines{position:absolute;inset:0}.map-lines span{position:absolute;height:1px;width:120%;background:#c2c5b9;transform:rotate(-12deg);left:-8%}.map-lines span:nth-child(1){top:21%}.map-lines span:nth-child(2){top:44%;transform:rotate(12deg)}.map-lines span:nth-child(3){top:66%;transform:rotate(-7deg)}.map-lines span:nth-child(4){top:81%;transform:rotate(18deg)}.map-lines span:nth-child(5){top:33%;transform:rotate(78deg)}.map-lines span:nth-child(6){top:59%;transform:rotate(96deg)}.map-pin{position:absolute;left:51%;top:45%;width:48px;height:48px;border-radius:50% 50% 50% 0;background:var(--red);transform:rotate(-45deg);box-shadow:0 4px 12px #43483c55;display:grid;place-items:center}.map-pin span{transform:rotate(45deg);border:1px solid #fff9;border-radius:50%;width:31px;height:31px;display:grid;place-items:center;color:white;font:italic 18px var(--serif)}.map-label{position:absolute;left:calc(51% + 39px);top:41%;background:#fbf9f3;padding:10px 13px;box-shadow:0 3px 12px #43483c22}.map-label strong{display:block;font:600 12px var(--serif);color:var(--green)}.map-label span{display:block;font-size:7px;letter-spacing:.12em;color:#77786e;margin-top:3px}.map-open{position:absolute;right:17px;bottom:16px;padding:9px 12px;background:var(--paper);font-size:8px;font-weight:700;letter-spacing:.12em;color:var(--green)}.site-footer{background:#202c24;color:#eeeadd;padding:47px 9.5% 18px}.footer-main{display:grid;grid-template-columns:1.2fr .9fr 1fr .8fr;gap:28px;align-items:start;padding-bottom:41px}.brand-footer{color:#f2eee4}.brand-footer .brand-mark{border-color:#b4b7a8}.brand-footer .brand-name{font-size:18px}.footer-main>p{font:italic 14px/1.8 var(--serif);color:#d2d0c5;margin:0}.footer-nav{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px}.footer-nav a{color:#d0d0c5;font-size:10px}.footer-contact{text-align:right;display:flex;flex-direction:column}.footer-contact a{font:500 17px var(--serif);color:#f1ebdf;text-decoration:none}.footer-contact span{font-size:9px;color:#b5baaf;margin-top:6px}.footer-bottom{border-top:1px solid #ffffff29;padding-top:15px;display:flex;justify-content:space-between;font-size:8px;color:#aeb4a8;letter-spacing:.04em}
@media(max-width:1000px){.site-header{padding:0 5%}.primary-nav{gap:19px}.hero{padding-left:7%;grid-template-columns:48% 52%}.hero-copy{padding-right:6%}.section-pad{padding-left:8%;padding-right:8%}.about{gap:8%}.booking{column-gap:6%}.intro-strip{padding:18px 7%}.footer-main{grid-template-columns:1fr 1fr;row-gap:26px}.footer-contact{text-align:left}}
@media(max-width:700px){html{scroll-padding-top:74px}.announcement{height:31px;font-size:8px}.site-header{height:70px;padding:0 21px}.brand-mark{width:37px;height:37px}.brand-name{font-size:18px}.menu-toggle{display:flex;border:0;background:none;width:42px;height:42px;flex-direction:column;justify-content:center;gap:6px;align-items:center;cursor:pointer}.menu-toggle span{width:21px;border-top:1px solid var(--green)}.primary-nav{position:absolute;top:70px;left:0;right:0;display:none;background:var(--paper);padding:12px 22px 22px;border-bottom:1px solid var(--line);align-items:stretch;gap:0;box-shadow:0 12px 18px #25292010}.primary-nav.open{display:flex;flex-direction:column}.primary-nav a{padding:12px 0;border-bottom:1px solid #e8e3d8}.primary-nav .nav-call{border-left:0;padding-left:0;border-bottom:0}.hero{display:flex;flex-direction:column;padding:0}.hero-copy{padding:67px 25px 35px;order:1}.hero h1{font-size:48px}.hero-intro{font-size:13px;margin:19px 0 23px}.hero-note{margin-top:33px}.hero-image-wrap{min-height:390px;height:390px;order:2}.hero-index{display:none}.image-caption{right:22px;bottom:22px}.intro-strip{display:grid;grid-template-columns:1fr;gap:9px;padding:19px 26px}.intro-strip p{font-size:12px}.section-pad{padding:72px 25px}.about{display:flex;flex-direction:column;gap:34px;align-items:stretch}.about-photo-frame{width:85%;max-width:400px}.about-photo-frame img{height:340px}.about-copy h2{font-size:42px}.services{padding-top:67px;padding-bottom:70px}.section-heading{display:block;margin-bottom:28px}.section-heading h2{font-size:42px}.heading-aside{margin-top:16px}.service-row{grid-template-columns:31px 1fr auto;gap:10px;min-height:92px}.service-row h3{font-size:16px}.service-row p{font-size:9px;max-width:210px}.service-price{font-size:12px;white-space:nowrap}.booking{display:block;padding:69px 22px}.booking h2{font-size:47px}.booking-intro>p:not(.eyebrow):not(.booking-call){max-width:420px}.booking-card{margin-top:28px;padding:22px 18px}.time-options{grid-template-columns:repeat(2,1fr)}.time-option{height:39px}.booking-integration{text-align:left;margin-top:17px}.visit{padding-top:72px;padding-bottom:75px}.visit-heading{margin-bottom:33px}.visit h2{font-size:44px}.visit-grid{display:flex;flex-direction:column;gap:15px}.visit-details{display:grid;grid-template-columns:1fr 1fr;gap:6px 20px}.detail-block{margin-bottom:15px}.hours-block{grid-column:1/-1}.map-card{height:300px}.site-footer{padding:36px 24px 15px}.footer-main{grid-template-columns:1fr 1fr;gap:25px 15px}.footer-main>p{font-size:12px}.footer-nav{gap:8px 10px}.footer-contact a{font-size:14px}.footer-bottom{gap:12px;line-height:1.5}.footer-bottom span:last-child{text-align:right}}
@media(max-width:390px){.hero h1{font-size:42px}.hero-actions{gap:16px}.button{padding:0 14px;gap:12px;font-size:10px}.button-text{padding:0}.visit-details{grid-template-columns:1fr}.hours-block{grid-column:auto}.footer-main{grid-template-columns:1fr}.footer-contact{text-align:left}.footer-bottom{font-size:7px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
