/* ================================================================
   Alliance Groupe Theme — main.css
   Sombre premium, or/champagne #D4B45C
   ================================================================ */

/* ── Skip to content (accessibility) ──────────────────────────── */
.ag-skip-link{
    position:absolute;
    top:-100px;
    left:50%;
    transform:translateX(-50%);
    background:#D4B45C;
    color:#080808;
    padding:12px 24px;
    border-radius:0 0 8px 8px;
    font-weight:700;
    font-size:.9rem;
    z-index:99999;
    transition:top .3s;
    text-decoration:none;
}
.ag-skip-link:focus{top:0}

/* ── Reset & Base ─────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{
    font-family:'Manrope',sans-serif;
    font-weight:400;
    font-size:16px;
    line-height:1.7;
    color:#fff;
    background:#080808;
    overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
ul{list-style:none}
a{text-decoration:none;color:inherit}

/* ── Typography ───────────────────────────────────────────────── */
h1,h2,h3,h4,h5,h6{
    font-family:'Manrope',sans-serif;
    font-weight:800;
    line-height:1.2;
    color:#fff;
}
em,.ag-gold{
    font-family:'Playfair Display',serif;
    font-style:italic;
    color:#D4B45C;
}

/* ── Container ────────────────────────────────────────────────── */
.ag-container{
    width:100%;
    max-width:1200px;
    margin:0 auto;
    padding:0 24px;
}
.ag-container--narrow{max-width:800px}

/* ── Section ──────────────────────────────────────────────────── */
.ag-section{padding:100px 0}
.ag-section__title{
    font-size:clamp(2rem,5vw,3.2rem);
    margin-bottom:18px;
}
.ag-section__desc{
    color:#b0b0bc;
    font-size:1.1rem;
    max-width:600px;
    margin-bottom:48px;
}
.ag-tag{
    display:inline-block;
    padding:6px 18px;
    background:rgba(212,180,92,.1);
    color:#D4B45C;
    border:1px solid rgba(212,180,92,.25);
    border-radius:100px;
    font-size:.85rem;
    font-weight:600;
    letter-spacing:.5px;
    text-transform:uppercase;
    margin-bottom:18px;
}

/* ── Navigation ───────────────────────────────────────────────── */
.ag-nav{
    position:fixed;
    top:0;left:0;right:0;
    z-index:10000;
    padding:18px 0;
    transition:background .4s,padding .4s,box-shadow .4s;
}
.ag-nav.scrolled{
    background:rgba(8,8,8,.95);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    padding:10px 0;
    box-shadow:0 2px 30px rgba(0,0,0,.4);
}
.ag-nav__inner{
    max-width:1200px;
    margin:0 auto;
    padding:0 24px;
    display:flex;
    align-items:center;
    justify-content:space-between;
}
.ag-nav__logo{
    font-family:'Playfair Display',serif;
    font-size:1.5rem;
    font-weight:700;
    color:#D4B45C;
    display:flex;
    align-items:center;
    gap:10px;
}
.ag-nav__logo-img{
    width:36px;
    height:36px;
    max-width:36px;
    max-height:36px;
    object-fit:contain;
    flex-shrink:0;
    display:block;
}
.ag-nav__logo-text{
    display:flex;
    gap:0;
}
.ag-nav__list{
    display:flex;
    gap:28px;
    align-items:center;
}
.ag-nav__list > li{position:relative}
.ag-nav__list > li > a{
    font-size:.95rem;
    font-weight:600;
    color:#e8e6e0;
    transition:color .3s;
    display:flex;
    align-items:center;
    gap:4px;
    padding:8px 0;
}
.ag-nav__list > li > a:hover{color:#D4B45C}
.ag-nav__arrow{font-size:.6rem;opacity:.5;transition:transform .3s}
.ag-nav__has-sub:hover .ag-nav__arrow{transform:rotate(180deg)}

/* ── Mega Menu Desktop ────────────────────────────────────────── */
.ag-mega{
    position:absolute;
    top:100%;
    left:50%;
    transform:translateX(-50%) translateY(8px);
    min-width:560px;
    background:rgba(12,12,15,.97);
    backdrop-filter:blur(24px);
    -webkit-backdrop-filter:blur(24px);
    border:1px solid rgba(255,255,255,.08);
    border-radius:16px;
    padding:28px;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .3s,transform .3s,visibility .3s;
    box-shadow:0 20px 60px rgba(0,0,0,.5);
}
.ag-mega--sm{min-width:320px}
.ag-nav__has-sub:hover .ag-mega{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateX(-50%) translateY(0);
}
.ag-mega__inner{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;
}
.ag-mega--sm .ag-mega__inner{grid-template-columns:1fr}
.ag-mega__col{}
.ag-mega__label{
    display:block;
    font-size:.72rem;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:1px;
    color:#D4B45C;
    margin-bottom:14px;
    padding-bottom:8px;
    border-bottom:1px solid rgba(212,180,92,.15);
}
.ag-mega__link{
    display:flex;
    align-items:flex-start;
    gap:12px;
    padding:10px 12px;
    border-radius:10px;
    transition:background .2s;
    margin-bottom:2px;
}
.ag-mega__link:hover{background:rgba(255,255,255,.05)}
.ag-mega__icon{font-size:1.3rem;flex-shrink:0;margin-top:2px}
.ag-mega__link strong{
    display:block;
    font-size:.92rem;
    font-weight:700;
    color:#fff;
    margin-bottom:2px;
}
.ag-mega__link small{
    display:block;
    font-size:.78rem;
    color:#b0b0bc;
    font-weight:400;
}
.ag-mega__link--all{
    margin-top:8px;
    padding-top:12px;
    border-top:1px solid rgba(255,255,255,.06);
}
.ag-mega__link--all strong{color:#D4B45C}

/* Logo letter animation */
@keyframes ag-letter-fall{
    0%{opacity:0;transform:translateY(-40px) rotate(-8deg)}
    60%{transform:translateY(4px) rotate(2deg)}
    100%{opacity:1;transform:translateY(0) rotate(0)}
}
.ag-logo-letter{
    display:inline-block;
    opacity:0;
    animation:ag-letter-fall .5s cubic-bezier(.23,1,.32,1) forwards;
    animation-delay:calc(var(--d) * .06s);
}

/* Burger */
.ag-nav__burger{
    display:none;
    flex-direction:column;
    gap:5px;
    width:28px;
    z-index:10002;
    background:none;
    border:none;
    padding:4px;
    cursor:pointer;
}
.ag-nav__burger span{
    display:block;
    height:2px;
    width:100%;
    background:#e8e6e0;
    border-radius:2px;
    transition:transform .3s,opacity .3s;
}
.ag-nav__burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.ag-nav__burger.open span:nth-child(2){opacity:0}
.ag-nav__burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ── Hero ─────────────────────────────────────────────────────── */
.ag-hero{
    position:relative;
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:140px 24px 80px;
    overflow:hidden;
    background:#080808;
}
.ag-hero__bg{
    position:absolute;
    inset:0;
    z-index:0;
    pointer-events:none;
}
/* Concentric circles */
.ag-hero__circles{
    position:absolute;
    top:50%;left:50%;
    transform:translate(-50%,-50%);
}
.ag-hero__circle{
    position:absolute;
    top:50%;left:50%;
    border-radius:50%;
    border:1px solid rgba(212,180,92,.08);
    transform:translate(-50%,-50%);
}
.ag-hero__circle:nth-child(1){width:300px;height:300px}
.ag-hero__circle:nth-child(2){width:500px;height:500px}
.ag-hero__circle:nth-child(3){width:700px;height:700px}
.ag-hero__circle:nth-child(4){width:900px;height:900px}

/* Orbs */
@keyframes ag-orb-float{
    0%,100%{transform:translate(0,0) scale(1)}
    33%{transform:translate(30px,-20px) scale(1.1)}
    66%{transform:translate(-20px,30px) scale(.95)}
}
.ag-hero__orb{
    position:absolute;
    border-radius:50%;
    filter:blur(80px);
    animation:ag-orb-float 8s ease-in-out infinite;
}
.ag-hero__orb--1{
    width:400px;height:400px;
    background:rgba(212,180,92,.06);
    top:20%;left:15%;
}
.ag-hero__orb--2{
    width:300px;height:300px;
    background:rgba(212,180,92,.04);
    bottom:20%;right:15%;
    animation-delay:-3s;
}

.ag-hero__content{
    position:relative;
    z-index:1;
    max-width:820px;
}
.ag-hero__badge{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:8px 22px;
    background:rgba(212,180,92,.08);
    border:1px solid rgba(212,180,92,.2);
    border-radius:100px;
    font-size:.88rem;
    font-weight:600;
    color:#D4B45C;
    margin-bottom:30px;
}
@keyframes ag-pulse{
    0%,100%{opacity:1;transform:scale(1)}
    50%{opacity:.5;transform:scale(1.4)}
}
.ag-hero__dot{
    width:8px;height:8px;
    border-radius:50%;
    background:#D4B45C;
    animation:ag-pulse 2s ease-in-out infinite;
}

/* Hero title lines — lego stacking animation */
.ag-hero__title{
    font-size:clamp(2.2rem,5.5vw,3.8rem);
    line-height:1.15;
    margin-bottom:24px;
}
@keyframes ag-line-stack{
    0%{opacity:0;transform:translateY(-30px)}
    60%{transform:translateY(4px)}
    100%{opacity:1;transform:translateY(0)}
}
.ag-line{
    display:block;
    opacity:0;
    animation:ag-line-stack .6s cubic-bezier(.23,1,.32,1) forwards;
}
.ag-line:nth-child(1){animation-delay:.3s}
.ag-line:nth-child(2){animation-delay:.5s}
.ag-line:nth-child(3){animation-delay:.7s}

.ag-hero__sub{
    font-size:1.15rem;
    color:#b0b0bc;
    max-width:540px;
    margin:0 auto 36px;
    line-height:1.7;
}
.ag-hero__buttons{
    display:flex;
    gap:18px;
    justify-content:center;
    flex-wrap:wrap;
    margin-bottom:50px;
}
.ag-hero__metrics{
    display:flex;
    justify-content:center;
    gap:48px;
    flex-wrap:wrap;
    margin-bottom:50px;
}
.ag-metric{text-align:center}
.ag-metric__value{
    font-size:2rem;
    font-weight:800;
    color:#D4B45C;
    display:block;
}
.ag-metric__label{
    font-size:.85rem;
    color:#b0b0bc;
    margin-top:4px;
}

/* Scroll indicator */
.ag-hero__scroll{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:10px;
    color:#b0b0bc;
    font-size:.8rem;
    letter-spacing:1px;
    text-transform:uppercase;
}
.ag-hero__scroll-line{
    width:1px;
    height:40px;
    background:linear-gradient(to bottom,#D4B45C,transparent);
}
.ag-hero__scroll-dot{
    width:6px;height:6px;
    border-radius:50%;
    background:#D4B45C;
    animation:ag-pulse 2s ease-in-out infinite;
}

/* ── Marquee ──────────────────────────────────────────────────── */
.ag-marquee{
    overflow:hidden;
    padding:28px 0;
    background:#0c0c0f;
    border-top:1px solid rgba(255,255,255,.05);
    border-bottom:1px solid rgba(255,255,255,.05);
}
@keyframes ag-scroll{
    0%{transform:translateX(0)}
    100%{transform:translateX(-50%)}
}
.ag-marquee__track{
    display:flex;
    gap:48px;
    white-space:nowrap;
    animation:ag-scroll 25s linear infinite;
}
.ag-marquee__item{
    font-size:1.1rem;
    font-weight:600;
    color:#b0b0bc;
    display:flex;
    align-items:center;
    gap:16px;
    flex-shrink:0;
}
.ag-marquee__item::after{
    content:'◆';
    font-size:.5rem;
    color:#D4B45C;
}

/* ── Service Cards ────────────────────────────────────────────── */
.ag-services__grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:28px;
}
.ag-scard{
    background:rgba(255,255,255,.025);
    border:1px solid rgba(255,255,255,.06);
    border-radius:16px;
    padding:36px 30px;
    transition:border-color .4s,transform .4s,box-shadow .4s;
}
.ag-scard:hover{
    border-color:rgba(212,180,92,.25);
    transform:translateY(-4px);
    box-shadow:0 12px 40px rgba(0,0,0,.3);
}
.ag-scard__icon{
    font-size:2rem;
    margin-bottom:18px;
}
.ag-scard__title{
    font-size:1.2rem;
    font-weight:700;
    margin-bottom:10px;
}
.ag-scard__text{
    color:#b0b0bc;
    font-size:.95rem;
    margin-bottom:18px;
    line-height:1.6;
}
.ag-scard__arrow{
    font-size:.9rem;
    font-weight:700;
    color:#D4B45C;
    transition:transform .3s;
    display:inline-block;
}
.ag-scard:hover .ag-scard__arrow{transform:translateX(6px)}

/* ── Process Steps ────────────────────────────────────────────── */
.ag-process__grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:28px;
}
.ag-pstep{
    text-align:center;
    padding:36px 24px;
    background:rgba(255,255,255,.02);
    border:1px solid rgba(255,255,255,.06);
    border-radius:16px;
    position:relative;
}
.ag-pstep__num{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:48px;height:48px;
    border-radius:50%;
    background:rgba(212,180,92,.12);
    color:#D4B45C;
    font-weight:800;
    font-size:1.1rem;
    margin-bottom:18px;
}
.ag-pstep__title{
    font-size:1.05rem;
    font-weight:700;
    margin-bottom:8px;
}
.ag-pstep__text{
    color:#b0b0bc;
    font-size:.9rem;
    line-height:1.6;
}

/* ── Realisation Cards ────────────────────────────────────────── */
.ag-reals__grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:36px;
}
.ag-rcard{
    background:rgba(255,255,255,.025);
    border:1px solid rgba(255,255,255,.06);
    border-radius:18px;
    overflow:hidden;
    transition:border-color .4s,transform .4s;
}
.ag-rcard:hover{
    border-color:rgba(212,180,92,.2);
    transform:translateY(-4px);
}
.ag-rcard__img{
    width:100%;
    height:220px;
    background:#111114;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#b0b0bc;
    font-size:.9rem;
    overflow:hidden;
    padding:0;
}
.ag-rcard__img img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
    transition:transform .5s;
}
.ag-rcard__img img[src*="logo"]{
    object-fit:contain;
    padding:20px;
    background:#f5f0eb;
}
.ag-rcard:hover .ag-rcard__img img{
    transform:scale(1.04);
}
.ag-rcard__body{padding:30px}
.ag-rcard__tags{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    margin-bottom:14px;
}
.ag-rcard__tag{
    padding:4px 12px;
    background:rgba(212,180,92,.1);
    color:#D4B45C;
    border-radius:100px;
    font-size:.78rem;
    font-weight:600;
}
.ag-rcard__title{
    font-size:1.3rem;
    font-weight:700;
    margin-bottom:8px;
}
.ag-rcard__text{
    color:#b0b0bc;
    font-size:.95rem;
    margin-bottom:18px;
    line-height:1.6;
}
.ag-rcard__stats{
    display:flex;
    gap:24px;
    margin-bottom:18px;
}
.ag-rcard__stat{
    font-size:.88rem;
    color:#D4B45C;
    font-weight:700;
}
.ag-rcard__link{
    font-weight:700;
    color:#D4B45C;
    font-size:.95rem;
}

/* ── About / Valeurs ──────────────────────────────────────────── */
.ag-about__content{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:60px;
    align-items:start;
}
.ag-about__text{
    color:#e8e6e0;
    font-size:1.05rem;
    line-height:1.8;
    margin-bottom:30px;
}
.ag-valeurs__grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;
}
.ag-valeur{
    padding:24px;
    background:rgba(255,255,255,.025);
    border:1px solid rgba(255,255,255,.06);
    border-radius:14px;
    transition:border-color .3s;
}
.ag-valeur:hover{border-color:rgba(212,180,92,.2)}
.ag-valeur__icon{font-size:1.5rem;margin-bottom:10px}
.ag-valeur__title{
    font-size:1rem;
    font-weight:700;
    margin-bottom:6px;
}
.ag-valeur__text{
    color:#b0b0bc;
    font-size:.88rem;
    line-height:1.5;
}

/* ── FAQ ──────────────────────────────────────────────────────── */
.ag-faq__list{
    max-width:800px;
    margin:0 auto;
    display:flex;
    flex-direction:column;
    gap:14px;
}
.ag-faq-item{}
.ag-faq-a{
    max-height:0;
    overflow:hidden;
    transition:max-height .4s ease,padding .4s ease;
    padding:0 28px;
    color:#b0b0bc;
    font-size:.95rem;
    line-height:1.7;
}
.ag-faq-item.open .ag-faq-a{
    max-height:300px;
    padding:18px 28px 24px;
}

/* ── CTA Section ──────────────────────────────────────────────── */
.ag-cta{
    text-align:center;
    padding:100px 24px;
    background:#0c0c0f;
}
.ag-cta__title{
    font-size:clamp(2rem,4vw,2.8rem);
    margin-bottom:18px;
}
.ag-cta__desc{
    color:#b0b0bc;
    font-size:1.1rem;
    max-width:540px;
    margin:0 auto 36px;
}

/* ── Parallax Band ────────────────────────────────────────────── */
.ag-parallax{
    position:relative;
    padding:100px 24px;
    background-attachment:fixed;
    background-size:cover;
    background-position:center;
    text-align:center;
}
.ag-parallax__overlay{
    position:absolute;
    inset:0;
    background:rgba(8,8,8,.82);
}
.ag-parallax__content{
    position:relative;
    z-index:1;
}
.ag-parallax__quote{
    font-family:'Playfair Display',serif;
    font-style:italic;
    font-size:clamp(1.4rem,3vw,2.2rem);
    color:#D4B45C;
    max-width:700px;
    margin:0 auto;
    line-height:1.5;
}

/* ── Gains Cards (Service detail) ─────────────────────────────── */
.ag-gains__grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:28px;
}
.ag-gain-card{
    text-align:center;
    padding:40px 28px;
    background:rgba(255,255,255,.025);
    border:1px solid rgba(255,255,255,.06);
    border-radius:16px;
    transition:border-color .3s,transform .3s;
}
.ag-gain-card:hover{
    border-color:rgba(212,180,92,.25);
    transform:translateY(-4px);
}
.ag-gain-card__value{
    font-size:2.4rem;
    font-weight:800;
    color:#D4B45C;
    margin-bottom:8px;
}
.ag-gain-card__label{
    color:#e8e6e0;
    font-size:1rem;
    font-weight:600;
    margin-bottom:6px;
}
.ag-gain-card__desc{
    color:#b0b0bc;
    font-size:.88rem;
    line-height:1.5;
}

/* ── Service Detail Layout ────────────────────────────────────── */
.ag-sdetail{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:60px;
    align-items:center;
}
.ag-sdetail__checklist{
    margin-top:24px;
}
.ag-sdetail__checklist li{
    padding:10px 0;
    color:#e8e6e0;
    font-size:1rem;
    display:flex;
    gap:12px;
    align-items:flex-start;
}
.ag-sdetail__checklist li::before{
    content:'✓';
    color:#D4B45C;
    font-weight:700;
    flex-shrink:0;
}
.ag-sdetail__visual{
    background:rgba(255,255,255,.03);
    border:1px solid rgba(255,255,255,.06);
    border-radius:18px;
    min-height:320px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#b0b0bc;
    font-size:.95rem;
    padding:24px;
}
.ag-sdetail__visual--grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:16px;
    padding:32px;
    align-items:start;
    align-content:center;
}
.ag-sdetail__feat{
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
    gap:6px;
    padding:20px 12px;
    background:rgba(255,255,255,.03);
    border:1px solid rgba(255,255,255,.05);
    border-radius:12px;
    transition:border-color .3s;
}
.ag-sdetail__feat:hover{border-color:rgba(212,180,92,.2)}
.ag-sdetail__feat strong{
    font-size:.9rem;
    color:#fff;
    display:block;
}
.ag-sdetail__feat span{
    font-size:.78rem;
    color:#b0b0bc;
}

/* ── Client Example ───────────────────────────────────────────── */
.ag-client{
    padding:48px;
    background:rgba(255,255,255,.025);
    border:1px solid rgba(255,255,255,.06);
    border-radius:18px;
}
.ag-client__tag{
    display:inline-block;
    padding:4px 14px;
    background:rgba(212,180,92,.1);
    color:#D4B45C;
    border-radius:100px;
    font-size:.82rem;
    font-weight:600;
    margin-bottom:14px;
}
.ag-client__title{
    font-size:1.4rem;
    font-weight:700;
    margin-bottom:10px;
}
.ag-client__text{
    color:#b0b0bc;
    font-size:.95rem;
    line-height:1.7;
    margin-bottom:18px;
}
.ag-client__stats{
    display:flex;
    gap:28px;
}
.ag-client__stat{
    font-size:1rem;
    font-weight:700;
    color:#D4B45C;
}

/* ── Contact Page ─────────────────────────────────────────────── */
.ag-contact__grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:48px;
}
.ag-contact-cards{
    display:flex;
    flex-direction:column;
    gap:18px;
    margin-bottom:36px;
}
.ag-contact-card{
    padding:24px;
    background:rgba(255,255,255,.03);
    border:1px solid rgba(255,255,255,.06);
    border-radius:14px;
}
.ag-contact-card__icon{
    font-size:1.3rem;
    margin-bottom:8px;
}
.ag-contact-card__label{
    font-size:.82rem;
    color:#b0b0bc;
    text-transform:uppercase;
    letter-spacing:.5px;
    margin-bottom:4px;
}
.ag-contact-card__value{
    font-size:1.05rem;
    font-weight:600;
}
.ag-contact-card a{
    color:#D4B45C;
}
.ag-form{
    display:flex;
    flex-direction:column;
    gap:20px;
}
.ag-form__group label{
    display:block;
    font-size:.88rem;
    font-weight:600;
    color:#e8e6e0;
    margin-bottom:6px;
}
.ag-form__row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;
}

/* ── Blog Cards ───────────────────────────────────────────────── */
.ag-blog__grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:32px;
}
.ag-blog-card{
    background:rgba(255,255,255,.025);
    border:1px solid rgba(255,255,255,.06);
    border-radius:16px;
    overflow:hidden;
    transition:border-color .4s,transform .3s;
}
.ag-blog-card:hover{
    border-color:rgba(212,180,92,.2);
    transform:translateY(-4px);
}
.ag-blog-card__img img{
    width:100%;height:200px;object-fit:cover;
}
.ag-blog-card__body{padding:28px}
.ag-blog-card__meta{
    display:flex;
    gap:14px;
    font-size:.82rem;
    color:#b0b0bc;
    margin-bottom:12px;
}
.ag-blog-card__cat{
    color:#D4B45C;
    font-weight:600;
}
.ag-blog-card__title{
    font-size:1.2rem;
    font-weight:700;
    margin-bottom:10px;
}
.ag-blog-card__title a{color:#fff;transition:color .3s}
.ag-blog-card__title a:hover{color:#D4B45C}
.ag-blog-card__excerpt{
    color:#b0b0bc;
    font-size:.92rem;
    line-height:1.6;
    margin-bottom:14px;
}
.ag-blog-card__link{
    color:#D4B45C;
    font-weight:700;
    font-size:.9rem;
}
.ag-blog__pagination{
    margin-top:48px;
    text-align:center;
}
.ag-blog__empty{
    color:#b0b0bc;
    text-align:center;
    padding:60px 0;
}

/* ── Single Article ───────────────────────────────────────────── */
.ag-article__header{padding:140px 0 60px}
.ag-breadcrumb{
    display:flex;
    align-items:center;
    gap:8px;
    font-size:.82rem;
    color:#b0b0bc;
    margin-bottom:24px;
    flex-wrap:wrap;
}
.ag-breadcrumb a{color:#b0b0bc;transition:color .3s}
.ag-breadcrumb a:hover{color:#D4B45C}
.ag-breadcrumb__current{color:#D4B45C}
.ag-article__meta{
    display:flex;
    gap:14px;
    font-size:.85rem;
    color:#b0b0bc;
    margin-bottom:14px;
    flex-wrap:wrap;
}
.ag-article__cat{
    color:#D4B45C;
    font-weight:600;
}
.ag-article__read{color:#b0b0bc}
.ag-article__title{
    font-size:clamp(2rem,4vw,2.8rem);
    max-width:700px;
    line-height:1.2;
}
.ag-article__chapeau{
    margin-top:20px;
    font-size:1.15rem;
    color:#e8e6e0;
    line-height:1.7;
    max-width:650px;
    border-left:3px solid #D4B45C;
    padding-left:20px;
}
.ag-article__featured{
    margin-bottom:48px;
}
.ag-article__featured img{
    width:100%;
    border-radius:18px;
    max-height:500px;
    object-fit:cover;
}
.ag-article__content{
    padding:48px 0;
    color:#e8e6e0;
    font-size:1.05rem;
    line-height:1.8;
}
.ag-article__content h2{
    font-size:1.6rem;
    margin:40px 0 16px;
    color:#fff;
    border-left:3px solid #D4B45C;
    padding-left:16px;
}
.ag-article__content h3{
    font-size:1.3rem;
    margin:28px 0 10px;
    color:#D4B45C;
}
.ag-article__content p{
    margin-bottom:18px;
}
.ag-article__content a{
    color:#D4B45C;
    text-decoration:underline;
}
.ag-article__content img{
    border-radius:12px;
    margin:24px 0;
}
.ag-article__content ul,.ag-article__content ol{
    margin:18px 0;
    padding-left:24px;
    color:#e8e6e0;
}
.ag-article__content li{
    margin-bottom:10px;
    line-height:1.7;
}
.ag-article__content blockquote{
    border-left:3px solid #D4B45C;
    padding:16px 24px;
    margin:28px 0;
    background:rgba(212,180,92,.06);
    border-radius:0 12px 12px 0;
    color:#D4B45C;
    font-style:italic;
    font-size:1.1rem;
}
.ag-article__content strong{color:#fff}

/* ── Article CTA Box ──────────────────────────────────────────── */
.ag-article-cta{
    padding:60px 0;
    background:#0c0c0f;
}
.ag-article-cta__box{
    text-align:center;
    padding:50px 40px;
    background:linear-gradient(135deg,rgba(212,180,92,.08),rgba(212,180,92,.02));
    border:1px solid rgba(212,180,92,.2);
    border-radius:20px;
}
.ag-article-cta__icon{
    font-size:2.5rem;
    margin-bottom:16px;
}
.ag-article-cta__title{
    font-size:clamp(1.4rem,3vw,1.8rem);
    margin-bottom:12px;
}
.ag-article-cta__text{
    color:#b0b0bc;
    font-size:1rem;
    max-width:500px;
    margin:0 auto 28px;
    line-height:1.7;
}
.ag-article-cta__actions{
    display:flex;
    gap:16px;
    justify-content:center;
    flex-wrap:wrap;
}

/* ── Tags ─────────────────────────────────────────────────────── */
.ag-article__tags{
    padding:24px 0;
    border-top:1px solid rgba(255,255,255,.06);
}
.ag-article__tags .ag-container{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}
.ag-article__tag-link{
    padding:6px 16px;
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.08);
    border-radius:100px;
    font-size:.82rem;
    color:#b0b0bc;
    transition:border-color .3s,color .3s;
}
.ag-article__tag-link:hover{
    border-color:rgba(212,180,92,.3);
    color:#D4B45C;
}

/* ── Author Box ───────────────────────────────────────────────── */
.ag-author-box{
    padding:48px 0;
    background:#0c0c0f;
}
.ag-author-box__inner{
    display:flex;
    gap:24px;
    align-items:flex-start;
    padding:32px;
    background:rgba(255,255,255,.025);
    border:1px solid rgba(255,255,255,.06);
    border-radius:16px;
}
.ag-author-box__avatar{
    width:64px;height:64px;
    border-radius:50%;
    background:rgba(212,180,92,.15);
    color:#D4B45C;
    font-weight:800;
    font-size:1.2rem;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
}
.ag-author-box__label{
    font-size:.78rem;
    color:#b0b0bc;
    text-transform:uppercase;
    letter-spacing:.5px;
}
.ag-author-box__name{
    font-size:1.1rem;
    display:block;
    margin:4px 0 8px;
}
.ag-author-box__bio{
    color:#b0b0bc;
    font-size:.92rem;
    line-height:1.6;
    margin-bottom:10px;
}
.ag-author-box__cta{
    color:#D4B45C;
    font-weight:700;
    font-size:.9rem;
}

/* ── Related Articles ─────────────────────────────────────────── */
.ag-related{
    padding:70px 0;
    background:#101014;
}
.ag-related__title{
    font-size:1.6rem;
    margin-bottom:36px;
    text-align:center;
}
.ag-related__grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:28px;
}

/* ── CTA Final (after article) ────────────────────────────────── */
.ag-cta-final{
    padding:80px 0;
    background:linear-gradient(180deg,#0c0c0f 0%,#080808 100%);
}
.ag-cta-final__inner{
    text-align:center;
    max-width:700px;
    margin:0 auto;
}
.ag-cta-final__badge{
    display:inline-block;
    padding:8px 22px;
    background:rgba(212,180,92,.1);
    border:1px solid rgba(212,180,92,.25);
    border-radius:100px;
    font-size:.88rem;
    font-weight:600;
    color:#D4B45C;
    margin-bottom:24px;
}
.ag-cta-final__title{
    font-size:clamp(1.8rem,4vw,2.4rem);
    margin-bottom:16px;
}
.ag-cta-final__desc{
    color:#b0b0bc;
    font-size:1.05rem;
    line-height:1.7;
    margin-bottom:32px;
}
.ag-cta-final__actions{
    display:flex;
    gap:16px;
    justify-content:center;
    flex-wrap:wrap;
    margin-bottom:24px;
}
.ag-cta-final__trust{
    font-size:.88rem;
    color:#b0b0bc;
}

.ag-article__footer{
    padding:48px 0 80px;
}

/* ── Footer ───────────────────────────────────────────────────── */
.ag-footer{
    background:#060606;
    border-top:1px solid rgba(255,255,255,.06);
    padding:80px 0 0;
}
.ag-footer__inner{
    max-width:1200px;
    margin:0 auto;
    padding:0 24px;
    display:grid;
    grid-template-columns:2fr 1fr 1fr 1fr;
    gap:48px;
}
.ag-footer__title{
    font-size:1.05rem;
    font-weight:700;
    margin-bottom:18px;
    color:#fff;
}
.ag-footer__text{
    color:#b0b0bc;
    font-size:.92rem;
    line-height:1.6;
}
.ag-footer__col ul{
    display:flex;
    flex-direction:column;
    gap:10px;
}
.ag-footer__col a{
    color:#b0b0bc;
    font-size:.92rem;
    transition:color .3s;
}
.ag-footer__col a:hover{color:#D4B45C}
.ag-footer__bottom{
    max-width:1200px;
    margin:0 auto;
    padding:28px 24px;
    border-top:1px solid rgba(255,255,255,.06);
    margin-top:60px;
    text-align:center;
    color:#b0b0bc;
    font-size:.85rem;
}

/* ── Services list page ───────────────────────────────────────── */
.ag-services-list__grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:28px;
}

/* ── Underline animation target ───────────────────────────────── */
.ag-section__title{position:relative;display:inline-block}

/* ── Fullscreen Mobile Menu ───────────────────────────────────── */
.ag-mobile-menu{
    position:fixed;
    inset:0;
    z-index:10001;
    background:rgba(8,8,8,.98);
    backdrop-filter:blur(24px);
    -webkit-backdrop-filter:blur(24px);
    transform:translateX(100%);
    transition:transform .45s cubic-bezier(.23,1,.32,1);
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
}
.ag-mobile-menu.open{transform:translateX(0)}
.ag-mobile-menu__inner{
    display:flex;
    flex-direction:column;
    min-height:100vh;
    padding:24px;
}
.ag-mobile-menu__header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding-bottom:24px;
    border-bottom:1px solid rgba(255,255,255,.06);
    margin-bottom:24px;
}
.ag-mobile-menu__header .ag-nav__logo{
    font-size:1.3rem;
}
.ag-mobile-menu__close{
    width:40px;height:40px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1.5rem;
    color:#e8e6e0;
    background:none;
    border:none;
    cursor:pointer;
}
.ag-mobile-menu__content{
    flex:1;
    display:flex;
    flex-direction:column;
    gap:4px;
}
.ag-mobile-menu__link{
    display:block;
    padding:16px 0;
    font-size:1.3rem;
    font-weight:700;
    color:#fff;
    border-bottom:1px solid rgba(255,255,255,.04);
    transition:color .3s;
}
.ag-mobile-menu__link:hover{color:#D4B45C}

.ag-mobile-menu__group{
    border-bottom:1px solid rgba(255,255,255,.04);
}
.ag-mobile-menu__toggle{
    display:flex;
    align-items:center;
    justify-content:space-between;
    width:100%;
    padding:16px 0;
    font-size:1.3rem;
    font-weight:700;
    color:#fff;
    text-align:left;
    background:none;
    border:none;
    cursor:pointer;
    font-family:'Manrope',sans-serif;
}
.ag-mobile-menu__arrow{
    font-size:1.4rem;
    color:#D4B45C;
    transition:transform .3s;
}
.ag-mobile-menu__group.open .ag-mobile-menu__arrow{
    transform:rotate(45deg);
}
.ag-mobile-menu__sub{
    max-height:0;
    overflow:hidden;
    transition:max-height .4s ease;
    padding-left:16px;
}
.ag-mobile-menu__group.open .ag-mobile-menu__sub{
    max-height:500px;
}
.ag-mobile-menu__sub a{
    display:block;
    padding:12px 0;
    font-size:1.05rem;
    color:#b0b0bc;
    font-weight:500;
    border-bottom:1px solid rgba(255,255,255,.03);
    transition:color .3s;
}
.ag-mobile-menu__sub a:hover{color:#D4B45C}
.ag-mobile-menu__footer{
    padding-top:24px;
    border-top:1px solid rgba(255,255,255,.06);
    margin-top:24px;
    display:flex;
    flex-direction:column;
    gap:12px;
}

/* ── Team Cards ───────────────────────────────────────────────── */
.ag-team__grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:24px;
}
.ag-team-card{
    background:rgba(255,255,255,.025);
    border:1px solid rgba(255,255,255,.06);
    border-radius:16px;
    overflow:hidden;
    transition:border-color .4s,transform .4s;
}
.ag-team-card:hover{
    border-color:rgba(212,180,92,.25);
    transform:translateY(-4px);
}
.ag-team-card__img{
    width:100%;
    height:280px;
    overflow:hidden;
    position:relative;
}
.ag-team-card__img img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .5s;
}
.ag-team-card:hover .ag-team-card__img img{
    transform:scale(1.05);
}
.ag-team-card__placeholder{
    width:100%;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(212,180,92,.08);
    color:#D4B45C;
    font-size:3rem;
    font-weight:800;
    font-family:'Playfair Display',serif;
}
.ag-team-card__body{
    padding:22px;
}
.ag-team-card__name{
    font-size:1.15rem;
    font-weight:700;
    margin-bottom:4px;
}
.ag-team-card__role{
    display:block;
    font-size:.88rem;
    color:#D4B45C;
    font-weight:600;
    margin-bottom:4px;
}
.ag-team-card__city{
    display:block;
    font-size:.8rem;
    color:#b0b0bc;
    margin-bottom:10px;
}
.ag-team-card__desc{
    font-size:.85rem;
    color:#b0b0bc;
    line-height:1.5;
}
.ag-team-card__link{
    display:inline-block;
    margin-top:10px;
    color:#D4B45C;
    font-size:.85rem;
    font-weight:700;
    text-decoration:none;
    transition:color .3s;
}
.ag-team-card__link:hover{color:#c5a44e}

/* ── Fondateur Story ──────────────────────────────────────────── */
.ag-fondateur-story h2{
    font-size:1.5rem;
    margin:40px 0 16px;
    color:#D4B45C;
    font-family:'Playfair Display',serif;
    font-style:italic;
}
.ag-fondateur-story p{
    color:#e8e6e0;
    font-size:1.05rem;
    line-height:1.9;
    margin-bottom:20px;
}
.ag-fondateur-story blockquote{
    border-left:3px solid #D4B45C;
    padding:20px 28px;
    margin:32px 0;
    background:rgba(212,180,92,.06);
    border-radius:0 14px 14px 0;
    color:#D4B45C;
    font-family:'Playfair Display',serif;
    font-style:italic;
    font-size:1.1rem;
    line-height:1.7;
}
.ag-fondateur-story strong{color:#fff}
.ag-fondateur-story em{color:#D4B45C;font-style:italic}

/* ── Réalisations grid full ───────────────────────────────────── */
.ag-reals__grid--full{
    grid-template-columns:repeat(2,1fr);
}
.ag-reals__grid--full .ag-rcard:first-child{
    grid-column:auto;
}
.ag-reals__grid--full .ag-rcard:first-child .ag-rcard__img{
    height:220px;
}
.ag-rcard__placeholder{
    width:100%;
    height:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:8px;
    background:linear-gradient(135deg,#151519 0%,#1a1a22 50%,#151519 100%);
    border-bottom:1px solid rgba(255,255,255,.04);
}
.ag-rcard__placeholder-title{
    font-family:'Playfair Display',serif;
    font-size:1.6rem;
    font-weight:700;
    color:#D4B45C;
}
.ag-rcard__placeholder-tags{
    font-size:.78rem;
    color:#b0b0bc;
    letter-spacing:.5px;
}

/* ── Buttons ──────────────────────────────────────────────────── */
.ag-btn-gold{
    display:inline-flex;align-items:center;gap:10px;
    padding:16px 36px;
    background:#D4B45C;color:#080808;
    border:none;border-radius:12px;
    font-family:'Manrope',sans-serif;font-size:1.05rem;font-weight:700;
    text-decoration:none;cursor:pointer;
    box-shadow:0 4px 25px rgba(212,180,92,.25);
    transition:background .3s,transform .3s,box-shadow .3s;
}
.ag-btn-gold:hover{
    background:#c5a44e;
    transform:translateY(-2px);
    box-shadow:0 8px 35px rgba(212,180,92,.35);
    color:#080808;text-decoration:none;
}
.ag-btn-outline{
    display:inline-flex;align-items:center;gap:10px;
    padding:16px 36px;
    background:transparent;color:#D4B45C;
    border:2px solid #D4B45C;border-radius:12px;
    font-family:'Manrope',sans-serif;font-size:1.05rem;font-weight:700;
    text-decoration:none;cursor:pointer;
    transition:background .3s,color .3s,transform .3s;
}
.ag-btn-outline:hover{
    background:rgba(212,180,92,.1);
    transform:translateY(-2px);
    color:#D4B45C;text-decoration:none;
}

/* ── Nav CTA button ───────────────────────────────────────────── */
.ag-nav__cta{
    display:inline-flex;align-items:center;gap:8px;
    padding:10px 24px;
    background:#D4B45C;color:#080808;
    border-radius:8px;font-weight:700;font-size:.95rem;
    text-decoration:none;
    transition:background .3s,transform .3s;
}
.ag-nav__cta:hover{background:#c5a44e;transform:translateY(-2px);color:#080808;text-decoration:none}

/* ── Back to top ──────────────────────────────────────────────── */
.ag-totop{
    position:fixed;bottom:40px;right:40px;
    width:48px;height:48px;border-radius:50%;
    background:#D4B45C;color:#080808;
    font-size:1.4rem;font-weight:700;
    display:flex;align-items:center;justify-content:center;
    border:none;cursor:pointer;z-index:9999;
    box-shadow:0 4px 20px rgba(212,180,92,.3);
    opacity:0;pointer-events:none;
    transition:opacity .4s,transform .3s;
}
.ag-totop.visible{opacity:1;pointer-events:auto}
.ag-totop:hover{transform:translateY(-3px)}

/* ── FAQ button ───────────────────────────────────────────────── */
button.ag-faq-q{
    width:100%;text-align:left;
    padding:22px 28px;
    background:rgba(255,255,255,.03);color:#fff;
    font-family:'Manrope',sans-serif;font-size:1.05rem;font-weight:700;
    border:1px solid rgba(255,255,255,.08);border-radius:12px;
    cursor:pointer;
    display:flex;justify-content:space-between;align-items:center;
    transition:background .3s,border-color .3s;
}
button.ag-faq-q:hover{background:rgba(255,255,255,.06);border-color:rgba(212,180,92,.3)}
button.ag-faq-q .ag-faq-icon{font-size:1.3rem;color:#D4B45C;transition:transform .3s}
.ag-faq-item.open button.ag-faq-q .ag-faq-icon{transform:rotate(45deg)}

/* ── Form inputs ──────────────────────────────────────────────── */
.ag-form__group input,
.ag-form__group select,
.ag-form__group textarea{
    width:100%;padding:14px 18px;
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.1);border-radius:10px;
    color:#fff;font-family:'Manrope',sans-serif;font-size:1rem;
    outline:none;transition:border-color .3s;
}
.ag-form__group input:focus,
.ag-form__group select:focus,
.ag-form__group textarea:focus{border-color:#D4B45C}
.ag-form__group textarea{min-height:140px;resize:vertical}

/* ── Link styles ──────────────────────────────────────────────── */
.ag-scard__arrow{color:#D4B45C;text-decoration:none;font-weight:700;font-size:.9rem;display:inline-block;transition:transform .3s}
.ag-scard:hover .ag-scard__arrow{transform:translateX(6px)}
.ag-rcard__link{color:#D4B45C;text-decoration:none;font-weight:700;font-size:.95rem}
.ag-footer__col a{color:#b0b0bc;text-decoration:none;font-size:.92rem;transition:color .3s}
.ag-footer__col a:hover{color:#D4B45C}
.ag-contact-card a{color:#D4B45C;text-decoration:none}

/* ── Mega menu links ──────────────────────────────────────────── */
.ag-mega__link{text-decoration:none;color:inherit;display:flex;align-items:flex-start;gap:12px;padding:10px 12px;border-radius:10px;transition:background .2s;margin-bottom:2px}
.ag-mega__link:hover{background:rgba(255,255,255,.05)}
.ag-mega__link strong{color:#fff;display:block;font-size:.92rem;font-weight:700;margin-bottom:2px}
.ag-mega__link small{color:#b0b0bc;display:block;font-size:.78rem;font-weight:400}

/* ── Mobile menu links ────────────────────────────────────────── */
.ag-mobile-menu__link{display:block;padding:16px 0;font-size:1.3rem;font-weight:700;color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.04);transition:color .3s}
.ag-mobile-menu__link:hover{color:#D4B45C}
.ag-mobile-menu__sub a{display:block;padding:12px 0;font-size:1.05rem;color:#b0b0bc;text-decoration:none;font-weight:500;border-bottom:1px solid rgba(255,255,255,.03);transition:color .3s}
.ag-mobile-menu__sub a:hover{color:#D4B45C}

/* ── Templates Boutique ───────────────────────────────────────── */
.ag-tpl__grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:28px;
}
.ag-tpl-card{
    background:rgba(255,255,255,.025);
    border:1px solid rgba(255,255,255,.06);
    border-radius:18px;
    overflow:hidden;
    transition:border-color .4s,transform .4s;
}
.ag-tpl-card:hover{border-color:rgba(212,180,92,.25);transform:translateY(-4px)}
.ag-tpl-card--soon{opacity:.6;pointer-events:none}
.ag-tpl-card__img{height:200px;background:#111114}
.ag-tpl-card__preview{
    width:100%;height:100%;
    display:flex;flex-direction:column;
    align-items:center;justify-content:center;
    gap:8px;
    background:linear-gradient(135deg,#151519,#1a1a22);
}
.ag-tpl-card__preview strong{color:#D4B45C;font-size:1.1rem}
.ag-tpl-card__preview small{color:#b0b0bc;font-size:.8rem}
.ag-tpl-card__body{padding:24px}
.ag-tpl-card__badge{
    display:inline-block;
    padding:4px 12px;
    border-radius:100px;
    font-size:.75rem;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.5px;
    margin-bottom:12px;
}
.ag-tpl-card__badge--free{background:rgba(40,167,69,.15);color:#28a745}
.ag-tpl-card__badge--soon{background:rgba(255,193,7,.15);color:#ffc107}
.ag-tpl-card__title{font-size:1.15rem;font-weight:700;margin-bottom:8px}
.ag-tpl-card__desc{color:#b0b0bc;font-size:.9rem;line-height:1.6;margin-bottom:16px}
.ag-tpl-card__features{
    margin-bottom:20px;
    display:flex;flex-direction:column;gap:6px;
}
.ag-tpl-card__features li{
    font-size:.85rem;color:#e8e6e0;
    padding-left:20px;
    position:relative;
}
.ag-tpl-card__features li::before{
    content:'✓';color:#D4B45C;
    position:absolute;left:0;font-weight:700;
}

/* ── Pricing Cards ────────────────────────────────────────────── */
.ag-pricing__grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:28px;
    align-items:start;
}
.ag-price-card{
    background:rgba(255,255,255,.025);
    border:1px solid rgba(255,255,255,.06);
    border-radius:18px;
    padding:36px 28px;
    text-align:center;
    transition:border-color .3s,transform .3s;
    position:relative;
}
.ag-price-card:hover{border-color:rgba(212,180,92,.2);transform:translateY(-4px)}
.ag-price-card--pop{
    border-color:rgba(212,180,92,.3);
    background:rgba(212,180,92,.04);
}
.ag-price-card__badge{
    position:absolute;top:-12px;left:50%;transform:translateX(-50%);
    background:#D4B45C;color:#080808;
    padding:4px 18px;border-radius:100px;
    font-size:.75rem;font-weight:800;text-transform:uppercase;
}
.ag-price-card__price{
    font-size:3rem;font-weight:800;color:#D4B45C;
    display:block;margin-bottom:4px;
}
.ag-price-card__price small{font-size:1.2rem}
.ag-price-card__title{font-size:1.2rem;font-weight:700;margin-bottom:4px}
.ag-price-card__sub{color:#b0b0bc;font-size:.88rem;margin-bottom:24px}
.ag-price-card__list{
    text-align:left;
    margin-bottom:28px;
    display:flex;flex-direction:column;gap:10px;
}
.ag-price-card__list li{
    font-size:.9rem;color:#e8e6e0;
    padding-left:24px;position:relative;
}
.ag-price-card__list li::before{
    content:'✓';color:#D4B45C;
    position:absolute;left:0;font-weight:700;
}

/* ── Comparatif DIY vs Pro ────────────────────────────────────── */
.ag-compare{
    display:grid;
    grid-template-columns:1fr auto 1fr;
    gap:24px;
    align-items:start;
    margin-top:36px;
}
.ag-compare__col{
    padding:32px;
    border-radius:18px;
    border:1px solid rgba(255,255,255,.06);
}
.ag-compare__col--diy{background:rgba(255,255,255,.02)}
.ag-compare__col--pro{background:rgba(212,180,92,.04);border-color:rgba(212,180,92,.2)}
.ag-compare__title{font-size:1.2rem;font-weight:700;margin-bottom:4px}
.ag-compare__price{
    display:block;color:#D4B45C;font-size:.9rem;font-weight:600;margin-bottom:20px;
}
.ag-compare__col ul{display:flex;flex-direction:column;gap:12px}
.ag-compare__col li{font-size:.9rem;padding-left:24px;position:relative}
.ag-compare__bad{color:#b0b0bc}
.ag-compare__bad::before{content:'✗';color:#e74c3c;position:absolute;left:0;font-weight:700}
.ag-compare__good{color:#e8e6e0}
.ag-compare__good::before{content:'✓';color:#28a745;position:absolute;left:0;font-weight:700}
.ag-compare__vs{
    font-family:'Playfair Display',serif;
    font-size:1.5rem;font-weight:700;font-style:italic;
    color:#D4B45C;
    align-self:center;
}

/* ── Nav highlight badge ──────────────────────────────────────── */
.ag-nav__highlight > a{color:#D4B45C !important;font-weight:700}
.ag-nav__new-badge{
    display:inline-block;
    padding:2px 8px;
    background:#28a745;
    color:#fff;
    border-radius:4px;
    font-size:.65rem;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.5px;
    margin-right:4px;
    vertical-align:middle;
    animation:ag-badge-pulse 2s ease-in-out infinite;
}
@keyframes ag-badge-pulse{
    0%,100%{opacity:1}
    50%{opacity:.6}
}
.ag-mobile-menu__link--highlight{
    color:#D4B45C !important;
    background:rgba(212,180,92,.08);
    border-radius:10px;
    padding:16px !important;
    text-align:center;
    border:1px solid rgba(212,180,92,.15) !important;
    margin-top:8px;
}

/* ── Promo Templates (accueil) ────────────────────────────────── */
.ag-promo-tpl__inner{
    display:grid;
    grid-template-columns:1.2fr .8fr;
    gap:48px;
    align-items:center;
    padding:48px;
    background:rgba(255,255,255,.025);
    border:1px solid rgba(212,180,92,.15);
    border-radius:20px;
}
.ag-promo-tpl__features{
    display:flex;gap:16px;flex-wrap:wrap;
}
.ag-promo-tpl__features span{
    padding:6px 14px;
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.08);
    border-radius:8px;
    font-size:.85rem;
    color:#e8e6e0;
}
.ag-promo-tpl__mock{
    background:#0a0a0a;
    border:1px solid rgba(255,255,255,.1);
    border-radius:12px;
    overflow:hidden;
}
.ag-promo-tpl__mock-bar{
    display:flex;gap:6px;padding:10px 14px;
    background:rgba(255,255,255,.04);
}
.ag-promo-tpl__mock-bar span{
    width:10px;height:10px;border-radius:50%;
    background:rgba(255,255,255,.15);
}
.ag-promo-tpl__mock-bar span:first-child{background:#e74c3c}
.ag-promo-tpl__mock-bar span:nth-child(2){background:#f39c12}
.ag-promo-tpl__mock-bar span:nth-child(3){background:#2ecc71}
.ag-promo-tpl__mock-content{
    padding:40px 24px;
    text-align:center;
}

/* ── Download Modal ───────────────────────────────────────────── */
.ag-dl-modal{
    position:fixed;inset:0;z-index:20000;
    display:none;
    align-items:center;justify-content:center;
}
.ag-dl-modal.open{display:flex}
.ag-dl-modal__overlay{
    position:absolute;inset:0;
    background:rgba(0,0,0,.8);
    backdrop-filter:blur(8px);
}
.ag-dl-modal__box{
    position:relative;
    background:#111114;
    border:1px solid rgba(212,180,92,.2);
    border-radius:20px;
    padding:40px;
    max-width:460px;
    width:90%;
    text-align:center;
    z-index:1;
}
.ag-dl-modal__close{
    position:absolute;top:16px;right:16px;
    background:none;border:none;color:#b0b0bc;
    font-size:1.3rem;cursor:pointer;
}
.ag-dl-modal__icon{font-size:3rem;margin-bottom:16px}
.ag-dl-modal__title{font-size:1.4rem;margin-bottom:8px}
.ag-dl-modal__desc{color:#b0b0bc;font-size:.95rem;margin-bottom:24px;line-height:1.6}
.ag-dl-modal__form{display:flex;flex-direction:column;gap:14px}
.ag-dl-modal__form input{
    width:100%;padding:14px 18px;
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.1);
    border-radius:10px;
    color:#fff;font-family:'Manrope',sans-serif;font-size:1rem;
    outline:none;
}
.ag-dl-modal__form input:focus{border-color:#D4B45C}
.ag-dl-modal__trust{color:#b0b0bc;font-size:.78rem;margin-top:12px}

/* ── Focus states (accessibility) ─────────────────────────────── */
.ag-btn-gold:focus-visible,
.ag-btn-outline:focus-visible,
.ag-nav__cta:focus-visible,
.ag-nav__list a:focus-visible,
.ag-scard__arrow:focus-visible,
.ag-rcard__link:focus-visible,
.ag-mega__link:focus-visible,
.ag-mobile-menu__link:focus-visible,
.ag-blog-card__link:focus-visible,
.ag-footer__col a:focus-visible{
    outline:2px solid #D4B45C;
    outline-offset:3px;
    border-radius:4px;
}
button:focus-visible{
    outline:2px solid #D4B45C;
    outline-offset:2px;
}

/* ── Image aspect ratios (prevent CLS) ───────────────────────── */
.ag-rcard__img{aspect-ratio:16/9}
.ag-blog-card__img img{aspect-ratio:16/9;width:100%;height:auto}
.ag-team-card__img{aspect-ratio:3/4}
.ag-article__featured img{aspect-ratio:21/9}

/* ── Prefers reduced motion ──────────────────────────────────── */
@media(prefers-reduced-motion:reduce){
    *,*::before,*::after{
        animation-duration:.01ms!important;
        animation-iteration-count:1!important;
        transition-duration:.01ms!important;
        scroll-behavior:auto!important;
    }
    .ag-logo-letter{opacity:1;animation:none}
    .ag-line{opacity:1;animation:none}
    .ag-hero__dot{animation:none}
    .ag-hero__orb{animation:none}
    .ag-marquee__track{animation:none}
}

/* ── Responsive ───────────────────────────────────────────────── */
@media(max-width:1024px){
    .ag-services__grid,
    .ag-gains__grid,
    .ag-services-list__grid{grid-template-columns:repeat(2,1fr)}
    .ag-process__grid{grid-template-columns:repeat(2,1fr)}
    .ag-sdetail{grid-template-columns:1fr}
    .ag-footer__inner{grid-template-columns:1fr 1fr}
    .ag-related__grid{grid-template-columns:repeat(2,1fr)}
    .ag-team__grid{grid-template-columns:repeat(2,1fr)}
    .ag-mega{min-width:420px}
}

@media(max-width:768px){
    /* Hide desktop nav, show burger */
    .ag-nav__list{display:none}
    .ag-nav__cta{display:none}
    .ag-nav__burger{display:flex}

    .ag-hero__title{font-size:clamp(1.8rem,8vw,2.6rem)}
    .ag-hero__metrics{gap:24px}

    .ag-services__grid,
    .ag-gains__grid,
    .ag-reals__grid,
    .ag-reals__grid--full,
    .ag-blog__grid,
    .ag-about__content,
    .ag-contact__grid,
    .ag-services-list__grid{grid-template-columns:1fr}

    .ag-reals__grid--full .ag-rcard:first-child{grid-column:auto}
    .ag-reals__grid--full .ag-rcard:first-child .ag-rcard__img{height:240px}

    .ag-process__grid{grid-template-columns:1fr}
    .ag-valeurs__grid{grid-template-columns:1fr}
    .ag-team__grid{grid-template-columns:1fr}
    .ag-footer__inner{grid-template-columns:1fr}
    .ag-section{padding:70px 0}
    .ag-form__row{grid-template-columns:1fr}
    .ag-related__grid{grid-template-columns:1fr}
    .ag-author-box__inner{flex-direction:column;align-items:center;text-align:center}
    .ag-article-cta__box{padding:36px 24px}
    .ag-tpl__grid{grid-template-columns:1fr}
    .ag-promo-tpl__inner{grid-template-columns:1fr;padding:28px}
    .ag-promo-tpl__visual{display:none}
    .ag-pricing__grid{grid-template-columns:1fr}
    .ag-compare{grid-template-columns:1fr;text-align:center}
    .ag-compare__vs{padding:8px 0}
}
