.iq-section-header{

margin-bottom:64px;

}

.text-center{

text-align:center;

}

.text-left{

text-align:left;

}

.iq-section-title{

font-family:var(--font-display);

font-size:clamp(2rem,5vw,3rem);

line-height:1.2;

margin-top:12px;

}

.iq-section-description{

max-width:720px;

margin:16px auto 0;

font-size:18px;

color:#666;

}

.text-left .iq-section-description{

margin-left:0;

}

.on-dark{

color:var(--primary-foreground);

}

.iq-eyebrow{

display:inline-block;

font-weight:600;

letter-spacing:.12em;

text-transform:uppercase;

color:var(--accent);

font-size:.85rem;

}

/* ========================================
   BUTTON SYSTEM
======================================== */

.iq-btn{

display:inline-flex;
align-items:center;
justify-content:center;
gap:.65rem;

font-family:var(--font-body);
font-weight:600;

text-decoration:none;

border:none;

cursor:pointer;

transition:.3s ease;

border-radius:var(--radius);

}

/* Sizes */

.iq-btn-sm{

padding:.6rem 1rem;
font-size:.9rem;

}

.iq-btn-md{

padding:.85rem 1.5rem;
font-size:1rem;

}

.iq-btn-lg{

padding:1rem 2rem;
font-size:1.05rem;

}

/* Primary */

.iq-btn-primary{

background:var(--primary);
color:var(--primary-foreground);

box-shadow:var(--shadow-primary);

}

.iq-btn-primary:hover{

transform:translateY(-2px);

box-shadow:var(--shadow-primary-lg);

}

/* Gold */

.iq-btn-gold{

background:var(--accent);
color:var(--accent-foreground);

box-shadow:var(--shadow-gold);

}

.iq-btn-gold:hover{

transform:translateY(-2px);

filter:brightness(1.05);

}

/* Outline */

.iq-btn-outline{

background:transparent;

border:2px solid var(--primary);

color:var(--primary);

}

.iq-btn-outline:hover{

background:var(--primary);

color:var(--primary-foreground);

}

/* Ghost */

.iq-btn-ghost{

background:transparent;

color:var(--primary);

}

.iq-btn-ghost:hover{

background:rgba(0,0,0,.05);

}

.iq-btn-icon{

display:flex;
align-items:center;

}


/* ========================================
   SITE BRANDING
======================================== */

.site-branding__link{
    display:flex;
    align-items:center;
    gap:.75rem;
    text-decoration:none;
    color:inherit;
}

.site-branding__mark{
    width:42px;
    height:42px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:var(--primary);
    color:var(--primary-foreground);
    font-weight:700;
    font-size:1.1rem;
    box-shadow:var(--shadow-primary);
}

.site-branding__name{
    font-family:var(--font-display);
    font-size:1.4rem;
    font-weight:700;
}

/* ========================================
   BREADCRUMB
======================================== */

.iq-breadcrumb {
    width: 100%;
    margin-bottom: 16px;
}

.iq-breadcrumb__list {
    display: flex;
    align-items: center;
    flex-wrap: wrap;

    gap: 6px;

    margin: 0;
    padding: 0;

    list-style: none;
}

.iq-breadcrumb__item {
    display: inline-flex;
    align-items: center;
    gap: 6px;

    margin: 0;

    color: var(--muted-foreground);

    font-size: 0.875rem;
    line-height: 1.5;
}

.iq-breadcrumb__link {
    color: var(--muted-foreground);
    text-decoration: none;

    transition: color 0.2s ease;
}

.iq-breadcrumb__link:hover {
    color: var(--primary);
}

.iq-breadcrumb__current {
    color: var(--foreground);
}

.iq-breadcrumb__separator {
    color: var(--border);
    user-select: none;
}

@media (max-width: 480px) {

    .iq-breadcrumb {
        margin-bottom: 12px;
    }

    .iq-breadcrumb__item {
        font-size: 0.8rem;
    }

}