
*{margin:0;padding:0;box-sizing:border-box}
:root{
  --noir:#0a0a0a;--noir2:#111111;--noir3:#181818;
  --or:#c9a84c;--or2:#e8c97a;--blanc:#f5f2ec;
  --vert:#2ecc71;--violet:#8b5cf6;--gris:#888;
  --serif:"Cormorant Garamond",serif;--sans:"Outfit",sans-serif;
}
html{scroll-behavior:smooth}
body{background:var(--noir);color:var(--blanc);font-family:var(--sans);font-weight:300;overflow-x:hidden}

/* ── LOADER ── */
#loader{position:fixed;inset:0;z-index:9999;background:var(--noir);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem;transition:opacity 0.7s ease}
#loader.hide{opacity:0;pointer-events:none}
#loader img{width:120px;height:120px;object-fit:contain;filter:drop-shadow(0 0 20px rgba(201,168,76,0.4));animation:pulse 1.5s ease-in-out infinite}
@keyframes pulse{0%,100%{transform:scale(1);opacity:0.8}50%{transform:scale(1.06);opacity:1}}
.loader-bar{width:160px;height:1px;background:rgba(201,168,76,0.15);position:relative;overflow:hidden}
.loader-bar::after{content:"";position:absolute;left:-60%;top:0;height:100%;width:60%;background:linear-gradient(to right,transparent,var(--or),transparent);animation:slide 1.2s ease-in-out infinite}
@keyframes slide{to{left:160%}}
.loader-text{font-size:0.62rem;letter-spacing:0.3em;text-transform:uppercase;color:rgba(201,168,76,0.5)}

/* ── NAV ── */
nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:1rem 4rem;display:flex;justify-content:space-between;align-items:center;transition:background 0.5s,padding 0.4s,box-shadow 0.4s;background:transparent}
nav.scrolled{background:rgba(8,8,8,0.97);padding:0.55rem 4rem;box-shadow:0 1px 0 rgba(201,168,76,0.1)}
.nav-logo{display:flex;align-items:center;gap:0.6rem;cursor:pointer;text-decoration:none}
.nav-logo img{height:48px;width:48px;object-fit:contain;filter:drop-shadow(0 0 8px rgba(201,168,76,0.4));transition:all 0.4s}
nav.scrolled .nav-logo img{height:34px;width:34px}
.nav-logo-text{display:flex;flex-direction:column;line-height:1.15}
.nav-logo-text .t1{font-family:var(--serif);font-size:1rem;font-weight:600;letter-spacing:0.15em;color:var(--or);text-transform:uppercase}
.nav-logo-text .t2{font-size:0.52rem;font-weight:300;letter-spacing:0.22em;color:rgba(245,242,236,0.88);text-transform:uppercase}
.nav-links{display:flex;gap:2.2rem;list-style:none;align-items:center}
.nav-links a{color:rgba(245,242,236,0.85);text-decoration:none;font-size:0.72rem;letter-spacing:0.12em;text-transform:uppercase;transition:color 0.3s;cursor:pointer}
.nav-links a:hover{color:var(--or)}
.has-sub{position:relative}
.sub-menu.open{opacity:1;pointer-events:all;transform:translateY(0)}
.sub-menu{position:absolute;top:calc(100% + 1rem);left:0;background:rgba(10,10,10,0.98);border:0.5px solid rgba(201,168,76,0.18);padding:0.5rem 0;opacity:0;pointer-events:none;transform:translateY(-8px);transition:all 0.3s;white-space:nowrap;min-width:220px}
.sub-menu a{display:block;padding:0.65rem 1.3rem;font-size:0.68rem;letter-spacing:0.1em;color:rgba(245,242,236,0.78);transition:all 0.25s}
.sub-menu a:hover{padding-left:1.7rem}
.sub-menu a.s-vert:hover{color:var(--vert)}
.sub-menu a.s-violet:hover{color:var(--violet)}
.nav-contact{display:flex;align-items:center;gap:1.2rem}
.nav-phone{font-size:0.7rem;color:rgba(245,242,236,0.75);letter-spacing:0.05em;white-space:nowrap}
.nav-phone a{color:var(--or);text-decoration:none;transition:color 0.3s}
.nav-phone a:hover{color:var(--or2)}
.nav-cta{background:transparent;border:0.5px solid var(--or);color:var(--or);padding:0.45rem 1.3rem;font-family:var(--sans);font-size:0.68rem;letter-spacing:0.15em;text-transform:uppercase;cursor:pointer;transition:all 0.3s;white-space:nowrap}
.nav-cta:hover{background:var(--or);color:var(--noir)}

/* ── HAMBURGER ── */
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px;background:none;border:none}
.hamburger span{display:block;width:24px;height:1px;background:var(--or);transition:all 0.3s}
.hamburger.open span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.mobile-menu{display:none;position:fixed;top:0;left:0;right:0;bottom:0;z-index:99;background:rgba(8,8,8,0.99);flex-direction:column;align-items:center;justify-content:center;gap:2rem;opacity:0;transition:opacity 0.3s}
.mobile-menu.open{display:flex;opacity:1}
.mobile-menu a{font-family:var(--serif);font-size:1.8rem;color:rgba(245,242,236,0.88);text-decoration:none;cursor:pointer;transition:color 0.3s;font-weight:300}
.mobile-menu a:hover{color:var(--or)}
.mobile-menu a.m-vert{color:rgba(46,204,113,0.6)}
.mobile-menu a.m-violet{color:rgba(139,92,246,0.6)}
.mobile-contact{margin-top:1rem;text-align:center}
.mobile-contact p{font-size:0.75rem;color:rgba(245,242,236,0.88);letter-spacing:0.08em;margin-bottom:0.4rem}
.mobile-contact a{display:block;color:var(--or);text-decoration:none;font-size:0.85rem;margin-bottom:0.3rem}

/* ── PAGES ── */
.page{display:block;min-height:100vh;animation:fadeUp 0.5s ease both}
.page.active{display:block}
@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}

/* ── HERO ── */
.hero{height:100vh;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}
.hero-bg-logo{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}
.hero-bg-logo img{width:88%;max-width:920px;opacity:0.17;filter:sepia(0.2) brightness(0.85);animation:slowZoom 22s ease-in-out infinite alternate}
@keyframes slowZoom{from{transform:scale(1.04)}to{transform:scale(1.13)}}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(10,10,10,0.5) 0%,rgba(10,10,10,0.25) 35%,rgba(10,10,10,0.72) 100%)}
.hero-content{position:relative;z-index:2;text-align:center;max-width:800px;padding:0 2rem}
.hero-top-logo{margin-bottom:1.5rem}
.hero-top-logo img{height:115px;width:115px;object-fit:contain;mix-blend-mode:screen;filter:contrast(1.16) saturate(1.12)}
.hero-eyebrow{font-size:0.66rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--or);margin-bottom:1.2rem;opacity:0.85}
.hero-title{font-family:var(--serif);font-size:clamp(2.6rem,5.5vw,4.6rem);font-weight:300;line-height:1.08;margin-bottom:1rem;letter-spacing:0.03em}
.hero-sep{width:55px;height:0.5px;background:var(--or);margin:1.2rem auto;opacity:0.65}
.hero-tagline{font-family:var(--serif);font-size:clamp(1rem,1.8vw,1.2rem);font-style:italic;color:rgba(245,242,236,0.88);margin-bottom:2.2rem;letter-spacing:0.04em}
.hero-btns{display:flex;gap:1.2rem;justify-content:center;flex-wrap:wrap}
.btn-or{background:var(--or);color:var(--noir);padding:0.8rem 2.2rem;font-family:var(--sans);font-size:0.72rem;letter-spacing:0.15em;text-transform:uppercase;border:none;cursor:pointer;transition:all 0.3s;font-weight:400}
.btn-or:hover{background:var(--or2);transform:translateY(-2px);box-shadow:0 8px 24px rgba(201,168,76,0.2)}
.btn-ghost{background:transparent;color:var(--blanc);padding:0.8rem 2.2rem;font-size:0.72rem;letter-spacing:0.15em;text-transform:uppercase;border:0.5px solid rgba(245,242,236,0.22);cursor:pointer;transition:all 0.3s}
.btn-ghost:hover{border-color:var(--or);color:var(--or)}
.hero-scroll{position:absolute;bottom:1.8rem;left:50%;transform:translateX(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:0.4rem;opacity:0.3}
.hero-scroll span{font-size:0.55rem;letter-spacing:0.22em;text-transform:uppercase}
.scroll-line{width:0.5px;height:34px;background:linear-gradient(to bottom,var(--or),transparent)}

/* ── CERTIF BAND ── */
.certif-band{background:var(--noir2);border-top:0.5px solid rgba(201,168,76,0.18);border-bottom:0.5px solid rgba(201,168,76,0.18);padding:1rem 4rem;display:flex;align-items:center;justify-content:center;gap:2.5rem;flex-wrap:wrap}
.certif-item{display:flex;align-items:center;gap:0.55rem}
.certif-dot{width:3px;height:3px;background:var(--or);border-radius:50%;flex-shrink:0}
.certif-text{font-size:0.61rem;letter-spacing:0.1em;text-transform:uppercase;color:rgba(245,242,236,0.7)}
.certif-text strong{color:var(--or);font-weight:400}

/* ── SECTIONS ── */
section{padding:5rem 4rem}
.inner{max-width:1100px;margin:0 auto}
.section-label{font-size:0.6rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--or);margin-bottom:0.8rem;display:flex;align-items:center;gap:0.8rem}
.section-label::after{content:"";flex:1;height:0.5px;background:linear-gradient(to right,rgba(201,168,76,0.35),transparent);max-width:55px}
.section-title{font-family:var(--serif);font-size:clamp(1.8rem,3.5vw,3rem);font-weight:300;line-height:1.2;margin-bottom:1.2rem}
.section-title em{font-style:italic;color:var(--or)}

/* ── SERVICES HOME ── */
.srv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(201,168,76,0.08);max-width:1100px;margin:3rem auto 0}
.srv-card{background:var(--noir);padding:2.2rem;position:relative;overflow:hidden;transition:background 0.4s;cursor:pointer}
.srv-card::after{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:transparent;transition:background 0.4s}
.srv-card:hover{background:rgba(255,255,255,0.02)}
.srv-card.vert:hover::after{background:var(--vert)}
.srv-card.violet:hover::after{background:var(--violet)}
.srv-num{font-family:var(--serif);font-size:2.8rem;color:rgba(201,168,76,0.06);position:absolute;top:0.8rem;right:1.2rem;font-weight:600}
.srv-icon{width:1.8rem;height:1.8rem;margin-bottom:1.2rem;opacity:0.6}
.srv-name{font-family:var(--serif);font-size:1.2rem;color:var(--blanc);margin-bottom:0.6rem;font-weight:400}
.srv-desc{font-size:0.75rem;line-height:1.9;color:rgba(245,242,236,0.72)}
.srv-tags{margin-top:1.2rem;display:flex;flex-wrap:wrap;gap:0.3rem}
.tag-vert{font-size:0.57rem;letter-spacing:0.1em;text-transform:uppercase;padding:0.2rem 0.55rem;border:0.5px solid rgba(46,204,113,0.3);color:rgba(46,204,113,0.65)}
.tag-violet{font-size:0.57rem;letter-spacing:0.1em;text-transform:uppercase;padding:0.2rem 0.55rem;border:0.5px solid rgba(139,92,246,0.3);color:rgba(139,92,246,0.65)}
.tag-or{font-size:0.57rem;letter-spacing:0.1em;text-transform:uppercase;padding:0.2rem 0.55rem;border:0.5px solid rgba(201,168,76,0.2);color:rgba(201,168,76,0.55)}

/* ── STEPS ── */
.steps{margin:3rem auto 0;max-width:860px}
.step{display:grid;grid-template-columns:65px 1fr;gap:1.5rem;padding:1.8rem 0;border-bottom:0.5px solid rgba(245,242,236,0.05)}
.step:last-child{border-bottom:none}
.step-num{display:flex;flex-direction:column;align-items:flex-start;gap:0.55rem;justify-self:start;font-family:var(--serif);font-size:1.55rem;font-weight:400;letter-spacing:0.06em;color:rgba(201,168,76,0.9);line-height:1}.step-num::after{content:'';display:block;width:30px;height:1.5px;background:currentColor;opacity:0.7;border-radius:2px}
.step-title{font-family:var(--serif);font-size:1.1rem;color:var(--or);margin-bottom:0.4rem;font-weight:400}
.step-text{font-size:0.78rem;line-height:1.9;color:rgba(245,242,236,0.76)}

/* ── ENGAGEMENTS ── */
.eng-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;max-width:1100px;margin:3rem auto 0}
.eng-card{text-align:center;padding:1.8rem 1rem;border:0.5px solid rgba(201,168,76,0.07);transition:border-color 0.3s,transform 0.3s}
.eng-card:hover{border-color:rgba(201,168,76,0.22);transform:translateY(-4px)}
.eng-icon{width:34px;height:34px;margin:0 auto 1rem;opacity:0.5}
.eng-title{font-family:var(--serif);font-size:0.95rem;color:var(--or);margin-bottom:0.5rem;font-style:italic}
.eng-text{font-size:0.72rem;line-height:1.8;color:rgba(245,242,236,0.66)}

/* ── CTA ── */
.cta-section{text-align:center;padding:6rem 4rem;position:relative;overflow:hidden}
.cta-section::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(201,168,76,0.05) 0%,transparent 65%);pointer-events:none}
.cta-section > *{position:relative;z-index:1}
.cta-quote{font-family:var(--serif);font-size:clamp(1.3rem,2.5vw,2rem);font-style:italic;color:rgba(245,242,236,0.88);max-width:660px;margin:0 auto 1.2rem;font-weight:300;line-height:1.5}
.cta-quote em{color:var(--or)}
.cta-divider{width:48px;height:0.5px;background:var(--or);margin:1.5rem auto}
.cta-sub{font-size:0.76rem;color:rgba(245,242,236,0.68);margin-bottom:2.5rem;letter-spacing:0.05em}

/* ── PAGE HERO ── */
.page-hero{min-height:56vh;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;text-align:center}
.page-hero-bg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}
.page-hero-bg img{width:100%;max-width:680px;opacity:0.11;filter:brightness(0.8)}
.overlay-vert{position:absolute;inset:0;background:linear-gradient(135deg,rgba(46,204,113,0.07) 0%,rgba(10,10,10,0.88) 60%)}
.overlay-violet{position:absolute;inset:0;background:linear-gradient(135deg,rgba(139,92,246,0.07) 0%,rgba(10,10,10,0.88) 60%)}
.overlay-or{position:absolute;inset:0;background:linear-gradient(135deg,rgba(201,168,76,0.05) 0%,rgba(10,10,10,0.88) 60%)}
.color-bar-vert{height:2px;background:linear-gradient(to right,var(--vert),transparent);position:absolute;bottom:0;left:0;right:0}
.color-bar-violet{height:2px;background:linear-gradient(to right,var(--violet),transparent);position:absolute;bottom:0;left:0;right:0}
.color-bar-or{height:2px;background:linear-gradient(to right,var(--or),transparent);position:absolute;bottom:0;left:0;right:0}
.page-hero-content{position:relative;z-index:2;padding:8rem 2rem 5rem;max-width:700px}
.page-hero-content .section-label{justify-content:center}
.page-hero-title{font-family:var(--serif);font-size:clamp(2rem,4vw,3.5rem);font-weight:300;line-height:1.2;margin:0.5rem 0 1rem}
.page-hero-title em{font-style:italic}
.page-hero-title.vert em{color:var(--vert)}
.page-hero-title.violet em{color:var(--violet)}
.page-hero-title.or em{color:var(--or)}
.page-hero-sub{font-size:0.81rem;color:rgba(245,242,236,0.73);max-width:540px;margin:0 auto;line-height:1.9}

/* ── CLIENT TAGS ── */
.client-tags{display:flex;flex-wrap:wrap;gap:0.4rem;justify-content:center;margin-top:1.5rem}
.ctag-vert{font-size:0.58rem;letter-spacing:0.08em;padding:0.28rem 0.7rem;border:0.5px solid rgba(46,204,113,0.28);color:rgba(46,204,113,0.65);text-transform:uppercase}
.ctag-violet{font-size:0.58rem;letter-spacing:0.08em;padding:0.28rem 0.7rem;border:0.5px solid rgba(139,92,246,0.28);color:rgba(139,92,246,0.65);text-transform:uppercase}

/* ── SERVICE BLOCKS ── */
.sblock{border-left:1px solid rgba(201,168,76,0.12);padding:0 0 2.5rem 2rem;position:relative}
.sblock.vert{border-left-color:rgba(46,204,113,0.22)}
.sblock.violet{border-left-color:rgba(139,92,246,0.22)}
.sblock::before{content:"";position:absolute;left:-4px;top:2px;width:7px;height:7px;border-radius:50%}
.sblock.vert::before{background:var(--vert)}
.sblock.violet::before{background:var(--violet)}
.sblock.or::before{background:var(--or)}
.sblock-title{font-family:var(--serif);font-size:1.18rem;margin-bottom:0.7rem;font-weight:400}
.sblock.vert .sblock-title{color:var(--vert)}
.sblock.violet .sblock-title{color:var(--violet)}
.sblock.or .sblock-title{color:var(--or)}
.sblock-text{font-size:0.78rem;line-height:1.95;color:rgba(245,242,236,0.8)}
.sblock-tags{margin-top:0.8rem;display:flex;flex-wrap:wrap;gap:0.3rem}
.legal-note{background:rgba(255,255,255,0.015);border:0.5px solid rgba(245,242,236,0.06);padding:1.4rem 2rem;margin-top:3rem;max-width:960px;margin-left:auto;margin-right:auto}
.legal-note p{font-size:0.72rem;line-height:1.8;color:rgba(245,242,236,0.66);font-style:italic}

/* ── FAQ ── */
.faq-list{max-width:780px;margin:2.5rem auto 0}
.faq-item{border-bottom:0.5px solid rgba(245,242,236,0.05)}
.faq-q{width:100%;background:transparent;border:none;color:var(--blanc);text-align:left;padding:1.1rem 0;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-family:var(--serif);font-size:1rem;font-weight:400;transition:color 0.3s}
.faq-q:hover{color:var(--or)}
.faq-icon{font-size:1.1rem;color:var(--or);transition:transform 0.3s;flex-shrink:0;margin-left:1rem}
.faq-q.open .faq-icon{transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height 0.4s ease;font-size:0.78rem;line-height:1.9;color:rgba(245,242,236,0.78)}
.faq-a.open{max-height:200px;padding-bottom:1.2rem}

/* ── ABOUT ── */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start;max-width:1100px;margin:0 auto}
.about-text p{font-size:0.86rem;line-height:2;color:rgba(245,242,236,0.85);margin-bottom:1.2rem}
.about-box{border:0.5px solid rgba(201,168,76,0.12);padding:1.8rem;background:rgba(201,168,76,0.02);margin-top:1.5rem}
.about-box-title{font-family:var(--serif);font-size:0.95rem;font-style:italic;color:var(--or);margin-bottom:1rem}
.about-list{list-style:none}
.about-list li{padding:0.62rem 0;border-bottom:0.5px solid rgba(245,242,236,0.04);font-size:0.76rem;color:rgba(245,242,236,0.52);display:flex;align-items:center;gap:0.7rem}
.about-list li::before{content:"";width:3px;height:3px;background:var(--or);border-radius:50%;flex-shrink:0}
.about-list li:last-child{border-bottom:none}
.partner-block{margin-top:1.5rem;padding:1.2rem 1.5rem;background:rgba(201,168,76,0.03);border:0.5px solid rgba(201,168,76,0.17);display:flex;align-items:center;gap:1rem}
.partner-name{font-family:var(--serif);font-size:1rem;color:var(--or);font-style:italic}
.partner-link{font-size:0.62rem;color:rgba(201,168,76,0.43);text-decoration:none;display:block;margin-top:0.2rem;transition:color 0.3s}
.partner-link:hover{color:var(--or)}
.partner-lbl{font-size:0.57rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--gris)}
.certif-inline{display:inline-flex;align-items:center;gap:0.7rem;padding:0.7rem 1.1rem;border:0.5px solid rgba(201,168,76,0.17);margin-top:1.8rem}
.certif-inline span{font-size:0.62rem;color:rgba(245,242,236,0.73);letter-spacing:0.06em}
.certif-inline strong{color:var(--or);font-weight:400}

/* ── CONTACT ── */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;max-width:1020px;margin:0 auto}
.contact-info h3{font-family:var(--serif);font-size:1.5rem;font-style:italic;color:var(--or);margin-bottom:1.2rem;font-weight:300}
.contact-info p{font-size:0.8rem;line-height:1.9;color:rgba(245,242,236,0.8);margin-bottom:1rem}
.citem{display:flex;align-items:flex-start;gap:1rem;padding:0.9rem 0;border-bottom:0.5px solid rgba(245,242,236,0.05)}
.citem:last-child{border-bottom:none}
.citem-icon{width:30px;height:30px;border:0.5px solid rgba(201,168,76,0.17);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.citem-icon svg{width:13px;height:13px;stroke:var(--or)}
.citem-lbl{font-size:0.58rem;letter-spacing:0.12em;text-transform:uppercase;color:rgba(245,242,236,0.27);margin-bottom:0.2rem}
.citem-val{font-size:0.8rem;color:rgba(245,242,236,0.88)}
.citem-val a{color:var(--or);text-decoration:none;transition:color 0.3s}
.citem-val a:hover{color:var(--or2)}
.form-wrap{background:rgba(255,255,255,0.013);border:0.5px solid rgba(201,168,76,0.1);padding:2.3rem}
.form-title{font-family:var(--serif);font-size:1.15rem;color:var(--blanc);margin-bottom:1.8rem;font-weight:300}
.fg{margin-bottom:1.3rem}
.fg label{display:block;font-size:0.6rem;letter-spacing:0.12em;text-transform:uppercase;color:rgba(245,242,236,0.33);margin-bottom:0.45rem}
.fg input,.fg textarea,.fg select{width:100%;background:rgba(255,255,255,0.025);border:0.5px solid rgba(245,242,236,0.09);color:var(--blanc);padding:0.75rem 0.9rem;font-family:var(--sans);font-size:0.8rem;font-weight:300;outline:none;transition:border-color 0.3s;-webkit-appearance:none;border-radius:0}
.fg input:focus,.fg textarea:focus,.fg select:focus{border-color:rgba(201,168,76,0.38)}
.fg textarea{height:110px;resize:vertical}
.fg select option{background:var(--noir2)}
.form-note{font-size:0.62rem;color:rgba(245,242,236,0.24);margin-top:1rem;line-height:1.7}

/* ── CONFIRMATION ── */
.confirm-msg{display:none;text-align:center;padding:2rem;border:0.5px solid rgba(201,168,76,0.2);background:rgba(201,168,76,0.04);margin-top:1.5rem}
.confirm-msg.show{display:block}
.confirm-msg p{font-family:var(--serif);font-size:1.1rem;color:var(--or);font-style:italic;margin-bottom:0.5rem}
.confirm-msg span{font-size:0.75rem;color:rgba(245,242,236,0.75)}

/* ── FOOTER ── */
footer{background:var(--noir);border-top:1px solid rgba(201,168,76,0.4);padding:2rem 4rem}
.footer-top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1.5rem;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:0.5px solid rgba(245,242,236,0.04)}
.footer-left{display:flex;align-items:center;gap:0.7rem}
.footer-left img{height:32px;width:32px;object-fit:contain;opacity:0.6}
.footer-logo-text{font-family:var(--serif);font-size:0.88rem;color:var(--or);letter-spacing:0.08em}
.footer-middle{text-align:center}
.footer-middle a{display:inline-block;color:var(--or);text-decoration:none;font-size:0.85rem;margin-bottom:0.2rem;transition:color 0.3s}
.footer-middle a:hover{color:var(--or2)}
.footer-middle p{font-size:0.68rem;color:rgba(255,255,255,0.88);letter-spacing:0.05em}
.footer-links{display:flex;gap:1.6rem;flex-wrap:wrap}
.footer-links a{font-size:0.6rem;letter-spacing:0.1em;text-transform:uppercase;color:rgba(255,255,255,0.9);text-decoration:none;cursor:pointer;transition:color 0.3s}
.footer-links a:hover{color:var(--or)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:0.8rem}
.footer-cnaps{font-size:0.58rem;color:rgba(245,242,236,0.15);letter-spacing:0.05em}
.footer-copy{font-size:0.58rem;color:rgba(245,242,236,0.15)}

/* ── RESPONSIVE ── */
@media(max-width:900px){
  .footer-cnaps{text-align:center}
  nav{padding:0.8rem 1.5rem}
  nav.scrolled{padding:0.5rem 1.5rem}
  .nav-links,.nav-phone{display:none}
  .hamburger{display:flex}
  section{padding:3.5rem 1.5rem}
  .page-hero-content{padding:7rem 1.5rem 4rem}
  .srv-grid{grid-template-columns:1fr}
  .eng-grid{grid-template-columns:1fr 1fr}
  .about-grid,.contact-grid{grid-template-columns:1fr}
  .certif-band{padding:1rem 1.5rem;gap:1.2rem}
  footer{padding:1.5rem}
  .footer-top,.footer-bottom{flex-direction:column;align-items:flex-start}
  .hero-bg-logo img{width:140%}
}

/* ===== FLOATING SOCIAL BUTTONS ===== */
.floating-social{position:fixed;right:1.2rem;bottom:50%;transform:translateY(50%);z-index:200;display:flex;flex-direction:column;gap:0.6rem}
.float-btn{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;text-decoration:none;transition:all 0.3s;box-shadow:0 4px 15px rgba(0,0,0,0.3)}
.float-btn:hover{transform:scale(1.12);box-shadow:0 6px 20px rgba(0,0,0,0.4)}
.float-btn.whatsapp{background:#25D366}
.float-btn.linkedin{background:#0A66C2}
.float-btn svg{width:20px;height:20px;fill:#fff}
@media(max-width:900px){.floating-social{right:0.7rem;bottom:5rem}}

/* ===== ACCORDÉONS ===== */
.accord-wrap{border:0.5px solid rgba(245,242,236,0.08);overflow:hidden}
.accord-header{width:100%;background:rgba(255,255,255,0.02);border:none;padding:1.5rem 2rem;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:background 0.3s;text-align:left;gap:1rem}
.accord-header.vert:hover{background:rgba(46,204,113,0.05)}
.accord-header.violet:hover{background:rgba(139,92,246,0.05)}
.accord-header-left{display:flex;align-items:center;gap:1.2rem;flex:1;min-width:0}
.accord-title{font-family:var(--serif);font-size:1.3rem;font-weight:400;color:var(--blanc);white-space:nowrap}
.accord-sub{font-size:0.68rem;color:rgba(245,242,236,0.45);letter-spacing:0.05em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.accord-arrow{font-size:0.8rem;color:rgba(245,242,236,0.4);transition:transform 0.4s;flex-shrink:0}
.accord-arrow.open{transform:rotate(180deg)}
.accord-body{max-height:0;overflow:hidden;transition:max-height 0.5s ease}
.accord-body.open{max-height:600px}
.accord-body.open .accord-item{animation:slideInLeft 0.4s ease both}
.accord-body.open .accord-item:nth-child(1){animation-delay:0s}
.accord-body.open .accord-item:nth-child(2){animation-delay:0.08s}
.accord-body.open .accord-item:nth-child(3){animation-delay:0.16s}
.accord-body.open .accord-item:nth-child(4){animation-delay:0.24s}
.accord-body.open .accord-item:nth-child(5){animation-delay:0.32s}
.accord-body.open .accord-item:nth-child(6){animation-delay:0.40s}
@keyframes slideInLeft{
  from{opacity:0;transform:translateX(-40px)}
  to{opacity:1;transform:translateX(0)}
}
.accord-grid{display:flex;flex-direction:row;overflow:hidden;gap:0;position:relative;cursor:grab}
.accord-grid:active{cursor:grabbing}
.accord-track{display:flex;flex-direction:row;gap:0;transition:transform 0.6s cubic-bezier(0.25,0.46,0.45,0.94);will-change:transform}
.accord-item{background:var(--noir);padding:1.8rem;display:flex;flex-direction:column;gap:0.5rem;cursor:pointer;transition:background 0.3s;min-width:300px;max-width:300px;border-right:0.5px solid rgba(245,242,236,0.06);flex-shrink:0;user-select:none}
.accord-item:hover{background:rgba(255,255,255,0.025)}
.accord-item-num{display:flex;flex-direction:column;gap:0.5rem;font-family:var(--serif);font-size:1.4rem;font-weight:400;letter-spacing:0.06em;color:rgba(201,168,76,0.9);line-height:1}.accord-item-num::after{content:'';display:block;width:28px;height:1.5px;background:currentColor;opacity:0.7;border-radius:2px}
.accord-item-title{font-family:var(--serif);font-size:1rem;margin-bottom:0.3rem;font-weight:400}
.accord-item-text{font-size:0.74rem;line-height:1.8;color:rgba(245,242,236,0.65)}
.accord-dots{display:flex;gap:0.5rem;justify-content:center;padding:1rem 0 0.5rem}
.accord-dot{width:6px;height:6px;border-radius:50%;background:rgba(245,242,236,0.15);transition:all 0.3s;cursor:pointer}
.accord-dot.active{width:20px;border-radius:3px}
.accord-dot.vert-dot.active{background:var(--vert)}
.accord-dot.violet-dot.active{background:var(--violet)}
@media(max-width:900px){
  .accord-item{min-width:240px;max-width:240px}
  .accord-sub{display:none}
  .accord-title{font-size:1.1rem}
  .accord-header{padding:1.2rem 1.5rem}
}

.footer-legal{width:100%;display:flex;justify-content:center;gap:2rem;padding:0.8rem 0;border-top:0.5px solid rgba(245,242,236,0.08);border-bottom:0.5px solid rgba(245,242,236,0.08);margin:0.8rem 0;flex-wrap:wrap}
.footer-legal a{font-size:0.62rem;letter-spacing:0.1em;text-transform:uppercase;color:#ffffff !important;text-decoration:none;cursor:pointer;transition:color 0.3s}
.footer-legal a:hover{color:var(--or) !important}



.footer-cnaps, .footer-cnaps * { color: #ffffff !important; }
.footer-cnaps span { color: #ffffff !important; }
.footer-copy { color: #ffffff !important; }

/* ===== ACCORDÉONS ===== */
.accord-wrap{border:0.5px solid rgba(245,242,236,0.08);overflow:hidden}
.accord-header{width:100%;background:rgba(255,255,255,0.02);border:none;padding:1.5rem 2rem;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:background 0.3s;text-align:left;gap:1rem}
.accord-header.vert:hover{background:rgba(46,204,113,0.05)}
.accord-header.violet:hover{background:rgba(139,92,246,0.05)}
.accord-header-left{display:flex;align-items:center;gap:1.2rem;flex:1;min-width:0}
.accord-title{font-family:var(--serif);font-size:1.3rem;font-weight:400;color:var(--blanc);white-space:nowrap}
.accord-sub{font-size:0.68rem;color:rgba(245,242,236,0.45);letter-spacing:0.05em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.accord-arrow{font-size:0.8rem;color:rgba(245,242,236,0.4);transition:transform 0.4s;flex-shrink:0}
.accord-arrow.open{transform:rotate(180deg)}
.accord-body{max-height:0;overflow:hidden;transition:max-height 0.5s ease}
.accord-body.open{max-height:600px}
.accord-body.open .accord-item{animation:slideInLeft 0.4s ease both}
.accord-body.open .accord-item:nth-child(1){animation-delay:0s}
.accord-body.open .accord-item:nth-child(2){animation-delay:0.08s}
.accord-body.open .accord-item:nth-child(3){animation-delay:0.16s}
.accord-body.open .accord-item:nth-child(4){animation-delay:0.24s}
.accord-body.open .accord-item:nth-child(5){animation-delay:0.32s}
.accord-body.open .accord-item:nth-child(6){animation-delay:0.40s}
@keyframes slideInLeft{
  from{opacity:0;transform:translateX(-40px)}
  to{opacity:1;transform:translateX(0)}
}
.accord-grid{display:flex;flex-direction:row;overflow:hidden;gap:0;position:relative;cursor:grab}
.accord-grid:active{cursor:grabbing}
.accord-track{display:flex;flex-direction:row;gap:0;transition:transform 0.6s cubic-bezier(0.25,0.46,0.45,0.94);will-change:transform}
.accord-item{background:var(--noir);padding:1.8rem;display:flex;flex-direction:column;gap:0.5rem;cursor:pointer;transition:background 0.3s;min-width:300px;max-width:300px;border-right:0.5px solid rgba(245,242,236,0.06);flex-shrink:0;user-select:none}
.accord-item:hover{background:rgba(255,255,255,0.025)}
.accord-item-num{display:flex;flex-direction:column;gap:0.5rem;font-family:var(--serif);font-size:1.4rem;font-weight:400;letter-spacing:0.06em;color:rgba(201,168,76,0.9);line-height:1}
.accord-item-title{font-family:var(--serif);font-size:1rem;margin-bottom:0.3rem;font-weight:400}
.accord-item-text{font-size:0.74rem;line-height:1.8;color:rgba(245,242,236,0.65)}
.accord-dots{display:flex;gap:0.5rem;justify-content:center;padding:1rem 0 0.5rem}
.accord-dot{width:6px;height:6px;border-radius:50%;background:rgba(245,242,236,0.15);transition:all 0.3s;cursor:pointer}
.accord-dot.active{width:20px;border-radius:3px}
.accord-dot.vert-dot.active{background:var(--vert)}
.accord-dot.violet-dot.active{background:var(--violet)}
@media(max-width:900px){
  .accord-item{min-width:240px;max-width:240px}
  .accord-sub{display:none}
  .accord-title{font-size:1.1rem}
  .accord-header{padding:1.2rem 1.5rem}
}

.footer-legal{width:100%;display:flex;justify-content:center;gap:2rem;padding:0.8rem 0;border-top:0.5px solid rgba(245,242,236,0.08);border-bottom:0.5px solid rgba(245,242,236,0.08);margin:0.8rem 0;flex-wrap:wrap}
.footer-legal a{font-size:0.62rem;letter-spacing:0.1em;text-transform:uppercase;color:#ffffff !important;text-decoration:none;cursor:pointer;transition:color 0.3s}
.footer-legal a:hover{color:var(--or) !important}



@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}



#page-enquete .civil-visual-hero{
  position:relative;
  border-bottom:1px solid rgba(46,204,113,.12);
}
#page-enquete .civil-visual-hero::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:0;
  height:14%;
  pointer-events:none;
  background:linear-gradient(to bottom, transparent, var(--noir));
}
#page-enquete .civil-visual-hero img{
  animation:civilHeroReveal .75s ease both;
}
@keyframes civilHeroReveal{
  from{opacity:0; transform:scale(1.008)}
  to{opacity:1; transform:scale(1)}
}
@media(max-width:700px){
  #page-enquete .civil-visual-hero{padding-top:64px}
  #page-enquete .civil-visual-hero img{
    width:145% !important;
    max-width:none !important;
    margin-left:-22.5% !important;
  }
}
@media(prefers-reduced-motion:reduce){
  #page-enquete .civil-visual-hero img{animation:none!important}
}



      #osint-scan-section .osint-intro{max-width:780px}
      #osint-scan{position:relative;margin-top:2.2rem;border:0.5px solid rgba(139,92,246,0.22);background:linear-gradient(180deg,rgba(18,14,28,0.6),rgba(10,10,10,0.6));border-radius:4px;overflow:hidden;box-shadow:0 30px 80px -40px rgba(0,0,0,0.9)}
      #osint-scan .osint-hud{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:0.6rem;padding:0.7rem 1.1rem;border-bottom:0.5px solid rgba(139,92,246,0.18);background:rgba(0,0,0,0.35)}
      #osint-scan .osint-hud .h-left{display:flex;align-items:center;gap:0.7rem}
      #osint-scan .osint-dot{width:7px;height:7px;border-radius:50%;background:var(--violet);box-shadow:0 0 10px var(--violet);animation:osintblink 1.4s ease-in-out infinite}
      @keyframes osintblink{0%,100%{opacity:1}50%{opacity:0.25}}
      #osint-scan .osint-phase{font-family:var(--sans);font-size:0.6rem;letter-spacing:0.24em;text-transform:uppercase;color:var(--or2)}
      #osint-scan .osint-coords{font-family:var(--sans);font-size:0.62rem;letter-spacing:0.14em;color:rgba(245,242,236,0.72);white-space:nowrap}
      #osint-scan .osint-coords b{color:var(--violet);font-weight:500}
      #osint-scan .osint-grid{display:grid;grid-template-columns:1.35fr 1fr;min-height:440px}
      #osint-scan .osint-stage{position:relative;overflow:hidden;background:radial-gradient(120% 90% at 50% 40%,rgba(139,92,246,0.10),transparent 60%)}
      #osint-scan canvas{display:block;width:100%;height:100%}
      #osint-scan .osint-scanline{position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(139,92,246,0.05) 0 1px,transparent 1px 4px);mix-blend-mode:screen;opacity:0.5}
      #osint-scan .osint-corner{position:absolute;width:22px;height:22px;border:1px solid rgba(139,92,246,0.5);pointer-events:none}
      #osint-scan .c-tl{top:12px;left:12px;border-right:none;border-bottom:none}
      #osint-scan .c-tr{top:12px;right:12px;border-left:none;border-bottom:none}
      #osint-scan .c-bl{bottom:12px;left:12px;border-right:none;border-top:none}
      #osint-scan .c-br{bottom:12px;right:12px;border-left:none;border-top:none}
      #osint-scan .osint-sources{position:absolute;inset:0;pointer-events:none}
      #osint-scan .osrc{position:absolute;display:flex;align-items:center;gap:0.55rem;padding:0.4rem 0.6rem;background:rgba(12,10,20,0.86);border:0.5px solid rgba(139,92,246,0.35);border-radius:3px;font-family:var(--sans);opacity:0;transform:translateY(6px) scale(0.96);transition:opacity 0.5s ease,transform 0.5s ease;backdrop-filter:blur(2px);max-width:180px}
      #osint-scan .osrc.show{opacity:1;transform:translateY(0) scale(1)}
      #osint-scan .osrc .ic{width:20px;height:20px;flex:0 0 20px;border-radius:3px;display:flex;align-items:center;justify-content:center;background:rgba(139,92,246,0.16);color:var(--or2);font-size:0.66rem;font-weight:600}
      #osint-scan .osrc .tx b{display:block;font-size:0.56rem;letter-spacing:0.06em;color:rgba(245,242,236,0.92);font-weight:500}
      #osint-scan .osrc .tx span{display:block;font-size:0.52rem;letter-spacing:0.04em;color:var(--violet)}
      #osint-scan .osint-terminal{border-left:0.5px solid rgba(139,92,246,0.18);background:rgba(6,6,9,0.7);display:flex;flex-direction:column;min-width:0}
      #osint-scan .osint-term-head{display:flex;align-items:center;gap:0.5rem;padding:0.6rem 0.9rem;border-bottom:0.5px solid rgba(139,92,246,0.14)}
      #osint-scan .osint-term-head .tdot{width:8px;height:8px;border-radius:50%}
      #osint-scan .osint-term-head .r{background:#ff5f56}#osint-scan .osint-term-head .y{background:#ffbd2e}#osint-scan .osint-term-head .g{background:#27c93f}
      #osint-scan .osint-term-head .tt{margin-left:0.4rem;font-family:var(--sans);font-size:0.56rem;letter-spacing:0.2em;text-transform:uppercase;color:rgba(245,242,236,0.5)}
      #osint-scan .osint-term-body{flex:1;padding:0.85rem 1rem;font-family:"Courier New",monospace;font-size:0.68rem;line-height:1.75;color:rgba(220,224,235,0.9);overflow:hidden;white-space:pre-wrap;word-break:break-word}
      #osint-scan .tl{opacity:0;transform:translateY(3px);animation:osintline 0.35s ease forwards}
      @keyframes osintline{to{opacity:1;transform:none}}
      #osint-scan .tl.k-cmd::before{content:"$ ";color:var(--violet)}
      #osint-scan .tl.k-cmd{color:var(--or2)}
      #osint-scan .tl.k-ok{color:#3ddc84}
      #osint-scan .tl.k-info{color:rgba(200,205,220,0.7)}
      #osint-scan .tl.k-prog{color:var(--violet);letter-spacing:0.02em}
      #osint-scan .tl.k-lock{color:var(--or2);font-weight:700;letter-spacing:0.05em}
      #osint-scan .tcursor{display:inline-block;width:7px;height:0.85em;background:var(--violet);vertical-align:-1px;animation:osintblink 1s steps(1) infinite}
      #osint-scan .osint-replay{position:absolute;bottom:14px;left:50%;transform:translate(-50%,10px);opacity:0;pointer-events:none;transition:opacity 0.5s ease,transform 0.5s ease;background:var(--violet);color:#fff;border:none;font-family:var(--sans);font-size:0.62rem;letter-spacing:0.16em;text-transform:uppercase;padding:0.6rem 1.4rem;border-radius:3px;cursor:pointer;box-shadow:0 10px 30px -8px rgba(139,92,246,0.7)}
      #osint-scan.done .osint-replay{opacity:1;pointer-events:all;transform:translate(-50%,0)}
      #osint-scan .osint-replay:hover{background:#7c3aed}
      #osint-scan-section .osint-legal{margin-top:1rem;font-size:0.6rem;letter-spacing:0.05em;color:rgba(245,242,236,0.4);max-width:780px;line-height:1.7}
      @media(max-width:820px){
        #osint-scan .osint-grid{grid-template-columns:1fr}
        #osint-scan .osint-stage{min-height:320px}
        #osint-scan .osint-terminal{border-left:none;border-top:0.5px solid rgba(139,92,246,0.18)}
        #osint-scan .osint-term-body{max-height:190px}
        #osint-scan .osrc{max-width:150px}
      }
    


      #risk-intel-section{--ri-gold:#c9a84c;--ri-gold2:#e8c97a;--ri-v:#8b5cf6;--ri-red:#ff6b5f;--ri-green:#45d483}
      #risk-intel-section .ri-intro{max-width:820px;font-size:.86rem;line-height:2;color:rgba(245,242,236,.82)}
      .ri-board{margin-top:2.2rem;display:grid;grid-template-columns:1fr 1.35fr 1fr;grid-template-areas:"profile company geo" "network network conflicts" "finance sources sources" "summary summary summary";gap:.85rem;position:relative}
      .ri-panel{position:relative;overflow:hidden;background:linear-gradient(155deg,rgba(16,14,23,.98),rgba(8,8,11,.96));border:.5px solid rgba(201,168,76,.16);border-radius:4px;box-shadow:0 18px 50px -34px #000;opacity:0;transform:translateY(16px) scale(.985);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.75,.2,1),border-color .5s}
      .ri-panel.ri-on{opacity:1;transform:none;border-color:rgba(201,168,76,.34)}
      .ri-panel::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 25%,rgba(139,92,246,.025) 50%,transparent 75%);transform:translateX(-120%);opacity:0}
      .ri-panel.ri-on::after{animation:riSweep 1.4s ease .15s 1}
      @keyframes riSweep{20%{opacity:1}100%{transform:translateX(120%);opacity:0}}
      .ri-head{display:flex;align-items:center;gap:.55rem;padding:.55rem .72rem;border-bottom:.5px solid rgba(201,168,76,.15);background:rgba(255,255,255,.012);font-size:.56rem;letter-spacing:.13em;text-transform:uppercase;color:rgba(245,242,236,.88)}
      .ri-num{display:inline-flex;align-items:center;justify-content:center;width:25px;height:22px;border:.5px solid rgba(201,168,76,.55);color:var(--ri-gold2);font-family:"Courier New",monospace;font-weight:700}
      .ri-body{padding:.8rem;font-size:.65rem;line-height:1.6;color:rgba(235,235,241,.78)}
      .ri-profile{grid-area:profile} .ri-company{grid-area:company} .ri-geo{grid-area:geo} .ri-network{grid-area:network} .ri-conflicts{grid-area:conflicts} .ri-finance{grid-area:finance} .ri-sources{grid-area:sources} .ri-summary{grid-area:summary}
      .ri-profile-top{display:grid;grid-template-columns:88px 1fr;gap:.75rem;align-items:start}
      .ri-portrait{height:112px;overflow:hidden;border:.5px solid rgba(201,168,76,.25);background:#09090d;position:relative}
      .ri-portrait img{width:100%;height:100%;object-fit:cover;filter:saturate(.75) contrast(1.05);display:block}
      .ri-face-scan{position:absolute;left:0;right:0;height:1px;top:-2px;background:linear-gradient(90deg,transparent,var(--ri-v),transparent);box-shadow:0 0 9px var(--ri-v);opacity:0}
      .ri-panel.ri-on .ri-face-scan{opacity:.8;animation:riFace 2.2s ease .4s 2}
      @keyframes riFace{from{top:0}to{top:100%}}
      .ri-name{font-family:var(--serif);font-size:1.03rem;color:var(--blanc);margin:.1rem 0 .15rem}
      .ri-role{color:var(--ri-gold2);font-size:.58rem;margin-bottom:.45rem}
      .ri-pill{display:inline-block;padding:.18rem .42rem;margin:.12rem .12rem .12rem 0;border:.5px solid rgba(139,92,246,.25);color:rgba(214,204,246,.78);font-size:.52rem}
      .ri-match{margin-top:.65rem;padding-top:.55rem;border-top:.5px solid rgba(139,92,246,.12)}
      .ri-match-top{display:flex;justify-content:space-between;align-items:end;margin-bottom:.25rem} .ri-match-top b{font-size:.55rem;color:rgba(245,242,236,.55);font-weight:400} .ri-match-top span{color:var(--ri-gold2);font-family:"Courier New",monospace}
      .ri-gauge{height:5px;background:rgba(139,92,246,.12);overflow:hidden;border-radius:3px} .ri-gauge i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--ri-v),var(--ri-gold2));transition:width 1.3s ease}
      .ri-panel.ri-on .ri-gauge i{width:87%}
      .ri-note{margin-top:.45rem;font-size:.52rem;color:rgba(245,242,236,.42);line-height:1.5}
      .ri-company-card{min-height:175px;display:grid;grid-template-columns:1.1fr .9fr;gap:.85rem;align-items:stretch}
      .ri-company-brand{display:flex;flex-direction:column;justify-content:center;border-right:.5px solid rgba(201,168,76,.12);padding-right:.8rem}
      .ri-monogram{font-family:var(--serif);font-size:3.4rem;line-height:.8;color:rgba(201,168,76,.84);text-shadow:0 0 18px rgba(201,168,76,.15)}
      .ri-company-name{font-family:var(--serif);font-size:1.45rem;letter-spacing:.08em;color:var(--blanc);margin-top:.55rem}
      .ri-company-sub{font-size:.56rem;color:var(--ri-v);letter-spacing:.12em;text-transform:uppercase;margin-top:.15rem}
      .ri-kv{display:flex;justify-content:space-between;gap:.6rem;padding:.25rem 0;border-bottom:.5px solid rgba(255,255,255,.045)} .ri-kv b{font-weight:400;color:rgba(245,242,236,.48)} .ri-kv span{text-align:right;color:rgba(245,242,236,.88)}
      .ri-signal-row{display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem;margin-top:.7rem}
      .ri-signal{padding:.48rem .36rem;text-align:center;border:.5px solid rgba(139,92,246,.17);background:rgba(139,92,246,.025)} .ri-signal strong{display:block;color:var(--ri-gold2);font-family:"Courier New",monospace;font-size:.75rem} .ri-signal span{font-size:.49rem;color:rgba(245,242,236,.52)}
      .ri-map-wrap{display:grid;grid-template-columns:1fr 90px;gap:.55rem;align-items:center}
      .ri-map{width:100%;height:145px;display:block} .ri-map path{fill:rgba(139,92,246,.025);stroke:rgba(201,168,76,.48);stroke-width:1.1} .ri-map line{stroke:rgba(139,92,246,.18);stroke-width:.7}
      .ri-map .mk{fill:var(--ri-v);opacity:0;transform-box:fill-box;transform-origin:center;transform:scale(.3);transition:all .5s ease} .ri-panel.ri-on .ri-map .mk{opacity:1;transform:scale(1)} .ri-map .hq{fill:var(--ri-gold2)}
      .ri-map .pulse{fill:none;stroke:var(--ri-gold2);stroke-width:1;opacity:0} .ri-panel.ri-on .ri-map .pulse{animation:riPing 1.9s ease-out 1.4s infinite}
      @keyframes riPing{0%{r:4;opacity:.8}100%{r:18;opacity:0}}
      .ri-geo-stats strong{display:block;color:var(--ri-gold2);font-family:var(--serif);font-size:1.1rem} .ri-geo-stats span{display:block;font-size:.5rem;color:rgba(245,242,236,.5);margin-bottom:.45rem}
      .ri-network .ri-body{height:235px;position:relative}
      .ri-net-svg{position:absolute;inset:.6rem;width:calc(100% - 1.2rem);height:calc(100% - 1.2rem);z-index:0}
      .ri-net-svg line{stroke:rgba(201,168,76,.45);stroke-width:1.2;stroke-dasharray:160;stroke-dashoffset:160;transition:stroke-dashoffset 1s ease} .ri-net-svg line.indirect{stroke:rgba(139,92,246,.5);stroke-dasharray:4 5} .ri-panel.ri-on .ri-net-svg line{stroke-dashoffset:0}
      .ri-node{position:absolute;z-index:2;min-width:120px;padding:.48rem .55rem;border:.5px solid rgba(201,168,76,.28);background:rgba(10,9,14,.96);text-align:center;font-size:.54rem;opacity:0;transform:scale(.85);transition:all .5s ease} .ri-panel.ri-on .ri-node{opacity:1;transform:scale(1)}
      .ri-node b{display:block;color:var(--blanc);font-weight:500;letter-spacing:.05em} .ri-node small{color:rgba(245,242,236,.45)} .ri-node.main{border-color:rgba(139,92,246,.75);box-shadow:0 0 24px -10px rgba(139,92,246,.7);min-width:150px}
      .n-main{left:42%;top:42%} .n-hold{left:41%;top:7%} .n-a{left:5%;top:25%} .n-b{right:4%;top:20%} .n-c{left:8%;bottom:8%} .n-d{right:8%;bottom:7%}
      .ri-conflict-row{display:grid;grid-template-columns:32px 1fr;gap:.5rem;align-items:center;padding:.5rem 0;border-bottom:.5px solid rgba(255,255,255,.045)}
      .ri-cnum{font-family:var(--serif);font-size:1.15rem;color:var(--ri-v);text-align:center} .ri-conflict-row b{display:block;color:rgba(245,242,236,.87);font-size:.57rem;font-weight:400} .ri-conflict-row span{font-size:.5rem;color:rgba(245,242,236,.45)}
      .ri-riskbox{margin-top:.65rem;padding:.6rem;border:.5px solid rgba(201,168,76,.26);display:flex;justify-content:space-between;align-items:center} .ri-riskbox b{font-size:.55rem;color:rgba(245,242,236,.5);font-weight:400} .ri-riskbox strong{font-family:var(--serif);font-size:1rem;color:var(--ri-gold2)}
      .ri-chart{height:135px;display:flex;gap:.45rem;align-items:end;padding:.4rem .35rem 1.2rem;border-left:.5px solid rgba(245,242,236,.08);border-bottom:.5px solid rgba(245,242,236,.08);position:relative}
      .ri-bar{flex:1;height:var(--h);background:linear-gradient(to top,rgba(139,92,246,.32),rgba(139,92,246,.92));transform:scaleY(0);transform-origin:bottom;transition:transform .7s ease;position:relative;min-width:22px} .ri-panel.ri-on .ri-bar{transform:scaleY(1)}
      .ri-bar::after{content:attr(data-y);position:absolute;bottom:-1.05rem;left:50%;transform:translateX(-50%);font-size:.46rem;color:rgba(245,242,236,.4)} .ri-bar i{position:absolute;top:-1rem;left:50%;transform:translateX(-50%);font-style:normal;font-size:.48rem;color:var(--ri-gold2)}
      .ri-alerts{margin-top:.65rem;display:grid;grid-template-columns:1fr 1fr;gap:.35rem} .ri-alert{font-size:.51rem;color:rgba(245,242,236,.64);padding:.35rem .4rem;border:.5px solid rgba(255,107,95,.12)} .ri-alert::before{content:"△";color:var(--ri-red);margin-right:.32rem}
      .ri-source-layout{display:grid;grid-template-columns:1.1fr .7fr;gap:.75rem;align-items:center}
      .ri-source-list{display:grid;grid-template-columns:1fr 1fr;gap:.35rem} .ri-source{padding:.4rem .45rem;border:.5px solid rgba(139,92,246,.16);font-size:.51rem;color:rgba(245,242,236,.68);opacity:0;transform:translateX(-8px);transition:all .45s ease} .ri-panel.ri-on .ri-source{opacity:1;transform:none}
      .ri-source:nth-child(2){transition-delay:.1s} .ri-source:nth-child(3){transition-delay:.2s} .ri-source:nth-child(4){transition-delay:.3s} .ri-source:nth-child(5){transition-delay:.4s} .ri-source:nth-child(6){transition-delay:.5s} .ri-source:nth-child(7){transition-delay:.6s} .ri-source:nth-child(8){transition-delay:.7s}
      .ri-hub{width:118px;height:118px;border-radius:50%;margin:auto;border:1px solid rgba(201,168,76,.5);display:flex;align-items:center;justify-content:center;text-align:center;font-size:.55rem;letter-spacing:.08em;color:var(--ri-gold2);position:relative;box-shadow:0 0 30px -12px rgba(201,168,76,.5)} .ri-hub::before{content:"";position:absolute;inset:-8px;border:1px solid rgba(139,92,246,.2);border-radius:50%;animation:riHub 2.6s ease-in-out infinite} @keyframes riHub{50%{transform:scale(1.08);opacity:.35}}
      .ri-result-mini{margin-top:.55rem;text-align:center;font-size:.52rem;color:rgba(245,242,236,.48)} .ri-result-mini strong{color:var(--ri-green);font-weight:500}
      .ri-summary{background:linear-gradient(90deg,rgba(201,168,76,.035),rgba(139,92,246,.035),rgba(201,168,76,.025))}
      .ri-summary-grid{display:grid;grid-template-columns:160px 1.1fr 1fr;gap:1rem;align-items:center}
      .ri-ring{width:120px;height:120px;border-radius:50%;margin:auto;background:conic-gradient(var(--ri-gold2) 0deg,rgba(201,168,76,.08) 0);display:grid;place-items:center;position:relative;transition:background 1.2s ease} .ri-ring::after{content:"";position:absolute;inset:10px;background:#0b0b0f;border-radius:50%} .ri-ring div{position:relative;z-index:2;text-align:center} .ri-ring small{display:block;font-size:.48rem;color:rgba(245,242,236,.45)} .ri-ring strong{font-family:var(--serif);font-size:1.1rem;color:var(--ri-gold2)}
      .ri-panel.ri-on .ri-ring{background:conic-gradient(var(--ri-gold2) 0 216deg,rgba(201,168,76,.08) 216deg 360deg)}
      .ri-summary-list{display:grid;gap:.4rem} .ri-summary-list span{font-size:.56rem;color:rgba(245,242,236,.72)} .ri-summary-list span::before{content:"•";color:var(--ri-v);margin-right:.45rem}
      .ri-rec{padding-left:1rem;border-left:.5px solid rgba(201,168,76,.18)} .ri-rec b{display:block;color:var(--ri-gold2);font-family:var(--serif);font-size:.95rem;margin-bottom:.4rem;font-weight:400} .ri-rec p{font-size:.55rem;color:rgba(245,242,236,.56);line-height:1.65}
      .ri-controls{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem;flex-wrap:wrap} .ri-status{font-size:.58rem;letter-spacing:.08em;color:rgba(245,242,236,.4)} .ri-status b{color:var(--ri-v);font-weight:400} .ri-replay{background:transparent;border:.5px solid rgba(139,92,246,.45);color:var(--ri-v);font-family:var(--sans);font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;padding:.55rem 1rem;cursor:pointer;transition:.3s} .ri-replay:hover{background:rgba(139,92,246,.1);border-color:var(--ri-v)}
      #risk-intel-section .ri-legal{margin-top:1rem;font-size:.6rem;letter-spacing:.04em;color:rgba(245,242,236,.4);max-width:900px;line-height:1.7}
      @media(max-width:900px){.ri-board{grid-template-columns:1fr;grid-template-areas:"company" "profile" "geo" "network" "conflicts" "finance" "sources" "summary"}.ri-company-card{grid-template-columns:1fr}.ri-company-brand{border-right:0;border-bottom:.5px solid rgba(201,168,76,.12);padding:0 0 .7rem}.ri-summary-grid{grid-template-columns:1fr}.ri-rec{border-left:0;border-top:.5px solid rgba(201,168,76,.18);padding:1rem 0 0}.ri-network .ri-body{height:310px}.ri-node{min-width:105px}.n-main{left:30%;top:42%}.n-hold{left:30%;top:7%}}
      @media(prefers-reduced-motion:reduce){#risk-intel-section *{animation:none!important;transition:none!important}.ri-panel{opacity:1;transform:none}.ri-gauge i{width:87%!important}.ri-bar{transform:scaleY(1)!important}}
    

/* ===== Optimisations accessibilité / navigation ===== */
:focus-visible{outline:3px solid var(--or2);outline-offset:3px}
.skip-link{position:fixed;left:1rem;top:-100px;z-index:10000;padding:.75rem 1rem;background:#fff;color:#000;text-decoration:none;font-weight:500}
.skip-link:focus{top:1rem}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
a.btn-or,a.btn-ghost,a.nav-cta{display:inline-block;text-decoration:none;text-align:center}
a.accord-item,a.srv-card{color:inherit;text-decoration:none}
.accord-sub{color:rgba(245,242,236,.64)}
.mobile-menu[aria-hidden="true"]{pointer-events:none}

.services-trigger{background:none;border:0;color:rgba(245,242,236,0.85);font-family:var(--sans);font-size:0.72rem;letter-spacing:0.12em;text-transform:uppercase;cursor:pointer;padding:0}.services-trigger:hover{color:var(--or)}
