/**
 * Home hero — align with Campus Gate login brand (green SaaS).
 * Marketing UI only; no backend changes.
 */
:root {
    --hp-cg-ink: #0b1a14;
    --hp-cg-green: #146b45;
    --hp-cg-green-deep: #0d4f32;
    --hp-cg-green-soft: #e8f3ec;
    --hp-cg-mist: #eef3f0;
}

.hp-home-page.hp-campus-align .hp-hero-kicker--pill {
    background: rgba(20, 107, 69, 0.16);
    border: 1px solid rgba(184, 230, 203, 0.35);
    color: #d8f3e4;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    font-size: 0.72rem;
}

.hp-home-page.hp-campus-align .hp-hero-copy h1 {
    letter-spacing: -0.03em;
    max-width: 16ch;
    line-height: 1.12;
}

.hp-home-page.hp-campus-align .hp-hero-desc {
    max-width: 40ch;
    font-size: 1.02rem;
    line-height: 1.55;
    opacity: 0.92;
}

.hp-home-page.hp-campus-align .hp-hero-cta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 0.35rem;
}

.hp-home-page.hp-campus-align .hp-hero-cta.hp-btn-primary {
    background: linear-gradient(180deg, #1f8a59 0%, var(--hp-cg-green-deep) 100%);
    border: 0;
    border-radius: 999px;
    min-height: 3.15rem;
    padding: 0.75rem 1.35rem;
    font-weight: 800;
    box-shadow: 0 12px 28px rgba(13, 79, 50, 0.35);
    transition: transform 0.2s ease, filter 0.2s ease, box-shadow 0.2s ease;
}

.hp-home-page.hp-campus-align .hp-hero-cta.hp-btn-primary:hover {
    transform: translateY(-2px);
    filter: brightness(1.04);
    box-shadow: 0 16px 32px rgba(13, 79, 50, 0.4);
    color: #fff;
}

.hp-home-page.hp-campus-align .hp-hero-cta.hp-btn-outline,
.hp-home-page.hp-campus-align .hp-hero-cta--login {
    border-radius: 999px;
    min-height: 3.15rem;
    padding: 0.75rem 1.25rem;
    border: 1.5px solid rgba(255, 255, 255, 0.55);
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
    font-weight: 800;
    backdrop-filter: blur(8px);
    transition: border-color 0.2s ease, background 0.2s ease, transform 0.2s ease;
}

.hp-home-page.hp-campus-align .hp-hero-cta.hp-btn-outline:hover,
.hp-home-page.hp-campus-align .hp-hero-cta--login:hover {
    border-color: #b8e6cb;
    background: rgba(184, 230, 203, 0.14);
    color: #fff;
    transform: translateY(-1px);
}

.hp-home-page.hp-campus-align .hp-hero-login-hint {
    margin: 0.85rem 0 0;
    font-size: 0.9rem;
    color: rgba(255, 255, 255, 0.78);
}

.hp-home-page.hp-campus-align .hp-hero-login-hint a {
    color: #b8e6cb;
    font-weight: 700;
    text-decoration: none;
}

.hp-home-page.hp-campus-align .hp-hero-login-hint a:hover {
    text-decoration: underline;
}

.hp-home-page.hp-campus-align .hp-hero-trust-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 1.15rem;
}

.hp-home-page.hp-campus-align .hp-hero-trust-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    min-height: 2rem;
    padding: 0.35rem 0.75rem;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    background: rgba(11, 26, 20, 0.35);
    color: rgba(255, 255, 255, 0.9);
    font-size: 0.78rem;
    font-weight: 700;
    backdrop-filter: blur(8px);
}

.hp-home-page.hp-campus-align .hp-hero-trust-chip i {
    color: #b8e6cb;
}

/* Register band — match green SaaS */
.hp-home-page.hp-campus-align .hp-school-register-band {
    background:
        radial-gradient(700px 320px at 10% 0%, rgba(20, 107, 69, 0.08), transparent 60%),
        linear-gradient(180deg, #f7faf8 0%, #eef3f0 100%);
}

.hp-home-page.hp-campus-align .hp-school-register-card {
    border: 1px solid rgba(20, 107, 69, 0.16);
    border-radius: 22px;
    box-shadow: 0 18px 48px rgba(11, 26, 20, 0.08);
}

.hp-home-page.hp-campus-align .hp-school-register-copy .kicker {
    color: var(--hp-cg-green-deep);
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    font-size: 0.72rem;
}

.hp-home-page.hp-campus-align .hp-school-register-copy .hp-heading-pink {
    color: var(--hp-cg-green-deep);
}

.hp-home-page.hp-campus-align .hp-school-register-actions .hp-btn-primary {
    background: linear-gradient(180deg, #1f8a59 0%, var(--hp-cg-green-deep) 100%);
    border: 0;
    border-radius: 999px;
    font-weight: 800;
    box-shadow: 0 10px 24px rgba(13, 79, 50, 0.25);
}

.hp-home-page.hp-campus-align .hp-school-register-actions .hp-btn-outline {
    border-radius: 999px;
    border-color: rgba(20, 107, 69, 0.35);
    color: var(--hp-cg-green-deep);
    font-weight: 700;
}

.hp-home-page.hp-campus-align .hp-school-register-login {
    color: #5b6b62;
    font-weight: 600;
}

.hp-home-page.hp-campus-align .hp-school-register-login strong {
    color: var(--hp-cg-green-deep);
}

.hp-home-page.hp-campus-align .hp-school-register-step-num {
    background: var(--hp-cg-green-soft);
    color: var(--hp-cg-green-deep);
    font-weight: 800;
}

/* ---------- Page-wide clean / classy polish ---------- */

/* Hero already has Create account + Login — hide duplicate band */
.hp-home-page.hp-campus-align #school-register {
    display: none !important;
}

.hp-home-page.hp-campus-align .hp-hero-navy-strip {
    display: none !important;
}

.hp-home-page.hp-campus-align .hp-section-divider {
    opacity: 0.35;
    margin: 0;
}

/* Quiet top ticker — less legal noise */
.hp-home-page.hp-campus-align .hp-ticker,
.hp-home-page.hp-campus-align .hp-site-chrome .hp-ticker {
    background: #0b1a14 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.hp-home-page.hp-campus-align .hp-ticker-marquee,
.hp-home-page.hp-campus-align .hp-ticker-marquee strong {
    color: rgba(255, 255, 255, 0.72) !important;
    font-size: 0.72rem !important;
    font-weight: 600 !important;
}

/* Pink → campus green accents */
.hp-home-page.hp-campus-align .hp-heading-pink,
.hp-home-page.hp-campus-align .hp-modules-accent,
.hp-home-page.hp-campus-align .hp-schools-saas-pink,
.hp-home-page.hp-campus-align .hp-reviews-brand,
.hp-home-page.hp-campus-align .hp-trust-saas-gold {
    color: var(--hp-cg-green-deep) !important;
    background: none !important;
    -webkit-text-fill-color: var(--hp-cg-green-deep);
}

/* Soften decorative clutter */
.hp-home-page.hp-campus-align .hp-problems-bg-decor,
.hp-home-page.hp-campus-align .hp-modules-bg-decor,
.hp-home-page.hp-campus-align .hp-ambient-particles {
    opacity: 0.22;
    pointer-events: none;
}

.hp-home-page.hp-campus-align .hp-mod-orb--red-1,
.hp-home-page.hp-campus-align .hp-mod-orb--red-2,
.hp-home-page.hp-campus-align .hp-mod-orb--red-3,
.hp-home-page.hp-campus-align .hp-prob-accent--pink,
.hp-home-page.hp-campus-align .hp-prob-accent--pink-soft {
    opacity: 0.15 !important;
    filter: grayscale(0.4) hue-rotate(80deg);
}

.hp-home-page.hp-campus-align .hp-modules-kicker,
.hp-home-page.hp-campus-align .section-head .kicker,
.hp-home-page.hp-campus-align .hp-schools-saas-kicker,
.hp-home-page.hp-campus-align .hp-reviews-kicker {
    color: var(--hp-cg-green-deep) !important;
}

.hp-home-page.hp-campus-align .hp-btn-primary:not(.hp-hero-cta) {
    background: linear-gradient(180deg, #1f8a59 0%, var(--hp-cg-green-deep) 100%) !important;
    border-color: transparent !important;
    border-radius: 999px;
}

.hp-home-page.hp-campus-align .hp-modules-cta-btn,
.hp-home-page.hp-campus-align .hp-demo-band .hp-btn-primary {
    background: linear-gradient(180deg, #1f8a59 0%, var(--hp-cg-green-deep) 100%) !important;
    border-radius: 999px !important;
    box-shadow: 0 10px 24px rgba(13, 79, 50, 0.22);
}

.hp-home-page.hp-campus-align .hp-module-card,
.hp-home-page.hp-campus-align .hp-resource-card,
.hp-home-page.hp-campus-align .hp-trust-cert-card {
    border-radius: 16px;
}

.hp-home-page.hp-campus-align .hp-section {
    padding-top: clamp(2.5rem, 5vw, 3.75rem);
    padding-bottom: clamp(2.5rem, 5vw, 3.75rem);
}

@media (max-width: 720px) {
    .hp-home-page.hp-campus-align .hp-hero-copy h1 {
        max-width: none;
    }

    .hp-home-page.hp-campus-align .hp-hero-cta-row {
        flex-direction: column;
        align-items: stretch;
    }

    .hp-home-page.hp-campus-align .hp-hero-cta.hp-btn-primary,
    .hp-home-page.hp-campus-align .hp-hero-cta.hp-btn-outline {
        width: 100%;
        justify-content: center;
        text-align: center;
    }
}

/* ---------- Campus Gate finish — full homepage polish ---------- */

.hp-home-page.hp-campus-align.hp-structure-polish {
    background:
        radial-gradient(1200px 600px at 85% -10%, rgba(20, 107, 69, 0.06), transparent 55%),
        radial-gradient(900px 500px at 10% 110%, rgba(11, 26, 20, 0.04), transparent 50%),
        linear-gradient(165deg, #f4f8f5 0%, var(--hp-cg-mist) 45%, #e7eee9 100%) !important;
}

/* Center section intros (clean marketing rhythm) */
.hp-home-page.hp-campus-align.hp-structure-polish .section-head,
.hp-home-page.hp-campus-align.hp-structure-polish .hp-reviews-head {
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
}

.hp-home-page.hp-campus-align.hp-structure-polish .section-head p,
.hp-home-page.hp-campus-align.hp-structure-polish .hp-reviews-head p {
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Hero — login-style green scrim on video */
.hp-home-page.hp-campus-align .hp-hero-scrim--powerschool,
.hp-home-page.hp-campus-align .hp-story-scrim {
    background:
        linear-gradient(105deg, rgba(7, 20, 15, 0.92) 0%, rgba(11, 26, 20, 0.78) 42%, rgba(15, 36, 25, 0.55) 100%),
        radial-gradient(900px 520px at 12% 8%, rgba(32, 140, 90, 0.28), transparent 58%) !important;
}

.hp-home-page.hp-campus-align .hp-hero-container--edge,
.hp-home-page.hp-campus-align .hp-story-container {
    padding-left: clamp(1.25rem, 4vw, 3rem);
    padding-right: clamp(1.25rem, 4vw, 3rem);
}

/* Modules band — campus green (not navy/red) */
.hp-home-page.hp-campus-align .hp-modules.hp-modules--fedena {
    --hp-fedena-bg-top: #07140f;
    --hp-fedena-bg-mid: #0f2419;
    --hp-fedena-bg-bottom: #0a1c14;
    --hp-fedena-accent: var(--hp-cg-green);
    --hp-fedena-card-title: var(--hp-cg-ink);
    --hp-fedena-card-text: #3d4a44;
    border-radius: 24px;
    margin: 0 clamp(0.75rem, 2vw, 1.5rem);
    overflow: hidden;
    box-shadow: 0 24px 64px rgba(11, 26, 20, 0.18);
}

.hp-home-page.hp-campus-align .hp-modules-intro {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
}

.hp-home-page.hp-campus-align .hp-modules-tagline {
    color: rgba(255, 255, 255, 0.82);
}

/* Hub-style module cards */
.hp-home-page.hp-campus-align .hp-module-card.hp-glass-card {
    position: relative;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.97) !important;
    border: 1px solid rgba(184, 230, 203, 0.35) !important;
    border-radius: 18px !important;
    box-shadow: 0 10px 28px rgba(11, 26, 20, 0.12) !important;
    transition: transform 0.24s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.24s ease, border-color 0.24s ease !important;
}

.hp-home-page.hp-campus-align .hp-module-card.hp-glass-card::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    border-radius: 18px 0 0 18px;
    background: linear-gradient(180deg, #2ea86e, var(--hp-cg-green-deep));
    transition: width 0.24s ease;
}

.hp-home-page.hp-campus-align .hp-module-card.hp-glass-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(120deg, transparent 30%, rgba(255, 255, 255, 0.45) 50%, transparent 70%);
    transform: translateX(-120%);
    transition: transform 0.55s ease;
    pointer-events: none;
}

.hp-home-page.hp-campus-align .hp-module-card.hp-glass-card:hover {
    transform: translateY(-4px) !important;
    border-color: rgba(20, 107, 69, 0.45) !important;
    box-shadow: 0 18px 40px rgba(13, 79, 50, 0.22) !important;
}

.hp-home-page.hp-campus-align .hp-module-card.hp-glass-card:hover::before {
    width: 7px;
}

.hp-home-page.hp-campus-align .hp-module-card.hp-glass-card:hover::after {
    transform: translateX(120%);
}

.hp-home-page.hp-campus-align .hp-module-icon {
    width: 3.25rem;
    height: 3.25rem;
    margin-bottom: 1rem;
    color: var(--hp-cg-green-deep);
}

.hp-home-page.hp-campus-align .hp-module-icon .hp-mod-svg {
    width: 2.5rem;
    height: 2.5rem;
}

.hp-home-page.hp-campus-align .hp-module-link {
    color: var(--hp-cg-green-deep);
    font-weight: 700;
}

.hp-home-page.hp-campus-align .hp-modules-cta-btn {
    background: linear-gradient(180deg, #1f8a59 0%, var(--hp-cg-green-deep) 100%) !important;
    color: #fff !important;
    border: 0 !important;
}

/* Problem cards — subtle lift */
.hp-home-page.hp-campus-align .hp-resource-card {
    border: 1px solid rgba(20, 107, 69, 0.1);
    border-radius: 18px;
    box-shadow: 0 10px 28px rgba(11, 26, 20, 0.06);
    transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

.hp-home-page.hp-campus-align .hp-resource-card:hover {
    transform: translateY(-3px);
    border-color: rgba(20, 107, 69, 0.22);
    box-shadow: 0 16px 36px rgba(13, 79, 50, 0.12);
}

.hp-home-page.hp-campus-align .hp-resource-solve-label,
.hp-home-page.hp-campus-align .hp-resource-solve-label i {
    color: var(--hp-cg-green-deep) !important;
}

/* Trust / stats */
.hp-home-page.hp-campus-align .hp-trust-saas-card,
.hp-home-page.hp-campus-align .hp-schools-saas-card {
    border: 1px solid rgba(20, 107, 69, 0.14);
    border-radius: 22px;
    box-shadow: 0 16px 40px rgba(11, 26, 20, 0.08);
}

.hp-home-page.hp-campus-align .hp-trust-stat strong,
.hp-home-page.hp-campus-align .hp-school-stat-num {
    color: var(--hp-cg-green-deep) !important;
}

/* Demo + partner bands */
.hp-home-page.hp-campus-align .hp-demo-band--cta,
.hp-home-page.hp-campus-align .hp-partner-band--classic {
    background:
        radial-gradient(700px 320px at 10% 0%, rgba(20, 107, 69, 0.08), transparent 60%),
        linear-gradient(180deg, #f7faf8 0%, #eef3f0 100%);
}

.hp-home-page.hp-campus-align .hp-demo-panel,
.hp-home-page.hp-campus-align .hp-partner-form-panel {
    border: 1px solid rgba(20, 107, 69, 0.14);
    border-radius: 22px;
}

/* Reviews */
.hp-home-page.hp-campus-align .hp-review-card {
    border: 1px solid rgba(20, 107, 69, 0.12);
    border-radius: 18px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.hp-home-page.hp-campus-align .hp-review-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(13, 79, 50, 0.1);
}

/* Gallery tiles */
.hp-home-page.hp-campus-align .hp-gallery-tile {
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 8px 22px rgba(11, 26, 20, 0.08);
}

/* States atlas cards */
.hp-home-page.hp-campus-align .hp-states-overview-card--glass {
    border: 1px solid rgba(20, 107, 69, 0.12);
    border-radius: 18px;
}

.hp-home-page.hp-campus-align .hp-states-overview-card--glass:hover {
    border-color: rgba(20, 107, 69, 0.28);
    box-shadow: 0 12px 30px rgba(13, 79, 50, 0.1);
}

/* Footer pre-CTA */
.hp-home-page.hp-campus-align .hp-footer-cta-band {
    background: linear-gradient(135deg, #0b1a14 0%, #0f2419 55%, #146b45 100%) !important;
}

/* Quieter partners marquee on homepage */
.hp-home-page.hp-campus-align .hp-partners-scroll {
    opacity: 0.88;
    filter: grayscale(0.15);
}

@media (max-width: 900px) {
    .hp-home-page.hp-campus-align .hp-modules.hp-modules--fedena {
        margin: 0;
        border-radius: 0;
    }
}
