:root{--paper:#f7f5ef;--ink:#353e2e;--muted:#777b6e;--line:#dcded2;--accent:#8a9175;--serif:Georgia,serif;--sans:"DM Sans",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:14px;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:default}button,a,input,select,summary{outline-offset:6px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid #a97043}img{display:block;width:100%;height:100%;object-fit:cover}p{line-height:1.9}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500}h2{font:500 clamp(28px,3vw,42px)/1.65 var(--serif);letter-spacing:.05em}.site-header{height:106px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand-symbol{font:500 34px var(--serif);border:1px solid var(--ink);border-radius:50% 50% 0 0;width:49px;height:58px;text-align:center;line-height:51px}.brand strong{font:500 25px var(--serif);letter-spacing:.15em;display:block}.brand i{font:500 18px var(--sans);font-style:normal;letter-spacing:.08em;margin-left:7px}.brand small{font-size:8px;letter-spacing:.17em;display:block;margin-top:6px}.site-header nav{display:flex;gap:36px;font-size:13px;letter-spacing:.12em}.site-header nav a{padding:12px 0;position:relative}.site-header nav a:after{content:"";position:absolute;bottom:3px;left:0;width:0;height:1px;background:var(--ink);transition:width .25s}.site-header nav a:hover:after{width:100%}.header-cta{border:1px solid #adb29f;background:transparent;padding:13px 20px;display:flex;gap:30px;align-items:center;font-size:12px;letter-spacing:.1em;color:var(--ink);border-radius:2px}.header-cta:hover{background:#e9ecdf}.header-cta span{font-size:20px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:47% 53%;padding:34px 3% 34px 7%;min-height:685px;gap:0;max-width:1800px;margin:auto}.hero-copy{padding:47px 30px 0 0}.eyebrow{font-size:10px;letter-spacing:.2em;font-weight:500;display:flex;align-items:center;gap:11px}.eyebrow>span{width:7px;height:7px;background:var(--accent);border-radius:50%}h1{font:500 clamp(48px,5.3vw,82px)/1.5 var(--serif);letter-spacing:.05em;margin:23px 0 23px;white-space:nowrap}.accent{color:#7f886c}.hero-description{color:#787c70;font-size:13px;letter-spacing:.07em;line-height:2}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:45px;padding:17px 24px;min-height:55px;font-size:12px;letter-spacing:.1em;border:1px solid transparent;border-radius:2px;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button span{font-size:20px;line-height:1}.button-dark{background:var(--ink);color:var(--paper)}.button-dark:hover{background:#505b42}.hero .button{margin-top:31px}.hero-foot{display:flex;align-items:center;gap:15px;margin-top:48px;font-size:10px;letter-spacing:.07em;color:var(--muted)}.hero-foot small{display:block;font-size:8px;letter-spacing:.18em;margin-top:8px}.tiny-flower{font-size:36px;color:#8b9476}.hero-visual{position:relative;min-height:617px;isolation:isolate}.hero-visual>img{position:absolute;border-top-left-radius:140px;object-position:47% center;z-index:-2}.image-shade{position:absolute;inset:0;background:linear-gradient(0deg,#18211688,transparent 58%);border-top-left-radius:140px;z-index:-1}.photo-caption{position:absolute;bottom:80px;left:40px;color:#fff}.photo-caption>span{font:italic 43px/1.1 Georgia,serif;letter-spacing:-.02em}.photo-caption small{display:block;letter-spacing:.19em;font-size:8px;margin-top:18px}.photo-index{position:absolute;bottom:26px;left:40px;right:28px;display:flex;justify-content:space-between;color:#fff;font-size:9px;letter-spacing:.13em}.photo-index>div{display:flex;align-items:center;gap:5px}.photo-index i,.photo-index b{height:2px;width:18px;background:#ffffff50}.photo-index b{width:30px;background:#fff}.round-seal{position:absolute;top:30px;right:28px;border-radius:50%;background:#f1f0dfed;width:109px;height:109px;display:grid;place-items:center}.round-seal svg{position:absolute;inset:0;width:100%;height:100%;animation:rotate 55s linear infinite}.round-seal text{font:11px var(--sans);letter-spacing:2.1px;fill:var(--ink)}.round-seal>span{font-size:45px;line-height:1}@keyframes rotate{to{transform:rotate(360deg)}}.manifesto-strip{background:var(--ink);color:#f1f0df;display:flex;align-items:center;justify-content:space-evenly;gap:24px;padding:23px 4%;font-size:11px;letter-spacing:.13em;overflow:hidden;white-space:nowrap}.manifesto-strip b{font-size:19px;font-weight:400;color:#a9b497}.section-wrap{padding:92px 7%;max-width:1600px;margin:auto}.section-label{font-size:9px;letter-spacing:.17em;display:flex;justify-content:space-between;align-items:center;color:#7e836f}.section-label span:nth-child(2){letter-spacing:.15em}.story{padding-bottom:86px}.story-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;margin-top:42px}.muted-serif{color:#90967f}.story-copy{padding-top:7px;font-size:12px;color:#74796b;letter-spacing:.03em}.story-copy p+p{margin-top:20px}.text-link{display:inline-flex;align-items:center;gap:45px;border-bottom:1px solid #a5ac95;padding-bottom:9px;font-size:11px;color:var(--ink);letter-spacing:.1em}.text-link span{font-size:19px}.story-copy .text-link{margin-top:24px}.menu-section{background:#eeeee5;max-width:none}.menu-section>.section-label,.menu-section>.section-heading,.menu-section>.products,.menu-section>.menu-note{max-width:1376px;margin-left:auto;margin-right:auto}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-top:27px;margin-bottom:38px;gap:20px}.section-heading p{margin-top:13px;color:#777d6c;font-size:12px;letter-spacing:.05em}.handwritten{font:italic 20px Georgia,serif;color:#7b826b;transform:rotate(-5deg);padding-bottom:12px}.products{display:grid;grid-template-columns:repeat(3,1fr);gap:29px}.product-image{aspect-ratio:1.08;position:relative;overflow:hidden;background:#d1c9b9}.product-image img{transition:transform .6s;filter:saturate(.78)}.product:hover .product-image img{transform:scale(1.04)}.product-tag{position:absolute;top:17px;left:17px;padding:7px 10px;background:#f7f5efed;letter-spacing:.1em;font-size:8px}.product-action{position:absolute;bottom:17px;right:17px;border:0;width:37px;height:37px;background:var(--paper);color:var(--ink);font-size:21px;border-radius:50%}.product-action:hover{background:var(--ink);color:#fff}.product-meta{display:flex;justify-content:space-between;align-items:center;margin-top:23px;gap:8px}.product-meta h3{font:500 21px var(--serif);letter-spacing:.06em}.product-meta>span{font-size:11px}.product>p{font-size:11px;color:#777d6c;margin-top:13px}.product>small{display:block;margin-top:15px;color:#858976;font-size:8px;letter-spacing:.12em}.menu-note{font-size:10px;color:#858976;text-align:right;margin-top:30px!important}.moments{display:grid;grid-template-columns:1.03fr 1fr;gap:9%;padding-top:105px;padding-bottom:105px}.moments-photo{position:relative;min-height:530px}.moments-photo img{position:absolute;object-position:21% center;border-top-right-radius:160px;filter:saturate(.7) brightness(.83)}.moments-photo>span{position:absolute;left:30px;bottom:30px;color:#fff;font:40px/1.05 Georgia,serif}.moments-copy{padding-top:20px}.moments-copy h2{font-size:32px;margin-top:27px;margin-bottom:20px;white-space:nowrap}.moments-copy>p{color:#777d6c;font-size:12px;margin-bottom:27px}.ritual{display:flex;align-items:center;gap:22px;padding:18px 0;border-bottom:1px solid var(--line)}.ritual>span:first-child{font-size:10px;color:#949b83}.ritual h3{font-size:13px;font-weight:500;letter-spacing:.07em}.ritual p{font-size:11px;color:#858976;margin-top:4px}.ritual>span:last-child{margin-left:auto;color:#939a83;font-size:19px}.visit-section{background:#353e2e;color:#f3f2e8;position:relative;overflow:hidden;padding:73px 12%;display:flex;align-items:center;justify-content:space-between}.visit-content{position:relative;z-index:1}.visit-content .eyebrow{font-size:9px;color:#b7bea7}.visit-content h2{font-size:51px;line-height:1.55;margin-top:23px}.visit-content p{font-size:12px;color:#c1c5b4;margin-top:15px;letter-spacing:.08em}.button-light{background:#eeeee0;color:var(--ink);margin-top:30px}.button-light:hover{background:#fff}.visit-content>small{display:block;font-size:9px;color:#a8af98;margin-top:22px;letter-spacing:.06em}.visit-art{width:40%;max-width:370px;transform:rotate(-9deg);opacity:.6}.visit-art svg{stroke:#bbc4a2;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.faq{display:grid;grid-template-columns:1fr 1.5fr;gap:10%;padding-top:83px;padding-bottom:83px}.faq h2{font-size:29px;margin-top:20px}.faq-list{padding-top:4px}details{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;padding:22px 0;font-size:12px;letter-spacing:.03em;display:flex;justify-content:space-between;gap:20px;align-items:center}summary::-webkit-details-marker{display:none}summary span{font-size:20px;font-weight:400;color:#8d947c;transition:transform .2s}details[open] summary span{transform:rotate(45deg)}details p{font-size:12px;color:#777d6c;padding:0 25px 23px 0}.site-footer{border-top:1px solid var(--line);padding:40px 5% 23px}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:20px}.footer-top>p{font:400 13px var(--serif);letter-spacing:.12em;color:#7a826b}.footer-bottom{margin-top:36px;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px}.footer-bottom small{font-size:8px;color:#939783;letter-spacing:.05em}.skip{position:fixed;top:-100px;left:10px;z-index:100;background:#fff;padding:15px}.skip:focus{top:10px}dialog{border:1px solid #d4d8c7;background:var(--paper);color:var(--ink);padding:48px;width:min(540px,calc(100% - 32px));max-height:90dvh;box-shadow:0 15px 90px #16210e30;border-radius:4px}dialog::backdrop{background:#222a20a8;backdrop-filter:blur(5px)}dialog h2{font-size:29px;margin-top:20px}dialog .eyebrow{font-size:8px}.dialog-intro{font-size:12px;color:var(--muted);margin-top:10px}.dialog-close{position:absolute;right:16px;top:10px;border:0;background:transparent;font-size:29px;color:var(--ink);padding:3px 8px}form{margin-top:25px}label{font-size:11px;display:block;line-height:1.5}input,select{width:100%;border:1px solid #ced3c0;background:#fdfcf7;padding:12px 10px;min-height:43px;border-radius:0;margin-top:8px;color:var(--ink);font-size:12px;max-width:100%}input[type=date]{min-width:0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:20px}form .button{margin-top:27px;width:100%}.form-note{color:#8b917d;font-size:10px;line-height:1.8;margin-top:15px}body.modal-open{overflow:hidden}#success-view{text-align:center;padding:15px 0}#success-view .eyebrow{justify-content:center}#success-view h2{margin-top:18px}.success-flower{font-size:57px;color:#8a9673;display:block;margin-bottom:25px}#booking-summary{white-space:pre-line;margin:25px 0;font-size:13px;color:var(--muted)}.reset-button{margin-top:20px;background:transparent;border:0;border-bottom:1px solid #aaa;font-size:11px;padding:4px;color:var(--muted)}[hidden]{display:none!important}
@media(min-width:1600px){.hero{min-height:780px}.hero-visual{min-height:700px}.hero-copy{padding-top:70px}.hero-foot{margin-top:65px}}
@media(max-width:1100px){.site-header{padding:0 4%;height:90px}.site-header nav{gap:22px}.hero{padding-left:5%;min-height:620px}.hero-copy{padding-top:28px}.hero-visual{min-height:560px}.hero-foot{margin-top:38px;font-size:9px}h1{font-size:57px}.section-wrap{padding-left:6%;padding-right:6%}.story-grid{gap:40px}.moments{gap:6%}.moments-copy h2{font-size:27px}.moments-photo{min-height:510px}.handwritten{font-size:18px}.round-seal{width:92px;height:92px;right:20px;top:22px}.photo-caption{left:30px}.photo-caption>span{font-size:38px}.manifesto-strip{gap:20px;font-size:9px}.manifesto-strip span:last-child{display:none}}
@media(max-width:760px){html{scroll-padding-top:80px}.site-header{height:82px;padding:0 6%;position:relative;z-index:10}.brand-symbol{width:37px;height:45px;font-size:26px;line-height:40px}.brand{gap:9px}.brand strong{font-size:21px}.brand i{font-size:14px;margin-left:4px}.brand small{font-size:6px;letter-spacing:.12em}.header-cta{margin-left:auto;padding:7px 11px;font-size:10px;gap:13px}.header-cta span{font-size:17px}.menu-toggle{display:flex;width:27px;height:32px;align-items:center;justify-content:center;flex-direction:column;gap:6px;border:0;background:transparent;padding:2px;color:var(--ink)}.menu-toggle span{width:21px;height:1px;background:currentColor;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)}.site-header nav{display:none;position:absolute;top:81px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:24px 7%;gap:15px;box-shadow:0 10px 20px #303c2910}.site-header nav.is-open{display:flex;flex-direction:column}.hero{display:flex;flex-direction:column;padding:28px 6% 25px;gap:32px;min-height:0}.hero-copy{padding:8px 0 0}.eyebrow{font-size:8px;letter-spacing:.16em}h1{font-size:clamp(45px,10.6vw,72px);margin:20px 0 19px;line-height:1.45}.hero-description{font-size:12px;line-height:2}.hero .button{margin-top:23px}.button{padding:15px 21px;font-size:11px;min-height:50px;gap:35px}.hero-foot{display:none}.hero-visual{min-height:0;height:430px;max-height:115vw}.hero-visual>img,.image-shade{border-top-left-radius:105px}.photo-caption{left:26px;bottom:65px}.photo-caption>span{font-size:37px}.photo-caption small{font-size:7px;margin-top:13px}.photo-index{left:26px;bottom:21px}.round-seal{width:85px;height:85px;top:18px;right:17px}.round-seal>span{font-size:36px}.manifesto-strip{justify-content:center;gap:24px;padding:20px 6%;font-size:9px;letter-spacing:.1em}.manifesto-strip span:nth-of-type(n+3),.manifesto-strip b:nth-of-type(n+2){display:none}.section-wrap{padding:61px 7%}.section-label{font-size:8px}.story-grid{grid-template-columns:1fr;gap:26px;margin-top:28px}h2{font-size:29px;line-height:1.7}.story-copy{font-size:12px;padding:0}.story-copy p+p{margin-top:17px}.story-copy .text-link{margin-top:20px}.section-heading{margin-top:24px;margin-bottom:29px}.section-heading h2{font-size:27px}.section-heading p{font-size:11px;margin-top:9px}.handwritten{display:none}.products{grid-template-columns:1fr;gap:38px}.product-image{aspect-ratio:1.17}.product-meta{margin-top:18px}.product-meta h3{font-size:22px}.product>p{margin-top:10px;font-size:12px}.product>small{margin-top:12px;font-size:9px}.product-tag{font-size:9px}.product-action{width:42px;height:42px}.menu-note{text-align:left;font-size:9px}.moments{grid-template-columns:1fr;gap:35px}.moments-photo{min-height:410px}.moments-photo img{border-top-right-radius:120px}.moments-photo>span{font-size:36px}.moments-copy{padding:0}.moments-copy h2{font-size:29px;margin-top:22px}.moments-copy>p{font-size:12px}.visit-section{padding:60px 8%;min-height:460px}.visit-content h2{font-size:42px}.visit-content p{font-size:11px;max-width:210px}.visit-art{position:absolute;right:-50px;bottom:18px;width:210px;opacity:.23}.visit-content>small{font-size:8px}.faq{grid-template-columns:1fr;gap:23px}.faq h2{font-size:28px}.faq h2 br{display:none}summary{font-size:12px;line-height:1.7;padding:21px 0}.site-footer{padding:35px 7% 22px}.footer-top{flex-wrap:wrap;gap:25px}.footer-top>p{width:100%;order:3;font-size:11px;letter-spacing:.08em}.footer-top .text-link{font-size:10px;gap:24px}.footer-bottom{margin-top:24px;flex-wrap:wrap;gap:12px;font-size:9px}.footer-bottom small:first-child{width:100%}.footer-bottom small{font-size:8px}dialog{padding:40px 23px 28px}dialog h2{font-size:25px}.form-row{gap:10px}input,select{font-size:12px;padding:11px 7px}.form-note{font-size:9px}}
@media(max-width:760px){.site-header{gap:12px}.header-cta{white-space:nowrap;flex-shrink:0}}
@media(max-width:370px){.site-header .brand i{display:none}.header-cta{font-size:9px;padding:7px 9px;gap:9px}.site-header .brand small{font-size:5px}}
.site-header .header-cta{border:0;border-radius:0;background:transparent;padding:10px 0;gap:15px;color:#788165;letter-spacing:.08em}.site-header .header-cta:hover{background:transparent;color:var(--ink)}.site-header .header-cta span{font-size:15px}.site-header .header-cta:after{content:"";width:5px;height:5px;border-radius:50%;background:#8a9676;order:-1}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Keep English headings within their columns. */
h1{white-space:normal;letter-spacing:.02em}
.moments-copy h2{white-space:normal}
.hero-copy,.moments>*{min-width:0}
