body{font:400 15px/1.9 WFBody,sans-serif;color:#3c382f;background:#fff}h1,h2,h3,p,figure{margin:0}h1,h2,h3{line-height:1.5}h1,h2{font-family:WFSerif,serif;font-weight:500;letter-spacing:.07em}h2{font-size:clamp(25px,2.5vw,38px)}h3{font-size:18px;font-weight:700}.wrap{width:calc(100% - 112px);max-width:1280px;margin-inline:auto}main>section{position:relative}main>section+section{margin-top:50px}.section-head{display:flex;align-items:center;gap:32px;margin-bottom:24px}.section-head p{font-size:14px;line-height:1.9}.asset{display:block;width:100%;height:100%}.photo{display:block;width:100%;border:0;background:none;padding:0;overflow:hidden;text-align:left;aspect-ratio:1.5}.photo .asset{display:block;width:100%;height:100%}.dec{width:90px;height:90px;flex:none;mix-blend-mode:multiply}.logo{display:flex;align-items:center;gap:8px;text-decoration:none;white-space:nowrap;font:700 24px/1.3 WFSerif,serif}.logo small{display:block;font:400 10px/1.8 WFBody;margin-top:5px;letter-spacing:.06em}.logo .dec{width:48px;height:53px}.site-header{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:85px;padding:12px 4%;background:#fff;position:relative;z-index:10}.site-header nav{display:flex;align-items:center;gap:24px}.site-header nav>a{font-size:12px;text-decoration:none;white-space:nowrap}.site-header nav>a:hover{text-decoration:underline;text-underline-offset:5px}.cta{border:1px solid var(--primary);background:var(--primary);color:#fff;min-height:44px;padding:12px 30px;display:inline-flex;align-items:center;justify-content:center;gap:28px;line-height:1.6;font:700 15px/1.5 WFBody;max-width:100%}.cta:hover{filter:brightness(.93)}.site-header .cta{padding:12px 22px;font-size:12px}.menu-button{display:none;border:1px solid currentColor;background:#fff;color:inherit;padding:10px 13px;min-height:44px;white-space:nowrap}.skip{position:absolute;left:16px;top:-100px;background:white;color:#123;z-index:50;padding:12px}.skip:focus{top:10px}.note{font:400 19px/1.7 WFHand,cursive}.flow ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:38px}.flow li{position:relative;padding:12px 8px}.flow li+li:before{content:"›";position:absolute;left:-25px;top:45%;font-size:32px;color:#b49c76}.flow h3{display:flex;align-items:center;gap:16px;font-size:16px}.flow h3 b{display:inline-grid;place-items:center;width:32px;height:32px;background:#dce3d4;border-radius:50%;font:500 24px WFSerif}.flow .dec{width:80px;height:80px;margin:16px auto}.flow p{font-size:13px}.faq-content{display:grid;grid-template-columns:minmax(0,1fr) 160px;gap:50px;align-items:center}.faq-decor{width:160px;height:160px}.faq details{border-bottom:1px solid #dadfd8}.faq summary{display:flex;gap:16px;align-items:center;list-style:none;cursor:pointer;padding:17px 0;font-size:15px}.faq summary::-webkit-details-marker{display:none}.faq summary>b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--primary);color:#fff;flex:none;font:500 19px WFSerif}.faq summary>span{margin-left:auto}.faq details[open] summary>span{transform:rotate(45deg)}.faq details>p{padding:0 22px 22px 44px;font-size:14px}.closing h2{font-size:clamp(25px,2.6vw,36px)}.closing p{margin:16px 0}.closing .cta{margin-top:12px}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:35px;padding:42px 4%;margin-top:50px;background:var(--paper)}.site-footer>div{display:flex;gap:16px;flex-wrap:wrap}.site-footer>div a{font-size:12px;text-decoration:none}.site-footer>p{font-size:12px}.privacy-main{min-height:65vh;padding-top:45px}.privacy{max-width:950px}.privacy h1{font-size:36px;margin-bottom:25px}.privacy h2{font-size:23px;margin-top:35px;margin-bottom:15px}.privacy .text-link{display:inline-block;margin-top:32px}
@media(max-width:1150px){.site-header nav{gap:15px}.site-header nav>a{font-size:10px}.site-header .logo{font-size:21px}.site-header{gap:16px;padding-inline:3%}.section-head{gap:20px}.wrap{width:calc(100% - 64px)}.site-footer{flex-wrap:wrap}}
@media(max-width:900px){.site-header{padding:10px 24px;min-height:78px}.menu-button{display:block}.site-header nav{display:none;position:absolute;left:0;top:100%;right:0;background:#fff;box-shadow:0 10px 15px #2232;padding:22px;align-items:stretch;gap:0}.site-header nav[data-open=true]{display:flex;flex-direction:column}.site-header nav>a{padding:12px;font-size:14px}.site-header .cta{font-size:14px;margin-top:12px}.section-head{display:block}.section-head p{margin-top:10px}.flow ol{gap:24px}.flow h3{font-size:14px;gap:6px}.flow li+li:before{left:-19px}.faq-content{grid-template-columns:minmax(0,1fr) 100px;gap:22px}.faq-decor{width:100px;height:140px}}
@media(max-width:600px){body{font-size:14px}.wrap{width:calc(100% - 36px)}h2{font-size:25px;letter-spacing:.025em}h3{font-size:17px}.site-header{padding:10px 16px}.site-header .logo{font-size:20px}.logo .dec{width:39px;height:43px}.logo small{font-size:8px}.menu-button{font-size:12px;padding:9px}.section-head{margin-bottom:20px}.section-head p{font-size:13px}.flow ol{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.flow li{padding:8px 5px}.flow h3{font-size:13px;gap:6px}.flow h3 b{width:27px;height:27px;font-size:20px}.flow li+li:before{display:none}.flow .dec{width:68px;height:68px}.flow p{font-size:12px}.faq-content{display:block}.faq-decor{display:none}.faq summary{font-size:13px;gap:10px}.faq details>p{font-size:13px;padding-left:36px;padding-right:5px}.cta{font-size:14px;gap:20px;padding:12px 20px}.site-footer{display:block;padding:32px 18px}.site-footer>div{margin:28px 0;gap:14px 22px}.site-footer .logo{font-size:22px}.privacy h1{font-size:27px}.privacy h2{font-size:21px}}
.hiyori{--primary:#4b6c51;--paper:#f8f6f1;color:#423a30}.hiyori h1,.hiyori h2,.hiyori h3{font-family:WFSoft,serif;font-weight:500}.hiyori .site-header{background:#fcfbf8}.h-hero>.photo{aspect-ratio:2.7}.hero-note{position:absolute;left:3%;top:4%;font:400 24px/1.8 WFHand;color:#564834;letter-spacing:.15em}.hero-bottom{display:flex;align-items:center;gap:35px;padding:20px 5%;background:var(--paper)}.hero-bottom h1{font-size:clamp(24px,3.2vw,46px);flex:1}.hero-bottom p{font-size:14px}.hero-bottom .dec{width:70px;height:70px}.h-about{display:grid;grid-template-columns:150px 1fr 1.7fr;gap:30px;align-items:center}.h-about>.dec{width:135px;height:145px}.h-about h2{font-size:28px}.h-about>p{padding-left:28px;border-left:1px solid #dacaad;font-size:15px}.room-mosaic{display:grid;grid-template-columns:1.28fr 1fr;gap:24px}.room-mosaic>figure .photo{aspect-ratio:1.42;height:calc(100% - 33px)}.room-mosaic>div{display:grid;gap:22px}.room-mosaic>div .photo{aspect-ratio:3.2}.room-mosaic figcaption{font-size:12px;padding-top:8px}.support-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.support-grid article{padding:0 25px;text-align:center}.support-grid article+article{border-left:1px solid #e5ddce}.support-grid .dec{margin:0 auto 15px;width:90px;height:90px}.support-grid h3{font-size:23px;margin-bottom:14px}.support-grid p{text-align:left;max-width:18em;margin:auto}.h-day>div:last-child{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}.h-day article h3{display:flex;align-items:center;font-size:18px;margin-bottom:12px;gap:12px}.h-day h3 .dec{width:35px;height:35px}.h-day article p{font-size:13px;margin-top:12px}.h-food{display:grid;grid-template-columns:1.15fr 1fr;gap:36px;background:var(--paper);padding:20px 5% 20px 0;align-items:center}.h-food>div:last-child{position:relative}.h-food h2{font-size:38px;margin-bottom:20px}.h-food>div:last-child .dec{position:absolute;right:10px;top:0;width:110px;height:110px}.h-food p{font-size:14px;line-height:2.1}.h-food .photo{aspect-ratio:1.75}.staff-pairs{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding-right:60px}.staff-pairs article{display:grid;grid-template-columns:170px 1fr;gap:25px;align-items:center}.staff-pairs .photo{aspect-ratio:1;height:190px}.staff-pairs p{font-size:14px}.side-sprig{position:absolute;right:-5px;bottom:0;width:95px;height:130px}.h-closing{display:grid;grid-template-columns:38% 1fr;background:var(--primary);color:#fff;align-items:stretch}.h-closing>.photo{aspect-ratio:1.7;height:100%}.h-closing>div{position:relative;padding:30px 6%}.h-closing .cta{border-radius:40px;background:#faf8ef;color:var(--primary);min-width:270px}.h-closing .note{position:absolute;right:25px;bottom:20px;transform:rotate(-7deg);font-size:18px}.hiyori .site-footer .dec{mix-blend-mode:multiply}
@media(max-width:1150px){.h-about{grid-template-columns:100px 1fr 1.5fr;gap:22px}.h-about>.dec{width:100px}.h-about h2{font-size:24px}.h-about>p{font-size:13px}.support-grid article{padding:0 16px}.support-grid h3{font-size:21px}.staff-pairs article{grid-template-columns:130px 1fr;gap:18px}.staff-pairs{gap:25px;padding-right:35px}.h-closing .note{position:static;margin-bottom:0}.h-food h2{font-size:30px}.h-food>div:last-child .dec{width:75px;height:75px}}
@media(max-width:800px){.hero-bottom{flex-wrap:wrap;gap:12px}.hero-bottom h1{flex-basis:100%}.hero-bottom .dec{position:absolute;bottom:10px;right:20px;width:55px;height:55px}.hero-note{font-size:17px}.h-about{grid-template-columns:85px 1fr}.h-about>p{grid-column:1/-1;border-left:0;padding:0}.h-about>p br{display:none}.h-about h2{font-size:25px}.support-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 0}.support-grid article:nth-child(3){border-left:0}.h-day>div:last-child{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.staff-pairs{padding-right:0}.staff-pairs article{display:block}.staff-pairs .photo{height:auto;aspect-ratio:1.25;margin-bottom:18px}.side-sprig{display:none}.h-food{padding-right:24px;gap:24px}.h-food p{font-size:12px}.h-food>div:last-child .dec{display:none}.h-food h2{font-size:25px}.h-closing>div{padding:24px}.h-closing h2{font-size:25px}}
@media(max-width:600px){.h-hero>.photo{aspect-ratio:1.62}.hero-note{display:none}.hero-bottom{padding:19px 18px}.hero-bottom h1{font-size:25px;letter-spacing:.03em}.hero-bottom p{font-size:12px}.h-about h2{font-size:23px}.room-mosaic{grid-template-columns:1fr;gap:24px}.room-mosaic>figure .photo{height:auto;aspect-ratio:1.5}.room-mosaic>div{grid-template-columns:1fr 1fr;gap:14px}.room-mosaic>div .photo{aspect-ratio:1.1}.room-mosaic figcaption{font-size:11px}.support-grid article{padding:0 14px}.support-grid h3{font-size:18px}.support-grid p{font-size:12px}.support-grid .dec{width:68px;height:68px}.h-day>div:last-child{gap:24px 16px}.h-day article .photo{aspect-ratio:1.2}.h-day article p{font-size:12px}.h-food{display:block;padding:0 0 28px}.h-food>div:last-child{padding:26px 22px 0}.h-food h2{font-size:29px}.h-food p{font-size:13px}.h-food p br{display:none}.staff-pairs{gap:22px}.staff-pairs p{font-size:12px}.staff-pairs .photo{aspect-ratio:1}.h-closing{display:block}.h-closing>.photo{height:auto;aspect-ratio:2.1}.h-closing>div{padding:25px 22px}.h-closing h2{font-size:25px}.h-closing p{font-size:13px}.h-closing .cta{min-width:240px}.h-closing .note{font-size:17px}}
/* Reviewed hero framing keeps the standing person's complete face visible. */
.h-hero>.photo{aspect-ratio:2.5}@media(max-width:600px){.h-hero>.photo{aspect-ratio:1.62}}

@media(min-width:601px){.room-mosaic>div{grid-template-rows:1fr 1fr}.room-mosaic>div>figure{display:flex;flex-direction:column;min-height:0}.room-mosaic>div .photo{aspect-ratio:auto;flex:1;min-height:0}}

@media(min-width:601px){.room-mosaic{grid-template-columns:minmax(0,1.28fr) minmax(0,1fr);align-items:start}.room-mosaic figure{min-width:0}.room-mosaic>figure .photo{height:auto;aspect-ratio:1.45}.room-mosaic>div{grid-template-rows:auto auto;align-content:start;gap:18px}.room-mosaic>div>figure{display:block}.room-mosaic>div .photo{flex:none;height:auto;aspect-ratio:2.6}}

/* Mobile heading balance; desktop layout is unchanged. */
@media(max-width:600px){.hiyori main h2,.hiyori main h3{text-wrap:balance;line-break:strict}.hiyori .h-day article .photo{aspect-ratio:3/2}}
