@font-face{font-family:'DM Sans';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/dm-sans-400.ttf') format('truetype')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/dm-sans-500.ttf') format('truetype')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/dm-sans-600.ttf') format('truetype')}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/cormorant-garamond-600.ttf') format('truetype')}
:root{--ink:#49334f;--muted:#706574;--paper:#fbf8f4;--lavender:#eee6ef;--gold:#a3814c;--line:#ded3df;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.7}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}img{display:block;max-width:100%;height:auto}svg{display:block}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #8e653a;outline-offset:6px}a:hover{color:#7a5587}.svg-library{position:absolute;width:0;height:0;overflow:hidden}.icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex:none}.section-shell{max-width:1320px;padding-left:64px;padding-right:64px;margin:0 auto}.eyebrow{font-size:11px;letter-spacing:.19em;font-weight:600;line-height:1.5;margin:0 0 22px;text-transform:uppercase;color:#876634}.eyebrow span{display:inline-block;width:26px;height:1px;background:var(--gold);vertical-align:middle;margin-right:11px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:600}h1{font-size:clamp(57px,6.05vw,84px);line-height:1.02;letter-spacing:-.045em;margin-bottom:27px}h2{font-size:clamp(42px,4.3vw,60px);line-height:1.04;letter-spacing:-.03em;margin-bottom:24px}em{font-weight:600;color:#8c6b91}p{margin-bottom:20px}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;padding:12px 20px;background:var(--ink);color:white}.skip-link:focus{top:10px}.topline{padding:9px 5%;background:var(--ink);color:#f5edf5;font-size:11px;letter-spacing:.035em;display:flex;justify-content:space-between}.topline i{font-style:normal;padding:0 9px;color:#c3a579}.header{background:rgba(251,248,244,.97);border-bottom:1px solid #e9e1e7;position:sticky;top:0;z-index:20;backdrop-filter:blur(16px)}.nav-shell{height:96px;max-width:1440px;padding:0 5%;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:13px;flex:none}.brand-mark{width:47px;height:43px;fill:none;stroke:var(--gold);stroke-width:1.3;stroke-linejoin:round}.brand strong{display:block;font:600 28px/1.1 var(--serif);letter-spacing:.06em;font-variant-numeric:lining-nums;font-feature-settings:'lnum' 1}.brand small{display:block;font-size:7px;letter-spacing:.15em;margin-top:7px;color:var(--muted)}.desktop-nav{display:flex;gap:29px;font-size:12px;font-weight:500}.desktop-nav a{position:relative}.desktop-nav a:after{content:'';position:absolute;left:0;right:100%;bottom:-6px;height:1px;background:var(--gold);transition:right .2s}.desktop-nav a:hover:after{right:0}.nav-phone{border:1px solid #c9b9cf;border-radius:30px;padding:11px 18px;display:flex;gap:10px;align-items:center;font-size:12px;font-weight:600}.nav-phone .icon{width:16px;height:16px}.menu-toggle{display:none}.mobile-nav[hidden]{display:none}.hero{display:grid;grid-template-columns:1.04fr 1fr;gap:65px;padding-top:66px;padding-bottom:80px;min-height:710px;align-items:center}.hero-copy{padding-bottom:15px}.hero-description{max-width:430px;font-size:16px;color:var(--muted);line-height:1.8}.hero-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin:32px 0}.button{border:1px solid var(--ink);border-radius:40px;display:inline-flex;gap:24px;align-items:center;justify-content:center;min-height:53px;background:var(--ink);color:#fff;font-weight:500;font-size:13px;padding:14px 26px;transition:background .2s,transform .2s}.button:hover{color:white;background:#65456b;transform:translateY(-2px)}.button .icon{width:18px;height:18px}.text-link{display:inline-flex;align-items:center;gap:15px;font-size:12px;font-weight:600;border-bottom:1px solid #bba6bf;padding-bottom:4px}.text-link span{font-size:19px;font-weight:400}.hero-hours{display:flex;gap:10px;align-items:center;color:var(--muted);font-size:11px}.hero-hours .icon{width:17px;height:17px;color:var(--gold)}.hero-hours strong{font-weight:500;color:var(--ink);margin-left:9px}.hero-art{position:relative;min-width:0;height:545px;margin-right:15px}.hero-art>img{height:100%;width:100%;object-fit:cover;object-position:63% center;border-radius:240px 240px 8px 8px}.arch-outline{position:absolute;inset:-14px 15px 15px -14px;border:1px solid #bfa578;border-radius:250px 250px 8px 8px;z-index:-1}.hero-caption{position:absolute;bottom:30px;left:-35px;background:#fffdf8;padding:20px 26px;display:flex;gap:18px;align-items:center;box-shadow:0 12px 36px #38223c12}.hero-caption svg{width:40px;height:34px;fill:none;stroke:var(--gold);stroke-width:1.4}.hero-caption span{font:600 21px/1.2 var(--serif)}.hero-caption em{font-size:20px}.vertical-note{position:absolute;right:-30px;top:180px;writing-mode:vertical-rl;font-size:8px;letter-spacing:.2em;color:var(--muted)}.brand-ribbon{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#f1eaf1;display:flex;justify-content:center;align-items:center;gap:70px;padding:23px 20px}.brand-ribbon span{font:600 31px/1 var(--serif);color:#765b7b}.brand-ribbon svg{width:23px;height:20px;fill:none;stroke:var(--gold);stroke-width:1.5}.services{padding-top:100px;padding-bottom:95px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:46px}.section-heading h2{margin-bottom:0}.section-intro{max-width:390px;color:var(--muted);font-size:14px;padding-bottom:3px}.section-intro p{margin-bottom:16px}.section-intro .text-link{color:var(--ink)}.service-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:62px}.service{display:grid;grid-template-columns:30px minmax(0,1fr) 38px;gap:15px;padding:32px 0;border-top:1px solid var(--line)}.service-number{font-size:10px;color:var(--gold);padding-top:9px;letter-spacing:.06em}.service h3{font-size:29px;line-height:1.2;letter-spacing:-.02em;margin-bottom:10px}.service p{font-size:13px;line-height:1.8;color:var(--muted);margin-bottom:15px;max-width:345px}.service-tag{font-size:8px;letter-spacing:.16em;color:#896b8d}.service>a{width:36px;height:36px;display:grid;place-items:center;border:1px solid #d3c3d7;border-radius:50%;margin-top:5px;transition:background .2s}.service>a:hover{background:var(--lavender)}.service>a .icon{width:16px}.services-note{font-size:12px;color:var(--muted);text-align:center;margin:25px 0 0}.services-note a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}.experience{background:#eee7ee}.experience-inner{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:100px;padding-top:85px;padding-bottom:85px}.experience-image{position:relative}.experience-image img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:6px 160px 6px 6px}.image-label{display:block;margin-top:15px;font-size:8px;letter-spacing:.18em;color:#76667d}.experience-copy .large-lotus{width:56px;height:46px;margin-bottom:24px;fill:none;stroke:var(--gold);stroke-width:1}.experience-copy .eyebrow{margin-bottom:18px}.experience-copy p:not(.eyebrow){font-size:14px;color:var(--muted)}.experience-copy .text-link{margin-top:8px}.visit{padding-top:110px;padding-bottom:105px;display:grid;grid-template-columns:.9fr 1.1fr;gap:95px;align-items:center}.visit-copy>p:not(.eyebrow){font-size:14px;color:var(--muted);max-width:365px}.contact-row{display:flex;gap:18px;margin:25px 0;align-items:flex-start}.contact-row>.icon{color:var(--gold);width:20px;height:20px;margin-top:4px}.contact-label{display:block;font-size:8px;letter-spacing:.16em;color:var(--muted);margin-bottom:5px;font-weight:600}.contact-row address{font-style:normal;line-height:1.6;font-size:14px}.contact-row strong{font-size:14px;font-weight:500}.contact-row small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.contact-phone{font-size:23px;font-weight:500;line-height:1.3}.button-outline{background:transparent;color:var(--ink);margin-top:5px}.map-frame{border:1px solid #d4c5d8;background:var(--lavender);padding:12px;border-radius:160px 160px 5px 5px;overflow:hidden}.map-frame iframe{display:block;width:100%;height:495px;border:0;border-radius:150px 150px 2px 2px;filter:saturate(.6)}.map-caption{display:flex;justify-content:space-between;gap:14px;font-size:11px;padding:20px 12px 9px}.map-caption>span{font:600 16px var(--serif);letter-spacing:.05em}.map-caption>a{font-size:10px}.questions{padding-top:70px;padding-bottom:105px;border-top:1px solid var(--line);display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;padding:23px 0;font-size:14px;font-weight:500;list-style:none}summary::-webkit-details-marker{display:none}summary span{font-size:23px;font-weight:400;line-height:1}details[open] summary span{transform:rotate(45deg)}details p{font-size:13px;color:var(--muted);max-width:530px;padding-right:25px;margin:0 0 23px}details a{text-decoration:underline;text-underline-offset:3px}.closing{background:var(--ink);color:var(--paper);position:relative;overflow:hidden}.closing:before,.closing:after{content:'';position:absolute;width:480px;height:480px;border:1px solid #a787b02b;border-radius:50%;top:0;left:-290px}.closing:after{left:auto;right:-280px;top:90px;width:580px;height:580px}.closing-inner{padding-top:70px;padding-bottom:65px;text-align:center;position:relative;z-index:1}.closing .large-lotus{width:58px;height:44px;fill:none;stroke:#c4a976;stroke-width:1;margin:0 auto 21px}.closing .eyebrow{color:#d6bb8d;margin-bottom:18px}.closing h2{font-size:57px;margin-bottom:30px}.closing h2 em{color:#d6c0df}.button-light{background:#faf5eb;color:var(--ink);border-color:#faf5eb;font-size:16px;gap:15px;padding:14px 30px}.button-light:hover{background:#e8d8ed;color:var(--ink)}.closing-note{font-size:10px;color:#c9b9ce;margin:20px 0 0;letter-spacing:.05em}.footer{display:flex;align-items:center;justify-content:space-between;gap:35px;padding-top:42px;padding-bottom:42px}.footer .brand strong{font-size:23px}.footer .brand-mark{width:38px}.footer .brand small{font-size:6px}.footer-contact{font-size:11px;color:var(--muted)}.footer-contact p{margin:0 0 3px}.footer-contact a{color:var(--ink);font-weight:500}.footer-links{text-align:right;font-size:11px}.footer-links small{display:block;color:var(--muted);font-size:9px;margin-top:6px}.mobile-book{display:none}
@media(min-width:1600px){.hero{min-height:800px}.hero-art{height:590px}}
@media(max-width:1100px){.section-shell{padding-left:40px;padding-right:40px}.nav-shell{gap:20px}.desktop-nav{gap:18px;font-size:11px}.brand strong{font-size:25px}.brand-mark{width:40px}.nav-phone{padding:10px 12px;font-size:11px}.hero{gap:40px;padding-top:60px;min-height:650px}.hero-art{height:490px}.hero-actions{gap:18px}.hero-actions .text-link{font-size:11px}.experience-inner{gap:55px}.visit{gap:55px}.service-grid{column-gap:35px}.footer{gap:25px}.footer .brand-mark{display:none}.questions{gap:50px}}
@media(max-width:820px){.desktop-nav{display:none}.nav-shell{height:80px;gap:18px}.nav-phone{margin-left:auto}.menu-toggle{display:flex;background:transparent;border:0;width:36px;height:42px;justify-content:center;flex-direction:column;gap:6px;padding:7px;cursor:pointer}.menu-toggle span{height:1px;width:22px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.mobile-nav{padding:10px 5% 25px;display:flex;flex-direction:column;gap:3px;border-top:1px solid var(--line)}.mobile-nav a{padding:9px 0;font-size:14px}.topline span:first-child{display:none}.topline{justify-content:center}.hero{grid-template-columns:1fr 1fr;gap:30px;min-height:590px}.hero-art{height:410px;margin-right:5px}.hero h1{font-size:56px}.hero-description{font-size:14px}.hero-caption{padding:14px 18px;left:-20px;bottom:22px}.hero-caption span,.hero-caption em{font-size:17px}.hero-caption svg{width:30px}.hero-hours{font-size:10px}.hero-hours strong{display:block;margin:0}.vertical-note{right:-23px;font-size:7px}.brand-ribbon{gap:40px}.brand-ribbon span{font-size:28px}.section-heading{gap:40px}.section-intro{max-width:290px}.service h3{font-size:25px}.service{grid-template-columns:20px minmax(0,1fr) 30px;gap:9px}.service>a{width:28px;height:28px}.experience-inner{gap:35px}.experience-copy h2{font-size:46px}.experience-copy p:not(.eyebrow){font-size:13px}.visit{gap:35px;grid-template-columns:1fr 1fr}.map-frame iframe{height:450px}.map-caption{display:block}.map-caption a{display:block;margin-top:5px}.questions{grid-template-columns:1fr 1.25fr;gap:35px}.footer{flex-wrap:wrap}.footer-contact{margin-left:auto}.footer-links{display:flex;justify-content:space-between;width:100%;border-top:1px solid var(--line);padding-top:18px}.footer-links small{margin-top:0}}
@media(max-width:620px){html{scroll-padding-top:88px}.section-shell{padding-left:24px;padding-right:24px}.topline{font-size:9px;padding:8px 14px}.nav-shell{height:75px;padding:0 22px;gap:12px}.brand{gap:8px}.brand strong{font-size:25px}.brand-mark{width:36px;height:34px}.brand small{font-size:6px;letter-spacing:.08em}.nav-phone{display:none}.menu-toggle{margin-left:auto}.hero{display:flex;flex-direction:column;gap:42px;padding-top:42px;padding-bottom:52px;min-height:0;align-items:stretch}.hero-copy{padding:0}.eyebrow{font-size:9px;letter-spacing:.15em;margin-bottom:18px}.hero h1{font-size:clamp(48px,12vw,64px);margin-bottom:20px}.hero-description{font-size:14px;line-height:1.8;max-width:440px}.hero-actions{margin:25px 0 22px;gap:22px;flex-wrap:wrap}.button{min-height:49px;font-size:12px;padding:12px 23px;gap:20px}.hero-actions .text-link{font-size:11px}.hero-hours{font-size:10px}.hero-hours strong{display:inline;margin-left:7px}.hero-art{height:400px;margin:0 13px 0 15px}.hero-art>img{object-position:63% center}.arch-outline{inset:-11px 12px 12px -11px}.hero-caption{left:-15px;bottom:25px;padding:17px 22px}.hero-caption span,.hero-caption em{font-size:20px}.hero-caption svg{width:36px}.vertical-note{font-size:7px;top:135px}.brand-ribbon{gap:20px;padding:23px 14px}.brand-ribbon span{font-size:24px}.brand-ribbon svg{width:17px;height:17px}h2{font-size:46px}.services{padding-top:65px;padding-bottom:60px}.section-heading{display:block;margin-bottom:30px}.section-intro{max-width:100%;margin-top:23px;font-size:13px}.section-intro .text-link{font-size:11px}.service-grid{grid-template-columns:1fr}.service{grid-template-columns:25px minmax(0,1fr) 34px;gap:12px;padding:26px 0}.service h3{font-size:29px}.service p{font-size:13px;margin-bottom:11px}.service>a{width:33px;height:33px}.service-tag{font-size:8px}.services-note{font-size:11px;max-width:260px;margin:20px auto 0}.experience-inner{grid-template-columns:1fr;gap:40px;padding-top:55px;padding-bottom:60px}.experience-image{padding-right:15px}.experience-image img{border-top-right-radius:125px;max-height:400px;aspect-ratio:1.05;object-position:center}.experience-copy .large-lotus{display:none}.experience-copy p:not(.eyebrow){font-size:14px}.experience-copy h2{font-size:48px}.visit{display:block;padding-top:65px;padding-bottom:65px}.visit-copy>p:not(.eyebrow){max-width:none}.contact-row{margin:24px 0}.contact-label{font-size:9px}.contact-row address,.contact-row strong{font-size:15px}.contact-phone{font-size:24px}.map-frame{margin-top:42px;border-radius:130px 130px 5px 5px;padding:10px}.map-frame iframe{height:350px;border-radius:120px 120px 2px 2px}.map-caption{display:flex;align-items:center;padding:17px 6px 8px}.map-caption a{margin:0}.questions{display:block;padding-top:55px;padding-bottom:65px}.questions h2{margin-bottom:30px}.faq-list summary{font-size:13px;padding:21px 0}.faq-list p{font-size:13px}.closing-inner{padding-top:60px;padding-bottom:55px}.closing h2{font-size:46px}.closing .button{font-size:16px}.closing .large-lotus{width:50px}.footer{display:block;padding-top:36px;padding-bottom:110px}.footer .brand-mark{display:block}.footer .brand strong{font-size:26px}.footer .brand small{font-size:6px}.footer-contact{margin:24px 0;font-size:12px}.footer-links{font-size:10px}.mobile-book{display:block;position:fixed;bottom:0;left:0;right:0;z-index:30;background:var(--ink);color:white;border-top:1px solid #8f7299;padding:10px 22px calc(10px + env(safe-area-inset-bottom))}.mobile-book>a{display:flex;align-items:center;justify-content:space-between;gap:16px;color:white;font-size:10px;line-height:1.5}.mobile-book strong{display:block;font-size:16px;font-weight:500;letter-spacing:.02em}.mobile-book>a>span{margin-right:auto}.mobile-book .icon{width:20px;height:20px}.mobile-book>a>.icon:last-child{width:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
