:root{
    --core-bg:#fff6ef;
    --core-bg-soft:#ffefe2;
    --core-surface:#fffaf6;
    --core-surface-soft:#fff2e8;

    --core-text:#3a2418;
    --core-text-strong:#26160f;
    --core-muted:#8a6654;

    --core-primary:#f07a1f;
    --core-primary-2:#ffb25b;
    --core-primary-dark:#be5300;
    --core-primary-soft:#fff0df;

    --core-brown:#5a3422;
    --core-brown-2:#7c4727;
    --core-brown-3:#9a5b2d;

    --core-line:#efd5c1;
    --core-line-strong:#e4b996;

    --core-shadow-sm:0 10px 24px rgba(120,66,30,.10);
    --core-shadow:0 16px 36px rgba(120,66,30,.13);
    --core-shadow-lg:0 24px 48px rgba(120,66,30,.18);

    --core-radius:24px;
    --core-radius-md:18px;
    --core-radius-sm:14px;

    --core-transition:.28s ease;
}

.core-container{
    max-width:1200px;
    margin:0 auto;
    padding:0 24px;
}

.core-section{
    padding:42px 0;
    background:transparent;
}

.core-section--soft{
    background:
        linear-gradient(180deg,#fffaf6 0%, #ffefe3 100%);
    border-top:1px solid var(--core-line);
    border-bottom:1px solid var(--core-line);
}

/* HERO */
.core-hero{
    position:relative;
    overflow:hidden;
    min-height:78vh;
    display:flex;
    align-items:center;
    background:
        radial-gradient(circle at 18% 18%, rgba(255,188,120,.28), transparent 24%),
        radial-gradient(circle at 78% 22%, rgba(255,220,170,.18), transparent 22%),
        linear-gradient(135deg, var(--core-brown) 0%, var(--core-brown-2) 48%, var(--core-primary) 100%);
}

.core-hero::before{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(to bottom, rgba(255,255,255,.05), rgba(255,255,255,0)),
        repeating-linear-gradient(
            90deg,
            rgba(255,255,255,.022) 0px,
            rgba(255,255,255,.022) 1px,
            transparent 1px,
            transparent 92px
        );
    pointer-events:none;
}

.core-hero__content{
    position:relative;
    z-index:2;
    padding:82px 0;
}

.core-badge,
.core-chip{
    display:inline-block;
    padding:8px 14px;
    border-radius:999px;
    background:rgba(255,245,236,.96);
    color:var(--core-primary-dark);
    font-size:14px;
    font-weight:700;
    letter-spacing:.2px;
    box-shadow:0 8px 18px rgba(70,40,20,.10);
}

.core-title{
    margin:18px 0;
    font-size:58px;
    line-height:1.05;
    color:#fff8f3;
    max-width:900px;
    letter-spacing:-.02em;
    text-shadow:0 10px 24px rgba(50,20,10,.18);
}

.core-subtitle{
    margin:0;
    max-width:760px;
    font-size:19px;
    line-height:1.85;
    color:rgba(255,244,236,.92);
}

/* GRID */
.core-grid{
    display:grid;
    gap:22px;
}

.core-grid--2{
    grid-template-columns:repeat(2, minmax(0,1fr));
}

.core-grid--3{
    grid-template-columns:repeat(3, minmax(0,1fr));
}

/* CARD */
.core-card{
    background:
        linear-gradient(180deg, rgba(255,250,246,.96) 0%, rgba(255,244,236,.96) 100%);
    backdrop-filter:blur(12px);
    border:1px solid var(--core-line);
    border-radius:24px;
    padding:26px;
    box-shadow:var(--core-shadow);
    transition:
        transform var(--core-transition),
        box-shadow var(--core-transition),
        border-color var(--core-transition),
        background var(--core-transition);
}

.core-card:hover{
    transform:translateY(-6px);
    box-shadow:var(--core-shadow-lg);
    border-color:var(--core-line-strong);
    background:
        linear-gradient(180deg, rgba(255,252,249,.98) 0%, rgba(255,239,227,.98) 100%);
}

.core-card h2,
.core-card h3{
    margin:14px 0 12px;
    color:var(--core-text-strong);
}

.core-card h2{
    font-size:32px;
    line-height:1.2;
}

.core-card h3{
    font-size:24px;
    line-height:1.25;
}

.core-card p{
    margin:0 0 12px;
    color:var(--core-muted);
    line-height:1.85;
    font-size:16px;
}

.core-list{
    margin:0;
    padding-left:20px;
}

.core-list li{
    margin-bottom:8px;
    color:var(--core-muted);
    line-height:1.75;
}

.core-icon{
    width:66px;
    height:66px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:18px;
    font-size:30px;
    margin-bottom:14px;
    background:
        linear-gradient(135deg,#fff1e1,#ffd7ad);
    box-shadow:0 12px 24px rgba(240,122,31,.14);
    border:1px solid #f2caa7;
}

/* CTA */
.core-cta{
    padding:28px 0 68px;
}

.core-cta__box{
    background:
        radial-gradient(circle at top right, rgba(240,122,31,.20), transparent 24%),
        linear-gradient(135deg,#fffdfb 0%,#fff0e3 100%);
    border:1px solid var(--core-line);
    border-radius:30px;
    padding:42px 34px;
    text-align:center;
    box-shadow:var(--core-shadow-lg);
}

.core-cta__box h2{
    margin:16px 0 14px;
    font-size:40px;
    line-height:1.2;
    color:var(--core-text-strong);
    letter-spacing:-.01em;
}

.core-cta__box p{
    max-width:760px;
    margin:0 auto 24px;
    font-size:17px;
    line-height:1.85;
    color:var(--core-muted);
}

.core-cta__actions{
    display:flex;
    justify-content:center;
    gap:14px;
    flex-wrap:wrap;
}

.core-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:54px;
    padding:0 22px;
    border-radius:14px;
    font-weight:700;
    text-decoration:none;
    transition:
        transform .25s ease,
        background .25s ease,
        box-shadow .25s ease,
        border-color .25s ease,
        color .25s ease;
}

.core-btn:hover{
    transform:translateY(-2px);
}

.core-btn--primary{
    background:linear-gradient(135deg, var(--core-primary), var(--core-primary-2));
    color:#fff;
    box-shadow:0 14px 28px rgba(240,122,31,.28);
}

.core-btn--primary:hover{
    box-shadow:0 20px 36px rgba(240,122,31,.34);
}

.core-btn--outline{
    color:var(--core-primary-dark);
    border:1px solid var(--core-line-strong);
    background:#fffaf6;
    box-shadow:var(--core-shadow-sm);
}

.core-btn--outline:hover{
    background:#fff0e4;
}

/* REVEAL */
.reveal{
    opacity:0;
    transform:translateY(36px);
    transition:opacity .8s ease, transform .8s ease;
}

.reveal.is-visible{
    opacity:1;
    transform:translateY(0);
}

/* TABLET */
@media (max-width:1100px){
    .core-title{
        font-size:48px;
    }
}

/* MOBILE */
@media (max-width:900px){
    .core-title{
        font-size:38px;
    }

    .core-subtitle{
        font-size:17px;
    }

    .core-grid--2,
    .core-grid--3{
        grid-template-columns:1fr;
    }

    .core-cta__box h2{
        font-size:30px;
    }

    .core-hero{
        min-height:68vh;
    }

    .core-hero__content{
        padding:60px 0;
    }

    .core-btn{
        width:100%;
    }

    .core-cta__actions{
        flex-direction:column;
        align-items:stretch;
    }

    .core-card{
        border-radius:18px;
    }
}

@media (max-width:640px){
    .core-container{
        padding:0 16px;
    }

    .core-section{
        padding:32px 0;
    }

    .core-title{
        font-size:32px;
    }

    .core-card h2{
        font-size:26px;
    }

    .core-card h3{
        font-size:22px;
    }

    .core-cta__box h2{
        font-size:28px;
    }

    .core-cta__box{
        padding:30px 22px;
    }

    .core-icon{
        width:56px;
        height:56px;
        font-size:26px;
        border-radius:16px;
    }
}
/* TABLET */
@media (max-width:1100px){
    .core-title{
        font-size:48px;
    }
}

/* MOBILE */
@media (max-width:900px){
    .core-title{
        font-size:38px;
    }

    .core-subtitle{
        font-size:17px;
    }

    .core-grid--2,
    .core-grid--3{
        grid-template-columns:1fr;
    }

    .core-cta__box h2{
        font-size:30px;
    }

    .core-hero{
        min-height:68vh;
    }

    .core-hero__content{
        padding:60px 0;
    }

    .core-btn{
        width:100%;
    }

    .core-cta__actions{
        flex-direction:column;
        align-items:stretch;
    }

    .core-card{
        border-radius:18px;
    }
}

@media (max-width:640px){
    .core-container{
        padding:0 16px;
    }

    .core-section{
        padding:32px 0;
    }

    .core-title{
        font-size:32px;
    }

    .core-card h2{
        font-size:26px;
    }

    .core-card h3{
        font-size:22px;
    }

    .core-cta__box h2{
        font-size:28px;
    }

    .core-cta__box{
        padding:30px 22px;
    }

    .core-icon{
        width:56px;
        height:56px;
        font-size:26px;
        border-radius:16px;
    }
}