.opening{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:center;min-height:clamp(640px,94svh,1120px);overflow:hidden;background:#101014;color:#f5eddf}
.opening-stage{z-index:-2;position:absolute;inset:0;background:url('/hero-paris.webp') center 62%/cover}
.opening-stage video{width:100%;height:100%;object-fit:cover;object-position:center 62%;display:block}
.opening:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,#09090bb3,transparent 46%,transparent 62%,#060608e6)}
.opening .nav{height:68px;gap:26px;border-bottom:1px solid #dfc99f45}
.opening .nav nav{margin-right:auto}.opening .nav-cta{display:none}.opening .language-switch{border:0;background:transparent}.opening .language-switch a[aria-current]{background:transparent}
.signature{width:clamp(160px,17vw,235px);margin:clamp(15px,3svh,38px) auto 0}.signature img{width:100%;height:auto;display:block;filter:brightness(0) saturate(100%) invert(88%) sepia(26%) saturate(520%) hue-rotate(344deg)}
.opening-bottom{margin-top:auto;padding-block:30px;display:flex;align-items:end;justify-content:space-between;gap:20px}.opening-bottom h1{font:400 clamp(36px,4.6vw,76px)/1.08 "Cormorant Garamond",Georgia,serif;margin:0}.opening-bottom>div{display:flex;align-items:center;gap:24px}.opening-bottom a{font:500 11px/1.4 Jost,sans-serif;letter-spacing:.12em;text-transform:uppercase;padding:12px 0}.opening-bottom .cover-enquiry{border:1px solid #d8c29a;padding:12px 18px}
@media(max-width:800px){.opening{min-height:clamp(580px,89svh,850px)}.opening .nav{height:54px;justify-content:flex-end}.opening .nav nav{display:flex}.opening .nav nav a:not(:first-child){display:none}.opening-stage{inset:27% 0 10%;background-image:url('/hero-paris-m.webp');background-position:75% center}.opening-stage video{object-position:80% center}.opening:after{background:linear-gradient(to bottom,#101014 22%,transparent 48%,transparent 67%,#101014 91%)}.signature{width:clamp(138px,39vw,190px);margin-top:14px}.opening-bottom{align-items:start;flex-direction:column;gap:13px;padding-block:22px}.opening-bottom h1{font-size:clamp(32px,8.5vw,56px)}}
@media(prefers-reduced-motion:no-preference){.sc-ready [data-sc-in]{transition:opacity .65s ease,transform .65s ease}.sc-ready [data-sc-in]:not(.sc-in){opacity:0;transform:translateY(12px)}}

/* The cabin's warm light expands across the photograph as the reader scrolls. */
.opening{--ivory:#f4efe7;--reveal:0;background:#101014}
.opening-stage{overflow:hidden}
.cabin-light{pointer-events:none;position:absolute;inset:0;background:radial-gradient(ellipse at 62% 60%,#f8dfb3 0%,var(--ivory) 60%);opacity:var(--reveal);mask-image:radial-gradient(ellipse at 62% 60%,#000 0%,#000 calc(var(--reveal)*145%),transparent calc(28% + var(--reveal)*145%))}
.opening:after{background:linear-gradient(180deg,#09090b8c,transparent 47%,transparent 63%,#08090bb8);opacity:calc(1 - var(--reveal))}
.opening-bottom{position:relative;isolation:isolate;align-items:center;padding-block:clamp(20px,3vw,42px);gap:1.5rem}
.opening-bottom:before{content:"";position:absolute;inset:0 -100vw;z-index:-1;background:var(--ivory)}
.opening-bottom h1{color:#27221c;font-size:clamp(34px,3.8vw,62px);max-width:19ch;text-wrap:balance}
.opening-bottom a{color:#332b20}
.opening-bottom .cover-enquiry{background:#25211e;color:#f4efe7;border-color:#25211e}
.opening .signature{border:0;padding:0}
@media(max-width:800px){
 .opening{min-height:0;display:grid;grid-template-columns:100%;grid-template-rows:56px clamp(96px,17svh,149px) clamp(245px,78vw,465px) auto}
 .opening .nav{grid-row:1;height:56px}
 .opening .signature{grid-row:2;z-index:1;align-self:center;width:clamp(100px,25vw,142px);margin:0 auto}
 .opening-stage{grid-row:2/4;position:relative;inset:auto;grid-column:1;z-index:-2;height:100%;background-image:url('/hero-paris.webp');background-position:69% bottom;background-size:auto 77%;background-repeat:no-repeat}
 .opening-stage video{position:absolute;bottom:0;height:77%;width:100%;object-fit:cover;object-position:69% center}
 .opening:after{grid-row:2/4;grid-column:1;position:relative;inset:auto;pointer-events:none;background:linear-gradient(180deg,#101014 0%,#101014 16%,transparent 44%,transparent 97%,#10101433)}
 .opening-bottom{grid-row:4;grid-column:1;align-items:flex-start;gap:16px;padding-block:24px}
 .opening-bottom h1{font-size:clamp(34px,8.8vw,52px);line-height:1.02;max-width:19ch}
 .opening-bottom>div{gap:18px;flex-wrap:wrap}
}
@media(max-width:800px){.opening .signature,.opening .nav{grid-column:1}}

@media (min-width: 801px) {
  .opening {
    display: grid;
    grid-template-columns: 100%;
    grid-template-rows: min(56.25vw, max(320px, calc(100svh - 90px))) auto;
    min-height: 0;
    align-items: stretch;
  }
  .opening-stage, .opening::after, .opening .nav, .opening .signature {
    grid-area: 1 / 1;
  }
  .opening-stage {
    position: relative;
    inset: auto;
    background: #101014 url('/hero-paris.webp') center / contain no-repeat;
  }
  .opening-stage video { object-fit: contain; object-position: center; }
  .opening::after { position: relative; inset: auto; pointer-events: none; }
  .opening .nav { align-self: start; justify-self: center; height: clamp(44px, 7svh, 64px); }
  .opening .signature {
    align-self: start;
    justify-self: center;
    width: clamp(94px, 18svh, 175px);
    margin: clamp(54px, 8svh, 78px) 0 0 !important;
  }
  .opening-bottom {
    grid-area: 2 / 1;
    justify-self: center;
    margin-block: 0;
    padding-block: clamp(14px, 2.2svh, 24px);
  }
  .opening-bottom h1 { max-width: none; font-size: clamp(29px, 3vw, 47px); }
  .opening-bottom > div { flex-shrink: 0; }
}
