.opening-page { --opening-ink:#211a15; --opening-paper:#f9f7f2; }
.opening-page .header { margin:0; padding-inline:var(--gutter); height:86px; color:var(--opening-paper); background:var(--opening-ink); }
.opening-page .header .brand img { filter:brightness(0) invert(1); }
.opening-page .desktop-nav { gap:clamp(24px,4vw,60px); }
.opening-page .desktop-nav a:after { background:currentColor; }
.opening-page .counter-hero { isolation:isolate; margin:0; grid-template-columns:minmax(0, 2fr) minmax(0, 3fr); grid-template-rows:1fr auto; align-items:stretch; color:var(--opening-paper); background:var(--opening-ink); }
.opening-page .counter-hero figure { grid-area:1/1/3/3; margin-left:24%; position:relative; }
.opening-page .counter-hero figure::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#211a15 0%,rgba(33,26,21,.91) 9%,transparent 41%),linear-gradient(0deg,rgba(25,18,13,.85),transparent 23%); pointer-events:none; }
.opening-page .counter-hero img { height:clamp(525px,47vw,740px); object-position:55% 52%; }
.opening-page .counter-title { grid-area:1/1; align-self:center; background:none; padding:22px 0 16px var(--gutter); margin:0; }
.opening-page .counter-title h1 { font-family:"Yu Mincho","Hiragino Mincho ProN","MS PMincho",serif; font-size:clamp(40px,4.7vw,74px); font-weight:500; letter-spacing:-.045em; line-height:1.37; white-space:nowrap; }
.opening-page .counter-title p { margin:22px 0 28px; font-size:15px; }
.opening-page .counter-title a { gap:36px; min-height:45px; transition:gap .2s ease; }
.opening-page .counter-title a:hover,.opening-page .counter-title a:focus-visible { gap:44px; }
.opening-page .counter-price { z-index:1; grid-area:2/2; justify-self:end; margin-inline:0 var(--gutter); padding:0 0 20px; gap:12px; }
.opening-page .counter-price strong { margin-left:5px; }
.opening-page .today-strip { margin-top:0; border-top:0; }
@media(max-width:800px) {
  .opening-page .header { height:66px; }
  .opening-page .mobile-nav { background:var(--opening-ink); color:var(--opening-paper); }
  .opening-page .counter-hero { grid-template-columns:1fr; grid-template-rows:auto auto auto; }
  .opening-page .counter-hero figure { grid-area:1/1; margin:0; }
  .opening-page .counter-hero img { height:clamp(285px,43svh,410px); object-position:58% 57%; }
  .opening-page .counter-hero figure::after { background:linear-gradient(0deg,#211a15 0%,transparent 37%); }
  .opening-page .counter-title { grid-area:2/1; display:block; margin-top:-39px; padding:0 var(--gutter) 10px; }
  .opening-page .counter-title h1 { font-size:clamp(30px,9vw,48px); }
  .opening-page .counter-title p { margin:12px 0 5px; font-size:14px; }
  .opening-page .counter-title a { gap:20px; font-size:14px; }
  .opening-page .counter-price { grid-area:3/1; justify-self:stretch; margin:0 var(--gutter); padding:9px 0 12px; border-top:1px solid #ffffff40; }
  .opening-page .counter-price strong { margin-left:auto; }
}
@media(prefers-reduced-motion:reduce) {
  .opening-page .counter-title a { transition:none; }
  .opening-page .counter-title a:hover,.opening-page .counter-title a:focus-visible { gap:36px; }
}

@media(min-width:801px) {
  .opening-page .counter-hero img { height:clamp(470px,calc(100svh - 152px),740px); }
}
.opening-page .counter-hero img { transform:var(--opening-shift,none); }
