:root{--ink:#202d2c;--paper:#f7f5ee;--red:#a33b29;--line:#d6d5cc}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif;font-size:16px;line-height:1.9}a{color:inherit;text-decoration:none}a:focus-visible,summary:focus-visible{outline:3px solid #c88846;outline-offset:6px}h1,h2,h3,p{margin-top:0}h1,h2,.brand-name,.moments article>span{font-family:'Yu Mincho','Hiragino Mincho ProN',serif;font-weight:500}h2{font-size:clamp(30px,3.2vw,46px);line-height:1.7;letter-spacing:.09em}.header{min-height:104px;display:flex;justify-content:space-between;align-items:center;padding:20px 5%;gap:24px}.brand{display:flex;flex-direction:column;line-height:1.4;flex-shrink:0}.brand-sub{font-size:12px;letter-spacing:.22em}.brand-name{font-size:32px;letter-spacing:.12em}.brand-name small{font-size:14px;border:1px solid;padding:4px 5px;vertical-align:middle;letter-spacing:.07em}.header nav{display:flex;align-items:center;gap:32px;font-size:14px}.header nav>a:not(.nav-contact):hover{color:var(--red)}.nav-contact{border:1px solid var(--ink);padding:11px 20px}.hero{position:relative;height:650px;min-height:540px;color:white;background:#34342f;overflow:hidden}.hero-photo,.hero-shade{position:absolute;inset:0}.hero-photo{background:url('interior.jpg') center 54%/cover no-repeat}.hero-shade{background:linear-gradient(90deg,rgba(13,23,24,.83),rgba(14,22,22,.28) 65%,rgba(15,20,18,.05)),linear-gradient(0deg,rgba(15,24,23,.65),transparent 35%)}.hero-copy{position:relative;padding:76px 8%}.eyebrow{font-size:14px;letter-spacing:.18em;margin-bottom:29px}h1{font-size:clamp(38px,4.8vw,65px);line-height:1.55;letter-spacing:.12em;margin:0 0 24px}.intro{line-height:2;letter-spacing:.1em;margin-bottom:32px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:35px;font-size:14px;padding:15px 26px;border:1px solid}.light{color:white;border-color:#ffffff80;background:#ffffff08}.light:hover{background:#ffffff20}.hero-bottom{position:absolute;bottom:25px;left:5%;right:5%;display:flex;justify-content:space-between;gap:20px;font-size:12px;letter-spacing:.17em}.welcome,.system,.faq,.access{padding:80px 8%}.section-label{font-size:12px;letter-spacing:.19em;color:var(--red);margin-bottom:36px}.welcome-grid,.system-grid,.access-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:8%}.welcome-copy{padding-top:8px}.welcome-copy p{margin-bottom:24px;line-height:2.2}.moments{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:44px;padding-top:32px;border-top:1px solid var(--line)}.moments article{border-right:1px solid var(--line);padding-right:20px}.moments article:last-child{border:0}.moments article>span{display:block;font-size:23px;letter-spacing:.06em;margin-bottom:14px}.moments p{font-size:14px;margin-bottom:0}.system{background:var(--ink);color:var(--paper)}.system .section-label{color:#d6ad78}.system h2{margin-bottom:15px}.system-grid>div>p{color:#dadbd5}.system-row{display:flex;justify-content:space-between;gap:24px;border-bottom:1px solid #ffffff30;padding:20px 0}.system-row:first-child{padding-top:0}.system-row h3,.system-row p{font-size:16px;font-weight:400;margin:0}.system-note{font-size:14px;color:#dadbd5;padding-top:20px;line-height:2}.text-link{display:inline-block;border-bottom:1px solid;padding-bottom:3px;font-size:14px}.text-link:hover{opacity:.7}.faq{max-width:1000px;margin:auto}.faq h2{margin-bottom:34px}details{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none;position:relative;padding:24px 45px 24px 0}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:10px;font-size:22px;top:17px}details[open] summary:after{content:'−'}details p{font-size:15px;max-width:720px;padding:0 25px 16px 0}.access{border-top:1px solid var(--line);background:#ecece4}.access h2{margin-bottom:20px}.access p{margin-bottom:25px}.dark{background:var(--red);color:white;border-color:var(--red)}.dark:hover{background:#883021}.phone{display:block;font-family:Georgia,serif;font-size:28px;letter-spacing:.08em;margin-top:16px}.access dl{margin:0}.access dl>div{display:grid;grid-template-columns:80px 1fr;gap:20px;padding:23px 0;border-bottom:1px solid #c9cdc4}.access dl>div:first-child{padding-top:0}dt{font-size:14px}dd{margin:0}dd .text-link{margin-top:12px}footer{padding:45px 5%;display:flex;align-items:center;justify-content:space-between;gap:25px}footer p{font-family:'Yu Mincho',serif;letter-spacing:.13em;font-size:16px;margin:0}footer small{font-size:12px}.mobile-book{display:none}@media(min-width:1500px){.hero-copy{padding-left:calc((100vw - 1260px)/2)}.welcome,.system,.access{padding-left:calc((100vw - 1260px)/2);padding-right:calc((100vw - 1260px)/2)}}@media(max-width:800px){.header{min-height:85px;padding:17px 6%}.brand-name{font-size:26px}.brand-sub{font-size:12px}.header nav{gap:17px}.header nav>a:first-child,.nav-contact{display:none}.hero{height:620px}.hero-copy{padding:65px 7%}.hero-photo{background-position:60% center}.hero-shade{background:linear-gradient(90deg,#102020b8,#12221e40),linear-gradient(0deg,#101b1b99,transparent 40%)}.hero-copy h1{font-size:42px}.hero-bottom{left:7%;right:7%;flex-direction:column;gap:8px}.welcome,.system,.faq,.access{padding:58px 7%}.welcome-grid,.system-grid,.access-grid{grid-template-columns:1fr;gap:20px}.section-label{margin-bottom:24px}.welcome h2{margin-bottom:12px}.welcome-copy p{font-size:15px}.moments{grid-template-columns:1fr;gap:0;margin-top:15px;padding-top:0}.moments article{border-right:0;border-bottom:1px solid var(--line);padding:25px 0}.moments article>span{font-size:24px;margin-bottom:9px}.system-detail{margin-top:10px}.system-row{gap:14px}.system-row h3,.system-row p{font-size:14px}.access dl{margin-top:25px}footer{align-items:flex-start;flex-direction:column;padding:35px 7% 100px;gap:20px}footer p{font-size:14px}.mobile-book{display:block;position:fixed;bottom:0;left:0;right:0;text-align:center;background:var(--red);color:#fff;z-index:5;box-shadow:0 -3px 18px #0002}.mobile-book a{display:block;font-size:14px;padding:15px 12px max(15px,env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Existing palette and spacing retained for the added content. */
.instagram-link{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;flex-shrink:0}.instagram-link:hover{color:var(--red)}.header nav{margin-left:auto}.interior-figure{margin:48px 0 0}.interior-figure img{display:block;width:100%;height:auto}.interior-figure figcaption{padding-top:20px}.interior-figure h3{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:24px;font-weight:500;margin-bottom:8px}.interior-figure p{margin-bottom:0}.voices{padding:80px 8%;border-top:1px solid var(--line)}.voices h2{margin-bottom:24px}.voices p{max-width:640px}.voices .text-link{font-size:16px}.access dt,.access dd,details p{font-size:16px;line-height:2}.access dd{min-width:0;overflow-wrap:anywhere}@media(max-width:800px){.header{gap:10px}.header nav{gap:12px}.header .instagram-link{margin-right:-8px}.voices{padding:58px 7%}.interior-figure{margin-top:30px}.access dl>div{grid-template-columns:85px minmax(0,1fr);gap:16px}}@media(max-width:380px){.header nav>a[href="#access"]{display:none}}

/* Keep all header links usable when text is enlarged. */
@media(max-width:1000px) and (min-width:801px){.header{flex-wrap:wrap;gap:16px}.header nav{gap:20px}.header .nav-contact{padding:11px 14px}}
@media(max-width:800px){.header{flex-wrap:wrap}.header nav{flex-wrap:wrap}.header .brand-name{white-space:nowrap}}

/* Intentional hero line breaks and a compact, unified wordmark. */
.hero-copy h1>span{display:block;white-space:nowrap}.hero-copy h1{font-size:clamp(2rem,4.8vw,4.0625rem)}
@media(max-width:800px){.hero-copy h1{font-size:clamp(1.5rem,7.6vw,2.625rem);letter-spacing:.06em;line-height:1.65}.header .brand-name{font-size:clamp(1.125rem,5.6vw,1.625rem);letter-spacing:.08em}}

/* Readable supporting type; original hero, heading sizes and palette retained. */
.header nav{font-size:15px}.welcome-copy p,.faq summary,.faq details p,.access p,.access dt,.access dd{font-size:17px;line-height:1.9}.welcome-copy,.faq details,.access p,.access dl{color:#182523}.welcome-copy p:last-child{margin-bottom:0}.welcome-grid>*,.system-grid>*,.access-grid>*{min-width:0}.system-grid>div>p{font-size:17px;line-height:1.9;color:var(--paper)}
.price-block{padding:0 0 32px;margin-bottom:32px;border-bottom:1px solid #ffffff40}.price-block h3{font-family:'Yu Mincho','Hiragino Mincho ProN',serif;font-size:18px;font-weight:500;line-height:1.8;margin:0 0 12px}.price-block p{margin-bottom:0}.set-duration{font-family:'Yu Mincho','Hiragino Mincho ProN',serif;font-size:42px;line-height:1.5;margin:0 0 18px!important}.set-duration span{font-size:28px;margin-left:8px}.set-prices{display:flex;flex-wrap:wrap;gap:18px 40px}.set-prices p{display:flex;flex-direction:column;gap:4px}.price-label{font-size:17px}.price-block strong{font-family:'Yu Mincho','Hiragino Mincho ProN',serif;font-size:clamp(28px,3vw,40px);font-weight:500;line-height:1.5;white-space:nowrap;font-variant-numeric:tabular-nums}.price-block strong span{font-size:20px;margin-left:4px}.system .system-note{font-size:15px;line-height:1.9;color:var(--paper);padding-top:20px}.payment-info{font-size:17px;line-height:1.9;padding-top:22px}.payment-note{font-size:15px}.system-detail>.text-link{font-size:16px}.price-contact{margin-top:30px}.price-contact p{font-size:16px;line-height:1.9;margin-bottom:20px}.price-contact .button,.access .button,.access .text-link{font-size:16px;line-height:1.8;max-width:100%;gap:16px}.price-contact .button span,.access .button span{flex-shrink:0}
.social-section{padding:80px 8%;border-top:1px solid var(--line)}.social-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.social-panel{min-width:0;padding:0 24px 0 0;border-right:1px solid var(--line)}.social-panel:last-child{border-right:0;padding-right:0}.social-panel .section-label{display:block;margin-bottom:30px}.social-panel h2{margin-bottom:24px}.social-panel p{font-size:17px;line-height:1.9;color:#182523}.social-panel .text-link,.social-link-label{font-size:16px;line-height:1.8}.social-card{display:flex;flex-direction:column;align-items:flex-start}.social-icon{display:flex;align-items:center;min-height:64px;margin:8px 0 28px}.social-link-label{display:inline-block;border-bottom:1px solid;padding-bottom:3px}.social-card:hover .social-link-label,.social-card:hover .social-icon{color:var(--red)}
@media(min-width:1500px){.social-section{padding-left:calc((100vw - 1260px)/2);padding-right:calc((100vw - 1260px)/2)}}
@media(max-width:1100px) and (min-width:801px){.header{flex-wrap:wrap}.system-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:6%}.social-grid{gap:24px}.social-panel{padding-right:16px}}
@media(max-width:800px){.welcome-copy p,.faq summary,.faq details p,.access p,.access dt,.access dd{font-size:17px;line-height:1.9}.social-section{padding:58px 7%}.social-grid{grid-template-columns:minmax(0,1fr);gap:36px}.social-panel{padding:0 0 36px;border-right:0;border-bottom:1px solid var(--line)}.social-panel:last-child{border-bottom:0;padding-bottom:0}.social-panel .section-label{margin-bottom:24px}.social-icon{margin:0 0 20px}.set-prices{gap:18px 32px}.price-block strong{font-size:34px}.system-detail{margin-top:10px}}
@media(max-width:360px){.set-prices{gap:18px 24px}.price-block strong{font-size:28px}.access dl>div{grid-template-columns:minmax(0,1fr);gap:6px}}

/* Verified post images can be inserted in each media wrapper after upload. */
.social-media{display:block;position:relative;width:100%}.social-description{display:block;font-size:17px;line-height:1.9;color:#182523;margin:0 0 24px}.social-card .social-link-label{margin-top:auto}.social-media:has(img){aspect-ratio:4/5;overflow:hidden;margin-bottom:24px;background:transparent}.social-media img{display:block;width:100%;height:100%;object-fit:contain}.social-media:has(img) .social-icon{position:absolute;top:12px;left:12px;min-height:0;margin:0;padding:6px;background:var(--paper);color:var(--ink)}.social-media:has(img) .social-icon svg{width:22px;height:22px}
