.ab-origin-page,
.ab-origin-page *{
    box-sizing:border-box;
}

.ab-origin-page{
    --ink:#22241f;
    --text:#565950;
    --gold:#a87935;
    --border:#e4e0d6;
    --soft:#f7f4ec;
    color:var(--text);
}

.ab-origin-hero{
    padding:44px 34px;
    margin:8px 0 50px;
    border:1px solid var(--border);
    border-radius:24px;
    background:
        radial-gradient(
            circle at 88% 14%,
            rgba(168,121,53,.15),
            transparent 35%
        ),
        linear-gradient(145deg,#fff,#f8f5ed);
}

.ab-origin-kicker,
.ab-origin-head>span,
.ab-origin-answer>span{
    display:block;
    margin-bottom:9px;
    color:var(--gold);
    font-size:10px;
    font-weight:800;
    letter-spacing:.14em;
    text-transform:uppercase;
}

.ab-origin-hero h2{
    margin:0 0 16px;
    color:var(--ink);
    font-size:clamp(31px,5vw,48px);
    line-height:1.08;
    letter-spacing:-.04em;
}

.ab-origin-lead{
    max-width:820px;
    margin:0;
    font-size:17px;
    line-height:1.75;
}

.ab-origin-chips{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:24px;
}

.ab-origin-chips span{
    padding:7px 11px;
    border:1px solid var(--border);
    border-radius:999px;
    background:#fff;
    font-size:11px;
    font-weight:700;
}

.ab-origin-answer{
    padding:24px;
    margin-bottom:54px;
    border:1px solid var(--border);
    border-radius:20px;
    background:#fff;
}

.ab-origin-answer h2,
.ab-origin-head h2{
    color:var(--ink);
    letter-spacing:-.035em;
}

.ab-origin-answer h2{
    margin:0 0 12px;
    font-size:26px;
    line-height:1.25;
}

.ab-origin-answer p,
.ab-origin-section>p{
    max-width:850px;
    font-size:15px;
    line-height:1.78;
}

.ab-origin-section{
    margin-bottom:58px;
}

.ab-origin-head{
    max-width:840px;
    margin-bottom:22px;
}

.ab-origin-head h2{
    margin:0;
    font-size:clamp(27px,4vw,38px);
    line-height:1.15;
}

.ab-origin-callout{
    max-width:850px;
    padding:20px;
    border-left:4px solid var(--gold);
    border-radius:10px;
    background:var(--soft);
}

.ab-origin-callout strong{
    color:var(--ink);
}

.ab-origin-callout p{
    margin:7px 0 0;
    font-size:14px;
    line-height:1.7;
}

.ab-origin-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    max-width:850px;
}

.ab-origin-card{
    padding:20px;
    border:1px solid var(--border);
    border-radius:17px;
    background:#fff;
}

.ab-origin-card span{
    display:block;
    margin-bottom:7px;
    color:var(--gold);
    font-size:10px;
    font-weight:800;
    letter-spacing:.1em;
}

.ab-origin-card strong{
    display:block;
    color:var(--ink);
    font-size:19px;
}

.ab-origin-card p{
    margin:8px 0 0;
    font-size:13px;
    line-height:1.65;
}

.ab-origin-table-wrap{
    max-width:850px;
    overflow-x:auto;
    border:1px solid var(--border);
    border-radius:18px;
}

.ab-origin-table{
    width:100%;
    border-collapse:collapse;
    margin:0;
}

.ab-origin-table th,
.ab-origin-table td{
    padding:15px 18px;
    border-bottom:1px solid var(--border);
    text-align:left;
    vertical-align:top;
}

.ab-origin-table tr:last-child th,
.ab-origin-table tr:last-child td{
    border-bottom:0;
}

.ab-origin-table th{
    width:32%;
    color:var(--ink);
    background:#faf9f5;
}

.ab-origin-links{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    max-width:850px;
}

.ab-origin-links a{
    display:block;
    padding:14px 16px;
    border:1px solid var(--border);
    border-radius:14px;
    color:#463b2b;
    text-decoration:none;
    font-weight:700;
}

.ab-origin-faq{
    max-width:880px;
}

.ab-origin-faq details{
    border-top:1px solid var(--border);
}

.ab-origin-faq details:last-child{
    border-bottom:1px solid var(--border);
}

.ab-origin-faq summary{
    padding:17px 2px;
    color:var(--ink);
    cursor:pointer;
    font-weight:750;
}

.ab-origin-faq details p{
    margin:0;
    padding:0 2px 18px;
    font-size:14px;
    line-height:1.7;
}

.ab-origin-disclaimer{
    padding:20px;
    border-radius:16px;
    background:#f6f4ee;
    font-size:12px;
    line-height:1.65;
}

@media(max-width:700px){

    .ab-origin-hero{
        padding:30px 20px;
        border-radius:19px;
    }

    .ab-origin-grid,
    .ab-origin-links{
        grid-template-columns:1fr;
    }

    .ab-origin-table th,
    .ab-origin-table td{
        padding:13px 12px;
        font-size:13px;
    }

}
