:root{--ivory:#f4efe7;--paper:#fbf8f3;--ink:#282225;--muted:#74696c;--plum:#4b243b;--gold:#9b7a47;--line:#d8cdbf}
html,body{max-width:100%;overflow-x:clip}body{letter-spacing:.015em;background:#f4efe7}
.header{min-height:88px;padding-inline:max(28px,6vw);border-bottom:1px solid rgba(75,36,59,.11);background:rgba(250,247,241,.94)}
.logo{font-size:1.12rem;letter-spacing:.22em}.header nav{gap:2.4rem}.header nav a{position:relative;font-size:.82rem;letter-spacing:.08em}.header nav a:not(.reserve):after{position:absolute;right:0;bottom:-8px;left:0;height:1px;content:"";background:var(--gold);transform:scaleX(0);transition:transform .2s}.header nav a:hover:after{transform:scaleX(1)}
.header .reserve,.button{min-height:48px;padding:.72rem 1.6rem;border:1px solid var(--plum);border-radius:0;letter-spacing:.08em;box-shadow:none}
.home-hero{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);min-height:750px;background:#f8f4ed}
.home-hero-image{position:relative;order:2;overflow:hidden}.home-hero-image:after{position:absolute;inset:0;content:"";background:rgba(42,23,34,.12)}
.home-hero-image img{width:100%;height:100%;object-position:58% center;filter:saturate(.7) contrast(.96)}
.home-hero-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(4rem,8vw,9rem)}
.home-hero-copy:before{width:42px;height:1px;margin-bottom:2rem;content:"";background:var(--gold)}
.home-hero-copy h1{margin:.3em 0;font:400 clamp(3rem,5.6vw,6rem)/1.3 Georgia,"Yu Mincho",serif;color:var(--plum);letter-spacing:.07em}
.home-hero-copy>p:not(.eyebrow){max-width:510px;color:#665c60;font-size:.95rem;line-height:2.1}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1.8rem;margin-top:2rem}.hero-actions>a:not(.button){color:var(--plum);font-size:.85rem;text-decoration-color:rgba(75,36,59,.35);text-underline-offset:5px}
.offer{display:grid;grid-template-columns:1fr auto;align-items:center;gap:3rem;padding:2.6rem max(30px,calc((100% - 1160px)/2));color:#f7eff2;background:#4b243b}
.offer h2{margin:.15rem 0;font:400 1.75rem/1.5 Georgia,"Yu Mincho",serif;letter-spacing:.05em}.offer p{max-width:760px;margin:.35rem 0;color:#d9cdd2}.offer a{font-size:.83rem;text-underline-offset:5px}
.section{padding-block:7.5rem}.section-title{margin-bottom:3.6rem;text-align:center}.section-title:after{display:block;width:34px;height:1px;margin:1.7rem auto 0;content:"";background:var(--gold)}
.section-title h2,.intro h2,.home-reserve h2{margin:.12em 0;font:400 clamp(2.25rem,4.8vw,3.8rem)/1.35 Georgia,"Yu Mincho",serif;color:var(--plum);letter-spacing:.09em}.section-title>p:last-child{color:var(--muted)}
.eyebrow{font-size:.66rem;letter-spacing:.34em}.grid{gap:34px}.cast,.diary{background:transparent}.cast a,.diary a{display:block}.cast img{aspect-ratio:4/5;filter:saturate(.78)}.cast div,.diary div{padding:1.25rem .15rem}.cast h2,.diary h2{font-size:1.4rem;letter-spacing:.05em}.cast small,.diary small{color:var(--gold);font-family:Georgia,serif;letter-spacing:.14em}.cast p,.diary p{font-size:.84rem}.diary-card-image{filter:saturate(.72)}
.more{margin-top:3rem;text-align:center}.more>a:not(.button){color:var(--plum);font-size:.84rem;text-underline-offset:6px}
.home-wide{width:100%}.tint{background:#eae1d7}.paper{background:#fbf8f3}
.schedule{max-width:900px;margin-inline:auto;gap:0}.schedule>div,.schedule>a{min-height:72px;padding:1.2rem 1.5rem;border:0;border-bottom:1px solid rgba(75,36,59,.16);background:transparent}.schedule>a:hover{background:rgba(255,255,255,.38)}.schedule em{font-size:.8rem;letter-spacing:.08em}
.intro{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(3rem,9vw,8rem)}.intro>div{padding-left:clamp(0px,4vw,50px)}.intro>div>p:not(.eyebrow){max-width:470px;color:var(--muted);line-height:2.2}.intro img{width:100%;aspect-ratio:1.25;filter:saturate(.62) sepia(.08)}
.home-prices{max-width:800px;margin:auto}.home-prices>div{display:flex;justify-content:space-between;gap:1rem;padding:1.35rem .3rem;border-bottom:1px solid var(--line)}.home-prices strong{color:var(--plum);font-family:Georgia,"Yu Mincho",serif;font-size:1.1rem;font-weight:400}
.home-reserve{padding:8rem 24px;text-align:center;color:#e9dde2;background:#302029}.home-reserve h2{color:#fff}.home-reserve .button{margin-top:1.8rem;border-color:#d8c2cc;background:transparent;color:#fff}.home-reserve .button:hover{background:#fff;color:var(--plum)}
footer{padding-block:5rem;background:#251920}footer .logo{color:#d7bdc8}
@media(max-width:760px){.header{min-height:68px;padding-inline:18px}.header nav{top:68px}.home-hero{grid-template-columns:1fr;min-height:0}.home-hero-image{order:0;height:44vh;min-height:320px}.home-hero-copy{padding:3.7rem 24px 4.2rem}.home-hero-copy:before{margin-bottom:1.4rem}.home-hero-copy h1{font-size:clamp(2.6rem,12.5vw,4.1rem)}.home-hero-copy>p:not(.eyebrow){font-size:.9rem}.offer{grid-template-columns:1fr;gap:1rem;padding-block:2.2rem}.section{padding-block:5rem}.section-title{margin-bottom:2.6rem}.casts,.diaries{gap:26px}.intro{grid-template-columns:1fr;gap:2.5rem}.intro img{order:-1}.intro>div{padding:0 10px}.home-reserve{padding:5.5rem 22px}}
@media(prefers-reduced-motion:reduce){.header nav a:after{transition:none}}

/* Editorial actions: quiet typography and fine rules instead of filled boxes. */
.button,.header .reserve{position:relative;gap:.85rem;min-height:0;padding:.8rem .1rem .7rem;border:0;border-bottom:1px solid currentColor;border-radius:0;color:var(--plum);background:transparent;font-family:inherit;font-size:.78rem;font-weight:600;letter-spacing:.13em;box-shadow:none}
.button:after,.header .reserve:after,.quiet-link:after{content:"↗";font-family:Georgia,serif;font-size:.9rem;font-weight:400;transition:transform .25s ease}
.button:hover,.header .reserve:hover{color:var(--gold);background:transparent}.button:hover:after,.header .reserve:hover:after,.quiet-link:hover:after{transform:translate(3px,-2px)}
.hero-actions .button{padding-inline:0}.quiet-link{display:inline-flex;align-items:center;gap:.7rem;color:var(--plum);font-size:.78rem;font-weight:600;letter-spacing:.1em;text-decoration:none;border-bottom:1px solid rgba(75,36,59,.35);padding-bottom:.7rem}
.more .button{color:var(--plum)}
.home-reserve .button{color:#f5eaf0;border:0;border-bottom:1px solid rgba(245,234,240,.72);background:transparent}.home-reserve .button:hover{color:#d2aa7a;background:transparent}
.line-button{color:#385c48;border-bottom-color:#385c48}

/* Entry and scroll motion. Content remains readable without JavaScript. */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .85s cubic-bezier(.2,.65,.3,1),transform .85s cubic-bezier(.2,.65,.3,1);transition-delay:var(--reveal-delay,0ms);will-change:opacity,transform}
.reveal.home-hero-image{transform:scale(1.025);transition-duration:1.25s}.reveal.is-visible{opacity:1;transform:none}
.cast img,.diary-card-image,.intro img{transition:transform .7s cubic-bezier(.2,.65,.3,1),filter .7s ease}.cast a:hover img,.diary a:hover .diary-card-image,.intro:hover img{transform:scale(1.018);filter:saturate(.86)}
@keyframes hero-copy-after-scroll{from{opacity:0;transform:translateY(36px)}to{opacity:1;transform:none}}
@supports(animation-timeline:scroll()){
  @media(max-width:760px) and (prefers-reduced-motion:no-preference){.home-hero-copy.reveal{opacity:0;transform:translateY(36px);animation:hero-copy-after-scroll linear both;animation-timeline:scroll(root block);animation-range:32px 190px}}
}

@media(max-width:760px){
  .header .reserve{padding:.75rem 0}.hero-actions{align-items:flex-start;flex-direction:column;gap:1.2rem}.hero-actions .button,.hero-actions .quiet-link{width:auto}
  .sticky{right:0;left:0;width:auto;min-height:64px;padding:8px 12px;border-top:1px solid rgba(75,36,59,.18);background:rgba(248,244,237,.94);backdrop-filter:blur(14px);box-shadow:0 -10px 32px rgba(50,31,42,.08)}
  .sticky a{position:relative;color:var(--plum);background:transparent!important;font-size:.74rem;font-weight:600;letter-spacing:.09em}
  .sticky a+a:before{position:absolute;top:8px;bottom:8px;left:0;width:1px;content:"";background:rgba(75,36,59,.2)}
  .sticky .line{color:var(--plum)}
  .schedule>a,.schedule>div{padding-inline:.4rem}.home-hero-copy{padding-bottom:5rem}
}

/* Brand asset, navigation icon, pickup mark, and restrained event treatment. */
.brand-logo{display:block;width:58px;height:58px;overflow:hidden;border-radius:50%;flex:0 0 auto}
.brand-logo img,.footer-brand-logo img{width:100%;height:100%;object-fit:cover}
.footer-brand-logo{display:block;width:112px;height:112px;overflow:hidden;border-radius:50%}
.brand{display:flex;align-items:center;gap:.7rem;color:var(--plum);text-decoration:none}.brand>img{width:50px;height:50px;flex:0 0 auto;object-fit:contain;background:transparent}.brand-wordmark{font:1.02rem/1 var(--font-en-serif);letter-spacing:.18em;text-transform:uppercase;white-space:nowrap}.brand-wordmark b{font-weight:400;font-style:italic}.brand-wordmark small{display:block;margin-top:.28rem;font:500 .48rem/1 var(--font-jp-sans);letter-spacing:.28em}.footer-brand{display:flex;align-items:center;gap:1rem;color:#eee5e8;text-decoration:none}.footer-brand img{width:76px;height:76px;object-fit:contain;background:transparent}.footer-brand span{font:1.05rem/1 var(--font-en-serif);letter-spacing:.16em;text-transform:uppercase}
.menu-toggle{position:relative;width:46px;height:46px;padding:0;border:0;background:transparent}
.menu-toggle span{position:absolute;left:10px;width:26px;height:1px;background:var(--plum);transition:transform .32s cubic-bezier(.2,.7,.2,1),top .32s cubic-bezier(.2,.7,.2,1),opacity .2s}
.menu-toggle span:nth-child(1){top:14px}.menu-toggle span:nth-child(2){top:22px}.menu-toggle span:nth-child(3){top:30px}
.menu-toggle.is-open span:nth-child(1){top:22px;transform:rotate(45deg)}.menu-toggle.is-open span:nth-child(2){opacity:0}.menu-toggle.is-open span:nth-child(3){top:22px;transform:rotate(-45deg)}
.pickup-label{position:absolute;z-index:4;top:1.35rem;right:1.35rem;padding:.48rem .68rem;border:1px solid rgba(255,255,255,.78);color:#fff;background:rgba(37,24,31,.64);font:600 .62rem/1 var(--font-en-serif);letter-spacing:.2em;backdrop-filter:blur(5px)}
.hero-monogram img{width:min(420px,72%);height:auto}
.home-reserve h2 span{display:block}
.offer{color:var(--ink);background:#eee5dc;border-block:1px solid var(--line);font-family:var(--font-jp-sans);font-variant-numeric:tabular-nums}
.offer h2{color:var(--plum);font-family:var(--font-jp-serif);letter-spacing:.025em}.offer p{color:var(--muted)}.offer a{color:var(--plum)}
.event-title-part{display:block;text-wrap:balance}.event-title-offer{margin-top:.08em;white-space:nowrap;font-variant-numeric:tabular-nums}
.event-strip{position:relative;overflow:hidden}.event-carousel{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}.event-carousel::-webkit-scrollbar,.cast-carousel::-webkit-scrollbar{display:none}.event-carousel .offer{flex:0 0 100%;scroll-snap-align:start;scroll-snap-stop:always}
.cast-carousel{display:flex;gap:34px;overflow-x:auto;padding:0 1px 12px;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}.cast-carousel .cast{flex:0 0 calc((100% - 68px)/3);scroll-snap-align:start;scroll-snap-stop:always}.cast-carousel .cast img{width:100%;height:clamp(260px,28vw,360px);aspect-ratio:auto;object-fit:cover}
.diary-carousel{display:flex;gap:34px;overflow-x:auto;padding:0 1px 12px;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}.diary-carousel::-webkit-scrollbar{display:none}.diary-carousel .diary{flex:0 0 calc((100% - 68px)/3);scroll-snap-align:start;scroll-snap-stop:always}.diary-carousel .diary-card-image{width:100%;height:clamp(260px,28vw,360px);aspect-ratio:auto;object-fit:cover}.diary-carousel .diary-card-title{padding-top:.85rem}.diary-carousel .diary h2{margin:0;font-size:1.18rem}
@media(min-width:761px){.menu-toggle{display:none}}
@media(max-width:760px){
  .brand-logo{width:48px;height:48px}
  .header{min-height:64px}.header nav{top:64px}
  .pickup-label{top:.85rem;right:.85rem;padding:.44rem .56rem;font-size:.58rem}
  .footer-brand-logo{width:92px;height:92px}
  .brand{gap:.48rem}.brand>img{width:42px;height:42px}.brand-wordmark{font-size:.83rem;letter-spacing:.13em}.brand-wordmark small{font-size:.4rem;letter-spacing:.2em}
  .footer-brand img{width:64px;height:64px}
  .home-reserve h2 span{white-space:nowrap}
  .offer h2{font-size:clamp(1.18rem,5vw,1.42rem);line-height:1.55}
  .offer{padding-inline:22px}.cast-carousel{gap:16px;margin-right:-20px;padding-right:20px}.cast-carousel .cast{flex-basis:min(58vw,230px)}.cast-carousel .cast img{width:100%;height:min(58vw,230px);aspect-ratio:auto;object-fit:cover}.cast-carousel .cast div{padding-top:.85rem}
  .diary-carousel{gap:16px;margin-right:-20px;padding-right:20px}.diary-carousel .diary{flex:0 0 min(58vw,230px)}.diary-carousel .diary-card-image{width:100%;height:min(58vw,230px);aspect-ratio:auto;object-fit:cover}.diary-carousel .diary-card-title{padding-top:.75rem}.diary-carousel .diary h2{font-size:1.12rem;line-height:1.5}
}
@media(prefers-reduced-motion:reduce){.menu-toggle span{transition:none}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.cast img,.diary-card-image,.intro img{transition:none}}

/* The service is women-focused adult companionship, not a spa. */
.home-hero{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);background:#efe7df}
.home-hero-portraits{position:relative;order:2;display:grid;grid-template-columns:1.08fr .92fr;gap:1px;min-width:0;background:rgba(75,36,59,.16)}
.hero-portrait{position:relative;overflow:hidden;min-width:0;color:#fff;background:#34262d;text-decoration:none}
.hero-portrait img{width:100%;height:100%;object-position:center top;filter:saturate(.72) contrast(.97);transition:filter .7s ease,transform 1s cubic-bezier(.2,.65,.3,1)}
.hero-portrait:after{position:absolute;inset:45% 0 0;content:"";background:linear-gradient(to bottom,transparent,rgba(24,14,19,.72));pointer-events:none}
.hero-portrait span{position:absolute;z-index:2;right:1.4rem;bottom:1.4rem;left:1.4rem;font:400 1.05rem Georgia,"Yu Mincho",serif;letter-spacing:.13em}.hero-portrait span small{display:block;margin-top:.15rem;font:.55rem sans-serif;letter-spacing:.25em;opacity:.76}
.hero-portrait:hover img{transform:scale(1.02);filter:saturate(.86)}
.hero-monogram{display:grid;grid-column:1/-1;place-items:center;color:#c6a879;background:#34262d;font:italic 9rem Georgia,serif;letter-spacing:-.08em}
.home-hero-copy{order:1;background:#f8f3ec}.home-hero-copy h1{font-size:clamp(3rem,5.2vw,5.5rem)}
.intro{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.intro-heading{padding-right:clamp(0px,5vw,70px)}.intro-points{margin:0;padding:0;list-style:none}
.intro-points li{display:grid;grid-template-columns:55px 1fr;gap:1.25rem;padding:1.7rem 0;border-bottom:1px solid var(--line)}.intro-points li:last-child{border-bottom:0}.intro-points li>span{color:var(--gold);font:italic 1rem Georgia,serif}.intro-points strong{color:var(--plum);font:400 1.2rem Georgia,"Yu Mincho",serif;letter-spacing:.06em}.intro-points p{margin:.35rem 0 0;color:var(--muted);font-size:.87rem}
@media(max-width:760px){.home-hero{grid-template-columns:1fr}.home-hero-portraits{order:0;grid-template-columns:1fr;height:48vh;min-height:360px}.hero-portrait-2{display:none}.home-hero-copy{order:1}.home-hero-copy h1{font-size:clamp(2.25rem,10.5vw,3.2rem);line-height:1.42;letter-spacing:.045em}.hero-portrait span{right:1rem;bottom:1rem;left:1rem}.intro{grid-template-columns:1fr}.intro-heading{padding:0}.intro-points{margin-top:1rem}}

/* Typography and crop discipline. Japanese and Latin type are intentionally separated. */
:root{--font-jp-serif:"Yu Mincho","YuMincho","Hiragino Mincho ProN","Noto Serif JP",serif;--font-jp-sans:"Yu Gothic","YuGothic","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;--font-en-serif:Georgia,"Times New Roman",serif}
body{font-family:var(--font-jp-sans);font-size:16px;font-kerning:normal;font-feature-settings:"palt" 1;line-break:strict}
:where(h1,h2,h3,h4,p,li,dt,dd,summary,a,button,strong,span){word-break:auto-phrase;line-break:strict;overflow-wrap:normal;text-wrap:pretty}
h1,h2,h3,.section-title h2,.intro h2,.home-reserve h2,.cast h2,.diary h2,.profile h1,.article h1,.section>h2{font-family:var(--font-jp-serif);font-weight:400;letter-spacing:.025em;text-wrap:pretty;word-break:normal}
.logo,.eyebrow,.cast small,.diary small,.hero-portrait span small{font-family:var(--font-en-serif);font-feature-settings:normal}
.home-hero-copy h1{font-family:var(--font-jp-serif);font-size:clamp(3rem,4.8vw,5.1rem);line-height:1.34;letter-spacing:.025em}
.home-hero-copy h1 span{display:block;white-space:nowrap}
.home-hero-copy>p:not(.eyebrow){font-size:1rem;line-height:2;letter-spacing:.015em;text-wrap:pretty}
.section-title h2,.intro h2,.home-reserve h2{letter-spacing:.035em}
.section-title>p:last-child{max-width:38rem;margin-inline:auto;line-height:1.9;text-wrap:pretty}
.cast h2,.diary h2{line-height:1.55;letter-spacing:.02em}

.hero-portrait img{object-position:50% 18%;filter:saturate(.82) contrast(.98)}
.hero-portrait:after{display:none}
.hero-portrait span{right:auto;bottom:1rem;left:1rem;width:auto;padding:.62rem .78rem;color:#fff;background:rgba(37,24,31,.78);font-family:var(--font-jp-serif);font-size:1rem;line-height:1.35;letter-spacing:.04em;backdrop-filter:blur(5px)}
.cast img{object-position:50% 18%;background:#e8dfd7;filter:saturate(.84) contrast(.98)}
.diary-card-image{object-position:center;background:#e8dfd7;filter:saturate(.82) contrast(.98)}
.diary-card-media{position:relative;overflow:hidden;background:#171315}.diary-card-media>.diary-card-image{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.diary-card-meta{position:absolute;right:0;bottom:0;left:0;display:flex;align-items:center;gap:.7rem;padding:.55rem .7rem!important;color:#fff;background:rgba(16,12,14,.72);backdrop-filter:blur(5px)}.diary-card-meta>.diary-card-avatar{width:44px!important;height:44px!important;flex:0 0 44px;border:1px solid rgba(255,255,255,.7);border-radius:50%;aspect-ratio:1!important;object-fit:cover;filter:none}.diary-card-meta span{display:grid;min-width:0;line-height:1.25}.diary-card-meta time{font-family:var(--font-en-serif);font-size:.72rem;letter-spacing:.05em}.diary-card-meta b{margin-top:.18rem;overflow:hidden;font-size:.82rem;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.diary-card-title{padding:1rem .1rem 0!important}.diary-card-title h2{margin:0}
.diary-card-media{padding:0!important}
.article>img{height:auto;max-height:none;object-fit:contain;background:#eee6de}
.diary-detail{max-width:1040px;padding-top:3rem}.diary-media{position:relative;display:grid;height:clamp(600px,78vh,920px);place-items:start center;overflow:hidden;background:#050505}.diary-main-image{width:100%;height:100%;object-fit:contain;object-position:center top;background:#050505}.diary-author{position:absolute;z-index:2;top:18px;left:18px;display:flex;align-items:center;gap:.8rem;padding:7px 14px 7px 7px;color:#fff;background:rgba(5,5,5,.66);text-decoration:none;backdrop-filter:blur(8px)}.diary-author img{width:58px;height:58px;border:2px solid rgba(255,255,255,.88);border-radius:50%;object-fit:cover}.diary-author span{font-family:var(--font-jp-serif);font-size:1.05rem;letter-spacing:.06em}.diary-content{max-width:820px;margin:0 auto;padding:3.2rem 0 1rem}.diary-content h1{margin:0 0 2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--line);color:var(--plum);font-family:var(--font-jp-serif);font-size:clamp(2rem,5vw,3.5rem);font-weight:400;line-height:1.45;letter-spacing:.025em}.diary-content .prose{margin:0;font-size:1rem;line-height:2.05}

/* Keep currency signs, dates and standalone numeric data in one Japanese serif family. */
time,.home-prices strong,.prices strong,.schedule span,.days h2,.diary-card-meta time,.event-title-offer,.cast p,.profile .lead{font-family:var(--font-jp-serif);font-variant-numeric:tabular-nums;font-feature-settings:"palt" 0;letter-spacing:.02em}

.button,.quiet-link,.header .reserve{min-height:44px;align-items:center;font-size:.84rem;line-height:1.45;letter-spacing:.06em}
.hero-actions{gap:1.5rem 2rem}

@media(max-width:760px){
  body{font-size:15px;line-height:1.8}
  .home-hero-portraits{height:min(112vw,500px);min-height:350px}
  .hero-portrait img{object-position:50% 16%}
  .home-hero-copy{padding:3.25rem 22px 4.5rem}
  .home-hero-copy h1{font-size:clamp(2.25rem,10vw,2.8rem);line-height:1.42;letter-spacing:.015em}
  .home-hero-copy h1 span{white-space:normal}
  .home-hero-copy>p:not(.eyebrow){font-size:.94rem;line-height:1.95}
  .eyebrow{font-size:.63rem;letter-spacing:.24em}
  .section{width:min(100% - 40px,1120px);padding-block:4.5rem}
  .section-title{margin-bottom:2.4rem;text-align:left}
  .section-title:after{margin-left:0}
  .section-title h2,.intro h2,.home-reserve h2{font-size:clamp(2rem,9vw,2.65rem);line-height:1.42;letter-spacing:.025em}
  .button,.quiet-link,.header .reserve{min-height:44px;font-size:.86rem}
  .hero-actions{gap:.8rem}
  .hero-actions .button,.hero-actions .quiet-link{display:flex;width:100%;justify-content:space-between;padding:.72rem 0}
  .cast div,.diary div{padding:1.1rem 0 0}
  .cast h2,.diary h2{font-size:1.25rem}
  .sticky a{min-height:48px;font-size:.79rem;letter-spacing:.04em}
  .intro-points li{grid-template-columns:42px 1fr;gap:.8rem}
  .diary-detail{width:100%;padding-top:0}.diary-media{height:clamp(520px,72svh,760px)}.diary-author{top:12px;left:12px;gap:.65rem;padding:6px 12px 6px 6px}.diary-author img{width:48px;height:48px}.diary-author span{font-size:.95rem}.diary-content{width:calc(100% - 40px);padding:2.2rem 0 .5rem}.diary-content h1{margin-bottom:1.5rem;font-size:clamp(1.8rem,8vw,2.35rem)}.diary-content .prose{font-size:.95rem;line-height:2}
  .home-reserve{padding:3.6rem 20px 4rem}.home-reserve .eyebrow{margin-bottom:.7rem}.home-reserve h2{font-size:clamp(1.75rem,7.5vw,2.15rem);line-height:1.45}.home-reserve>p:not(.eyebrow){max-width:19rem;margin:1rem auto 0;font-size:.86rem;line-height:1.8}.home-reserve .button{margin-top:1.25rem;font-size:.76rem}
  footer{gap:1.8rem;padding:2.6rem 24px 3rem;font-size:.84rem;line-height:1.65}footer .footer-brand{gap:.7rem}footer .footer-brand img{width:48px;height:48px}footer .footer-brand span{font-size:.9rem;letter-spacing:.13em}footer>div>p{margin:.75rem 0 0;font-size:.76rem}footer nav{gap:.45rem 1.5rem}footer nav a{font-size:.82rem}
}
