/* ── ACCESSIBILITY ── */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

/* ── RESET ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Montserrat',sans-serif;color:#1C1C1C;background:#fff;overflow-x:hidden;font-weight:300;}
img{max-width:100%;height:auto;display:block;}
a{text-decoration:none;color:inherit;transition:color .2s;}

/* ── NAV ── */
#nav{position:sticky;top:0;z-index:1000;}
.nb1{background:#091525;text-align:center;padding:.42rem 2rem;border-bottom:1px solid rgba(184,151,58,.2);}
.nb1 span{font-size:.65rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#d4b05a;}
.nb2{background:#0d1e38;padding:.75rem 2.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid rgba(184,151,58,.12);}
.nb2-brand{flex-shrink:0;cursor:pointer;}
.nb2-brand-name{font-family:'Playfair Display',serif;font-size:2rem;color:#fff;font-weight:400;line-height:1.1;}
.nb2-brand-name strong{color:#B8973A;font-style:italic;}
.nb2-brand-sub{font-size:.5rem;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:#B8973A;margin-top:2px;}
.nb2-right{display:flex;align-items:center;gap:.8rem;flex-shrink:0;}
.btn-rev{font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#B8973A;border:2px solid #B8973A;padding:.55rem 1.4rem;display:inline-flex;align-items:center;gap:.4rem;transition:all .2s;white-space:nowrap;}
.btn-rev:hover{background:#B8973A;color:#0E1F3D;}
.nav-toggle{background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;display:none;padding:.2rem;}
.nb3{background:#0E1F3D;border-bottom:1px solid rgba(184,151,58,.12);}
.nb3-inner{max-width:1400px;margin:0 auto;padding:.55rem 2.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;}
.nb3-contacts{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;}
.nb3-link{font-size:.66rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#d4b05a;white-space:nowrap;}
.nb3-link:hover{color:#fff;}
.nb3-sep{color:rgba(255,255,255,.18);font-size:.8rem;}
.btn-devis{font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;background:#B8973A;color:#0E1F3D;border:2px solid #B8973A;padding:.55rem 1.6rem;display:inline-flex;align-items:center;white-space:nowrap;flex-shrink:0;transition:background .2s;}
.btn-devis:hover{background:#d4b05a;border-color:#d4b05a;}
.nb4{background:#F0EEE9;border-bottom:3px solid #B8973A;}
.nb4-inner{max-width:1400px;margin:0 auto;padding:0 2.5rem;display:flex;align-items:center;justify-content:space-between;}
.nav-links{display:flex;list-style:none;gap:0;height:48px;}
.nav-links a{display:flex;align-items:center;padding:0 .9rem;height:48px;font-size:.68rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#2a2a2a;border-bottom:3px solid transparent;transition:all .2s;white-space:nowrap;}
.nav-links a:hover,.nav-links a.active{color:#0E1F3D;border-bottom-color:#B8973A;}
@media(max-width:960px){
  .nb1 span{font-size:.58rem;letter-spacing:.14em;}
  .nb2{padding:.7rem 1.2rem;}
  .nb2-brand-name{font-size:1.5rem;}
  .nb3{display:none;}
  .nb4{display:none;}
  .nav-toggle{display:block;}
  .btn-rev{font-size:.6rem;padding:.45rem .9rem;}
  .nav-links{display:none;}
  .nav-links.open{display:flex;flex-direction:column;position:fixed;inset:0;background:#fff;z-index:9999;padding:4rem 2rem 2rem;overflow-y:auto;height:48px;}
  .nav-links.open{height:auto;}
  .nav-links.open a{height:auto;padding:1rem 0;font-size:.9rem;border-bottom:1px solid #E2DDD6;border-left:none;}
  .nb3-mobile{display:flex!important;}
}
@media(min-width:961px){.nb3-mobile{display:none!important;}}
.nb3-mobile{display:none;background:#0E1F3D;padding:.4rem 1.2rem;gap:.6rem;align-items:center;justify-content:center;flex-wrap:wrap;border-bottom:1px solid rgba(184,151,58,.1);}
.nb3-mobile a{font-size:.6rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#d4b05a;}

/* ── BUTTONS ── */
.btn-primary{display:inline-flex;align-items:center;background:#B8973A;color:#0E1F3D;border:2px solid #B8973A;padding:.85rem 2rem;font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:all .2s;white-space:nowrap;}
.btn-primary:hover{background:#d4b05a;border-color:#d4b05a;}
.btn-secondary{display:inline-flex;align-items:center;background:#0E1F3D;color:#fff;border:2px solid #0E1F3D;padding:.85rem 2rem;font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:all .2s;}
.btn-secondary:hover{background:#162d52;border-color:#162d52;}
.btn-outline{display:inline-flex;align-items:center;background:transparent;color:#0E1F3D;border:2px solid #0E1F3D;padding:.85rem 2rem;font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:all .2s;}
.btn-outline:hover{background:#0E1F3D;color:#fff;}
.btn-outline-white{display:inline-flex;align-items:center;background:transparent;color:#fff;border:2px solid rgba(255,255,255,.6);padding:.85rem 2rem;font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:all .2s;}
.btn-outline-white:hover{background:#fff;color:#0E1F3D;}

/* ── SECTION HELPERS ── */
.section-eyebrow{font-size:.62rem;font-weight:700;letter-spacing:.32em;text-transform:uppercase;color:#B8973A;margin-bottom:.8rem;}
.section-title{font-family:'Playfair Display',serif;font-size:clamp(1.8rem,3vw,2.8rem);color:#0E1F3D;font-weight:400;line-height:1.1;}
.section-title em{font-style:italic;color:#B8973A;}
.section-title-white{color:#fff;}
.section-title-white em{color:#d4b05a;}
.section-line{width:50px;height:2px;background:#B8973A;margin:.8rem 0 0;}
.section{padding:5rem 2.5rem;}
.container{max-width:1400px;margin:0 auto;}

/* ── TICKER ── */
.ticker{background:#091629;overflow:hidden;padding:.75rem 0;border-top:1px solid rgba(184,151,58,.15);}
.ticker-track{display:flex;gap:0;animation:ticker 40s linear infinite;white-space:nowrap;width:max-content;}
.ticker-item{font-size:.6rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:rgba(184,151,58,.7);padding:0 2.5rem;border-right:1px solid rgba(184,151,58,.15);}
@keyframes ticker{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ── FOOTER ── */
footer{background:#091629;color:#fff;padding:4rem 2.5rem 2rem;}
.footer-grid{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;padding-bottom:3rem;border-bottom:1px solid rgba(255,255,255,.07);margin-bottom:2rem;}
.footer-brand{font-family:'Playfair Display',serif;font-size:1.4rem;color:#fff;margin-bottom:1rem;font-weight:400;}
.footer-brand span{color:#B8973A;font-style:italic;}
.footer-desc{font-size:.74rem;color:rgba(255,255,255,.32);line-height:1.8;max-width:28ch;}
.footer-col-title{font-size:.58rem;font-weight:700;letter-spacing:.25em;text-transform:uppercase;color:#B8973A;margin-bottom:1.2rem;}
.footer-links{display:flex;flex-direction:column;gap:.5rem;}
.footer-links a{font-size:.74rem;color:rgba(255,255,255,.35);transition:color .2s;}
.footer-links a:hover{color:#d4b05a;}
.footer-contact-item{display:flex;gap:.7rem;margin-bottom:.6rem;font-size:.74rem;color:rgba(255,255,255,.35);}
.footer-contact-item a{color:rgba(255,255,255,.35);}
.footer-contact-item a:hover{color:#d4b05a;}
.footer-bottom{max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;}
.footer-copy{font-size:.64rem;color:rgba(255,255,255,.18);}
.footer-note{font-size:.64rem;color:rgba(184,151,58,.35);}
@media(max-width:768px){.footer-grid{grid-template-columns:1fr 1fr;gap:2rem;}}
@media(max-width:480px){.footer-grid{grid-template-columns:1fr;}.footer-bottom{flex-direction:column;text-align:center;}}

/* ── WA FLOAT ── */
.wa-float{position:fixed;bottom:1.5rem;right:1.5rem;z-index:900;background:#25D366;color:#fff;width:3.2rem;height:3.2rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.4rem;box-shadow:0 4px 20px rgba(37,211,102,.4);animation:float-wa 3s ease-in-out infinite;}
@keyframes float-wa{0%,100%{transform:translateY(0);}50%{transform:translateY(-6px);}}

/* ── REVEAL ── */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}
