.komorebi-page{color:#213d31;background:#fffaf0}.komorebi{--forest:#213d31;--red:#ae3840;--brown:#6b402c;--ivory:#fffaf0;--cream:#f4ead8;--line:#213d3129;font-family:system-ui,-apple-system,Hiragino Kaku Gothic ProN,Yu Gothic,sans-serif;overflow:hidden}.komorebi h1,.komorebi h2,.komorebi h3,.k-brand{font-family:ui-serif,Hiragino Mincho ProN,Yu Mincho,serif}.utility{background:var(--forest);color:#fffaf0;letter-spacing:.02em;align-items:center;gap:1rem;min-height:42px;padding:.5rem max(1.25rem,50% - 570px);font-size:.76rem;display:flex}.demo-chip{color:var(--red);letter-spacing:.08em;margin:0;font-size:.72rem;font-weight:700;display:inline-block}.utility .demo-chip{color:var(--forest);background:#fffaf0;padding:.2rem .45rem}.utility-links{gap:1rem;margin-left:auto;text-decoration:underline;display:flex}.k-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;max-width:1200px;margin:auto;padding:1.2rem 2rem;display:flex}.k-brand{color:var(--forest);line-height:1.05;display:grid}.k-brand span{letter-spacing:.16em;font-size:.68rem}.k-brand b{font-size:1.55rem}.k-brand small{letter-spacing:.18em;font-family:system-ui,sans-serif;font-size:.55rem}.k-header nav{gap:1.15rem;font-size:.84rem;display:flex}.k-header nav a:hover,.k-link:hover,.k-footer>a:hover{text-decoration:underline}.k-menu{color:var(--forest);border:1px solid var(--forest);background:0 0;padding:.45rem .65rem;display:none}.k-hero{grid-template-columns:.95fr 1.05fr;align-items:center;gap:5rem;max-width:1200px;margin:auto;padding:4.8rem 2rem 5.5rem;display:grid}.k-hero h1,.k-section h2,.commitment h2{letter-spacing:.03em;font-weight:500;line-height:1.25}.k-hero h1{margin:.6rem 0 1.2rem;font-size:clamp(2.5rem,4.5vw,4.8rem)}.k-hero-copy>p:not(.demo-chip){max-width:32rem;line-height:2}.k-actions{align-items:center;gap:1.5rem;margin-top:2rem;display:flex}.k-button{background:var(--red);color:#fff;border:1px solid var(--red);padding:.85rem 1.1rem;font-weight:700;display:inline-block}.k-link{color:var(--forest);text-underline-offset:.25em;text-decoration:underline}.k-hero-image{margin:0;position:relative}.k-hero-image img{aspect-ratio:1.05;object-fit:cover;border-radius:2px 2px 90px;width:100%;display:block}.k-hero-image figcaption{background:var(--cream);padding:.65rem 1rem;font-size:.78rem;position:absolute;bottom:0;left:0}.k-section{max-width:1200px;margin:auto;padding:5.5rem 2rem}.recommendations{border-top:1px solid var(--line)}.k-section-heading{justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2.5rem;display:flex}.k-section-heading>p,.commitment>div>p,.reservation p{color:var(--red);letter-spacing:.1em;font-size:.78rem;font-weight:700}.k-section h2,.commitment h2{margin:.25rem 0;font-size:clamp(2.1rem,3.8vw,3.75rem)}.k-section-heading>span{font-size:.82rem}.recommendation-list{grid-template-columns:repeat(4,1fr);gap:1.25rem;display:grid}.recommendation{border-top:3px solid var(--brown);background:#fff;box-shadow:0 .4rem 1.3rem #3a28100d}.recommendation img{aspect-ratio:.95;object-fit:cover;width:100%;display:block}.recommendation>div{padding:1rem}.recommendation small{color:var(--red);font-size:.72rem;font-weight:700}.recommendation h3{margin:.35rem 0;font-size:1.1rem}.recommendation p{margin:.3rem 0 .7rem;font-size:.84rem;line-height:1.65}.decoration{background:var(--cream);max-width:none;padding-left:max(2rem,50% - 580px);padding-right:max(2rem,50% - 580px)}.decoration-layout{grid-template-columns:.75fr 1.25fr;gap:3rem;display:grid}.decoration-layout>img{object-fit:cover;width:100%;height:100%;min-height:370px}.deadline{color:var(--red);background:#fffaf0;margin:0 0 1rem;padding:.75rem;font-weight:700}.cake-options{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.cake-options article{background:#fffaf0;padding:1rem}.cake-options h3{margin:0;font-size:1.15rem}.cake-options p{min-height:3.8em;font-size:.8rem;line-height:1.55}.cake-options table{border-collapse:collapse;width:100%;font-size:.75rem}.cake-options th,.cake-options td{border-top:1px solid var(--line);text-align:left;padding:.4rem 0}.cake-options td{text-align:right;font-weight:700}.cake-notes{grid-template-columns:auto 1fr;gap:.45rem 1rem;margin:1.3rem 0;font-size:.84rem;display:grid}.cake-notes span{border-bottom:1px dotted var(--line)}.commitment{grid-template-columns:.8fr 1.2fr;gap:6rem;max-width:1200px;margin:auto;padding:5.5rem 2rem;display:grid}.commitment img{aspect-ratio:1.2;object-fit:cover;width:80%;margin-top:2rem;display:block}.commitment ol{margin:1rem 0;padding:0;list-style:none}.commitment li{border-top:1px solid var(--line);gap:.55rem;padding:1.5rem 0;display:grid}.commitment b{font-family:ui-serif,Yu Mincho,serif;font-size:1.35rem;font-weight:500}.commitment span{line-height:1.7}.access{background:#f9f3e7;max-width:none;padding-left:max(2rem,50% - 580px);padding-right:max(2rem,50% - 580px)}.access-grid{grid-template-columns:1fr 1fr;gap:3rem;display:grid}.map-drawing{min-height:350px;color:var(--forest);background:#e8dfc7;position:relative;overflow:hidden}.map-drawing .road{background:#fffaf0;display:block;position:absolute}.map-drawing .r1{width:125%;height:44px;top:34%;left:-15%;transform:rotate(-18deg)}.map-drawing .r2{width:36px;height:125%;top:-10%;left:63%;transform:rotate(12deg)}.map-drawing .r3{width:110%;height:24px;bottom:18%;left:-10%;transform:rotate(8deg)}.map-drawing b{z-index:1;background:var(--red);color:#fff;text-align:center;padding:.65rem 1rem;font-family:ui-serif,Yu Mincho,serif;position:absolute;top:39%;left:36%}.map-drawing i{font-size:.72rem;position:absolute;top:1.5rem;right:1.5rem}.map-drawing em{font-size:.7rem;font-style:normal;position:absolute;bottom:1rem;left:1rem}.access-copy img{object-fit:cover;width:100%;height:175px;margin-bottom:1.2rem}.access-copy address{font-style:normal;font-weight:700;line-height:1.8}.access-copy p{line-height:1.8}.reservation{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:4rem;display:grid}.reservation>div:last-child{max-width:32rem;line-height:1.9}.reservation .k-button{margin-top:1rem}.faq{max-width:820px}.faq .k-section-heading{display:block}.faq details{border-top:1px solid var(--line);padding:1.2rem 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;font-weight:700}.faq details p{line-height:1.7}.k-footer{background:var(--forest);color:#fffaf0;justify-content:space-between;gap:3rem;padding:3rem max(2rem,50% - 580px);display:flex}.k-footer>div{max-width:38rem}.k-footer .k-brand{color:#fffaf0}.k-footer p{font-size:.8rem;line-height:1.8}.k-footer>a{text-underline-offset:.2em;white-space:nowrap;text-decoration:underline}.k-modal{gap:1rem;display:grid}.k-modal>button:first-child{justify-self:end}.k-modal h2{margin:0;font-family:ui-serif,Yu Mincho,serif}.k-modal label{font-weight:700}.k-modal input{border:1px solid var(--forest);background:#fff;padding:.6rem}.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}@media (width<=800px){.utility{flex-wrap:wrap;gap:.4rem .8rem}.utility-links{width:100%;margin-left:0}.k-header{padding:1rem 1.3rem;position:relative}.k-menu{display:block}.k-header nav{z-index:5;border:1px solid var(--line);background:#fffaf0;flex-direction:column;padding:1rem;position:absolute;top:100%;left:1rem;right:1rem;box-shadow:0 .8rem 1.8rem #213d3122}.js-enabled .k-header nav{display:none}.js-enabled .k-header nav[data-open]{display:flex}.k-hero,.decoration-layout,.commitment,.access-grid,.reservation{grid-template-columns:1fr;gap:2rem}.k-hero{padding:3.2rem 1.3rem}.k-section,.commitment{padding:4rem 1.3rem}.decoration,.access{padding-left:1.3rem;padding-right:1.3rem}.k-section-heading{display:block}.k-section-heading>span{margin-top:1rem;display:block}.recommendation-list{grid-template-columns:repeat(2,1fr);gap:.8rem}.recommendation>div{padding:.8rem}.recommendation h3{font-size:1rem}.recommendation p{font-size:.78rem}.decoration-layout>img{min-height:250px}.cake-options{grid-template-columns:1fr}.cake-options p{min-height:0}.commitment img{width:100%;max-height:270px}.k-footer{padding:2.5rem 1.3rem;display:block}.k-footer>a{margin-top:1rem;display:inline-block}.k-actions{flex-direction:column;align-items:flex-start}.k-hero-image img{aspect-ratio:1.1}}@media (width<=390px){.utility{font-size:.7rem}.recommendation-list{grid-template-columns:1fr}.k-hero h1{font-size:2.25rem}}
