:root{
    --ads-primary:#0f172a;
    --ads-secondary:#c8a96b;
    --ads-text:#334155;
    --ads-muted:#64748b;
    --ads-bg:#ffffff;
    --ads-soft:#f8fafc;
    --ads-border:#e2e8f0;
    --ads-radius:28px;
    --ads-shadow:0 18px 50px rgba(15,23,42,.08);
    --ads-shadow-lg:0 28px 80px rgba(15,23,42,.14);
}

/* =========================================================
BASE
========================================================= */

.ads-hero,
.ads-problems,
.ads-solutions,
.ads-case,
.ads-cta{
    position:relative;
}

.ads-section-title{
    text-align:center;
    max-width:760px;
    margin:0 auto 56px;
}

.ads-section-title span{
    display:inline-block;
    color:var(--ads-secondary);
    font-size:.82rem;
    font-weight:800;
    letter-spacing:.18em;
    margin-bottom:16px;
}

.ads-section-title h2{
    font-size:clamp(2.2rem,4vw,3.6rem);
    line-height:1.08;
    color:var(--ads-primary);
    font-weight:900;
    letter-spacing:-.03em;
}

/* =========================================================
HERO
========================================================= */

.ads-hero{
    padding:112px 0 88px;
    background:
        radial-gradient(circle at top left, rgba(200,169,107,.14), transparent 34%),
        linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);
}

.ads-hero-grid{
    display:grid;
    grid-template-columns:1.08fr .92fr;
    gap:72px;
    align-items:center;
}

.ads-badge{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:10px 16px;
    border-radius:999px;
    background:#ffffff;
    border:1px solid var(--ads-border);
    color:var(--ads-muted);
    font-size:.8rem;
    font-weight:800;
    letter-spacing:.12em;
    margin-bottom:24px;
    box-shadow:0 8px 20px rgba(15,23,42,.04);
}

.ads-content h1{
    font-size:clamp(3rem,6vw,5.4rem);
    line-height:1.01;
    color:var(--ads-primary);
    font-weight:900;
    letter-spacing:-.06em;
    margin-bottom:24px;
}

.ads-content p{
    font-size:1.08rem;
    color:var(--ads-text);
    max-width:640px;
    margin-bottom:34px;
}

.ads-actions{
    display:flex;
    align-items:center;
    gap:22px;
    flex-wrap:wrap;
    margin-bottom:18px;
}

.ads-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:15px 28px;
    border-radius:999px;
    font-weight:800;
    font-size:.95rem;
    transition:all .25s ease;
}

.ads-btn-primary{
    background:var(--ads-primary);
    color:#ffffff;
    box-shadow:0 16px 32px rgba(15,23,42,.16);
}

.ads-btn-primary:hover{
    background:var(--ads-secondary);
    color:var(--ads-primary);
    transform:translateY(-3px);
}

.ads-link{
    color:var(--ads-primary);
    font-weight:800;
}

.ads-link:hover{
    color:var(--ads-secondary);
}

.ads-note{
    color:var(--ads-muted);
    font-size:.92rem;
}

.ads-image{
    position:relative;
}

.ads-image img{
    width:100%;
    border-radius:32px;
    box-shadow:var(--ads-shadow-lg);
}

.ads-image::after{
    content:'';
    position:absolute;
    inset:auto -14px -18px auto;
    width:140px;
    height:140px;
    border-radius:28px;
    background:rgba(200,169,107,.16);
    z-index:-1;
}

/* =========================================================
SECTIONS
========================================================= */

.ads-problems,
.ads-solutions,
.ads-case,
.ads-cta{
    padding:92px 0;
}

.ads-problems,
.ads-case{
    background:var(--ads-soft);
}

/* =========================================================
GRID
========================================================= */

.ads-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:28px;
}

.ads-card{
    background:#ffffff;
    border:1px solid var(--ads-border);
    border-radius:var(--ads-radius);
    padding:30px;
    box-shadow:var(--ads-shadow);
    transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}

.ads-card:hover{
    transform:translateY(-8px);
    box-shadow:var(--ads-shadow-lg);
    border-color:#d8c59a;
}

.ads-card-icon{
    width:58px;
    height:58px;
    border-radius:18px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(200,169,107,.12);
    font-size:1.5rem;
    margin-bottom:18px;
}

.ads-card h3{
    color:var(--ads-primary);
    font-size:1.2rem;
    line-height:1.3;
    margin-bottom:12px;
    font-weight:800;
}

.ads-card p{
    color:var(--ads-muted);
}

/* =========================================================
LIST
========================================================= */

.ads-list{
    list-style:none;
    padding:0;
}

.ads-list li{
    position:relative;
    padding-left:28px;
    margin-bottom:12px;
    color:var(--ads-text);
}

.ads-list li::before{
    content:'✔';
    position:absolute;
    left:0;
    top:0;
    color:var(--ads-secondary);
    font-weight:900;
}

/* =========================================================
CASE
========================================================= */

.ads-case-box{
    background:#ffffff;
    border:1px solid var(--ads-border);
    border-radius:32px;
    padding:40px;
    box-shadow:var(--ads-shadow-lg);
}

.ads-case-badge{
    display:inline-flex;
    align-items:center;
    padding:8px 14px;
    border-radius:999px;
    background:var(--ads-primary);
    color:#ffffff;
    font-size:.78rem;
    font-weight:800;
    letter-spacing:.08em;
    margin-bottom:18px;
}

.ads-case-box h2{
    color:var(--ads-primary);
    font-size:clamp(1.8rem,3vw,2.6rem);
    line-height:1.12;
    margin-bottom:28px;
    font-weight:900;
}

.ads-case-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
    margin-bottom:28px;
}

.ads-case-grid div{
    padding:22px;
    border-radius:20px;
    background:var(--ads-soft);
    border:1px solid var(--ads-border);
}

.ads-case-grid span{
    display:block;
    color:var(--ads-muted);
    font-size:.82rem;
    font-weight:700;
    margin-bottom:6px;
}

.ads-case-grid strong{
    color:var(--ads-primary);
    font-size:1rem;
    font-weight:800;
}

.ads-case-box p{
    color:var(--ads-text);
}

/* =========================================================
CTA
========================================================= */

.ads-cta-box{
    background:
        radial-gradient(circle at top right, rgba(200,169,107,.16), transparent 34%),
        linear-gradient(135deg,#0f172a 0%,#111827 100%);

    color:#ffffff;
    border-radius:32px;
    padding:44px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:32px;
    box-shadow:var(--ads-shadow-lg);
}

.ads-cta-label{
    display:inline-block;
    color:#f0d9a6;
    font-size:.82rem;
    font-weight:800;
    letter-spacing:.18em;
    margin-bottom:14px;
}

.ads-cta-box h2{
    font-size:clamp(2rem,4vw,3.2rem);
    line-height:1.08;
    font-weight:900;
    letter-spacing:-.03em;
    margin-bottom:14px;
}

.ads-cta-box p{
    color:rgba(255,255,255,.78);
    max-width:640px;
}

/* =========================================================
RESPONSIVE
========================================================= */

@media (max-width:992px){

    .ads-hero-grid,
    .ads-grid,
    .ads-case-grid{
        grid-template-columns:1fr;
    }

    .ads-cta-box{
        flex-direction:column;
        align-items:flex-start;
    }

    .ads-hero{
        padding:92px 0 72px;
    }
}

@media (max-width:640px){

    .ads-hero{
        padding:80px 0 56px;
    }

    .ads-content h1{
        font-size:2.5rem;
    }

    .ads-actions{
        flex-direction:column;
        align-items:stretch;
        gap:14px;
    }

    .ads-actions .ads-btn{
        width:100%;
    }

    .ads-case-box,
    .ads-cta-box{
        padding:26px 22px;
    }

    .ads-section-title{
        margin-bottom:40px;
    }
}