body.xo-theme {
    background: #f8f8fc;
    color: #111;
    font-family: "DM Sans","Urbanist",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

.main-nav .menu .search-menu-item .link span {
    color: inherit;
}

.xgrow-offer.xo-home {
    max-width: 1120px;
    margin: 0 auto;
    padding: 3rem 1.5rem 4rem;
}

@media (max-width: 768px) {
    .xgrow-offer.xo-home {
        padding: 2.5rem 1.25rem 3rem;
    }
}

/* HERO */
.xo-home-hero {
    margin-bottom: 2.75rem;
}

.xo-home-hero-inner {
    display: grid;
    grid-template-columns: minmax(0, 2.1fr) minmax(0, 1.6fr);
    gap: 2.5rem;
    align-items: center;
}

.xo-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.25rem 0.75rem;
    border-radius: 999px;
    border: 1px solid rgba(0,0,0,0.06);
    font-size: 0.7rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    background: #fff7f2;
    color: #ff7a4f;
}

.xo-badge::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 999px;
    background: #ff7a4f;
    box-shadow: 0 0 10px rgba(255,122,79,.6);
}

.xo-home-hero h1 {
    margin-top: 1rem;
    margin-bottom: 0.6rem;
    font-size: clamp(2.2rem, 3.4vw, 3rem);
    line-height: 1.08;
    letter-spacing: -0.04em;
    color: #111;
}

.xo-hero-text {
    max-width: 32rem;
    color: #333;
    opacity: .95;
}

.xo-hero-actions {
    margin-top: 1.5rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.xo-hero-note {
    margin-top: 1rem;
    font-size: 0.9rem;
    color: #444;
}

.xo-hero-note strong {
    font-weight: 600;
}

.xo-spotlight-hero {
    margin-bottom: 3rem;
}

.xo-spotlight-card {
    position: relative;
    overflow: hidden;
    border-radius: 34px;
    padding: clamp(2rem, 3vw, 3rem);
    background: linear-gradient(135deg, #1a1526 0%, #0d1226 55%, #0a0f24 100%);
    box-shadow: 0 24px 60px rgba(7, 9, 18, 0.55);
    color: #eef0ff;
}

.xo-spotlight-gradient {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 22% 20%, rgba(255, 122, 79, 0.35), transparent 35%),
        radial-gradient(circle at 70% 18%, rgba(98, 139, 255, 0.34), transparent 36%),
        radial-gradient(circle at 65% 85%, rgba(255, 255, 255, 0.08), transparent 42%);
    filter: blur(0px);
    opacity: .9;
}

.xo-spotlight-inner {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
    gap: clamp(1.5rem, 4vw, 3rem);
    align-items: center;
}

.xo-spotlight-left h1 {
    color: #f7f8ff;
    text-shadow: 0 6px 28px rgba(0, 0, 0, 0.45);
}

.xo-spotlight-left .xo-hero-text {
    color: #cfd5f5;
}

.xo-spotlight-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.35rem 0.9rem;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    font-size: 0.78rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    background: rgba(255, 255, 255, 0.06);
    color: #f2f3ff;
}

.xo-dot {
    width: 9px;
    height: 9px;
    border-radius: 999px;
    background: #ff7a4f;
    box-shadow: 0 0 20px rgba(255, 122, 79, .75);
}

.xo-spotlight-pills {
    margin: 1.25rem 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
}

.xo-spotlight-pills li {
    padding: 0.65rem 0.95rem;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: #e5e8ff;
    font-weight: 600;
    letter-spacing: -0.01em;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.02);
}

.xo-spotlight-hero .xo-hero-actions {
    gap: 0.85rem;
}

.xo-spotlight-hero .xo-btn-ghost {
    color: #f7f7ff;
    border-color: rgba(255, 255, 255, 0.35);
    background: rgba(255, 255, 255, 0.08);
}

.xo-spotlight-hero .xo-btn-ghost:hover {
    background: rgba(255, 255, 255, 0.12);
    border-color: rgba(255, 255, 255, 0.5);
}

.xo-spotlight-hero .xo-hero-note {
    color: #c6cbee;
}

.xo-spotlight-right {
    display: flex;
    justify-content: flex-end;
}

.xo-spotlight-info {
    display: grid;
    gap: 0.95rem;
    width: min(480px, 100%);
}

.xo-info-block {
    padding: 1.1rem 1.25rem;
    border-radius: 18px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.02));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06), 0 10px 24px rgba(0, 0, 0, 0.25);
    color: #eef0ff;
}

.xo-info-block p {
    text-transform: uppercase;
    letter-spacing: .16em;
    font-size: 0.78rem;
    color: rgba(255, 255, 255, 0.72);
    margin-bottom: 0.25rem;
}

.xo-info-block h3 {
    font-size: 1.35rem;
    margin: 0;
}

.xo-info-block span {
    color: rgba(255, 255, 255, 0.86);
    font-size: 0.95rem;
}

@media (max-width: 960px) {
    .xo-spotlight-card {
        padding: 1.8rem;
    }
    .xo-spotlight-inner {
        grid-template-columns: 1fr;
    }
    .xo-spotlight-right {
        justify-content: stretch;
    }
}

@media (max-width: 560px) {
    .xo-spotlight-card {
        border-radius: 22px;
    }
    .xo-spotlight-info {
        grid-template-columns: 1fr;
    }
    .xo-spotlight-pills li {
        width: 100%;
        justify-content: center;
        display: flex;
    }
}

/* Newsletter */
.xo-hero-subscribe {
    margin-top: 1.8rem;
}

.xo-subtitle {
    font-size: 0.82rem;
    text-transform: uppercase;
    letter-spacing: .14em;
    opacity: .7;
    margin-bottom: 0.4rem;
}

/* HERO droite */
.xo-home-hero-right {
    display: flex;
    justify-content: flex-end;
}

.xo-blob-card {
    border-radius: 32px;
    padding: 1.9rem 1.8rem;
    background: radial-gradient(circle at 0 0, #fff4eb 0, #f0f0ff 35%, #e7ecff 70%, #fdfdff 100%);
    box-shadow: 0 18px 40px rgba(0,0,0,0.08);
    max-width: 360px;
}

.xo-blob-label {
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: .13em;
    opacity: .65;
    margin-bottom: 0.4rem;
}

.xo-blob-card h3 {
    font-size: 1.2rem;
    margin-bottom: 0.4rem;
}

.xo-blob-card p {
    font-size: 0.94rem;
    color: #333;
}

.xo-hero-list{
    margin:1.5rem 0;
    padding:0;
    list-style:none;
    display:grid;
    gap:0.45rem;
    color:#1f2937;
}

.xo-hero-media{
    position:relative;
    min-height:320px;
}

.xo-hero-card,
.xo-hero-chart{
    position:absolute;
    padding:1.2rem;
    border-radius:22px;
    background:#fff;
    box-shadow:0 25px 55px rgba(0,0,0,0.1);
    width:230px;
}

.xo-hero-card{
    top:0;
    right:10px;
    animation:float 6s ease-in-out infinite;
}

.xo-hero-chart{
    bottom:10px;
    left:0;
    animation:float 6s ease-in-out infinite alternate;
}

.xo-chart-bars{
    display:flex;
    gap:6px;
    margin:0.5rem 0;
}

.xo-chart-bars .bar{
    flex:1;
    border-radius:999px;
    background:linear-gradient(135deg,#c084fc,#818cf8);
    height:56px;
}
.xo-chart-bars .bar-1{height:32px;}
.xo-chart-bars .bar-2{height:48px;}
.xo-chart-bars .bar-3{height:64px;}

.xo-hero-blur{
    position:absolute;
    inset:0;
    border-radius:32px;
    background:radial-gradient(circle at 30% 30%,rgba(255,122,79,0.35),transparent 60%);
    filter:blur(60px);
    pointer-events:none;
}

.xo-reveal{
    animation:fadeSlideUp .8s ease forwards;
    opacity:0;
}

.xo-reveal:nth-child(2){animation-delay:.1s;}
.xo-reveal:nth-child(3){animation-delay:.2s;}

@keyframes float{
    0%{transform:translateY(0);}
    50%{transform:translateY(-12px);}
    100%{transform:translateY(0);}
}

@keyframes fadeSlideUp{
    from{opacity:0;transform:translateY(12px);}
    to{opacity:1;transform:translateY(0);}
}

/* BOUTONS */
.xo-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.65rem 1.3rem;
    border-radius: 999px;
    font-size: 0.9rem;
    font-weight: 600;
    border: 1px solid transparent;
    text-decoration: none;
    cursor: pointer;
    transition: all .18s ease-out;
}

.xo-btn-primary {
    background: linear-gradient(135deg, #ff7a4f, #ff5722);
    color: #fff;
}

.xo-btn-primary:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 25px rgba(0,0,0,0.18);
}

.xo-btn-ghost {
    border: 1px solid rgba(17,24,39,0.12);
    background: rgba(255,255,255,0.95);
    color: #111827;
    box-shadow: inset 0 0 0 0 rgba(0,0,0,0), 0 8px 16px rgba(15,23,42,0.08);
}

.xo-btn-ghost:hover {
    background: #fff3ea;
    border-color: rgba(249,115,22,0.4);
}

.xo-stats-bar{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
    gap:1rem;
    margin:1.5rem 0 2.5rem;
}

.xo-stat{
    background:#fff;
    border-radius:18px;
    padding:1rem 1.2rem;
    border:1px solid rgba(0,0,0,0.04);
    box-shadow:0 15px 32px rgba(0,0,0,0.05);
    text-align:center;
}

.xo-stat span{
    display:block;
    font-size:1.5rem;
    font-weight:700;
}

.xo-services-feature{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:1.5rem;
    margin-bottom:3rem;
    align-items:center;
}

.xo-service-card{
    background:#fff;
    border-radius:22px;
    border:1px solid rgba(0,0,0,0.05);
    padding:1.4rem;
    box-shadow:0 22px 44px rgba(0,0,0,0.04);
}

.xo-showcase{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:1.5rem;
    margin-bottom:3rem;
    align-items:center;
}

.xo-showcase-screen{
    border-radius:28px;
    border:1px solid rgba(0,0,0,0.05);
    background:linear-gradient(120deg,#101225,#1f2045);
    color:#fff;
    padding:1.4rem;
    box-shadow:0 30px 70px rgba(15,15,25,0.35);
}

.xo-screen-bar{
    display:flex;
    gap:.4rem;
    margin-bottom:.8rem;
}

.xo-screen-bar span{
    width:10px;
    height:10px;
    border-radius:999px;
    background:rgba(255,255,255,0.3);
}

.xo-screen-content p{
    margin:0 0 .4rem;
    font-size:1rem;
}

.xo-case-studies{
    margin:3rem 0;
}

.xo-case-studies header{
    margin-bottom:1rem;
}

.xo-case-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:1.2rem;
}

.xo-case-grid article{
    background:#fff;
    border-radius:20px;
    border:1px solid rgba(0,0,0,0.05);
    padding:1.2rem;
    box-shadow:0 18px 36px rgba(0,0,0,0.04);
}

.xo-testimonials{
    margin-bottom:3rem;
}

.xo-testimonial-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:1.2rem;
}

.xo-testimonial-grid article{
    background:#fffdf8;
    border-radius:22px;
    border:1px solid rgba(255,122,79,0.15);
    padding:1.4rem;
    box-shadow:0 22px 44px rgba(255,122,79,0.08);
    animation:fadeSlideUp .8s ease forwards;
}

.xo-proof-block{
    margin:3rem 0;
    border-radius:34px;
    padding:2.2rem;
    background:linear-gradient(135deg,#fff2ec,#f6f7ff);
    box-shadow:0 32px 70px rgba(255,122,79,0.1);
    border:1px solid rgba(255,122,79,0.15);
}

.xo-proof-pill{
    display:inline-flex;
    align-items:center;
    gap:.4rem;
    padding:.35rem .9rem;
    border-radius:999px;
    background:#fff;
    border:1px solid rgba(255,122,79,0.35);
    font-size:.78rem;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:#ff7a4f;
    margin-bottom:1rem;
}

.xo-proof-pill::before{
    content:"";
    width:6px;
    height:6px;
    border-radius:999px;
    background:#ff7a4f;
    box-shadow:0 0 10px rgba(255,122,79,0.5);
}

.xo-proof-block h2{
    margin:0 0 .9rem;
}

.xo-proof-list{
    list-style:none;
    padding:0;
    margin:0 0 1rem;
    display:grid;
    gap:.45rem;
    color:#1f2937;
}

.xo-proof-list li{
    display:flex;
    gap:.5rem;
    align-items:flex-start;
}

.xo-proof-list li::before{
    content:"✓";
    color:#22c55e;
    font-weight:700;
}

/* GENERIC PAGE BLOCKS */
.xo-page-section{
    margin:3rem 0;
}

.xo-card-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:1.1rem;
}

.xo-card-tile{
    background:#fff;
    border-radius:22px;
    border:1px solid rgba(0,0,0,0.05);
    padding:1.35rem;
    box-shadow:0 20px 45px rgba(15,23,42,0.06);
    animation:fadeSlideUp .7s ease forwards;
}

.xo-card-tile h3{
    margin-top:0;
    margin-bottom:.4rem;
    font-size:1.05rem;
}

.xo-card-tile p{
    margin:0;
    color:#3f3f46;
}

.xo-card-tile ul{
    margin:.8rem 0 0;
    padding-left:1.1rem;
    color:#4b5563;
}

.xo-card-tile .xo-btn{
    margin-top:.9rem;
    width:auto;
}

.xo-card-tile .xo-btn-ghost{
    border-color:rgba(249,115,22,0.35);
    background:#fff8f4;
    color:#111;
    box-shadow:0 12px 25px rgba(249,115,22,0.15);
}

.xo-service-card .xo-btn-ghost{
    border-color:rgba(255,122,79,0.5);
    background:linear-gradient(120deg,#fff5ef,#ffe1d2);
    color:#0f172a;
    font-weight:600;
    box-shadow:0 15px 30px rgba(255,122,79,0.18);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    min-width:0;
    padding:.6rem 1rem;
    white-space:normal;
}
.xo-service-card .xo-btn-ghost:hover{
    background:linear-gradient(120deg,#ffe1d2,#ffd0bd);
}

.xo-list-check{
    list-style:none;
    padding:0;
    margin:.8rem 0 0;
    display:grid;
    gap:.45rem;
}

.xo-list-check li{
    display:flex;
    gap:.4rem;
    align-items:flex-start;
    color:#374151;
}

.xo-list-check li::before{
    content:"✓";
    color:#22c55e;
    font-weight:700;
}

.xo-highlight-split{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:1.6rem;
    align-items:center;
    margin:3rem 0;
}

.xo-highlight-box{
    border-radius:28px;
    padding:1.9rem;
    background:linear-gradient(135deg,#ffede3,#f2f6ff);
    box-shadow:0 30px 65px rgba(255,122,79,0.12);
}

.xo-highlight-media{
    border-radius:26px;
    padding:1.6rem;
    border:1px solid rgba(0,0,0,0.05);
    background:radial-gradient(circle at 20% 20%,rgba(255,122,79,0.18),transparent 60%),#0d101b;
    color:#fff;
    box-shadow:0 40px 80px rgba(0,0,0,0.45);
}

.xo-highlight-media p{
    margin:0;
    opacity:.85;
}

.xo-highlight-media strong{
    font-size:1.4rem;
    display:block;
    margin-bottom:.4rem;
}

.xo-resource-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
    gap:.9rem;
}

.xo-resource-pill{
    border-radius:18px;
    border:1px solid rgba(0,0,0,0.06);
    background:#fffdf8;
    padding:.85rem 1rem;
    font-size:.9rem;
    color:#ea580c;
    box-shadow:0 15px 30px rgba(255,122,79,0.08);
}

.xo-timeline{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:1rem;
}

.xo-timeline article{
    border-radius:20px;
    border:1px solid rgba(0,0,0,0.05);
    padding:1.3rem;
    background:#fff;
    box-shadow:0 18px 38px rgba(0,0,0,0.04);
    animation:fadeSlideUp .8s ease forwards;
}

.xo-timeline span{
    display:inline-flex;
    width:34px;
    height:34px;
    border-radius:999px;
    align-items:center;
    justify-content:center;
    background:#ffefe8;
    color:#ff7a4f;
    font-weight:700;
    margin-bottom:.5rem;
}

.xo-cta-panel{
    border-radius:32px;
    padding:2.4rem;
    background:linear-gradient(120deg,#0b111f,#1e2640);
    color:#f8fafc;
    display:flex;
    flex-wrap:wrap;
    gap:1.2rem;
    justify-content:space-between;
    align-items:center;
    box-shadow:0 40px 90px rgba(0,0,0,0.45);
}

.xo-cta-panel p{
    margin:.2rem 0 0;
    opacity:.85;
    max-width:440px;
}
.xo-cta-panel .xo-btn-ghost{
    border-color:rgba(255,255,255,0.3);
    color:#fff;
    background:rgba(255,255,255,0.08);
}
.xo-cta-panel .xo-btn-ghost:hover{
    background:rgba(255,255,255,0.16);
}

.xo-agenda-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
    gap:1rem;
}

.xo-agenda-card{
    border-radius:22px;
    border:1px solid rgba(0,0,0,0.08);
    padding:1.4rem;
    background:#11131b;
    color:#f7f7fb;
    box-shadow:0 28px 60px rgba(0,0,0,0.5);
    animation:fadeSlideUp .8s ease forwards;
}

.xo-agenda-card span{
    display:block;
    margin-top:.6rem;
    font-size:.9rem;
    opacity:.8;
}

.xo-tag-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
    gap:1rem;
}

.xo-tag-card{
    border-radius:20px;
    border:1px solid rgba(0,0,0,0.05);
    padding:1.2rem;
    background:#fff;
    box-shadow:0 18px 38px rgba(0,0,0,0.04);
    animation:fadeSlideUp .8s ease forwards;
}

.xo-tag-card h3{
    margin:.1rem 0 .3rem;
}

.xo-tag-card span{
    font-size:.85rem;
    color:#6b7280;
}

.xo-tag-card a{
    text-decoration:none;
    font-weight:600;
    color:#ff5722;
    display:inline-flex;
    align-items:center;
    gap:.3rem;
    margin-top:.4rem;
}

.xo-tag-card a::after{
    content:"→";
}

/* SUJETS TENDANCES */
.xo-topics {
    margin-bottom: 2.5rem;
}

.xo-topics-inner {
    border-radius: 999px;
    background: #ffffff;
    border: 1px solid rgba(0,0,0,0.06);
    box-shadow: 0 10px 25px rgba(0,0,0,0.04);
    padding: 0.9rem 1.6rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.7rem;
    text-align: center;
}

.xo-topics-title {
    font-size: 0.9rem;
    font-weight: 600;
}

.xo-topics-chips {
    display: flex;
    gap: 0.6rem;
    flex-wrap: wrap;
}

.xo-chip {
    padding: 0.35rem 0.9rem;
    border-radius: 999px;
    font-size: 0.8rem;
    border: 1px solid rgba(0,0,0,0.06);
    background: #f7f7fb;
    text-decoration: none;
    color: #222;
    white-space: nowrap;
}

.xo-chip-ghost {
    background: transparent;
}

/* SECTION TITLES */
.xo-section-title {
    font-size: 1.8rem;
    margin-bottom: .6rem;
    text-align: center;
    letter-spacing: -0.02em;
    color: #111;
}

.xo-section-subtext {
    text-align: center;
    color: #555;
    margin-bottom: 1.6rem;
}

/* WHAT WE DO */
.xo-what-we-do {
    padding: 3rem 0;
}

.xo-what-grid {
    display: grid;
    gap: 1.5rem;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.xo-what-card {
    background: #ffffff;
    border-radius: 16px;
    border: 1px solid rgba(0,0,0,0.06);
    padding: 1.6rem;
    box-shadow: 0 8px 20px rgba(0,0,0,0.04);
}

.xo-what-card h3 {
    font-weight: 600;
}

/* LAYOUT PRINCIPAL */
.xo-main-section {
    margin-bottom: 3.2rem;
}

.xo-layout {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    gap: 2.3rem;
}

/* SIDEBAR / INDEX */
.xo-sidebar {
    background: #ffffff;
    border-radius: 20px;
    padding: 1.5rem 1.6rem;
    border: 1px solid rgba(0,0,0,0.05);
    box-shadow: 0 12px 30px rgba(0,0,0,0.04);
}

.xo-sidebar-title {
    font-size: 1rem;
    font-weight: 700;
    margin-bottom: 1rem;
}

.xo-sidebar-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 0.55rem;
    font-size: 0.92rem;
}

.xo-sidebar-list li {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    cursor: pointer;
}

.xo-sidebar-list a {
    text-decoration: none;
    color: #333;
    transition: color .15s ease-out;
}

.xo-sidebar-list li:hover a {
    color: #111;
}

.xo-dot {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    display: inline-block;
    flex-shrink: 0;
    transform: translateY(1px);
    transition: transform .15s ease-out;
}

.xo-sidebar-list li:hover .xo-dot {
    transform: translateY(1px) scale(1.15);
}

.xo-dot-design { background: #7C3AED; }
.xo-dot-ecom { background: #22C55E; }
.xo-dot-entrepreneurship { background: #F97316; }
.xo-dot-infos { background: #6366F1; }
.xo-dot-marketing { background: #EC4899; }
.xo-dot-news { background: #0EA5E9; }
.xo-dot-ressources { background: #A855F7; }
.xo-dot-startup { background: #FACC15; }

/* LISTE DES ARTICLES */
.xo-articles {
    display: grid;
    gap: 1.4rem;
}

.xo-post-card {
    border-radius: 16px;
    padding: 1.4rem 1.5rem;
    background: #ffffff;
    border: 1px solid rgba(0,0,0,0.06);
    box-shadow: 0 10px 24px rgba(0,0,0,0.03);
}

.xo-post-meta {
    font-size: 0.8rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    align-items: center;
    opacity: .8;
}

.xo-post-tag {
    padding: 0.18rem 0.55rem;
    border-radius: 999px;
    font-size: 0.75rem;
    background: #fff7f2;
    color: #ff7a4f;
}

.xo-post-reading {
    font-size: 0.8rem;
}

.xo-post-title {
    margin: 0.45rem 0 0.4rem;
    font-size: 1.2rem;
}

.xo-post-title a {
    text-decoration: none;
    color: #111;
}

.xo-post-excerpt {
    font-size: 0.95rem;
    color: #444;
    margin-bottom: 0.8rem;
}

.xo-post-link {
    font-size: 0.88rem;
    text-decoration: none;
    color: #ff5722;
    font-weight: 600;
}

/* WHY SECTION */
.xo-why {
    padding: 3rem 0;
}

.xo-why-grid {
    display: grid;
    gap: 1.5rem;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.xo-why-card {
    background: #fff;
    border-radius: 16px;
    border: 1px solid rgba(0,0,0,0.06);
    padding: 1.6rem;
    box-shadow: 0 8px 20px rgba(0,0,0,0.04);
}

.xo-why-card h3 {
    font-weight: 600;
}

/* FREE RESOURCES */
.xo-free-resources {
    padding: 3rem 0;
}

.xo-free-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.1rem;
}

.xo-free-card {
    background: #fff7f2;
    border: 1px solid rgba(255,122,79,0.18);
    padding: 1rem 1.1rem;
    border-radius: 18px;
    font-size: .96rem;
    color: #cc4e1b;
    display: flex;
    align-items: center;
    min-height: 3.5rem;
}

/* WITH YOU (storytelling) */
.xo-with-you {
    padding: 3rem 0;
}

.xo-with-grid {
    display: grid;
    gap: 2rem;
    grid-template-columns: 1fr 1fr;
}

.xo-with-grid h2 {
    font-weight: 600;
}

.xo-result-box {
    background: #11131b;
    color: #f6f6f7;
    padding: 1.8rem;
    border-radius: 22px;
}

.xo-result-label {
    font-size: .78rem;
    opacity: .7;
    text-transform: uppercase;
    margin-bottom: .4rem;
}

/* HOW WE WORK */
.xo-how {
    padding: 3rem 0;
}

.xo-how-grid {
    display: grid;
    gap: 1.5rem;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.xo-how-card {
    background: #ffffff;
    border-radius: 16px;
    border: 1px solid rgba(0,0,0,0.06);
    padding: 1.6rem;
    box-shadow: 0 8px 20px rgba(0,0,0,0.04);
}

.xo-how-card h3 {
    font-weight: 600;
}

/* VISION */
.xo-vision {
    text-align: center;
    padding: 3rem 0 0;
    max-width: 760px;
    margin: 0 auto;
}

.xo-vision-box {
    border-radius: 26px;
    border: 1px solid #ff7a4f;
    padding: 2rem 1.8rem;
    background: #fffdfb;
    box-shadow: 0 0 0 0 rgba(255,122,79,0.45);
    animation: xo-pulse-border 2.8s infinite;
}

.xo-vision-box h2 {
    margin-bottom: 0.8rem;
    font-weight: 600;
}

.xo-vision p {
    color: #444;
    margin-bottom: .9rem;
}

@keyframes xo-pulse-border {
    0% {
        box-shadow: 0 0 0 0 rgba(255,122,79,0.45);
    }
    70% {
        box-shadow: 0 0 0 16px rgba(255,122,79,0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(255,122,79,0);
    }
}

/* COMMUNITY CTA (reuse) */
.xo-community-section {
    margin-top: 2.5rem;
}

.xo-community-inner {
    border-radius: 26px;
    padding: 2rem;
    background: #11131b;
    color: #f6f6f7;
    display: flex;
    flex-wrap: wrap;
    gap: 1.2rem;
    justify-content: space-between;
    align-items: center;
    box-shadow: 0 35px 70px rgba(0,0,0,0.4);
}

.xo-community-text p {
    max-width: 380px;
    opacity: .85;
}

.xo-community-actions {
    display: flex;
    gap: 0.7rem;
    flex-wrap: wrap;
}
.xo-community-section .xo-btn-ghost{
    border-color:rgba(255,255,255,0.35);
    color:#fff;
    background:rgba(255,255,255,0.08);
}
.xo-community-section .xo-btn-ghost:hover{
    background:rgba(255,255,255,0.16);
}

.xo-nav-pill{
    display:inline-flex;
    align-items:center;
    padding:.35rem .9rem;
    border-radius:999px;
    background:#fff5ef;
    border:1px solid rgba(255,122,79,0.4);
    color:#111;
    font-weight:600;
    box-shadow:0 10px 20px rgba(255,122,79,0.15);
}

.main-nav ul.menu li.current-menu-item > a::before{
    display:none;
}

/* AUTH PAGES */
.xo-auth-screen {
    min-height: calc(100vh - 120px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 3rem 1.2rem;
}

.xo-auth-card {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 2rem;
    width: 100%;
    max-width: 1000px;
    background: #fff;
    border-radius: 32px;
    border: 1px solid rgba(0,0,0,0.05);
    box-shadow: 0 44px 95px rgba(0,0,0,0.08);
    padding: 2.6rem;
}

.xo-auth-intro {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.xo-auth-logo {
    width: 150px;
}

.xo-auth-back {
    font-size: 0.82rem;
    color: #6b7280;
    text-decoration: none;
}

.xo-auth-benefits {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 0.45rem;
    color: #333;
}

.xo-auth-benefits li::before {
    content: "•";
    color: #ff7a4f;
    margin-right: 0.4rem;
}

.xo-auth-form {
    background: #f6f6fb;
    border-radius: 24px;
    padding: 2rem;
}

.xo-auth-form h2 {
    margin-top: 0;
    margin-bottom: .4rem;
}

.xo-auth-label {
    display: block;
    font-size: 0.82rem;
    font-weight: 600;
    margin-bottom: 0.3rem;
}

.xo-auth-input {
    width: 100%;
    border-radius: 16px;
    border: 1px solid rgba(0,0,0,0.12);
    padding: 0.85rem 1rem;
    font-size: 1rem;
    background: #fff;
}

.xo-auth-submit {
    width: 100%;
    margin-top: 1rem;
}

.xo-auth-message {
    min-height: 2rem;
    font-size: 0.9rem;
    margin-top: 0.6rem;
}

.xo-auth-message .success-message {
    color: #10b981;
}

.xo-auth-message .error-detail {
    color: #ef4444;
}

.xo-auth-switch {
    font-size: 0.9rem;
    margin-top: 0.9rem;
}

.xo-auth-switch a {
    color: #ff7a4f;
    font-weight: 600;
    text-decoration: none;
}

@media (max-width: 680px) {
    .xo-auth-card {
        padding: 1.6rem;
    }
    .xo-auth-form {
        padding: 1.4rem;
    }
}

/* MEMBERSHIP */
.xo-membership-page{
    padding-top:1rem;
}

.xo-membership-hero{
    text-align:center;
    padding:3rem 2.4rem;
    border-radius:36px;
    border:1px solid rgba(255,122,79,0.25);
    background:linear-gradient(180deg,#fff6ef,#f8f9ff);
    box-shadow:0 40px 90px rgba(255,122,79,0.12);
    margin-bottom:2.5rem;
}

.xo-membership-hero ul{
    list-style:none;
    padding:0;
    margin:1.6rem auto 0;
    max-width:560px;
    display:grid;
    gap:.45rem;
    color:#374151;
}

.xo-membership-hero li::before{
    content:"✨";
    margin-right:.4rem;
}

.xo-member-plans{
    margin-top:2.5rem;
}

.xo-member-plans h2{
    text-align:center;
    margin-bottom:2rem;
}

.xo-member-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:1.5rem;
}
.xo-member-grid-desktop{
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
}

.xo-member-card{
    border-radius:32px;
    padding:2rem;
    background:#fff;
    border:1px solid rgba(15,23,42,0.08);
    box-shadow:0 30px 70px rgba(15,23,42,0.08);
    display:flex;
    flex-direction:column;
    gap:1rem;
    overflow:hidden;
}

.xo-member-card.featured{
    border-color:#ff7a4f;
    box-shadow:0 35px 80px rgba(255,122,79,0.25);
}

.xo-member-tag{
    font-size:.78rem;
    letter-spacing:.1em;
    text-transform:uppercase;
    color:#9ca3af;
}

.xo-member-price{
    display:inline-flex;
    align-items:center;
    gap:.4rem;
    border-radius:999px;
    padding:.45rem 1.1rem;
    border:1px solid rgba(15,23,42,0.15);
    background:#f8fafc;
    font-size:1.6rem;
    font-weight:700;
}

.xo-member-price span{
    font-size:.85rem;
    color:#6b7280;
    font-weight:500;
}

.xo-member-benefits{
    list-style:none;
    padding:0;
    margin:0;
    display:grid;
    gap:.45rem;
    color:#374151;
}

.xo-member-benefits li{
    display:flex;
    gap:.4rem;
    align-items:flex-start;
}

.xo-member-benefits li::before{
    content:"✓";
    color:#22c55e;
    margin-right:.4rem;
    display:inline-block;
}

.xo-plan-trial{
    font-size:.85rem;
    color:#6b7280;
}

.xo-member-actions{
    display:flex;
    flex-direction:column;
    gap:.8rem;
}

.xo-member-actions-row{
    display:flex;
    gap:.6rem;
    flex-wrap:wrap;
}

.xo-member-actions-row .xo-btn{
    flex:1 1 140px;
    justify-content:center;
    border-radius:999px;
}

.xo-member-note{
    text-align:center;
    margin-top:1.6rem;
    color:#475569;
}

.xo-member-note a{
    color:#ff7a4f;
    font-weight:600;
    text-decoration:none;
}

/* SERVICES */
.xo-services-hero {
    text-align: center;
    margin-bottom: 2.4rem;
}

.xo-services-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 1.2rem;
    margin-bottom: 3rem;
}

.xo-service-card {
    background: #fff;
    border-radius: 22px;
    border: 1px solid rgba(0,0,0,0.05);
    padding: 1.6rem;
    box-shadow: 0 22px 44px rgba(0,0,0,0.05);
    animation: fadeSlideUp .8s ease forwards;
}

.xo-service-price {
    font-size: 1.4rem;
    font-weight: 700;
    color: #ff5521;
    margin-bottom: .6rem;
}

.xo-upsell-banner {
    border-radius: 24px;
    padding: 2rem;
    background: linear-gradient(135deg,#0b111d,#1b2438);
    color: #f8fafc;
    margin-bottom: 3rem;
    box-shadow: 0 35px 70px rgba(15,23,42,0.45);
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: space-between;
    align-items: center;
}

.xo-upsell-banner h3 {
    margin: 0 0 0.4rem;
}

.xo-upsell-banner p {
    margin: 0;
    opacity: .85;
}

/* DEVICE INSTALL */
.xo-device-panels{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:1.2rem;
    margin:2rem 0 3rem;
}

.xo-device-card{
    border-radius:28px;
    border:1px solid rgba(0,0,0,0.05);
    padding:1.8rem;
    background:#fff;
    box-shadow:0 30px 70px rgba(0,0,0,0.06);
}

.xo-device-card h3{
    margin-top:0;
}

.xo-device-steps{
    list-style:none;
    padding:0;
    margin:1.2rem 0 0;
    display:grid;
    gap:.8rem;
}

.xo-device-step{
    display:flex;
    gap:.8rem;
    border-radius:20px;
    border:1px solid rgba(0,0,0,0.05);
    padding:.85rem 1rem;
    background:#f9f9ff;
}

.xo-device-step span{
    width:32px;
    height:32px;
    border-radius:12px;
    background:linear-gradient(135deg,#ff7a4f,#ff5521);
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-weight:700;
    flex-shrink:0;
}

.xo-device-note{
    margin-top:1rem;
    font-size:.9rem;
    color:#4b5563;
}

.xo-device-note ul{
    margin:.5rem 0 0;
    padding-left:1.1rem;
}

.xo-device-note a{
    color:#ff5722;
    font-weight:600;
    text-decoration:none;
}

/* AUDIT FORM */
.xo-audit-grid{
    display:grid;
    gap:1.1rem;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    margin-bottom:3rem;
}

.xo-audit-grid article{
    background:#fff;
    border:1px solid rgba(0,0,0,0.05);
    border-radius:20px;
    padding:1.4rem;
    box-shadow:0 20px 40px rgba(0,0,0,0.04);
}

.xo-audit-form{
    margin-top:2rem;
    background:#fff;
    border-radius:32px;
    border:1px solid rgba(0,0,0,0.05);
    padding:2rem;
    box-shadow:0 35px 80px rgba(0,0,0,0.06);
}

.xo-audit-form form{
    display:flex;
    flex-direction:column;
    gap:0.9rem;
}

.xo-audit-form input,
.xo-audit-form textarea{
    border:1px solid rgba(0,0,0,0.1);
    border-radius:18px;
    padding:0.9rem 1rem;
    font-size:1rem;
    background:#f9f9ff;
}

.xo-audit-form button{
    align-self:flex-start;
    border:none;
}

.xo-audit-form small{
    display:block;
    margin-top:0.8rem;
    color:#6b7280;
}

.xo-audit-status{
    margin-top:1rem;
    font-weight:600;
    color:#ff7a4f;
}

.xo-audit-response{
    margin-top:1rem;
    background:#f7f7fb;
    border-radius:18px;
    padding:1.2rem;
    border:1px solid rgba(0,0,0,0.05);
    white-space:pre-wrap;
}

/* DARK COUNTDOWN PANELS */
.xo-dark-panel{
    border-radius:32px;
    padding:2rem;
    background:linear-gradient(135deg,#05060f,#161c2c);
    color:#fff;
    text-align:center;
    border:1px solid rgba(248,113,55,0.35);
    box-shadow:0 45px 90px rgba(0,0,0,0.65);
    position:relative;
    overflow:hidden;
}

.xo-dark-panel::after{
    content:"";
    position:absolute;
    inset:-40%;
    background:radial-gradient(circle at 20% 20%,rgba(255,255,255,0.15),transparent 55%);
    opacity:.7;
    pointer-events:none;
    animation:xo-glow-move 7s ease-in-out infinite alternate;
}

.xo-countdown-label{
    margin:0;
    font-size:.9rem;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:#fb923c;
}

.xo-countdown-time{
    font-size:2.3rem;
    margin:.4rem 0 0;
    font-weight:700;
    background:linear-gradient(135deg,#ffedd5,#fb923c);
    -webkit-background-clip:text;
    color:transparent;
}

@keyframes xo-glow-move{
    0%{transform:translate3d(-4%,0,0);opacity:.7;}
    100%{transform:translate3d(4%,4%,0);opacity:1;}
}

/* GENERIC FORM PANEL */
.xo-form-panel{
    border-radius:32px;
    border:1px solid rgba(148,163,184,0.25);
    background:linear-gradient(180deg,#fff,#f8f8ff);
    padding:2.2rem;
    box-shadow:0 35px 80px rgba(15,23,42,0.08);
}

.xo-form-row{
    display:flex;
    gap:.8rem;
    flex-wrap:wrap;
    align-items:flex-start;
}

.xo-input{
    flex:1 1 220px;
    min-width:0;
    border-radius:18px;
    border:1px solid rgba(148,163,184,0.4);
    padding:.9rem 1rem;
    font-size:.95rem;
    background:#fff;
    transition:border-color .16s ease,box-shadow .16s ease, transform .16s;
}

.xo-input:focus{
    border-color:#ff7a4f;
    box-shadow:0 12px 28px rgba(255,122,79,0.18);
    transform:translateY(-1px);
    outline:none;
}

.xo-form-panel button{
    margin-top:1rem;
    align-self:flex-start;
    box-shadow:0 18px 36px rgba(15,23,42,0.35);
    background:#0f172a;
    color:#fff;
    border:none;
}

.xo-form-helper{
    margin-top:.8rem;
    font-size:.85rem;
    color:#6b7280;
}

.xo-form-status{
    font-size:.9rem;
    margin-top:.6rem;
    display:none;
}

[data-members-error]:not(:empty),
[data-members-success]:not(:empty){
    display:block;
}

.xo-form-status-error{color:#b91c1c;}
.xo-form-status-success{color:#22c55e;}

/* RESPONSIVE */
@media (max-width: 960px) {
    .xo-home-hero-inner {
        grid-template-columns: minmax(0, 1fr);
    }
    .xo-home-hero-right {
        justify-content: flex-start;
    }
    .xo-layout {
        grid-template-columns: minmax(0, 1fr);
    }
    .xo-free-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .xo-highlight-split{
        margin:2.2rem 0;
    }
    .xo-cta-panel{
        padding:1.9rem;
    }
}

@media (max-width: 640px) {
    .xo-hero-actions {
        flex-direction: column;
        align-items: stretch;
    }
    .xo-topics-inner {
        border-radius: 22px;
    }
    .xo-with-grid {
        grid-template-columns: minmax(0, 1fr);
    }
    .xo-free-grid {
        grid-template-columns: minmax(0, 1fr);
    }
    .xo-form-row{
        flex-direction:column;
    }
}
.xo-btn-small{
    font-size:.78rem;
    padding:.45rem .9rem;
    letter-spacing:.03em;
}
.xo-cta-panel{
    flex-direction:column;
    text-align:center;
}
.xo-cta-panel p{
    max-width:none;
}
.xo-community-inner{
    flex-direction:column;
    text-align:center;
}
.xo-community-actions{
    justify-content:center;
}
.xo-member-grid{
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
}
