:root{
  --blue-deep:#061338;
  --blue-royal:#081D4A;
  --blue-royal-2:#0A255F;
  --gold:#d4a143;
  --gold2:#f0d27d;
  --ivory:#f8f2e9;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:#061338;color:var(--ivory)}
body{font-family:Georgia,'Times New Roman',serif;overflow-x:hidden}
.invitation{
  min-height:100vh;
  position:relative;
  overflow:hidden;
  background:#061338;
  border:1px solid rgba(212,161,67,.82);
  isolation:isolate;
}
.invitation:before{content:"";position:absolute;inset:22px;border:1px solid rgba(212,161,67,.36);z-index:30;pointer-events:none}

/* VIDEO : plein écran, la couche bleue vient ensuite se fondre dessus */
.video-panel{position:absolute;inset:0;z-index:0;overflow:hidden;background:#061338}
.video-panel video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:100% center}
.video-back{z-index:0;filter:saturate(.92) contrast(1.04) brightness(.82);transform:none}.video-main{z-index:1;filter:saturate(1.06) contrast(1.08) brightness(1.02);transform:transform:none;transform-origin:100% 50%;box-shadow:0 0 90px rgba(6,19,56,.34);backface-visibility:hidden;will-change:transform}
.video-tint{position:absolute;inset:0;z-index:2;pointer-events:none;background:
  linear-gradient(90deg,rgba(6,18,49,.96) 0%,rgba(6,18,49,.82) 23%,rgba(6,18,49,.50) 43%,rgba(6,18,49,.18) 64%,rgba(6,18,49,.03) 100%),
  radial-gradient(circle at 72% 58%,rgba(240,210,125,.10),transparent 34%),
  linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.03) 48%,rgba(0,0,0,.18));
}
.video-panel:before{display:none}
.video-panel:after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;background:radial-gradient(circle at 26% 10%,rgba(61,104,194,.12),transparent 32%)}
.video-fade{display:none}
.gold-lines{display:none}

/* PANNEAU TEXTE : plus de découpe dure, seulement un fondu long et organique */
.content{
  position:relative;
  z-index:5;
  width:57%;
  min-height:100vh;
  padding:3.35vh 4.1vw 8vh 3.25vw;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  background:
    radial-gradient(circle at 34% 9%,rgba(53,92,182,.16),transparent 31%),
    radial-gradient(circle at 45% 66%,rgba(9,37,91,.18),transparent 49%),
    linear-gradient(90deg,
      rgba(5,15,43,1) 0%,
      rgba(7,24,61,1) 45%,
      rgba(8,29,74,.98) 63%,
      rgba(8,29,74,.78) 78%,
      rgba(8,29,74,.32) 91%,
      rgba(8,29,74,0) 100%);
  box-shadow:none;
}

/* Rappel de charte : fragments sobres inspirés du logo, en filigrane */
.content:before{
  content:"";
  position:absolute;
  right:1.5%;top:10%;width:31%;height:76%;
  z-index:1;pointer-events:none;opacity:.30;
  background:
    linear-gradient(58deg,transparent 0 40%,rgba(240,210,125,.58) 40.25% 40.55%,transparent 40.8% 100%),
    linear-gradient(122deg,transparent 0 54%,rgba(212,161,67,.52) 54.2% 54.55%,transparent 54.85% 100%),
    linear-gradient(58deg,transparent 0 68%,rgba(240,210,125,.42) 68.15% 68.45%,transparent 68.75% 100%);
  filter:drop-shadow(0 0 10px rgba(240,210,125,.10));
}
.content:after{
  content:"";
  position:absolute;
  top:-12%;left:8%;width:58%;height:34%;
  z-index:0;pointer-events:none;
  background:radial-gradient(circle,rgba(72,115,216,.16) 0%,rgba(72,115,216,.07) 42%,transparent 72%);
}
.content>*{position:relative;z-index:3}
.brand{width:min(330px,42vw);height:auto;margin:0 0 1.2vh;filter:drop-shadow(0 12px 18px rgba(0,0,0,.26)) drop-shadow(0 0 18px rgba(212,161,67,.08))}
.partner{letter-spacing:.17em;font-size:clamp(11px,1vw,15px);line-height:1.55;color:#fff;text-transform:uppercase;margin-bottom:1vh}.partner strong{display:block;font-size:clamp(18px,1.48vw,24px);font-weight:500;letter-spacing:.28em}.partner span{display:block;color:var(--gold2);font-weight:bold;letter-spacing:.18em}
.gold-separator{width:42%;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);margin:.15vh 0 2.2vh;position:relative}.gold-separator i{position:absolute;left:50%;top:50%;width:10px;height:10px;border:2px solid var(--gold);transform:translate(-50%,-50%) rotate(45deg);background:var(--blue-royal)}
.text-block{max-width:720px;font-size:clamp(17px,1.43vw,25px);line-height:1.31;text-shadow:0 1px 3px rgba(0,0,0,.24)}.text-block p{margin:0 0 2vh}.text-block .highlight{font-size:clamp(16px,1.18vw,21px);line-height:1.34;color:var(--gold2);font-weight:600}
.details{width:100%;display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:1vh 0 2.3vh;border-top:1px solid rgba(212,161,67,.38);border-bottom:1px solid rgba(212,161,67,.38);padding:1.2vh 0}.detail{display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;border-right:1px solid rgba(212,161,67,.48)}.detail:last-child{border-right:0}.icon{font-size:clamp(24px,1.9vw,32px);font-family:Arial,sans-serif;color:var(--gold);line-height:1}.detail p{margin:0;text-align:left;font-size:clamp(10px,.9vw,14px);letter-spacing:.08em;line-height:1.35;text-transform:uppercase}.detail b{font-weight:700;color:#fff}
.rsvp{display:grid;grid-template-columns:1fr 42px 1fr;gap:16px;align-items:center;width:100%;max-width:760px}.btn{border:0;font-family:inherit;cursor:pointer;display:flex;align-items:center;justify-content:center;min-height:66px;padding:14px 20px;text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-size:clamp(12px,.95vw,15px);line-height:1.34;font-weight:bold;transition:.25s ease}.btn-primary{color:#061733;background:linear-gradient(135deg,#f8dc87,#bd8a32 46%,#f4d782);box-shadow:inset 0 0 0 1px rgba(255,255,255,.35),0 12px 24px rgba(0,0,0,.18)}.btn-outline{color:#fff;border:1px solid var(--gold);background:rgba(6,23,51,.32)}.btn:hover{transform:translateY(-1px);filter:brightness(1.08)}.btn.is-selected{outline:2px solid rgba(240,210,125,.95);box-shadow:0 0 0 4px rgba(240,210,125,.14),0 14px 28px rgba(0,0,0,.20)}.btn:disabled{opacity:.68;cursor:default;transform:none}.detail-link{text-decoration:none;color:inherit;transition:.25s ease}.detail-link:hover{background:rgba(240,210,125,.06)}.rsvp-status{min-height:30px;margin:1vh 0 0;padding:8px 14px;border-radius:999px;color:var(--gold2);font:700 clamp(11px,.85vw,13px)/1.4 Arial,sans-serif;letter-spacing:.07em;text-transform:uppercase}.rsvp-status.success{display:inline-block;border:1px solid rgba(240,210,125,.48);background:rgba(240,210,125,.10)}.rsvp-status.error{display:inline-block;border:1px solid rgba(255,120,120,.55);color:#ffd1d1;background:rgba(120,0,0,.18)}.rsvp-status.warning,.rsvp-status.pending{display:inline-block;border:1px solid rgba(240,210,125,.30);background:rgba(6,19,56,.35)}.seal{width:42px;height:42px;object-fit:contain;filter:drop-shadow(0 8px 10px rgba(0,0,0,.35))}
.notice{margin:1.8vh 0 0;color:var(--gold2);font:700 clamp(10px,.88vw,13px)/1.55 Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase}
@media(max-width:900px){.invitation{display:block}.content{width:100%;min-height:auto;padding:34px 22px 28px;background:linear-gradient(125deg,#081D4A,#061338)}.content:before,.content:after{display:none}.video-panel{position:relative;min-height:58vh}.brand{width:min(315px,82vw)}.details{grid-template-columns:1fr 1fr;gap:0}.detail:nth-child(2){border-right:0}.detail{padding:12px}.rsvp{grid-template-columns:1fr;gap:12px}.seal{justify-self:center}.text-block{font-size:20px}.invitation:before{inset:12px}.video-panel video{object-position:center center}.video-main{transform:scale(.9);transform-origin:center center}.video-back{transform:scale(1.08)}.video-tint{background:linear-gradient(180deg,rgba(6,19,56,.22),rgba(6,19,56,.38))}}
