*{box-sizing:border-box;margin:0;padding:0}
:root{
  --black:#07080b;
  --black2:#101217;
  --gold:#d6ad5b;
  --gold2:#f1d48a;
  --white:#fff;
  --muted:#aeb3bd;
  --line:rgba(255,255,255,.13);
  --darkline:rgba(7,8,11,.12);
}
html{scroll-behavior:smooth}
body{font-family:Montserrat,Arial,sans-serif;background:#f5f5f3;color:var(--black);overflow-x:hidden}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.hero{height:100svh;min-height:680px;position:relative;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;background:#050609;color:#fff}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:none;transform:scale(1.035);opacity:.62}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,5,8,.83),rgba(4,5,8,.36) 52%,rgba(4,5,8,.62)),linear-gradient(0deg,rgba(4,5,8,.78),transparent 45%,rgba(4,5,8,.38))}
.nav{position:relative;z-index:5;width:min(1400px,92%);margin:0 auto;padding:26px 0;display:flex;align-items:center;justify-content:space-between}
.brand img{width:115px;max-height:58px;object-fit:contain}
.nav-links{display:flex;align-items:center;gap:38px;font-size:12px;font-weight:700;letter-spacing:2px}
.nav-links a{position:relative;padding:8px 0}
.nav-links a:after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--gold);transition:.3s}
.nav-links a:hover:after{width:100%}
.menu-toggle{display:none;background:none;border:0;color:#fff;font-size:28px;cursor:pointer}
.hero-content{position:relative;z-index:2;width:min(1400px,92%);margin:0 auto;padding-bottom:12vh}
.eyebrow{font-size:11px;letter-spacing:4px;font-weight:700;color:var(--gold2);margin-bottom:18px}
.hero h1{font-family:"Playfair Display",serif;font-size:clamp(65px,10vw,150px);line-height:.86;letter-spacing:-5px}
.hero h1 span{display:block;font-family:Montserrat,sans-serif;font-weight:800;font-size:.52em;letter-spacing:11px;margin-left:8px;margin-top:14px;color:var(--gold2)}
.hero-text{max-width:620px;color:#e6e7ea;font-size:16px;line-height:1.8;margin:28px 0}
.cta{display:inline-flex;align-items:center;gap:25px;background:var(--gold);color:#08090b;font-size:11px;font-weight:800;letter-spacing:1.7px;padding:18px 24px;border:1px solid var(--gold);transition:.3s}
.cta:hover{background:transparent;color:#fff}
.cta span{font-size:18px}
.scroll-indicator{position:absolute;right:4%;bottom:35px;z-index:3;font-size:9px;letter-spacing:3px;color:#ddd;writing-mode:vertical-rl}
.scroll-indicator span{color:var(--gold);font-size:18px;margin-top:10px}
.section{padding:110px 5vw}
.section-heading{max-width:1400px;margin:0 auto 55px}
.section-heading h2{font-family:"Playfair Display",serif;font-size:clamp(48px,6vw,90px);line-height:1}
.section-heading.light h2{color:#fff}
.eyebrow.dark{color:#9a772f}
.gold-line{width:70px;height:2px;background:var(--gold);margin-top:25px}
.about-section{background:#f5f5f3}
.about-grid{width:min(1400px,100%);margin:auto;display:grid;grid-template-columns:minmax(300px,1fr) minmax(350px,1fr);gap:8vw;align-items:center}
.a4-frame{background:#fff;padding:12px;box-shadow:0 30px 80px rgba(0,0,0,.13);width:min(100%,620px);justify-self:center}
.a4-frame img{width:100%;aspect-ratio:210/297;object-fit:cover}
.about-copy{max-width:650px}
.number{font-size:11px;letter-spacing:3px;color:var(--gold);font-weight:800}
.about-copy h3,.contact-info h3{font-family:"Playfair Display",serif;font-size:clamp(34px,4vw,58px);line-height:1.05;margin:15px 0 25px}
.about-copy p{font-size:15px;line-height:1.9;color:#5e626b;margin-bottom:18px}
.services{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--darkline);margin-top:35px}
.services div{padding:20px 12px;border-bottom:1px solid var(--darkline)}
.services b{display:block;font-size:12px;letter-spacing:2px;margin-bottom:5px}
.services span{font-size:11px;color:#737780}
.videos-section{background:var(--black);color:#fff}
.local-videos,.youtube-grid{width:min(1400px,100%);margin:auto;display:grid;grid-template-columns:repeat(2,1fr);gap:32px}
.video-card{background:#111318;border:1px solid var(--line);padding:12px}
.video-card video{display:block;width:100%;aspect-ratio:9/16;object-fit:cover;background:#000}
.video-card h3{font-size:11px;letter-spacing:3px;padding:18px 5px 8px;color:#ddd}
.youtube-heading{width:min(1400px,100%);margin:90px auto 35px;display:flex;align-items:center;gap:20px}
.youtube-heading span{height:1px;background:var(--line);flex:1}
.youtube-heading h3{font-size:11px;letter-spacing:3px;color:var(--gold2)}
.youtube-card{background:#111318;border:1px solid var(--line);padding:10px}
.youtube-card iframe{width:100%;aspect-ratio:16/9;border:0;display:block}
.gallery-section{background:#fff}
.gallery-grid{width:min(1400px,100%);margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.gallery-grid figure{position:relative;overflow:hidden;background:#ddd;aspect-ratio:1/1.05}
.gallery-grid img{width:100%;height:100%;object-fit:cover;transition:transform .7s}
.gallery-grid figure:hover img{transform:scale(1.06)}
.gallery-grid figcaption{position:absolute;right:15px;bottom:15px;background:rgba(0,0,0,.72);color:#fff;padding:8px 12px;font-size:10px;letter-spacing:2px}
.contact-section{background:linear-gradient(135deg,#07080b,#15171d);color:#fff}
.contact-grid{width:min(1400px,100%);margin:auto;display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}
.contact-info p{color:#b8bcc4;line-height:1.8;font-size:14px;max-width:500px}
.contact-list{display:grid;gap:10px;margin:35px 0}
.contact-list a,.contact-list span{font-size:13px;color:#eee;line-height:1.7}
.contact-list a:hover{color:var(--gold2)}
.socials{display:flex;flex-wrap:wrap;gap:10px;border-top:1px solid var(--line);padding-top:25px}
.socials a{font-size:9px;letter-spacing:2px;border:1px solid var(--line);padding:12px 14px;color:#ddd}
.socials a:hover{border-color:var(--gold);color:var(--gold2)}
.quote-form{background:#fff;color:#111;padding:38px;box-shadow:0 30px 90px rgba(0,0,0,.25)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.quote-form label{display:block;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;font-weight:700;margin-bottom:20px}
.quote-form input,.quote-form textarea{display:block;width:100%;margin-top:9px;border:1px solid #d9d9d5;background:#fafaf8;padding:15px;font:inherit;font-size:13px;outline:none}
.quote-form input:focus,.quote-form textarea:focus{border-color:var(--gold)}
.quote-form textarea{resize:vertical}
.form-button{cursor:pointer}
.form-note{font-size:10px;color:#777;margin-top:15px;line-height:1.6}
.logo-section{background:#f5f5f3;text-align:center;padding:100px 20px}
.logo-section img{width:min(420px,70vw);max-height:220px;object-fit:contain;margin:20px auto 0}
footer{background:#030405;color:#aaa;padding:35px 5vw;display:flex;align-items:center;justify-content:space-between;gap:25px;flex-wrap:wrap}
.footer-brand{font-family:"Playfair Display",serif;color:#fff;font-size:25px}
.footer-brand span{color:var(--gold2)}
footer p{font-size:10px;letter-spacing:1px}
.footer-links{display:flex;gap:20px;font-size:9px;letter-spacing:1.5px}
.footer-links a:hover{color:var(--gold2)}
@media(max-width:900px){
  .nav-links{display:none;position:absolute;right:0;top:85px;background:rgba(5,6,9,.97);width:260px;padding:20px;flex-direction:column;align-items:flex-start;gap:0;border:1px solid var(--line)}
  .nav-links.open{display:flex}
  .nav-links a{width:100%;padding:15px 5px}
  .menu-toggle{display:block}
  .about-grid,.contact-grid{grid-template-columns:1fr}
  .about-copy{max-width:none}
  .gallery-grid{grid-template-columns:1fr 1fr}
  .local-videos,.youtube-grid{grid-template-columns:1fr 1fr;gap:16px}
}
@media(max-width:600px){
  .hero{min-height:620px}
  .hero h1{letter-spacing:-2px}
  .hero h1 span{letter-spacing:6px}
  .section{padding:75px 5vw}
  .local-videos,.youtube-grid,.gallery-grid{grid-template-columns:1fr}
  .form-row{grid-template-columns:1fr;gap:0}
  .quote-form{padding:25px}
  footer{flex-direction:column;align-items:flex-start}
}
/*=========================================
TEXTES JUSTIFIÉS
=========================================*/

.justify{
    text-align: justify;
    text-justify: inter-word;
    font-size:18px;
    line-height:1.9;
    letter-spacing:.4px;
    color:rgba(255,255,255,.92);
    margin-bottom:22px;
}
/*=========================
EFFET DACTYLO
=========================*/

.typewriter{
    display:inline-block;
    overflow:hidden;
    white-space:nowrap;
    border-right:3px solid #ff3ca6;
    width:0;
    animation:
        typing 3s steps(30,end) forwards,
        cursor .8s step-end 4;
}

@keyframes typing{
    from{
        width:0;
    }
    to{
        width:100%;
    }
}

@keyframes cursor{
    50%{
        border-color:transparent;
    }
    100%{
        border-color:#ff3ca6;
    }
}.typewriter{
    animation:
        typing 3s steps(30,end) forwards,
        cursor .8s step-end 4,
        hideCursor .1s 3.2s forwards;
}

@keyframes hideCursor{
    to{
        border-right-color:transparent;
    }
}.hero-text{
    max-width:620px;
    color:#e6e7ea;
    font-size:16px;
    line-height:1.8;
    margin:28px 0;
    animation: heroTextPremium 5s ease-in-out infinite;
}

@keyframes heroTextPremium{
    0%{
        opacity:0;
        transform:translateY(10px);
    }

    20%{
        opacity:1;
        transform:translateY(0);
    }

    75%{
        opacity:1;
        transform:translateY(0);
    }

    100%{
        opacity:0;
        transform:translateY(-8px);
    }
}