:root{
    --background:#faf9f0;        /* beige vanilla */
    --text:#2f2f2f;
    --muted:rgba(47,47,47,.7);
    --gold:#d4af7f;              /* champagne gold */
    --white:#ffffff;
  
    --font-heading:'Playfair Display',serif;
    --font-body:'Lora',serif;
  }
  
  *{margin:0;padding:0;box-sizing:border-box;}
  html,body{height:100%;}
  body{
    background:var(--background);
    color:var(--text);
    font-family:var(--font-body);
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
  }
  
  .container{max-width:1100px;margin:0 auto;padding:0 20px;}
  
  /* Header */
  .site-header{padding:12px 22px;}
  .header-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;}
  .brand img{height:64px;width:auto;display:block;}
  .tagline{
    font-family:var(--font-heading);
    letter-spacing:1.5px;
    color:var(--gold);
    font-size:16px;
    text-transform:uppercase;
  }
  
  /* --- Hero with video --- */
  .hero.hero-video{
    background:none !important;    /* avoid masking video */
    min-height:100vh;
    position:relative;
    overflow:hidden;
  }
  
  .video-background{
    position:absolute; inset:0; z-index:0; overflow:hidden;
  }
  .video-background video{
    width:100%; height:100%;
    object-fit:cover; display:block; pointer-events:none;
  }
  
  .hero-video .overlay{
    position:relative; z-index:1;
    width:100%; min-height:100vh;
    background:rgba(250,249,240,.72);   /* ivory veil */
    display:flex; align-items:center; justify-content:center;
    padding:90px 0 110px;
  }
  
  /* Content width & rhythm */
  .hero-wrap{max-width:min(1200px,92vw);}
  .hero-copy{max-width:760px;}
  .hero .lead{max-width:680px;margin-bottom:26px;}
  
  /* Type hierarchy — no long dashes in copy */
  .hero-brand{
    font-family:var(--font-heading);
    font-size:clamp(36px,3.2vw,56px);
    letter-spacing:2px;
    margin-bottom:8px;
  }
  .hero-kicker{
    font-style:italic;
    color:var(--muted);
    font-size:clamp(18px,1.4vw,22px);
    margin-bottom:18px;
  }
  .hero-headline{
    font-family:var(--font-heading);
    font-size:clamp(28px,3.6vw,56px);
    line-height:1.16;
    margin-bottom:14px;
  }
  .lead{
    font-size:clamp(16px,1.2vw,18px);
    line-height:1.8;
    color:var(--text);
    margin:0 auto 24px;
  }
  
  /* Waitlist form */
  .waitlist{max-width:640px;margin:0 auto 26px;}
  .waitlist .hidden{display:none;}
  .form-row{display:flex;gap:12px;flex-wrap:wrap;}
  .form-row input[type="email"]{
    flex:1 1 360px;
    padding:16px 18px;
    border:1px solid #e7e2da;
    background:var(--white);
    border-radius:30px;
    font-size:16px;
    outline:none;
  }
  .form-row input[type="email"]:focus{
    border-color:var(--gold);
    box-shadow:0 0 0 3px rgba(212,175,127,.15);
  }
  .btn{
    background:transparent;
    color:var(--gold);
    border:2px solid var(--gold);
    padding:12px 26px;
    border-radius:30px;
    text-decoration:none;
    display:inline-block;
    font-size:16px;
    transition:.25s ease;
  }
  .btn:hover{background:var(--gold);color:var(--white);}
  .btn.btn-solid{background:var(--gold);color:var(--white);border-color:var(--gold);font-weight:600;letter-spacing:.3px;padding:14px 30px;}
  .btn.btn-solid:hover{filter:brightness(.92);}
  .form-note{display:block;margin-top:10px;color:var(--muted);font-size:14px;}
  
  /* Social */
  .social{margin-top:18px;}
  .social a{display:inline-flex;align-items:center;gap:10px;color:var(--text);text-decoration:none;border-bottom:1px solid transparent;transition:.2s ease;}
  .social a:hover{color:var(--gold);border-color:var(--gold);}
  .ig{width:22px;height:22px;fill:var(--gold);flex:0 0 22px;}
  .social .sub{margin-top:6px;color:var(--muted);font-size:14px;}
  
  /* Footer */
  .footer{padding:26px 0;}
  .footer-inner{display:flex;justify-content:space-between;gap:10px;font-size:14px;color:var(--muted);}
  
  /* Responsive */
  @media (max-width:768px){
    .brand img{height:56px;}
    .tagline{display:none;}
    .footer-inner{flex-direction:column;align-items:center;}
  }
  
  /* === Thank You page === */
.thankyou .hero-thanks{
    background:none;
    min-height: 80vh;
    display:flex;
    align-items:center;
    justify-content:center;
    position:relative;
  }
  .thankyou .hero-thanks .overlay{
    width:100%;
    background: linear-gradient(0deg, rgba(250,249,240,.82), rgba(250,249,240,.82));
    display:flex;
    align-items:center;
    justify-content:center;
    padding: 100px 0;
  }
  
  .thanks-wrap{ max-width:min(840px, 92vw); }
  
  /* Carte centrale élégante */
  .thanks-card{
    background: var(--white);
    border: 1px solid #eee4d6;
    border-radius: 14px;
    padding: clamp(28px, 4vw, 48px);
    text-align: center;
    box-shadow: 0 20px 60px rgba(0,0,0,.06);
  }
  
  /* Icône check doré */
  .thanks-icon{
    display:inline-block;
    margin-bottom: 14px;
  }
  .check{ width: 56px; height: 56px; }
  .check .ring{ fill: none; stroke: var(--gold); stroke-width: 2; opacity: .5; }
  .check .tick{ fill: none; stroke: var(--gold); stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
  
  /* Titres + textes */
  .thanks-card h1{
    font-family: var(--font-heading);
    font-size: clamp(28px, 3.2vw, 40px);
    margin-bottom: 8px;
    color: var(--text);
  }
  .thanks-card .lead{
    margin: 0 auto 18px;
    max-width: 560px;
    color: var(--text);
  }
  
  /* Bouton */
  .thanks-card .btn{
    margin-top: 6px;
  }
  .thanks-note{
    display:block;
    margin-top: 14px;
    color: var(--muted);
    font-size: 14px;
  }
  
  /* Responsive */
  @media (max-width: 768px){
    .thankyou .hero-thanks .overlay{ padding: 70px 0; }
    .thanks-card{ border-radius: 12px; }
  }
  