/* ═══════════════════════════════════════════════
   INTAHUB -BASE STYLES
═══════════════════════════════════════════════ */

/* ── Container ── */
.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    width: 100%;
}

/* ── Sections ── */
.section { padding: 96px 0; }
.section--white  { background: var(--white); }
.section--offwhite { background: var(--off-white); }
.section--navy { background: var(--navy); }
.section--deep { background: var(--navy-deep); }

/* ── Section typography ── */
.s-title {
    font-family: 'Outfit', sans-serif;
    font-size: clamp(1.8rem, 3.5vw, 2.8rem);
    font-weight: 800;
    letter-spacing: -.03em;
    line-height: 1.15;
    color: var(--white);
    margin-bottom: 16px;
}
.s-title--white { color: var(--navy); }
.s-title em { color: var(--red); font-style: normal; }

.s-sub {
    font-size: 1rem;
    color: var(--slate);
    line-height: 1.75;
    max-width: 580px;
}
.s-sub--dark { color: var(--slate-dark); }

/* ── Body & paragraph base typography ── */
body { line-height: 1.7; }
p    { line-height: 1.75; }

/* ── Tag badges ── */
.tag {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 5px 14px;
    border-radius: 100px;
    font-family: 'Inter', sans-serif;
    font-size: .68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .12em;
    background: rgba(200,16,46,.1);
    color: var(--red-bright);
    border: 1px solid rgba(200,16,46,.2);
    margin-bottom: 18px;
}
.tag--navy {
    background: rgba(11,29,58,.07);
    color: var(--navy);
    border-color: rgba(11,29,58,.14);
}

/* ── Scroll fade-up animations ── */
.fade-up {
    opacity: 0;
    transform: translateY(36px);
    transition: opacity .7s ease, transform .7s ease;
}
.fade-up.visible { opacity: 1; transform: translateY(0); }
.d1 { transition-delay: .1s; }
.d2 { transition-delay: .2s; }
.d3 { transition-delay: .3s; }
.d4 { transition-delay: .4s; }

/* ── Font Awesome icon inside containers ── */
.product-card__icon i,
.feature-strip__icon i,
.service-card__icon i,
.contact__detail-icon i,
.services__detail-icon i {
    display: inline-block;
    line-height: 1;
}

/* ── Responsive section padding ── */
@media (max-width: 768px) { .section { padding: 64px 0; } }
@media (max-width: 480px) { .section { padding: 48px 0; } }
