/* =====================================================
   Altholatheya — Brand Typography Standards
   Display / headings : Oswald
   Eyebrows / buttons : Barlow Condensed
   Body / UI          : Barlow
   Base size          : 16px
   ===================================================== */

:root {
    --alt-font-display: "Oswald", "Barlow Condensed", "Arial Narrow", sans-serif;
    --alt-font-condensed: "Barlow Condensed", "Oswald", "Arial Narrow", sans-serif;
    --alt-font-body: "Barlow", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;

    /* Type scale (16px base) */
    --alt-text-xs: 0.75rem;       /* 12px — captions, footer fine print */
    --alt-text-sm: 0.875rem;      /* 14px — secondary body, nav meta */
    --alt-text-base: 1rem;        /* 16px — body */
    --alt-text-md: 1.125rem;      /* 18px — lead paragraphs */
    --alt-text-lg: 1.25rem;       /* 20px — h4 / card titles */
    --alt-text-xl: 1.5rem;        /* 24px — h3 */
    --alt-text-2xl: 1.875rem;     /* 30px — h2 mobile */
    --alt-text-3xl: 2.25rem;      /* 36px — h2 desktop */
    --alt-text-4xl: 3rem;         /* 48px — h1 section */
    --alt-text-5xl: 3.75rem;      /* 60px — hero display */

    --alt-h1: clamp(2rem, 3.5vw + 0.75rem, 3.75rem);
    --alt-h2: clamp(1.75rem, 2.2vw + 0.65rem, 2.75rem);
    --alt-h3: clamp(1.375rem, 1.2vw + 0.55rem, 2rem);
    --alt-h4: var(--alt-text-lg);
    --alt-h5: var(--alt-text-md);
    --alt-h6: var(--alt-text-base);

    --alt-hero-sub: clamp(1.0625rem, 1vw + 0.5rem, 1.375rem);
    --alt-eyebrow: var(--alt-text-xs);
    --alt-nav: 0.9375rem;
    --alt-btn: 0.8125rem;

    --alt-leading-tight: 1.15;
    --alt-leading-snug: 1.35;
    --alt-leading-normal: 1.5;
    --alt-leading-relaxed: 1.65;

    /* Override legacy main.css (Golos Text / Cal Sans) */
    --rs-ff-body: var(--alt-font-body);
    --rs-ff-title: var(--alt-font-display);
    --rs-ff-p: var(--alt-font-body);
}

html {
    font-size: 16px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

/* —— Global base —— */
html,
body,
#__nuxt,
.app-root,
main {
    font-size: var(--alt-text-base);
    line-height: var(--alt-leading-relaxed);
}

html,
body,
#__nuxt,
.app-root,
main,
.rs-banner-desc,
.rs-section-desc,
.section-desc,
.rs-services-desc,
.rs-about-list-desc,
.rs-contact-form-desc,
.rs-contact-list-info,
.rs-list-desc,
.rs-career-desc,
p,
li,
label,
input,
textarea,
select,
button,
.rs-btn {
    font-family: var(--alt-font-body) !important;
    font-style: normal;
    letter-spacing: 0.01em;
}

p,
li,
.ft5-text,
.ft5-links a,
.ft5-contact-lines,
.ft5-action-text {
    font-size: var(--alt-text-sm);
    line-height: var(--alt-leading-relaxed);
}

p.text-lg,
.font-barlow.text-lg,
.lead {
    font-size: var(--alt-text-md) !important;
    line-height: var(--alt-leading-relaxed);
}

small,
.ft5-bottom p,
.ft5-line-label {
    font-size: var(--alt-text-xs);
    line-height: var(--alt-leading-normal);
}

/* —— Heading scale —— */
h1,
.hero-slider__title,
.inner-page-hero__title,
.rs-banner-title {
    font-family: var(--alt-font-display) !important;
    font-size: var(--alt-h1) !important;
    font-weight: 700 !important;
    line-height: var(--alt-leading-tight) !important;
    letter-spacing: 0.04em;
}

h2,
.section-title,
.rs-about-title,
.rs-services-title,
.rs-portfolio-title,
.rs-progress-sec-title,
.rs-career-title,
.rs-contact-title {
    font-family: var(--alt-font-display) !important;
    font-size: var(--alt-h2) !important;
    font-weight: 700 !important;
    line-height: var(--alt-leading-tight) !important;
    letter-spacing: 0.02em;
}

h3 {
    font-family: var(--alt-font-display) !important;
    font-size: var(--alt-h3) !important;
    font-weight: 700 !important;
    line-height: var(--alt-leading-snug) !important;
    letter-spacing: 0.02em;
}

h4,
.ft5-heading,
.rs-contact-form-title {
    font-family: var(--alt-font-display) !important;
    font-size: var(--alt-h4) !important;
    font-weight: 700 !important;
    line-height: var(--alt-leading-snug) !important;
}

h5 {
    font-family: var(--alt-font-display) !important;
    font-size: var(--alt-h5) !important;
    font-weight: 600 !important;
    line-height: var(--alt-leading-snug) !important;
}

h6 {
    font-family: var(--alt-font-display) !important;
    font-size: var(--alt-h6) !important;
    font-weight: 600 !important;
    line-height: var(--alt-leading-normal) !important;
}

.hero-slider__subtitle,
.inner-page-hero__subtitle {
    font-family: var(--alt-font-body) !important;
    font-size: var(--alt-hero-sub) !important;
    font-weight: 500 !important;
    line-height: var(--alt-leading-snug) !important;
}

/* —— Eyebrows / kickers —— */
.section-subtitle,
.rs-contact-list-title,
.rs-list-title,
.rs-feature-info h3,
.rs-counter-title,
main .font-oswald.text-sm.uppercase,
main [class*="tracking-widest"].uppercase {
    font-family: var(--alt-font-condensed) !important;
    font-size: var(--alt-eyebrow) !important;
    font-weight: 600 !important;
    letter-spacing: 0.12em;
    line-height: var(--alt-leading-normal);
}

/* —— Tailwind font utilities —— */
.font-display,
.font-oswald {
    font-family: var(--alt-font-display) !important;
}

.font-body,
.font-barlow {
    font-family: var(--alt-font-body) !important;
}

.font-condensed {
    font-family: var(--alt-font-condensed) !important;
}

/* Normalize oversized utility classes on hero headings */
.hero-slider__title[class*="text-"] {
    font-size: var(--alt-h1) !important;
}

.hero-slider__subtitle[class*="text-"] {
    font-size: var(--alt-hero-sub) !important;
}

/* Section display titles using utility classes instead of h2 */
main h2.font-oswald,
main .font-oswald.text-3xl,
main .font-oswald.text-4xl,
main .font-oswald.text-5xl,
main .font-oswald.md\:text-5xl,
main .font-oswald.md\:text-6xl {
    font-size: var(--alt-h2) !important;
    line-height: var(--alt-leading-tight) !important;
}

main h3.font-oswald,
main .font-oswald.text-xl,
main .font-oswald.text-2xl,
main .font-oswald.md\:text-2xl {
    font-size: var(--alt-h3) !important;
    line-height: var(--alt-leading-snug) !important;
}

main .font-barlow.text-sm,
main .font-barlow.text-xs {
    font-size: var(--alt-text-sm) !important;
}

main .font-oswald.text-6xl,
main .font-oswald.text-5xl:not(h2) {
    font-size: var(--alt-text-5xl) !important;
    line-height: 1 !important;
}

/* —— Navbar —— */
.nav5,
.nav5-drawer-link,
.nav5-drawer-about,
.nav5-drawer-contact {
    font-size: var(--alt-text-base);
}

.nav5-link {
    font-family: var(--alt-font-condensed) !important;
    font-size: var(--alt-nav) !important;
    letter-spacing: 0.04em;
}

.nav5-top-item {
    font-size: var(--alt-text-sm);
}

.nav5-top-right {
    font-size: var(--alt-text-xs);
}

.nav5-drawer-link {
    font-size: var(--alt-text-base);
}

/* —— Footer —— */
.ft5,
.ft5-badge {
    font-size: var(--alt-text-sm);
}

.ft5-cta {
    font-size: var(--alt-btn) !important;
}

/* —— Counters & stats —— */
.rs-counter-number,
.odometer {
    font-family: var(--alt-font-display) !important;
    font-size: var(--alt-text-5xl) !important;
    font-weight: 600 !important;
    line-height: 1 !important;
}

/* —— Buttons —— */
.rs-btn,
.hero-slider__cta,
.ft5-cta,
button[type="submit"],
main a.rounded-full[class*="uppercase"],
main .hero-slider__cta {
    font-family: var(--alt-font-condensed) !important;
    font-size: var(--alt-btn) !important;
    font-weight: 600 !important;
    letter-spacing: 0.08em;
}

.hero-slider__cta,
main a.rounded-full[class*="px-8"] {
    font-size: var(--alt-text-sm) !important;
}

/* —— Italic emphasis —— */
.av5-hero-italic,
.av5-display-italic,
.av5-quote-emph,
.cv5-hero-italic,
.pv5-hero-italic,
.pv5-stat-italic,
.pv5-quote-emph {
    font-family: var(--alt-font-body) !important;
    font-size: inherit;
    font-style: italic;
    font-weight: 500;
}

@media (max-width: 767px) {
    :root {
        --alt-h1: clamp(1.875rem, 6vw + 0.5rem, 2.5rem);
        --alt-h2: clamp(1.5rem, 4vw + 0.5rem, 2rem);
        --alt-h3: clamp(1.25rem, 2vw + 0.5rem, 1.5rem);
        --alt-hero-sub: 1.0625rem;
    }
}

/* =====================================================
   Site-wide paragraph rhythm & copy spacing
   ===================================================== */
main p {
    margin: 0 0 var(--site-copy-gap, 1rem);
    color: #475569;
    line-height: var(--alt-leading-relaxed);
}

main p:last-child {
    margin-bottom: 0;
}

main .site-lead,
main p.site-lead,
main p.text-lg,
main .font-barlow.text-lg,
.av5-section-sub,
.pd-overview-text,
.inner-page-hero__subtitle {
    font-size: var(--alt-text-md) !important;
    line-height: var(--alt-leading-relaxed) !important;
}

.cv5-hero-sub,
.pv5-hero-sub {
    font-size: var(--alt-text-md) !important;
    line-height: var(--alt-leading-relaxed) !important;
    color: rgba(255, 255, 255, 0.82) !important;
}

main article p,
main .rounded-xl p,
main .rounded-2xl p,
.av5-pillar-text,
.av5-tline-text,
.av5-cap-text p,
.cv5-card-body p,
.ft5-text,
.ft5-action-text {
    font-size: var(--alt-text-sm) !important;
    max-width: none;
}

.site-copy {
    max-width: var(--site-copy-max, 40rem);
}

.site-copy--wide {
    max-width: var(--site-copy-max, 40rem);
}

.site-copy--center {
    margin-inline: auto;
    text-align: center;
}

.site-section__head > p,
.site-section__head .font-barlow:not(.uppercase),
.av5-section-head .av5-section-sub,
.pv5-section-head p,
.cv5-section-head p {
    margin-inline: auto;
    max-width: var(--site-copy-max, 40rem);
}

.site-section__head h2,
.site-section__head .font-oswald.text-4xl,
.site-section__head .font-oswald.text-5xl,
.site-section__head .font-oswald.md\:text-5xl,
.site-section__head .font-oswald.md\:text-6xl {
    margin-bottom: var(--site-heading-to-copy, 1rem) !important;
}

.site-section__head .font-oswald.uppercase,
.site-section__head [class*="tracking-widest"].uppercase {
    margin-bottom: 0.625rem !important;
}

.site-section__head p:last-child,
.av5-section-head .av5-section-sub {
    margin-bottom: 0 !important;
}

.av5-section-head,
.pv5-section-head {
    margin-bottom: var(--site-section-head-gap, 2.5rem) !important;
}

.av5-h2,
.pv5-h2,
.cv5-section-title {
    margin-bottom: var(--site-heading-to-copy, 1rem) !important;
}

main blockquote {
    font-size: var(--alt-text-sm);
    line-height: var(--alt-leading-relaxed);
    color: #475569;
}

main h2 + p,
main h3 + p {
    margin-top: 0;
}

/* Intro blocks — Who We Are, vision columns, etc. */
.site-intro__eyebrow {
    display: block;
    margin-bottom: 0.75rem;
    font-family: var(--alt-font-condensed) !important;
    font-size: var(--alt-text-xs) !important;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--brand-primary);
}

.site-intro__title {
    margin: 0 0 1rem;
    font-family: var(--alt-font-display) !important;
    font-size: var(--alt-h2) !important;
    font-weight: 700;
    line-height: var(--alt-leading-snug) !important;
    letter-spacing: 0.02em;
    color: #0f172a;
}

.site-intro__copy {
    max-width: 36rem;
}

.site-intro__copy p {
    margin: 0 0 1rem;
    font-family: var(--alt-font-body) !important;
    font-size: var(--alt-text-base) !important;
    line-height: 1.7 !important;
    color: #475569;
}

.site-intro__copy p:last-child {
    margin-bottom: 0;
}

.site-intro__copy .site-intro__lead {
    font-size: var(--alt-text-md) !important;
    line-height: 1.7 !important;
    padding-left: 1rem;
    border-left: 3px solid var(--brand-primary);
}

.site-intro__cta {
    display: inline-flex;
    margin-top: 1.5rem;
    font-family: var(--alt-font-body) !important;
    font-size: var(--alt-text-base) !important;
    font-weight: 700;
}

@media (max-width: 767px) {
    :root {
        --site-copy-gap: 0.875rem;
        --site-section-head-gap: 2rem;
    }

    .site-intro__title {
        margin-bottom: 1rem;
    }

    .site-intro__copy p {
        font-size: var(--alt-text-sm) !important;
        line-height: 1.65 !important;
        margin-bottom: 1rem;
    }

    .site-intro__copy .site-intro__lead {
        font-size: var(--alt-text-base) !important;
    }
}
