/* After-party page: restrained editorial extension of the existing MILK HALL design */
.after-party-page{background:#050403}
.after-party-page .site-header{background:rgba(5,4,3,.93)}

.after-party-hero{position:relative;min-height:72svh;display:grid;align-items:end;overflow:hidden;isolation:isolate;border-bottom:1px solid var(--line-soft)}
.after-party-hero-media{position:absolute;inset:0;z-index:-2;margin:0;background:#080504}
.after-party-hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 48%;filter:saturate(.82) contrast(1.08) brightness(.72)}
.after-party-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(5,4,3,.98) 0%,rgba(5,4,3,.9) 31%,rgba(5,4,3,.5) 59%,rgba(5,4,3,.12) 100%),linear-gradient(0deg,rgba(5,4,3,.68) 0%,transparent 46%)}
.after-party-hero-inner{width:min(calc(100% - 96px),1360px);margin-inline:auto;padding:clamp(112px,13vh,154px) 0 clamp(48px,6vw,72px)}
.after-party-kicker{display:flex;align-items:center;gap:14px;margin:0 0 18px;color:var(--amber);font-family:"Cormorant Garamond",serif;font-size:.8rem;letter-spacing:.22em;text-transform:uppercase}
.after-party-kicker::before{content:"";width:48px;height:1px;background:var(--amber)}
.after-party-title{max-width:980px;margin:0;font-family:"Noto Serif JP",serif;font-weight:500;font-size:clamp(3.4rem,4.8vw,5.8rem);line-height:1.08;letter-spacing:.01em;text-wrap:balance}
.after-party-title .title-accent{color:var(--gold)}
.after-party-lead{max-width:780px;margin-top:24px;color:#e4d4bf;font-size:clamp(.98rem,1.15vw,1.08rem);line-height:1.9}
.after-party-hero .hero-actions{margin-top:28px}
.after-party-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:900px;margin-top:34px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.after-party-facts>div{padding:15px 18px 16px 0}
.after-party-facts>div+div{padding-left:18px;border-left:1px solid var(--line-soft)}
.after-party-facts dt{color:var(--amber);font-family:"Cormorant Garamond",serif;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}
.after-party-facts dd{margin-top:4px;color:var(--text);font-size:.94rem;line-height:1.5;white-space:nowrap}

.party-section{padding:clamp(64px,7vw,96px) clamp(24px,5vw,72px);border-bottom:1px solid var(--line-soft)}
.party-inner{width:min(100%,1280px);margin-inline:auto}
.party-heading{display:grid;grid-template-columns:220px minmax(0,1fr);gap:clamp(28px,4vw,62px);align-items:start;margin-bottom:clamp(28px,4vw,46px)}
.party-heading.compact-heading{margin-bottom:28px}
.party-heading-label{padding-top:7px;color:var(--amber);font-family:"Cormorant Garamond",serif;font-size:.8rem;letter-spacing:.18em;text-transform:uppercase}
.party-heading-main{margin:0;font-family:"Noto Serif JP",serif;font-size:clamp(1.85rem,3vw,3.3rem);font-weight:500;line-height:1.25;letter-spacing:.015em}
.party-copy{max-width:760px;color:var(--muted);font-size:1rem;line-height:1.9}

.party-offer{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:clamp(40px,6vw,88px);align-items:center}
.party-price{padding-left:clamp(22px,3vw,40px);border-left:1px solid var(--amber)}
.party-price small{display:block;color:var(--amber);font-family:"Cormorant Garamond",serif;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase}
.party-price strong{display:block;margin-top:6px;color:var(--gold);font-family:"Cormorant Garamond","Noto Serif JP",serif;font-size:clamp(3rem,5vw,5.2rem);font-weight:500;line-height:1}
.party-price strong span{display:block;margin-top:10px;font-family:"Noto Serif JP",serif;font-size:.28em;color:var(--text);line-height:1.4;white-space:nowrap}
.party-price p{margin-top:12px;color:var(--muted);font-size:.9rem;line-height:1.7}

.occasion-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;margin:0;padding:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.occasion-item{padding:clamp(22px,2.5vw,32px) clamp(16px,2.4vw,28px)}
.occasion-item+li{border-left:1px solid var(--line-soft)}
.occasion-item small{display:block;color:var(--amber);font-family:"Cormorant Garamond",serif;letter-spacing:.14em;text-transform:uppercase}
.occasion-item strong{display:block;margin-top:6px;font-family:"Noto Serif JP",serif;font-size:clamp(1.25rem,1.8vw,1.7rem);font-weight:500}

.party-menu{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.party-menu-block{background:linear-gradient(180deg,#100a07,#080504);padding:clamp(26px,3.4vw,42px)}
.party-menu-block h3{margin:0 0 14px;color:var(--gold);font-family:"Cormorant Garamond","Noto Serif JP",serif;font-size:clamp(1.55rem,2.2vw,2.2rem);font-weight:500}
.party-menu-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line-soft)}
.party-menu-list li{padding:11px 0;border-bottom:1px solid var(--line-soft);color:#ead8bf;line-height:1.65}
.party-menu-note{margin-top:15px;color:var(--muted);font-size:.8rem;line-height:1.65}

.toast-section{display:grid;grid-template-columns:minmax(360px,.9fr) minmax(0,1.1fr);gap:clamp(40px,6vw,84px);align-items:center}
.toast-photo{margin:0;overflow:hidden;border:1px solid var(--line);background:#080504}
.toast-photo img{width:100%;aspect-ratio:16/10;object-fit:cover;filter:saturate(.9) contrast(1.05) brightness(.84)}
.toast-copy .party-heading-main{max-width:700px}
.toast-copy .toast-number{margin:18px 0 10px;color:var(--gold);font-family:"Cormorant Garamond","Noto Serif JP",serif;font-size:clamp(2.8rem,4.3vw,4.5rem);line-height:1;font-weight:500}
.toast-copy .toast-number span{display:block;margin-top:9px;font-family:"Noto Serif JP",serif;font-size:.28em;color:var(--muted);line-height:1.4;white-space:nowrap}
.toast-copy p{color:var(--muted);line-height:1.8}

.party-reservation{background:radial-gradient(circle at 78% 24%,rgba(198,139,67,.12),transparent 30rem),#080504}
.party-reservation-inner{width:min(100%,1100px);margin-inline:auto}
.party-reservation .party-heading-main{margin-top:4px}
.party-reservation .party-copy{margin-top:18px}
.party-reservation .hero-actions{margin-top:26px}
.party-reservation-meta{display:flex;flex-wrap:wrap;gap:10px 26px;margin-top:26px;padding-top:18px;border-top:1px solid var(--line);color:var(--muted);font-size:.84rem}

@media(max-width:1050px){
  .after-party-hero-inner{width:min(calc(100% - 56px),1180px)}
  .after-party-facts{max-width:760px}
  .after-party-facts dd{white-space:normal}
  .party-heading{grid-template-columns:170px minmax(0,1fr);gap:34px}
  .party-offer,.toast-section{grid-template-columns:1fr}
  .party-price{max-width:620px}
  .toast-photo{max-width:760px}
}

@media(max-width:760px){
  .after-party-hero{min-height:auto}
  .after-party-hero::after{background:linear-gradient(0deg,rgba(5,4,3,.98) 0%,rgba(5,4,3,.86) 52%,rgba(5,4,3,.28) 100%)}
  .after-party-hero-media img{object-position:62% center}
  .after-party-hero-inner{width:calc(100% - 32px);padding:clamp(240px,54vh,370px) 0 40px}
  .after-party-kicker{margin-bottom:14px;font-size:.7rem}
  .after-party-kicker::before{width:32px}
  .after-party-title{font-size:clamp(2.55rem,11.8vw,4rem);line-height:1.16}
  .after-party-title .title-prefix,.after-party-title .title-accent{display:block}
  .after-party-lead{margin-top:18px;font-size:.92rem;line-height:1.8}
  .after-party-facts{grid-template-columns:1fr;margin-top:26px}
  .after-party-facts>div{padding:12px 0}
  .after-party-facts>div+div{padding-left:0;border-left:0;border-top:1px solid var(--line-soft)}
  .party-section{padding:54px 16px}
  .party-heading,.party-heading.compact-heading{grid-template-columns:1fr;gap:8px;margin-bottom:26px}
  .party-heading-label{padding-top:0}
  .party-heading-main{font-size:clamp(1.8rem,8vw,2.55rem);line-height:1.3}
  .party-copy{font-size:.93rem;line-height:1.82}
  .occasion-list{grid-template-columns:1fr}
  .occasion-item+li{border-left:0;border-top:1px solid var(--line-soft)}
  .party-menu{grid-template-columns:1fr}
  .party-price{padding-left:18px}
  .party-price strong span,.toast-copy .toast-number span{white-space:normal}
  .toast-photo img{aspect-ratio:16/11}
  .party-reservation-meta{display:grid;gap:7px}
}

@media(max-width:390px){
  .after-party-hero-inner{width:calc(100% - 28px)}
  .after-party-title{font-size:2.6rem}
  .party-heading-main{font-size:2rem}
}
