/* Page de fusion → grandhotelsoftheworld.com — plein écran, sans défilement */
:root{--ink:#0e1b2a;--gold:#c8a96a;--cream:#f5f1e8;--f-d:"Bodoni Moda","Didot","Bodoni 72",Georgia,serif;--f-t:"Instrument Sans","Helvetica Neue",Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html,body{height:100%;margin:0;overflow:hidden;background:var(--ink)}
body{font-family:var(--f-t);color:var(--cream);-webkit-font-smoothing:antialiased}
a{color:inherit}
.m{position:relative;height:100vh;height:100dvh;width:100vw;display:grid;grid-template-rows:auto 1fr auto;padding:clamp(18px,3.2vw,44px) clamp(20px,5vw,80px);isolation:isolate;overflow:hidden}
.m__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transform:scale(1.04);animation:kb 22s ease-out forwards}
.m::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,rgba(14,27,42,.92) 0%,rgba(14,27,42,.78) 38%,rgba(14,27,42,.25) 75%,rgba(14,27,42,.15) 100%),linear-gradient(0deg,rgba(14,27,42,.75) 0%,rgba(14,27,42,0) 35%)}
@keyframes kb{to{transform:scale(1)}}
.brand{display:inline-flex;flex-direction:column;line-height:1;text-decoration:none;font-family:var(--f-d)}
.brand span{font-size:clamp(20px,2vw,26px)}
.brand em{font-size:clamp(13px,1.2vw,15px);margin-top:2px;opacity:.85}
.m__c{align-self:center;max-width:min(760px,100%);animation:in .9s .15s both}
@keyframes in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.m__eyebrow{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 clamp(14px,2.4vh,24px);font-size:clamp(11px,1vw,13px);letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.m__eyebrow .old{text-decoration:line-through;text-decoration-thickness:1px;opacity:.75}
.m__eyebrow .arrow{opacity:.8}
h1{font-family:var(--f-d);font-weight:400;font-size:clamp(30px,min(5.2vw,8.4vh),74px);line-height:1.06;letter-spacing:-.01em;margin:0}
h1 .m__from{display:block}
h1 em{color:var(--gold)}
.m__lead{font-size:clamp(15px,min(1.35vw,2.3vh),19px);line-height:1.6;max-width:580px;margin:clamp(14px,2.6vh,26px) 0 0;color:rgba(245,241,232,.86)}
.m__cta{display:flex;flex-wrap:wrap;gap:12px;margin:clamp(20px,3.6vh,38px) 0 0}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 26px;border-radius:999px;font-size:15px;font-weight:500;text-decoration:none;transition:background .2s,color .2s,border-color .2s}
.btn--gold{background:var(--gold);color:var(--ink)}
.btn--gold:hover{background:var(--cream)}
.btn--line{border:1px solid rgba(245,241,232,.55)}
.btn--line:hover{background:rgba(245,241,232,.12);border-color:var(--cream)}
.btn:focus-visible,.brand:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.m__foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 24px;font-size:12px;color:rgba(245,241,232,.7)}
.m__foot p{margin:0}
.m__merge span{color:var(--gold);padding:0 4px}
@media (max-width:640px){
  .m::before{background:linear-gradient(0deg,rgba(14,27,42,.96) 0%,rgba(14,27,42,.82) 55%,rgba(14,27,42,.45) 100%)}
  .m__c{align-self:end;padding-bottom:12px}
  .m__cta{flex-direction:column}.btn{width:100%}
  .m__cap{display:none}
}
@media (max-height:560px){.m__lead{display:none}.m__cta{margin-top:16px}}
@media (prefers-reduced-motion:reduce){.m__bg,.m__c{animation:none}}
