html[data-theme="light"]{
    color-scheme: light;

    --max:1200px;

    --text:#1d2440;
    --muted:#5c688d;

    --primary:#5a46d6;
    --primary2:#8a79ff;
    --primary3:#cfd6f3;

    --discord:#5865F2;
    --discord-hover:#4752C4;

    --bg-page:
            radial-gradient(circle at 12% 10%, rgba(90,70,214,.22), transparent 24%),
            radial-gradient(circle at 88% 14%, rgba(138,121,255,.16), transparent 24%),
            radial-gradient(circle at 50% 100%, rgba(90,70,214,.10), transparent 28%),
            linear-gradient(180deg, #dfe5f4 0%, #cfd8eb 46%, #dbe2f1 100%);

    --nav-bg:rgba(218,226,246,.74);
    --nav-border:rgba(86,98,142,.20);

    --panel:rgba(222,230,248,.74);
    --panel-strong:rgba(208,218,241,.84);
    --panel-soft:rgba(238,242,252,.78);

    --card-border:rgba(255,255,255,.32);
    --line-soft:rgba(96,110,158,.18);

    --hero-main-bg:
            radial-gradient(circle at top left, rgba(90,70,214,.26), transparent 30%),
            radial-gradient(circle at 88% 18%, rgba(138,121,255,.18), transparent 22%),
            linear-gradient(180deg, rgba(233,238,251,.92), rgba(196,206,232,.94));

    --hero-side-bg:
            radial-gradient(circle at 50% 18%, rgba(90,70,214,.20), transparent 28%),
            linear-gradient(180deg, rgba(224,231,249,.92), rgba(182,194,226,.95));

    --logo-stage-bg:
            radial-gradient(circle at center, rgba(90,70,214,.28), transparent 36%),
            linear-gradient(180deg, rgba(226,232,249,.94), rgba(183,194,226,.96));

    --logo-frame-bg:
            linear-gradient(180deg, rgba(242,245,253,.94), rgba(204,214,237,.92));

    --cta-bg:
            linear-gradient(135deg, rgba(226,232,249,.88), rgba(187,198,227,.94));

    --quote-bg:rgba(217,225,245,.82);
    --footer-bg:rgba(210,220,243,.82);
    --pill-bg:rgba(235,240,250,.88);

    --shadow:0 22px 50px rgba(36,47,88,.18);
    --shadow-soft:0 12px 28px rgba(36,47,88,.12);

    --radius:28px;
    --radius-lg:36px;

    --card-bg: rgba(0,0,0,0.03);
    --card-hover-border: rgba(0,0,0,0.2);
    --card-hover-shadow: rgba(0,0,0,0.15);
    --step-color: rgba(0,0,0,0.05);

    
}

html[data-theme="dark"]{
    color-scheme: dark;

    --max:1200px;

    --text:#eef2ff;
    --muted:#a8b2d3;

    --primary:#8f7cff;
    --primary2:#b3a7ff;
    --primary3:#d8d2ff;

    --discord:#5865F2;
    --discord-hover:#4752C4;

    --bg-page:
            radial-gradient(circle at 10% 10%, rgba(143,124,255,.24), transparent 22%),
            radial-gradient(circle at 88% 14%, rgba(111,92,220,.18), transparent 22%),
            radial-gradient(circle at 50% 100%, rgba(143,124,255,.10), transparent 28%),
            linear-gradient(180deg, #101421 0%, #171c2c 45%, #111625 100%);

    --nav-bg:rgba(20,25,40,.72);
    --nav-border:rgba(151,165,220,.12);

    --panel:rgba(28,34,54,.72);
    --panel-strong:rgba(34,41,64,.84);
    --panel-soft:rgba(39,47,73,.78);

    --card-border:rgba(173,185,231,.12);
    --line-soft:rgba(173,185,231,.10);

    --hero-main-bg:
            radial-gradient(circle at top left, rgba(143,124,255,.24), transparent 30%),
            radial-gradient(circle at 88% 18%, rgba(179,167,255,.14), transparent 22%),
            linear-gradient(180deg, rgba(30,36,58,.92), rgba(21,27,43,.95));

    --hero-side-bg:
            radial-gradient(circle at 50% 18%, rgba(143,124,255,.18), transparent 28%),
            linear-gradient(180deg, rgba(32,38,60,.94), rgba(18,23,38,.96));

    --logo-stage-bg:
            radial-gradient(circle at center, rgba(143,124,255,.22), transparent 36%),
            linear-gradient(180deg, rgba(32,39,61,.95), rgba(18,24,39,.98));

    --logo-frame-bg:
            linear-gradient(180deg, rgba(43,50,77,.92), rgba(24,30,48,.95));

    --cta-bg:
            linear-gradient(135deg, rgba(39,46,72,.94), rgba(24,30,48,.98));

    --quote-bg:rgba(30,37,58,.82);
    --footer-bg:rgba(24,30,48,.86);
    --pill-bg:rgba(34,41,64,.88);

    --shadow:0 24px 56px rgba(0,0,0,.38);
    --shadow-soft:0 14px 32px rgba(0,0,0,.26);

    --radius:28px;
    --radius-lg:36px;

    --card-bg: rgba(255,255,255,0.03);
    --card-hover-border: rgba(255,255,255,0.2);
    --card-hover-shadow: rgba(255,255,255,0.08);
    --step-color: rgba(255,255,255,0.03);
}

*{
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    margin:0;
    font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    color:var(--text);
    background:var(--bg-page);
    overflow-x:hidden;
    transition:
            background .35s ease,
            color .35s ease,
            border-color .35s ease,
            box-shadow .35s ease;
}

a{
    text-decoration:none;
    color:inherit;
}

img{
    max-width:100%;
    display:block;
}

.container{
    width:min(var(--max), calc(100% - 32px));
    margin:auto;
}

/* Effets de fond */

.page-glow{
    position:fixed;
    border-radius:999px;
    filter:blur(70px);
    pointer-events:none;
    z-index:0;
    opacity:.55;
}

.glow-1{
    width:300px;
    height:300px;
    left:-100px;
    top:80px;
    background:rgba(90,70,214,.18);
}

.glow-2{
    width:280px;
    height:280px;
    right:-80px;
    top:220px;
    background:rgba(138,121,255,.16);
}

.glow-3{
    width:340px;
    height:340px;
    left:38%;
    bottom:-120px;
    background:rgba(90,70,214,.12);
}

html[data-theme="dark"] .glow-1{
    background:rgba(143,124,255,.18);
}

html[data-theme="dark"] .glow-2{
    background:rgba(111,92,220,.16);
}

html[data-theme="dark"] .glow-3{
    background:rgba(143,124,255,.10);
}

.orbs span{
    position:absolute;
    border-radius:999px;
    pointer-events:none;
    filter:blur(18px);
    opacity:.55;
}

.orbs span:nth-child(1){
    width:160px;
    height:160px;
    top:30px;
    left:-20px;
    background:rgba(90,70,214,.18);
}

.orbs span:nth-child(2){
    width:130px;
    height:130px;
    top:160px;
    right:10%;
    background:rgba(138,121,255,.14);
}

.orbs span:nth-child(3){
    width:180px;
    height:180px;
    bottom:40px;
    left:42%;
    background:rgba(90,70,214,.10);
}

html[data-theme="dark"] .orbs span:nth-child(1){
    background:rgba(143,124,255,.16);
}

html[data-theme="dark"] .orbs span:nth-child(2){
    background:rgba(111,92,220,.14);
}

html[data-theme="dark"] .orbs span:nth-child(3){
    background:rgba(143,124,255,.08);
}

/* Navbar */

.nav-wrap{
    position:sticky;
    top:0;
    z-index:100;
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
    background:var(--nav-bg);
    border-bottom:1px solid var(--nav-border);
}

.nav{
    min-height:82px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
}

.brand{
    display:flex;
    align-items:center;
    gap:12px;
    min-width:0;
    flex-shrink:0;
}

.brand-logo{
    width:52px;
    height:52px;
    border-radius:16px;
    padding:6px;
    background:linear-gradient(135deg, rgba(90,70,214,.34), rgba(138,121,255,.22));
    border:1px solid var(--card-border);
    box-shadow:0 10px 26px rgba(90,70,214,.18);
    flex-shrink:0;
}

html[data-theme="dark"] .brand-logo{
    background:linear-gradient(135deg, rgba(143,124,255,.34), rgba(179,167,255,.16));
    box-shadow:0 10px 26px rgba(143,124,255,.18);
}

html[data-theme="dark"] .logo-frame::after{
    background: linear-gradient( 90deg, transparent, rgba(255, 255, 255, 0.08), transparent );
    filter:blur(3px);
}

.brand-logo img{
    width:100%;
    height:100%;
    object-fit:contain;
}

.brand-text{
    font-weight:800;
    font-size:18px;
    line-height:1.05;
    white-space:nowrap;
}

.brand-text small{
    display:block;
    font-size:10px;
    letter-spacing:.08em;
    color:var(--muted);
    text-transform:uppercase;
    margin-top:4px;
    white-space:nowrap;
}

.nav-right{
    display:flex;
    align-items:center;
    gap:18px;
    margin-left:auto;
    min-width:0;
}

.menu{
    display:flex;
    align-items:center;
    gap:6px;
    flex-wrap:nowrap;
}

.menu a{
    padding:10px 14px;
    border-radius:999px;
    font-weight:600;
    font-size:15px;
    color:var(--muted);
    white-space:nowrap;
    transition:all .25s ease;
}

.menu a:hover,
.menu a.is-active,
.footer-links-grid a.is-active{
    background:rgba(122,104,242,.12);
    color:var(--text);
}

.nav-actions{
    display:flex;
    align-items:center;
    gap:10px;
    flex-shrink:0;
}

.menu-cta{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:0 18px;
    border-radius:999px;
    font-weight:700;
    white-space:nowrap;
    color:#fff !important;
    background:var(--discord);
    box-shadow:0 10px 24px rgba(88,101,242,.30);
    transition:all .25s ease;
}

.menu-cta:hover{
    background:var(--discord-hover) !important;
    color:#fff !important;
    transform:translateY(-2px);
    box-shadow:0 16px 34px rgba(88,101,242,.42);
}

.menu-ecurie{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:0 18px;
    border-radius:999px;
    font-weight:700;
    white-space:nowrap;
    color:#fff !important;
    background:linear-gradient(180deg,#9b6b3d,#7a4f29);
    border:1px solid rgba(210,170,90,.45);
    box-shadow:
            0 10px 22px rgba(90,60,30,.35),
            inset 0 1px 0 rgba(255,230,170,.25);
    transition:all .25s ease;
}

.menu-ecurie:hover{
    background:linear-gradient(180deg,#b8844d,#8c5a30);
    transform:translateY(-2px);
    color:#fff !important;
    box-shadow:
            0 16px 34px rgba(90,60,30,.45),
            inset 0 1px 0 rgba(255,230,170,.35);
}

.menu-toggle{
    display:none;
    width:46px;
    height:46px;
    border:1px solid var(--card-border);
    background:var(--panel-soft);
    border-radius:14px;
    padding:0;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:5px;
    cursor:pointer;
}

.menu-toggle span{
    width:18px;
    height:2px;
    background:var(--text);
    border-radius:999px;
    transition:.25s ease;
}

.menu-toggle.is-open span:nth-child(1){
    transform:translateY(7px) rotate(45deg);
}

.menu-toggle.is-open span:nth-child(2){
    opacity:0;
}

.menu-toggle.is-open span:nth-child(3){
    transform:translateY(-7px) rotate(-45deg);
}

/* Hero */

.hero{
    position:relative;
    padding:70px 0 40px;
}

.hero-shell{
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:22px;
    position:relative;
    z-index:1;
}

.hero-main,
.hero-side,
.card,
.panel,
.cta-banner,
.quote-box{
    border-radius:var(--radius-lg);
    border:1px solid var(--card-border);
    box-shadow:var(--shadow);
}

.hero-main{
    padding:34px;
    min-height:560px;
    background:var(--hero-main-bg);
}

.hero-side{
    padding:18px;
    min-height:560px;
    display:grid;
    grid-template-rows:1fr auto;
    gap:16px;
    background:var(--hero-side-bg);
}

.eyebrow{
    display:inline-block;
    font-size:12px;
    letter-spacing:.12em;
    font-weight:700;
    color:var(--muted);
    text-transform:uppercase;
    margin-bottom:16px;
}

h1{
    margin:0;
    font-size:clamp(40px, 5.2vw, 72px);
    line-height:.95;
    letter-spacing:-.04em;
    max-width:640px;
}

.gradient{
    background:linear-gradient(135deg, var(--primary), var(--primary2) 55%, var(--primary3) 100%);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
}

.hero-copy{
    margin-top:20px;
    max-width:640px;
    color:var(--muted);
    font-size:17px;
    line-height:1.7;
}

.hero-actions,
.cta-row{
    margin-top:24px;
    display:flex;
    gap:14px;
    flex-wrap:wrap;
}

.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:52px;
    padding:0 22px;
    border-radius:16px;
    font-weight:700;
    transition:.2s;
}

.btn:hover{
    transform:translateY(-2px);
}

.btn-primary{
    background:linear-gradient(135deg, var(--primary), var(--primary2));
    color:#fff;
    box-shadow:0 16px 36px rgba(90,70,214,.28);
}

html[data-theme="dark"] .btn-primary{
    box-shadow:0 16px 36px rgba(143,124,255,.24);
}

.btn-secondary{
    background:var(--pill-bg);
    border:1px solid var(--line-soft);
    color:var(--text);
}

.hero-stats{
    margin-top:24px;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:12px;
}

.stat{
    padding:16px;
    border-radius:20px;
    background:var(--panel-soft);
    border:1px solid var(--card-border);
    box-shadow:var(--shadow-soft);
}

.stat strong{
    display:block;
    font-size:20px;
    margin-bottom:4px;
}

.stat span{
    font-size:13px;
    color:var(--muted);
    line-height:1.55;
}

.stat-number{
    text-align:center;
    padding:20px 16px;
}

.stat-number strong{
    display:block;
    font-size:34px;
    line-height:1;
    letter-spacing:-0.04em;
    margin-bottom:8px;
    background:linear-gradient(135deg, var(--primary), var(--primary2));
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
}

.stat-number span{
    display:block;
    font-size:14px;
    font-weight:700;
    color:var(--muted);
    line-height:1.4;
}

/* Grand bouclier */

.logo-stage{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:30px;
    background:var(--logo-stage-bg);
    border:1px solid var(--card-border);
    padding:24px;
    min-height:360px;
    overflow:hidden;
    isolation:isolate;
}

.logo-stage::before{
    content:"";
    position:absolute;
    width:260px;
    height:260px;
    border-radius:999px;
    background:radial-gradient(circle, rgba(122,104,242,.26) 0%, rgba(122,104,242,.10) 42%, transparent 72%);
    filter:blur(20px);
    z-index:0;
    animation:shieldPulse 4.5s ease-in-out infinite;
}

.logo-stage::after{
    content:"";
    position:absolute;
    inset:-20%;
    background:
            conic-gradient(
                    from 0deg,
                    transparent 0deg,
                    rgba(255,255,255,.16) 40deg,
                    transparent 80deg,
                    transparent 360deg
            );
    opacity:.45;
    filter:blur(18px);
    z-index:0;
    animation:shieldAuraSpin 14s linear infinite;
}

.logo-frame{
    position:relative;
    width:280px;
    height:280px;
    border-radius:26px;
    background:var(--logo-frame-bg);
    border:1px solid var(--card-border);
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:var(--shadow-soft);
    z-index:1;
    animation:shieldFloat 5s ease-in-out infinite;
}

.logo-frame::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    background:
            linear-gradient(135deg, rgba(255,255,255,.28), transparent 34%),
            linear-gradient(315deg, rgba(255,255,255,.10), transparent 40%);
    pointer-events:none;
}

.logo-frame::after{
    content:"";
    position:absolute;
    top:-30%;
    left:-60%;
    width:30%;
    height:200%;
    transform:rotate(20deg);
    background:linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.25),
            transparent
    );
    opacity:.28;
    pointer-events:none;
    filter:blur(2px);
    animation:shieldShine 6s ease-in-out infinite;
}

.logo-frame img{
    width:75%;
    height:75%;
    object-fit:contain;
    filter:none;
    position:relative;
    z-index:1;
    animation:shieldBreath 5s ease-in-out infinite;
}

html[data-theme="dark"] .logo-stage::before{
    background:radial-gradient(circle, rgba(143,124,255,.34) 0%, rgba(143,124,255,.12) 42%, transparent 72%);
}

html[data-theme="dark"] .logo-stage::after{
    opacity:.38;
}

html[data-theme="dark"] .logo-frame{
    box-shadow:
            0 18px 34px rgba(0,0,0,.35),
            0 0 28px rgba(143,124,255,.10);
}

/* Mini cards */

.hero-side-cards{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
}

.mini-card{
    padding:16px;
    border-radius:20px;
    background:var(--panel-soft);
    border:1px solid var(--card-border);
    box-shadow:var(--shadow-soft);
}

.mini-card strong{
    display:block;
    margin-bottom:6px;
    font-size:12px;
    letter-spacing:.1em;
    text-transform:uppercase;
    color:var(--muted);
}

.mini-card p{
    margin:0;
    font-size:13px;
    color:var(--muted);
    line-height:1.55;
}

/* Sections */

section{
    padding:40px 0;
}

.section-head{
    margin-bottom:20px;
}

.section-head span{
    font-size:12px;
    letter-spacing:.2em;
    text-transform:uppercase;
    color:var(--muted);
    font-weight:700;
}

.section-head h2{
    margin:6px 0;
    font-size:38px;
    line-height:1.08;
}

.section-head p{
    max-width:680px;
    color:var(--muted);
    line-height:1.7;
}

/* Cards */

.grid-3{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
}

.grid-4 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
}

.recruitment-steps .card {
    position: relative;
    padding: 40px 30px;
    border-radius: 14px;
    background: var(--card-bg);
    border: 1px solid var(--card-border);
    transition: all 0.3s ease;
    overflow: hidden;
}

.step {
    position: absolute;
    top: -20px;
    right: 10px;
    font-size: 120px;
    font-weight: 800;
    color: var(--step-color);
    pointer-events: none;
}

.icon {
    font-size: 28px;
    margin-bottom: 15px;
}

.recruitment-steps .card:hover {
    transform: translateY(-6px);
    border-color: var(--card-hover-border);
    box-shadow: 0 0 25px var(--card-hover-shadow);
}

@media (max-width: 1100px) {
    .grid-4 {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .grid-4 {
        grid-template-columns: 1fr;
    }
}

.card{
    padding:24px;
    border-radius:var(--radius);
    background:var(--panel);
}

.icon{
    width:50px;
    height:50px;
    border-radius:16px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:22px;
    background:linear-gradient(135deg, rgba(90,70,214,.24), rgba(138,121,255,.18));
    margin-bottom:14px;
}

html[data-theme="dark"] .icon{
    background:linear-gradient(135deg, rgba(143,124,255,.24), rgba(179,167,255,.12));
}

.card h3{
    margin:0 0 8px;
}

.card p{
    margin:0;
    color:var(--muted);
    line-height:1.7;
}

/* Panels */

.showcase{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
}

.panel{
    padding:28px;
    border-radius:32px;
    background:var(--panel-strong);
}

.panel h3{
    margin:0 0 10px;
}

.panel p{
    color:var(--muted);
    line-height:1.7;
}

.list{
    list-style:none;
    padding:0;
    margin:20px 0 0;
    display:grid;
    gap:10px;
}

.list li{
    padding:12px 14px;
    border-radius:14px;
    background:var(--pill-bg);
    border:1px solid var(--line-soft);
}

/* CTA */

.wide-cta{
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:18px;
}

.cta-banner{
    padding:30px;
    border-radius:32px;
    background:var(--cta-bg);
}

.quote-box{
    padding:30px;
    border-radius:32px;
    background:var(--quote-bg);
}

.quote-box blockquote{
    font-size:20px;
    margin:0;
    line-height:1.6;
}

.quote-box small{
    display:block;
    margin-top:18px;
    color:var(--muted);
    font-size:12px;
    letter-spacing:.08em;
    text-transform:uppercase;
    font-weight:700;
}

.join-note{
    margin:18px 0 0;
    text-align:center;
    color:var(--muted);
    font-size:14px;
    line-height:1.6;
}

.final-cta{
    padding-top:0;
}

.quote-box{
    padding: 30px 28px;
    border-radius: 32px;
    border: 1px solid var(--card-border);
    background: var(--cta-bg);
    transition: all .25s ease;

}

.quote-box h4{
    margin: 0 0 16px;
    font-size: 18px;
    font-weight: 700;
}

.quote-box p{
    display: flex;
    justify-content: space-between;
    gap: 16px;
    margin: 0;
    padding: 10px 0;
    font-size: 14px;
    border-bottom: 1px solid rgba(255,255,255,0.06);
}

.quote-box p:last-child{
    border-bottom: none;
    padding-bottom: 0;
}

.quote-box strong{
    opacity: .85;
}

.quote-box:hover{
    transform: translateY(-4px);
    border-color: var(--card-hover-border);
    box-shadow: 0 8px 20px var(--card-hover-shadow);
}

/* =========================
   FOOTER V2
========================= */

.footer{
    margin-top:60px;
    padding:40px 0 24px;
    position:relative;
}

.footer::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    right:0;
    height:1px;
    background:linear-gradient(90deg, transparent, var(--primary), transparent);
    opacity:.22;
}

.footer-container{
    position:relative;
}

.footer-box-v2{
    display:grid;
    grid-template-columns:1.2fr 1fr .9fr;
    gap:32px;
    align-items:start;
    padding:28px;
    border-radius:28px;
    background:var(--footer-bg);
    border:1px solid var(--card-border);
    box-shadow:var(--shadow-soft);
}

.footer-col{
    min-width:0;
}

.footer-brand{
    display:flex;
    align-items:flex-start;
    gap:14px;
}

.footer-brand-col .mark{
    width:58px;
    height:58px;
    flex-shrink:0;
    border-radius:18px;
    padding:6px;
    background:linear-gradient(135deg, rgba(90,70,214,.18), rgba(138,121,255,.12));
    border:1px solid var(--card-border);
}

html[data-theme="dark"] .footer-brand-col .mark{
    background:linear-gradient(135deg, rgba(143,124,255,.18), rgba(179,167,255,.10));
}

.footer-brand-col strong{
    display:block;
    font-size:24px;
    line-height:1.05;
    margin-bottom:8px;
}

.footer-desc{
    margin:0 0 10px;
    color:var(--muted);
    font-size:14px;
    line-height:1.65;
    max-width:320px;
}

.footer-note{
    display:block;
    margin-top:0;
    color:var(--muted);
    font-size:12px;
    letter-spacing:.08em;
    text-transform:uppercase;
    font-weight:700;
}

.footer-title{
    margin:0 0 14px;
    font-size:13px;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:var(--muted);
}

.footer-links-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px 14px;
}

.footer-links-grid a{
    color:var(--muted);
    font-weight:600;
    transition:color .2s ease, transform .2s ease;
}

.footer-links-grid a:hover,
.footer-links-grid a.is-active{
    color:var(--text);
    transform:translateX(2px);
}

.footer-actions{
    display:flex;
    flex-direction:column;
    gap:12px;
}

.footer-actions .btn{
    width:100%;
}

.footer-legal{
    margin:10px 0 0;
    color:var(--muted);
    font-size:12px;
    line-height:1.6;
    opacity:.92;
    max-width:420px;
}

.footer-legal-links{
    margin-top:14px;
    display:flex;
    gap:14px;
    flex-wrap:wrap;
    font-size:13px;
}

.footer-legal-links a{
    color:var(--muted);
    transition:.2s;
}

.footer-legal-links a:hover{
    color:var(--text);
}

.admin-access{
    position:absolute;
    right: 5px;
    bottom: 6px;
    width:38px;
    height:38px;
    border-radius:999px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:18px;
    text-decoration:none;
    color:#fff;
    background:rgba(0,0,0,.38);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
    box-shadow:0 8px 20px rgba(0,0,0,.18);
    opacity:0;
    transform:translateY(6px) scale(.85);
    pointer-events:none;
    transition:
            opacity .25s ease,
            transform .25s ease,
            background .25s ease;
}

.footer-container:hover .admin-access{
    opacity:.85;
    transform:translateY(0) scale(1);
    pointer-events:auto;
}

.admin-access:hover{
    opacity:1 !important;
    transform:translateY(0) scale(1.08) !important;
    background:rgba(0,0,0,.52);
}

/* Reveal */

.reveal{
    opacity:0;
    transform:translateY(18px);
    transition:opacity .6s ease, transform .6s ease;
}

.reveal.is-visible{
    opacity:1;
    transform:none;
}

.delay-1{
    transition-delay:.08s;
}

.delay-2{
    transition-delay:.16s;
}

.floating,
.shine{
    animation:none;
}

.count-up.is-done{
    animation:countPop .28s ease;
}

/* Animations */

@keyframes countPop{
    0%{ transform:scale(1); }
    50%{ transform:scale(1.08); }
    100%{ transform:scale(1); }
}

@keyframes shieldFloat{
    0%,100%{
        transform:translateY(0px);
    }
    50%{
        transform:translateY(-10px);
    }
}

@keyframes shieldPulse{
    0%,100%{
        transform:scale(1);
        opacity:.55;
    }
    50%{
        transform:scale(1.12);
        opacity:.9;
    }
}

@keyframes shieldAuraSpin{
    from{
        transform:rotate(0deg);
    }
    to{
        transform:rotate(360deg);
    }
}

@keyframes shieldShine{
    0%{
        left:-70%;
        opacity:0;
    }
    20%{
        opacity:.4;
    }
    50%{
        left:130%;
        opacity:0;
    }
    100%{
        left:130%;
        opacity:0;
    }
}

@keyframes shieldBreath{
    0%,100%{
        transform:scale(1);
    }
    50%{
        transform:scale(1.025);
    }
}

.page-glow{
    position:fixed;
    border-radius:999px;
    filter:blur(70px);
    pointer-events:none;
    z-index:0;
    opacity:.62;
    animation: floatGlow 8s ease-in-out infinite;
    will-change: transform;
}

.glow-1{
    animation-delay:0s;
}

.glow-2{
    animation-delay:-2s;
}

.glow-3{
    animation-delay:-4s;
}

@keyframes floatGlow{
    0%,100%{
        transform:translate3d(0,0,0) scale(1);
    }
    50%{
        transform:translate3d(40px,-50px,0) scale(1.08);
    }
}

.orbs span{
    animation: floatOrb 7s ease-in-out infinite;
    will-change: transform;
}

.orbs span:nth-child(2){
    animation-delay:-2s;
}

.orbs span:nth-child(3){
    animation-delay:-4s;
}

@keyframes floatOrb{
    0%,100%{
        transform:translate3d(0,0,0);
    }
    50%{
        transform:translate3d(18px,-24px,0);
    }
}

@media (prefers-reduced-motion: reduce){
    .page-glow,
    .orbs span,
    .logo-stage::before,
    .logo-stage::after,
    .logo-frame,
    .logo-frame img,
    .logo-frame::after,
    .reveal{
        animation:none !important;
        transition:none !important;
    }
}

/* Responsive */

@media (max-width:1100px){
    .brand-text small{
        display:none;
    }

    .menu a{
        padding:10px 12px;
        font-size:14px;
    }

    .nav-right{
        gap:12px;
    }
}

@media (max-width:1000px){
    .hero-shell,
    .showcase,
    .grid-3,
    .wide-cta{
        grid-template-columns:1fr;
    }

    .hero-stats{
        grid-template-columns:1fr 1fr;
    }

    .hero-side-cards{
        grid-template-columns:1fr;
    }

    .footer-box-v2{
        grid-template-columns:1fr;
        gap:24px;
    }

    .footer-links-grid{
        grid-template-columns:1fr 1fr;
    }

    .footer-actions{
        flex-direction:row;
        flex-wrap:wrap;
    }

    .footer-actions .btn{
        width:auto;
    }
}

@media (max-width:920px){
    .menu-toggle{
        display:inline-flex;
        margin-left:auto;
    }

    .nav-right{
        position:static;
        margin-left:0;
    }

    .menu{
        position:absolute;
        top:calc(100% + 10px);
        right:16px;
        left:16px;
        display:none;
        flex-direction:column;
        align-items:stretch;
        gap:10px;
        padding:12px;
        border-radius:20px;
        background:var(--panel-strong);
        border:1px solid var(--card-border);
        box-shadow:var(--shadow);
        z-index:120;
        backdrop-filter:blur(16px);
        -webkit-backdrop-filter:blur(16px);
    }

    .menu.is-open{
        display:flex;
    }

    .menu a{
        width:100%;
        justify-content:center;
        text-align:center;
    }

    .nav-actions{
        display:none;
    }

    .nav{
        position:relative;
    }
}

@media (max-width:640px){
    .nav{
        min-height:auto;
        padding:12px 0;
        align-items:center;
    }

    .brand{
        min-width:0;
        max-width:calc(100% - 64px);
    }

    .brand-logo{
        width:46px;
        height:46px;
    }

    .brand-text{
        font-size:15px;
    }

    .brand-text small{
        display:none;
    }

    .hero-actions,
    .cta-row{
        flex-direction:column;
        align-items:stretch;
    }

    .hero-stats{
        grid-template-columns:1fr;
    }

    .section-head h2{
        font-size:30px;
    }

    .logo-stage::after{
        animation-duration:8s;
        opacity:.22;
    }

    .logo-frame{
        animation-duration:6s;
    }

    .footer-box-v2{
        padding:22px;
    }

    .footer-brand{
        align-items:center;
    }

    .footer-brand-col strong{
        font-size:20px;
    }

    .footer-links-grid{
        grid-template-columns:1fr;
    }

    .footer-actions{
        flex-direction:column;
    }

    .footer-actions .btn{
        width:100%;
    }
}

@media (max-width:480px){
    h1{
        font-size:36px;
    }

    .logo-frame{
        width:220px;
        height:220px;
    }

    .hero-main{
        padding:24px;
    }

    .hero-side{
        padding:14px;
    }

    .card,
    .panel,
    .cta-banner,
    .quote-box{
        padding:22px;
    }
}

@media (prefers-reduced-motion: reduce){
    .logo-stage::before,
    .logo-stage::after,
    .logo-frame,
    .logo-frame img,
    .logo-frame::after,
    .reveal{
        animation:none !important;
        transition:none !important;
    }
}

/* =========================
   ADMIN
========================= */

.admin-page{
    min-height:100vh;
    padding:48px 0;
}

.admin-wrap{
    width:min(1100px, calc(100% - 32px));
    margin:0 auto;
}

.admin-auth-wrap{
    width:min(520px, calc(100% - 32px));
    margin:0 auto;
    padding-top:6vh;
}

.admin-login-card{
    text-align:center;
}

.admin-login-form-block{
    padding:24px;
    border-radius:24px;
    background:var(--panel-soft);
    border:1px solid var(--card-border);
    box-shadow:var(--shadow-soft);
}

.admin-login-form-block-compact{
    text-align:left;
}

.admin-login-badge{
    display:inline-flex;
    align-items:center;
    min-height:34px;
    padding:0 12px;
    border-radius:999px;
    margin-bottom:16px;
    background:var(--pill-bg);
    border:1px solid var(--line-soft);
    color:var(--muted);
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.12em;
    font-weight:700;
}

.admin-card{
    background:var(--panel-strong);
    border:1px solid var(--card-border);
    border-radius:28px;
    box-shadow:var(--shadow);
    padding:28px;
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
}

.admin-title{
    margin:0 0 8px;
    font-size:32px;
    line-height:1.05;
    letter-spacing:-0.03em;
}

.admin-subtitle{
    margin:0 0 22px;
    color:var(--muted);
    line-height:1.6;
}

.admin-topbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin-bottom:22px;
}

.admin-topbar-left h1{
    margin:0 0 6px;
    font-size:32px;
    line-height:1.05;
}

.admin-topbar-left p{
    margin:0;
    color:var(--muted);
}

.admin-brand{
    display:flex;
    align-items:center;
    gap:14px;
}

.admin-brand-center{
    justify-content:center;
    margin-bottom:18px;
}

.admin-brand h1{
    margin:0 0 4px;
    font-size:30px;
    line-height:1.05;
}

.admin-brand p{
    margin:0;
    color:var(--muted);
}

.admin-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
}

.admin-field{
    margin-bottom:16px;
}

.admin-field label{
    display:block;
    margin-bottom:8px;
    font-weight:700;
    color:var(--text);
}

.admin-input,
.admin-textarea{
    width:100%;
    border-radius:16px;
    border:1px solid var(--line-soft);
    background:var(--pill-bg);
    color:var(--text);
    padding:14px 16px;
    font:inherit;
    outline:none;
    transition:border-color .2s ease, box-shadow .2s ease;
}

.admin-input:focus,
.admin-textarea:focus{
    border-color:rgba(122,104,242,.45);
    box-shadow:0 0 0 4px rgba(122,104,242,.12);
}

.admin-password-row{
    display:grid;
    grid-template-columns:1fr auto;
    gap:10px;
    align-items:center;
}

.admin-password-toggle{
    min-width:110px;
}

.admin-textarea{
    min-height:130px;
    resize:vertical;
}

.admin-actions{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    margin-top:10px;
}

.admin-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    padding:0 18px;
    border:none;
    border-radius:16px;
    font-weight:700;
    font:inherit;
    cursor:pointer;
    text-decoration:none;
    transition:transform .2s ease, box-shadow .2s ease, opacity .2s ease;
}

.admin-btn:hover{
    transform:translateY(-2px);
}

.admin-btn-primary{
    background:linear-gradient(135deg, var(--primary), var(--primary2));
    color:#fff;
    box-shadow:0 16px 36px rgba(90,70,214,.28);
}

.admin-btn-secondary{
    background:var(--pill-bg);
    color:var(--text);
    border:1px solid var(--line-soft);
}

.admin-alert{
    margin-bottom:16px;
    padding:14px 16px;
    border-radius:16px;
    background:var(--panel-soft);
    border:1px solid var(--card-border);
    color:var(--text);
}

.admin-alert-success{
    border-color:rgba(34,197,94,.25);
}

.admin-alert-error{
    border-color:rgba(239,68,68,.25);
}

.admin-save-status{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:18px;
    padding:14px 16px;
    border-radius:16px;
    background:var(--panel-soft);
    border:1px solid var(--card-border);
    color:var(--muted);
    transition:border-color .2s ease, color .2s ease, box-shadow .2s ease;
}

.admin-save-status.is-hidden{
    opacity:0;
    transform:translateY(-6px);
    margin:0;
    padding-top:0;
    padding-bottom:0;
    max-height:0;
    overflow:hidden;
    border-width:0;
    pointer-events:none;
}

.admin-save-dot{
    width:10px;
    height:10px;
    border-radius:999px;
    background:currentColor;
    opacity:.9;
    flex-shrink:0;
}

.admin-save-status.is-dirty{
    color:#d97706;
    border-color:rgba(217,119,6,.28);
}

.admin-save-status.is-saving{
    color:#2563eb;
    border-color:rgba(37,99,235,.28);
}

.admin-save-status.is-saving .admin-save-dot{
    animation:adminPulse 1s ease-in-out infinite;
}

.admin-save-status.is-success{
    color:#16a34a;
    border-color:rgba(22,163,74,.28);
}

.admin-save-status.is-error{
    color:#dc2626;
    border-color:rgba(220,38,38,.28);
}

.admin-stats-bar{
    display:grid;
    grid-template-columns:repeat(5, 1fr);
    gap:14px;
    margin-bottom:20px;
}

.admin-stat-box{
    padding:16px;
    border-radius:18px;
    background:var(--panel-soft);
    border:1px solid var(--card-border);
    box-shadow:var(--shadow-soft);
    text-align:center;
}

.admin-stat-box span{
    display:block;
    font-size:12px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:var(--muted);
    margin-bottom:6px;
}

.admin-stat-box strong{
    display:block;
    font-size:28px;
    line-height:1;
    letter-spacing:-0.04em;
    background:linear-gradient(135deg, var(--primary), var(--primary2));
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
}

.admin-footer-link{
    margin-top:16px;
    text-align:center;
}

.admin-footer-link a{
    color:var(--muted);
}

.menu-ecurie{
    display:inline-flex;
    align-items:center;
    gap:8px;
}

.menu-ecurie img{
    width:22px;
    height:22px;
    object-fit:contain;
    filter: drop-shadow(0 1px 2px rgba(0,0,0,.3));
}

.admin-overview-grid{
    display:grid;
    grid-template-columns:1.15fr .85fr;
    gap:18px;
    margin-bottom:18px;
}

.admin-panel-card{
    margin-bottom:18px;
}

.admin-card-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
    margin-bottom:18px;
}

.admin-kicker{
    display:block;
    margin-bottom:6px;
    font-size:12px;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--muted);
    font-weight:700;
}

.admin-section-title{
    margin:0;
    font-size:24px;
    line-height:1.1;
}

.admin-alert-grid{
    display:grid;
    gap:12px;
    margin-bottom:18px;
}

.admin-inline-alert{
    padding:16px 18px;
    border-radius:18px;
    border:1px solid var(--card-border);
    background:var(--panel-soft);
    box-shadow:var(--shadow-soft);
}

.admin-inline-alert strong{
    display:block;
    margin-bottom:4px;
}

.admin-inline-alert p{
    margin:0;
    color:var(--muted);
    line-height:1.6;
}

.admin-inline-alert.tone-warning{
    border-color:rgba(217,119,6,.24);
}

.admin-inline-alert.tone-neutral{
    border-color:rgba(148,163,184,.24);
}

.admin-summary-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:14px;
}

.admin-summary-item{
    padding:16px;
    border-radius:18px;
    background:var(--panel-soft);
    border:1px solid var(--card-border);
}

.admin-summary-item span{
    display:block;
    margin-bottom:8px;
    color:var(--muted);
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.08em;
    font-weight:700;
}

.admin-summary-item strong{
    display:block;
    font-size:18px;
    line-height:1.4;
}

.admin-performance-list{
    display:grid;
    gap:12px;
}

.admin-performance-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:14px 16px;
    border-radius:18px;
    background:var(--panel-soft);
    border:1px solid var(--card-border);
}

.admin-performance-row span{
    color:var(--muted);
}

.admin-performance-row strong{
    font-size:22px;
    line-height:1;
}

.admin-performance-row small{
    display:block;
    margin-top:6px;
    color:var(--muted);
    font-size:12px;
    font-weight:600;
    text-align:right;
}

.admin-chip-row{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
}

.admin-chip{
    display:inline-flex;
    align-items:center;
    min-height:34px;
    padding:0 12px;
    border-radius:999px;
    background:var(--pill-bg);
    border:1px solid var(--line-soft);
    color:var(--muted);
    font-size:13px;
    font-weight:700;
}

.admin-chip.is-active{
    color:var(--text);
    border-color:rgba(122,104,242,.32);
}

.admin-kpi-grid{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:14px;
}

.admin-kpi-card{
    padding:18px;
    border-radius:20px;
    background:var(--panel-soft);
    border:1px solid var(--card-border);
    box-shadow:var(--shadow-soft);
}

.admin-kpi-card span{
    display:block;
    margin-bottom:10px;
    color:var(--muted);
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.1em;
    font-weight:700;
}

.admin-kpi-card strong{
    display:block;
    margin-bottom:6px;
    font-size:34px;
    line-height:1;
    letter-spacing:-0.04em;
}

.admin-kpi-card small{
    color:var(--muted);
    line-height:1.5;
}

.admin-filters{
    display:grid;
    grid-template-columns:180px 180px minmax(220px, 1fr) auto;
    gap:14px;
    margin-bottom:18px;
}

.admin-filter-group label{
    display:block;
    margin-bottom:8px;
    font-weight:700;
}

.admin-filter-group-search{
    min-width:0;
}

.admin-filter-actions{
    display:flex;
    align-items:flex-end;
    gap:10px;
}

.admin-table-wrap{
    overflow-x:auto;
    border-radius:20px;
    border:1px solid var(--card-border);
    background:var(--panel-soft);
}

.admin-table{
    width:100%;
    border-collapse:collapse;
}

.admin-table th,
.admin-table td{
    padding:14px 16px;
    text-align:left;
    vertical-align:top;
}

.admin-table th{
    color:var(--muted);
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.1em;
}

.admin-table tbody tr + tr td{
    border-top:1px solid var(--line-soft);
}

.admin-agent strong{
    display:block;
    margin-bottom:4px;
    font-size:14px;
}

.admin-agent span{
    display:block;
    color:var(--muted);
    font-size:12px;
    line-height:1.5;
}

.admin-badge{
    display:inline-flex;
    align-items:center;
    min-height:28px;
    padding:0 10px;
    border-radius:999px;
    font-size:12px;
    font-weight:700;
}

.admin-badge.is-human{
    background:rgba(34,197,94,.12);
    color:#16a34a;
}

.admin-badge.is-bot{
    background:rgba(245,158,11,.12);
    color:#d97706;
}

.admin-table-empty{
    color:var(--muted);
    text-align:center !important;
}

.admin-pagination{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    margin-top:18px;
}

.admin-pagination-label{
    color:var(--muted);
    font-weight:700;
}

@keyframes adminPulse{
    0%, 100%{
        transform:scale(1);
        opacity:.55;
    }
    50%{
        transform:scale(1.35);
        opacity:1;
    }
}

@media (max-width:820px){
    .admin-grid{
        grid-template-columns:1fr;
    }

    .admin-overview-grid,
    .admin-kpi-grid,
    .admin-summary-grid,
    .admin-filters{
        grid-template-columns:1fr;
    }

    .admin-topbar{
        flex-direction:column;
        align-items:flex-start;
    }

    .admin-stats-bar{
        grid-template-columns:1fr;
    }

    .admin-card-head,
    .admin-pagination{
        flex-direction:column;
        align-items:flex-start;
    }

    .admin-filter-actions{
        align-items:stretch;
        flex-wrap:wrap;
    }
}
