/* =========================================================
AGDC STUDENT PORTAL
Premium Theme-Aligned Styles
========================================================= */

:root {
    --agdc-black: #050505;
    --agdc-white: #ffffff;
    --agdc-off-white: #f7f6f3;
    --agdc-text: #111111;
    --agdc-muted: #707070;
    --agdc-border: #dedbd6;

    --agdc-orange: #db5821;
    --agdc-orange-dark: #b94314;
    --agdc-orange-light: #fff3ed;

    --agdc-radius: 12px;
    --agdc-radius-small: 8px;

    --agdc-container: 1380px;
    --agdc-content: 1180px;

    --agdc-transition: .3s ease;
}


/* =========================================================
   CURRENT STUDENT PORTAL
   Matches page-student-portal.php
   ========================================================= */

/* ---------------------------------------------------------
   PORTAL INTRO
   --------------------------------------------------------- */

.agdc-portal-intro {
    position: relative;
    padding: 90px 0 75px;
    background: var(--agdc-off-white);
    overflow: hidden;
}

.agdc-portal-intro::before {
    content: "";
    position: absolute;
    top: -180px;
    right: -180px;
    width: 420px;
    height: 420px;
    border: 1px solid rgba(219, 88, 33, 0.12);
    border-radius: 50%;
    pointer-events: none;
}

.agdc-portal-intro .agdc-container {
    position: relative;
    z-index: 2;
}

.agdc-portal-eyebrow {
    display: inline-block;
    margin-bottom: 20px;
    color: var(--agdc-orange);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: .22em;
    text-transform: uppercase;
}

.agdc-portal-title {
    max-width: 1000px;
    margin: 0;
    color: var(--agdc-black);
    font-size: clamp(52px, 7vw, 105px);
    font-weight: 700;
    line-height: .9;
    letter-spacing: -.055em;
}

.agdc-portal-title span {
    color: var(--agdc-orange);
}

.agdc-portal-intro-text {
    max-width: 680px;
    margin: 30px 0 0;
    color: var(--agdc-muted);
    font-size: 16px;
    line-height: 1.8;
}


/* ---------------------------------------------------------
   PROGRAM SECTION
   --------------------------------------------------------- */

.agdc-portal-programs {
    padding: 80px 0 110px;
    background: #ffffff;
}

.agdc-program-heading {
    max-width: 760px;
    margin-bottom: 55px;
}

.agdc-program-eyebrow {
    display: inline-block;
    margin-bottom: 15px;
    color: var(--agdc-orange);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .2em;
    text-transform: uppercase;
}

.agdc-program-heading h2 {
    margin: 0;
    color: var(--agdc-black);
    font-size: clamp(42px, 5vw, 72px);
    font-weight: 700;
    line-height: .95;
    letter-spacing: -.045em;
}

.agdc-program-heading h2 span {
    color: var(--agdc-orange);
}

.agdc-program-heading p {
    max-width: 600px;
    margin: 22px 0 0;
    color: var(--agdc-muted);
    font-size: 15px;
    line-height: 1.8;
}


/* ---------------------------------------------------------
   PROGRAM GRID
   --------------------------------------------------------- */

.agdc-program-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.agdc-program-card {
    position: relative;
    min-height: 390px;
    padding: 38px;
    background: #ffffff;
    border: 1px solid var(--agdc-border);
    border-radius: var(--agdc-radius);
    overflow: hidden;

    transition:
        transform .35s ease,
        box-shadow .35s ease,
        border-color .35s ease;
}

.agdc-program-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 55px;
    height: 3px;
    background: var(--agdc-orange);
}

.agdc-program-card:hover {
    transform: translateY(-6px);
    border-color: rgba(219, 88, 33, .4);

    box-shadow:
        0 25px 60px rgba(0, 0, 0, .09);
}


/* ---------------------------------------------------------
   PROGRAM ICON
   --------------------------------------------------------- */

.agdc-program-icon {
    width: 72px;
    height: 72px;
    margin-bottom: 30px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;
    background: var(--agdc-orange-light);

    color: var(--agdc-orange);
}

.agdc-program-icon svg {
    width: 48px;
    height: 48px;

    display: block;

    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.agdc-program-number {
    margin-bottom: 15px;

    color: var(--agdc-orange);

    font-size: 11px;
    font-weight: 700;
    letter-spacing: .15em;
}

.agdc-program-card h3 {
    margin: 0 0 15px;

    color: var(--agdc-black);

    font-size: 24px;
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -.025em;
}

.agdc-program-card p {
    max-width: 420px;

    margin: 0;

    color: var(--agdc-muted);

    font-size: 14px;
    line-height: 1.8;
}

.agdc-program-line {
    display: block;

    width: 45px;
    height: 1px;

    margin-top: 30px;

    background: var(--agdc-orange);

    transition: width .35s ease;
}

.agdc-program-card:hover .agdc-program-line {
    width: 80px;
}


/* ---------------------------------------------------------
   STUDENT ACCOUNT
   --------------------------------------------------------- */

.agdc-portal-account {
    padding: 90px 0 35px;
    background: var(--agdc-off-white);
}

.agdc-account-card {
    position: relative;

    padding: 55px 60px;

    background: #ffffff;

    border: 1px solid var(--agdc-border);
    border-radius: var(--agdc-radius);

    box-shadow:
        0 25px 70px rgba(0, 0, 0, .06);

    overflow: hidden;
}

.agdc-account-card::before {
    content: "";

    position: absolute;

    top: 0;
    left: 0;

    width: 100%;
    height: 3px;

    background:
        linear-gradient(
            90deg,
            var(--agdc-orange),
            transparent
        );
}

.agdc-account-content {
    text-align: center;
}

.agdc-account-eyebrow {
    display: inline-block;

    margin-bottom: 14px;

    color: var(--agdc-orange);

    font-size: 10px;
    font-weight: 700;

    letter-spacing: .2em;
    text-transform: uppercase;
}

.agdc-account-content h2 {
    margin: 0;

    color: var(--agdc-black);

    font-size: clamp(34px, 4vw, 52px);
    font-weight: 700;

    line-height: 1;
    letter-spacing: -.04em;
}

.agdc-account-content p {
    max-width: 650px;

    margin: 18px auto 0;

    color: var(--agdc-muted);

    font-size: 15px;
    line-height: 1.7;
}


/* ---------------------------------------------------------
   ACCOUNT BUTTONS
   --------------------------------------------------------- */

.agdc-account-actions {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 20px;

    margin-top: 38px;
}

.agdc-account-button {
    min-height: 58px;

    display: flex;
    align-items: center;
    justify-content: center;

    gap: 18px;

    padding: 15px 25px;

    border-radius: 8px;

    font-size: 11px;
    font-weight: 700;

    letter-spacing: .14em;
    text-transform: uppercase;

    text-decoration: none;

    transition:
        transform .3s ease,
        box-shadow .3s ease,
        background .3s ease,
        color .3s ease;
}

.agdc-account-button svg {
    width: 18px;
    height: 18px;

    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;

    transition: transform .3s ease;
}

.agdc-account-button:hover svg {
    transform: translateX(5px);
}

.agdc-account-button:hover {
    transform: translateY(-3px);
}

.agdc-account-button-primary {
    background: var(--agdc-orange);
    color: #ffffff;

    box-shadow:
        0 12px 30px rgba(219, 88, 33, .20);
}

.agdc-account-button-primary:hover {
    background: var(--agdc-orange-dark);
    color:#000;

    box-shadow:
        0 18px 38px rgba(219, 88, 33, .25);
}

.agdc-account-button-outline {
    background: #ffffff;

    color: var(--agdc-black);

    border: 1px solid var(--agdc-black);
}

.agdc-account-button-outline:hover {
    background: var(--agdc-black);
    color: #ffffff;
}


/* ---------------------------------------------------------
   ACCOUNT LINKS
   --------------------------------------------------------- */

.agdc-account-links {
    margin-top: 32px;

    display: flex;
    justify-content: center;
    align-items: center;

    gap: 16px;

    flex-wrap: wrap;

    text-align: center;
}

.agdc-account-links a {
    color: var(--agdc-muted);

    font-size: 11px;
    font-weight: 500;

    text-decoration: none;

    transition: color .3s ease;
}

.agdc-account-links a:hover {
    color: var(--agdc-orange);
}

.agdc-account-links span {
    width: 1px;
    height: 13px;

    background: var(--agdc-border);
}

/* =========================================================
GLOBAL
========================================================= */

.agdc-student-portal,
.agdc-auth-page,
.agdc-profile-page {
width: 100%;
background: var(--agdc-off-white);
color: var(--agdc-text);
}

.agdc-student-portal *,
.agdc-auth-page *,
.agdc-profile-page * {
box-sizing: border-box;
}

.agdc-student-portal img,
.agdc-auth-page img,
.agdc-profile-page img {
max-width: 100%;
height: auto;
}

/* =========================================================
COMMON CONTAINERS
========================================================= */

.agdc-container {
width: min(
calc(100% - 80px),
var(--agdc-container)
);

margin-left: auto;
margin-right: auto;

}

.agdc-auth-container,
.agdc-registration-container {
width: min(
calc(100% - 80px),
var(--agdc-content)
);

margin-left: auto;
margin-right: auto;

}

/* =========================================================
PREMIUM ENTRY ANIMATION
========================================================= */

@keyframes agdcFadeUp {
from {
opacity: 0;
transform: translateY(28px);
}

to {
    opacity: 1;
    transform: translateY(0);
}

}

@keyframes agdcFadeIn {
from {
opacity: 0;
}

to {
    opacity: 1;
}

}

@keyframes agdcScaleIn {
from {
opacity: 0;
transform: scale(.97);
}

to {
    opacity: 1;
    transform: scale(1);
}

}

/* =========================================================
PORTAL HERO
========================================================= */

.agdc-portal-hero {
position: relative;

min-height: 68vh;

display: flex;
align-items: flex-end;

padding: 130px 0 100px;

background: var(--agdc-black);
color: var(--agdc-white);

overflow: hidden;

animation: agdcFadeIn .7s ease both;

}

.agdc-portal-hero::before {
content: "";

position: absolute;

right: -120px;
bottom: -180px;

width: 430px;
height: 430px;

border: 1px solid rgba(219, 88, 33, .25);

border-radius: 50%;

pointer-events: none;

}

.agdc-portal-hero::after {
content: "";

position: absolute;

right: 60px;
bottom: 70px;

width: 120px;
height: 120px;

border: 1px solid rgba(219, 88, 33, .35);

border-radius: 50%;

pointer-events: none;

}

.agdc-portal-hero-content {
position: relative;
z-index: 2;

width: min(100%, var(--agdc-content));

margin: 0 auto;

animation: agdcFadeUp .8s .1s ease both;

}

.agdc-portal-eyebrow,
.agdc-auth-label {
display: inline-block;

margin-bottom: 22px;

color: var(--agdc-orange);

font-size: 11px;
font-weight: 700;

line-height: 1.2;

letter-spacing: .22em;

text-transform: uppercase;

}

.agdc-portal-hero h1 {
max-width: 1050px;

margin: 0;

color: #fff;

font-size: clamp(52px, 8vw, 118px);

font-weight: 700;

line-height: .88;

letter-spacing: -.055em;

}

.agdc-portal-hero h1 span {
color: var(--agdc-orange);
}

.agdc-portal-hero p {
max-width: 600px;

margin: 34px 0 0;

color: rgba(255,255,255,.67);

font-size: 16px;

line-height: 1.8;

}

/* =========================================================
PORTAL OPTIONS
========================================================= */

.agdc-portal-options {
padding: 110px 0;

background: var(--agdc-off-white);

}

.agdc-portal-options .agdc-container {
display: grid;

grid-template-columns:
    repeat(2, minmax(0, 1fr));

gap: 24px;

}

/* =========================================================
PORTAL CARDS
========================================================= */

.agdc-portal-card {
position: relative;

min-height: 450px;

padding: 55px;

display: flex;

flex-direction: column;

justify-content: space-between;

background: #fff;

border: 1px solid var(--agdc-border);

border-radius: var(--agdc-radius);

overflow: hidden;

opacity: 0;

animation: agdcFadeUp .7s ease forwards;

transition:
    transform .4s ease,
    box-shadow .4s ease,
    border-color .4s ease;

}

.agdc-portal-card(2) {
animation-delay: .12s;
}

.agdc-portal-card {
transform: translateY(-8px);

border-color: rgba(219,88,33,.35);

box-shadow:
    0 30px 70px rgba(0,0,0,.10);

}

.agdc-portal-card::before {
content: "";

position: absolute;

top: 0;
left: 0;

width: 70px;
height: 3px;

background: var(--agdc-orange);

}

.agdc-portal-card-dark {
background: var(--agdc-black);

color: #fff;

border-color: var(--agdc-black);

}

.agdc-portal-card-dark {
border-color: var(--agdc-orange);
}

.agdc-portal-card h2 {
margin: 14px 0 20px;

color: inherit;

font-size: clamp(40px, 5vw, 70px);

font-weight: 700;

line-height: .9;

letter-spacing: -.045em;

}

.agdc-portal-card p {
max-width: 440px;

margin: 0;

color: var(--agdc-muted);

font-size: 15px;

line-height: 1.8;

}

.agdc-portal-card-dark p {
color: rgba(255,255,255,.62);
}

/* =========================================================
PORTAL BUTTONS
========================================================= */

.agdc-portal-button {
width: fit-content;

min-width: 215px;

min-height: 54px;

padding: 15px 20px;

display: flex;

align-items: center;

justify-content: space-between;

gap: 30px;

border-radius: var(--agdc-radius-small);

text-decoration: none;

font-size: 11px;

font-weight: 700;

letter-spacing: .14em;

text-transform: uppercase;

transition:
    background .3s ease,
    color .3s ease,
    border-color .3s ease,
    transform .3s ease,
    box-shadow .3s ease;

}

.agdc-portal-button span {
font-size: 18px;

transition: transform .3s ease;

}

.agdc-portal-button span {
transform: translateX(6px);
}

.agdc-portal-button-gold {
background: var(--agdc-orange);

color: #fff;

border: 1px solid var(--agdc-orange);

box-shadow:
    0 8px 25px rgba(219,88,33,.18);

}

.agdc-portal-button-gold {
background: var(--agdc-orange-dark);

color: #fff;

border-color: var(--agdc-orange-dark);

transform: translateY(-2px);

box-shadow:
    0 12px 30px rgba(219,88,33,.25);

}

.agdc-portal-button-outline {
background: transparent;

color: #fff;

border: 1px solid rgba(255,255,255,.4);

}

.agdc-portal-button-outline {
background: #fff;

color: var(--agdc-black);

border-color: #fff;

transform: translateY(-2px);

}

/* =========================================================
PORTAL LINKS
========================================================= */

.agdc-portal-links {
padding: 25px 0 70px;

background: var(--agdc-off-white);

}

.agdc-portal-links-inner {
display: flex;

justify-content: center;

align-items: center;

gap: 18px;

flex-wrap: wrap;

}

.agdc-portal-links a {
color: var(--agdc-muted);

font-size: 12px;

text-decoration: none;

transition: color .3s ease;

}

.agdc-portal-links a {
color: var(--agdc-orange);
}

.agdc-portal-links-inner span {
width: 1px;
height: 14px;

background: var(--agdc-orange);

}

/* =========================================================
AUTH HERO
========================================================= */

.agdc-auth-hero {
padding: 110px 0 85px;

background: var(--agdc-black);

color: #fff;

animation: agdcFadeIn .7s ease both;

}

.agdc-auth-hero .agdc-container {
max-width: var(--agdc-content);
}

.agdc-auth-hero h1 {
max-width: 1000px;

margin: 0;

color: #fff;

font-size: clamp(52px, 8vw, 108px);

font-weight: 700;

line-height: .88;

letter-spacing: -.055em;

animation: agdcFadeUp .8s .1s ease both;

}

.agdc-auth-hero h1 span {
color: var(--agdc-orange);
}

.agdc-auth-hero p {
max-width: 560px;

margin: 30px 0 0;

color: rgba(255,255,255,.65);

font-size: 15px;

line-height: 1.8;

}

/* =========================================================
AUTH CONTENT
========================================================= */

.agdc-auth-content {
padding: 100px 20px;

background: var(--agdc-off-white);

}

.agdc-auth-container {
width: min(100%, 760px);
}

/* =========================================================
PREMIUM FORM CARD
========================================================= */

.agdc-auth-card,
.agdc-registration-form-wrapper {
background: #fff;

border: 1px solid var(--agdc-border);

border-radius: var(--agdc-radius);

box-shadow:
    0 25px 70px rgba(0,0,0,.07);

animation: agdcScaleIn .6s .15s ease both;

}

/* Login card */

.agdc-auth-card {
padding: 60px;
}

.agdc-auth-card-header {
margin-bottom: 40px;
}

.agdc-auth-card-header h2 {
margin: 0 0 15px;

color: var(--agdc-black);

font-size: clamp(32px, 4vw, 50px);

font-weight: 700;

line-height: 1;

letter-spacing: -.04em;

}

.agdc-auth-card-header p {
margin: 0;

color: var(--agdc-muted);

font-size: 14px;

line-height: 1.8;

}

/* =========================================================
REMOVE OLD PLUGIN CARD STYLING
========================================================= */

.agdc-auth-form .agdc-login,
.agdc-auth-form #agdc-login-form {
max-width: none;

margin: 0;

padding: 0;

background: transparent;

border: 0;

border-radius: 0;

box-shadow: none;

}

.agdc-auth-form #agdc-login-form h3 {
display: none;
}

/* =========================================================
FORM LABELS
========================================================= */

.agdc-auth-form #agdc-login-form .form-label,
.agdc-registration-form-wrapper .form-label,
.agdc-profile-page label {
display: block;

margin: 0 0 9px;

color: var(--agdc-black);

font-size: 10px;

font-weight: 700;

line-height: 1.4;

letter-spacing: .13em;

text-transform: uppercase;

}

/* =========================================================
ALL INPUTS
========================================================= */

.agdc-auth-form #agdc-login-form .form-control,
.agdc-registration-form-wrapper .form-control,
.agdc-registration-form-wrapper .form-select,
.agdc-profile-page input,
.agdc-profile-page select,
.agdc-profile-page textarea {
width: 100%;

min-height: 56px;

padding: 13px 17px;

background: #fff;

color: var(--agdc-black);

border: 1px solid #d8d5d0;

border-radius: var(--agdc-radius-small);

outline: none;

box-shadow: none;

font-family: inherit;

font-size: 14px;

transition:
    border-color .3s ease,
    box-shadow .3s ease,
    transform .3s ease;

}

.agdc-registration-form-wrapper textarea.form-control,
.agdc-profile-page textarea {
min-height: 120px;

resize: vertical;

}

.agdc-auth-form #agdc-login-form .form-control,
.agdc-registration-form-wrapper .form-control,
.agdc-registration-form-wrapper .form-select,
.agdc-profile-page input,
.agdc-profile-page select,
.agdc-profile-page textarea {
border-color: #bcb8b1;
}

.agdc-auth-form #agdc-login-form .form-control,
.agdc-registration-form-wrapper .form-control,
.agdc-registration-form-wrapper .form-select,
.agdc-profile-page input,
.agdc-profile-page select,
.agdc-profile-page textarea {
border-color: var(--agdc-orange);

box-shadow:
    0 0 0 3px rgba(219,88,33,.10);

}

/* =========================================================
LOGIN BUTTON
========================================================= */

.agdc-auth-form #agdc-login-form .btn-primary {
width: 100%;

min-height: 58px;

margin-top: 10px;

border: 1px solid var(--agdc-orange);

border-radius: var(--agdc-radius-small);

background: var(--agdc-orange);

color: #fff;

font-size: 10px;

font-weight: 700;

letter-spacing: .15em;

text-transform: uppercase;

box-shadow:
    0 8px 25px rgba(219,88,33,.16);

transition: all .3s ease;

}

.agdc-auth-form #agdc-login-form .btn-primary {
background: var(--agdc-orange-dark);

border-color: var(--agdc-orange-dark);

transform: translateY(-2px);

box-shadow:
    0 12px 30px rgba(219,88,33,.23);

}

/* =========================================================
FORGOT PASSWORD
========================================================= */

.agdc-auth-form #agdc-login-form .btn-link {
padding: 0;

border: 0;

background: transparent;

color: var(--agdc-muted);

font-size: 12px;

text-decoration: none;

}

.agdc-auth-form #agdc-login-form .btn-link {
color: var(--agdc-orange);
}

/* =========================================================
LOGIN MESSAGE
========================================================= */

#agdc-login-result {
min-height: 0;

margin-top: 18px;

}

#agdc-login-result .alert {
margin: 0;

padding: 15px 18px;

border-radius: var(--agdc-radius-small);

font-size: 13px;

}

/* =========================================================
AUTH FOOTER
========================================================= */

.agdc-auth-footer {
margin-top: 35px;

padding-top: 25px;

border-top: 1px solid #e7e4df;

text-align: center;

}

.agdc-auth-footer p {
margin: 0;

color: var(--agdc-muted);

font-size: 12px;

}

.agdc-auth-footer a {
color: var(--agdc-black);

font-weight: 700;

text-decoration: none;

transition: color .3s ease;

}

.agdc-auth-footer a {
color: var(--agdc-orange);
}

/* =========================================================
REGISTRATION
========================================================= */

.agdc-registration-container {
width: min(
calc(100% - 80px),
var(--agdc-content)
);

margin: 0 auto;

}

.agdc-registration-intro {
max-width: 780px;

margin: 0 auto 60px;

text-align: center;

animation: agdcFadeUp .7s ease both;

}

.agdc-registration-intro h2 {
margin: 0 0 22px;

color: var(--agdc-black);

font-size: clamp(46px, 7vw, 82px);

font-weight: 700;

line-height: .9;

letter-spacing: -.025em;

}

.agdc-registration-intro p {
max-width: 620px;

margin: 0 auto;

color: var(--agdc-muted);

font-size: 14px;

line-height: 1.8;

}

/* =========================================================
REGISTRATION FORM
========================================================= */

.agdc-registration-form-wrapper {
padding: 60px;

animation: agdcScaleIn .7s .1s ease both;

}

/* Remove old plugin card */

.agdc-registration-form-wrapper .agdc-register {
max-width: none;

margin: 0;

padding: 0;

background: transparent;

border: 0;

border-radius: 0;

box-shadow: none;

}

.agdc-registration-form-wrapper .agdc-register h3 {
display: none;
}

/* =========================================================
REGISTRATION SECTION HEADINGS
========================================================= */

.agdc-registration-form-wrapper .agdc-register h4 {
position: relative;

margin: 42px 0 22px;

padding-left: 17px;

color: var(--agdc-black);

font-size: 21px;

font-weight: 700;

line-height: 1.3;

letter-spacing: -.025em;

}

.agdc-registration-form-wrapper .agdc-register h4::before {
content: "";

position: absolute;

left: 0;
top: 3px;

width: 3px;
height: 24px;

background: var(--agdc-orange);

border-radius: 3px;

}

.agdc-registration-form-wrapper .agdc-register hr {
margin: 42px 0;

border: 0;

border-top: 1px solid var(--agdc-border);

}

/* =========================================================
REGISTRATION FIELDS
========================================================= */

.agdc-registration-form-wrapper .form-group,
.agdc-registration-form-wrapper .agdc-field {
margin-bottom: 22px;
}

/* =========================================================
FORM GRID
========================================================= */

.agdc-registration-form-wrapper .agdc-form-grid {
display: grid;

gap: 20px;

}

.agdc-registration-form-wrapper .agdc-two-col {
grid-template-columns:
repeat(2, minmax(0, 1fr));
}

.agdc-registration-form-wrapper .agdc-three-col {
grid-template-columns:
repeat(3, minmax(0, 1fr));
}

/* =========================================================
FAMILY MEMBER CARDS
========================================================= */

.agdc-registration-form-wrapper .agdc-child-row,
.agdc-registration-form-wrapper .agdc-family-card {
margin-top: 25px;

padding: 28px;

background: #fbfaf8;

border: 1px solid var(--agdc-border);

border-radius: var(--agdc-radius);

box-shadow: none;

animation: agdcFadeUp .5s ease both;

}

.agdc-registration-form-wrapper .agdc-child-row,
.agdc-registration-form-wrapper .agdc-family-card {
border-color: rgba(219,88,33,.35);

box-shadow:
    0 15px 40px rgba(0,0,0,.05);

}

/* =========================================================

CHECKBOX FIX

========================================================= */

/*

Bootstrap normally uses a negative left margin on

.form-check-input. This is what causes the checkbox

to appear outside the bordered box.



We completely override that behavior.
*/

.agdc-registration-form-wrapper .form-check {
position: relative;

display: flex;

align-items: center;

width: 100%;

min-height: 66px;

margin: 0 0 14px;

padding: 15px 20px 15px 58px !important;

background: #fff;

border: 1px solid var(--agdc-border);

border-radius: var(--agdc-radius-small);

overflow: hidden;

transition:
    border-color .3s ease,
    background .3s ease,
    box-shadow .3s ease,
    transform .3s ease;

}

/*

Checkbox itself.
*/

.agdc-registration-form-wrapper .form-check .form-check-input {
position: absolute !important;

left: 20px !important;

top: 50% !important;

width: 20px !important;

height: 20px !important;

margin: 0 !important;

padding: 0 !important;

transform: translateY(-50%) !important;

appearance: none !important;

-webkit-appearance: none !important;

background: #fff !important;

border: 1px solid #bdb9b2 !important;

border-radius: 5px !important;

cursor: pointer;

flex: 0 0 auto;

}

/*

Checkbox hover.
*/

.agdc-registration-form-wrapper .form-check .form-check-input {
border-color: var(--agdc-orange) !important;
}


/*
 * Checked checkbox.
 */

.agdc-registration-form-wrapper
.form-check
.form-check-input:checked {
    background-color: var(--agdc-orange) !important;

    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.5' d='m3 8 3 3 7-7'/%3E%3C/svg%3E") !important;

    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 13px 13px !important;

    border-color: var(--agdc-orange) !important;
}

/*

Checkbox label.
*/

.agdc-registration-form-wrapper .form-check label,
.agdc-registration-form-wrapper .form-check .form-check-label {
display: block;

width: 100%;

margin: 0 !important;

padding: 0 !important;

color: #333;

font-size: 13px;

font-weight: 500;

line-height: 1.55;

cursor: pointer;

}

/*

Highlight entire checkbox box when checked.
*/

.agdc-registration-form-wrapper .form-check(.form-check-input) {
background: var(--agdc-orange-light);

border-color: rgba(219,88,33,.45);

box-shadow:
    0 8px 25px rgba(219,88,33,.08);

}

/*

Focus accessibility.
*/

.agdc-registration-form-wrapper .form-check .form-check-input {
outline: 3px solid rgba(219,88,33,.18);

outline-offset: 2px;

}

/* =========================================================
DOCUMENT / POLICY CHECKBOXES
========================================================= */

.agdc-registration-form-wrapper .agdc-doc-check {
position: absolute !important;

left: 20px !important;

top: 50% !important;

margin: 0 !important;

transform: translateY(-50%) !important;

}

.agdc-registration-form-wrapper .agdc-doc-check + label {
color: #555;
}

.agdc-registration-form-wrapper .agdc-doc-link {
color: var(--agdc-orange) !important;

font-weight: 700;

text-decoration: underline;

text-decoration-thickness: 1px;

text-underline-offset: 3px;

}

.agdc-registration-form-wrapper .agdc-doc-link {
color: var(--agdc-orange-dark) !important;
}

/* =========================================================
FAMILY MEMBER CHOICE
========================================================= */

.agdc-registration-form-wrapper .premium-checkbox-wrapper {
position: relative;

display: flex;

align-items: center;

min-height: 66px;

margin: 20px 0;

padding: 15px 20px 15px 58px;

background: #fff;

border: 1px solid var(--agdc-border);

border-radius: var(--agdc-radius-small);

}

/* =========================================================
ADD FAMILY MEMBER BUTTON
========================================================= */

.agdc-registration-form-wrapper #agdc-add-child,
.agdc-registration-form-wrapper #add-family-member-btn {
min-height: 50px;

padding: 12px 20px;

border: 1px solid var(--agdc-black);

border-radius: var(--agdc-radius-small);

background: transparent;

color: var(--agdc-black);

font-size: 10px;

font-weight: 700;

letter-spacing: .1em;

text-transform: uppercase;

transition: all .3s ease;

}

.agdc-registration-form-wrapper #agdc-add-child,
.agdc-registration-form-wrapper #add-family-member-btn {
background: var(--agdc-black);

color: #fff;

transform: translateY(-2px);

}

/* =========================================================
CREATE ACCOUNT BUTTON
========================================================= */

.agdc-registration-form-wrapper #agdc-submit-btn,
.agdc-registration-form-wrapper .btn-premium-submit {
width: 100%;

min-height: 62px;

margin-top: 28px;

padding: 15px 25px;

border: 1px solid var(--agdc-orange);

border-radius: var(--agdc-radius-small);

background: var(--agdc-orange);

color: #fff;

font-size: 10px;

font-weight: 700;

letter-spacing: .17em;

text-transform: uppercase;

box-shadow:
    0 10px 30px rgba(219,88,33,.18);

transition:
    background .3s ease,
    border-color .3s ease,
    transform .3s ease,
    box-shadow .3s ease;

}

.agdc-registration-form-wrapper #agdc-submit-btn(),
.agdc-registration-form-wrapper .btn-premium-submit {
background: var(--agdc-orange-dark);

border-color: var(--agdc-orange-dark);

transform: translateY(-2px);

box-shadow:
    0 15px 35px rgba(219,88,33,.25);

}

.agdc-registration-form-wrapper #agdc-submit-btn {
opacity: .95;

cursor: not-allowed;

transform: none;

}

/* =========================================================
LOADING BUTTON
========================================================= */

.agdc-registration-form-wrapper #agdc-submit-btn.btn-loading {
cursor: wait;

opacity: .75;

}

/* =========================================================
REGISTRATION ALERTS
========================================================= */

.agdc-registration-form-wrapper #agdc-register-result .alert,
.agdc-registration-form-wrapper #alert-box .alert {
margin-top: 22px;

padding: 16px 18px;

border-radius: var(--agdc-radius-small);

font-size: 13px;

}

.agdc-registration-form-wrapper .alert-danger {
border-color: rgba(180,50,50,.2);
}

.agdc-registration-form-wrapper .alert-warning {
border-color: rgba(219,88,33,.25);
}

/* =========================================================
PROFILE PAGE
========================================================= */

.agdc-profile-page {
min-height: 65vh;

padding: 90px 0 110px;

animation: agdcFadeIn .6s ease both;

}

.agdc-profile-page .agdc-container {
width: min(
calc(100% - 80px),
var(--agdc-content)
);

margin: 0 auto;

}

/* =========================================================
PROFILE HEADER
========================================================= */

.agdc-profile-header {
margin-bottom: 55px;

animation: agdcFadeUp .7s ease both;

}

.agdc-profile-eyebrow {
display: inline-block;

margin-bottom: 18px;

color: var(--agdc-orange);

font-size: 10px;

font-weight: 700;

letter-spacing: .2em;

text-transform: uppercase;

}

.agdc-profile-header h1 {
margin: 0;

color: var(--agdc-black);

font-size: clamp(48px, 7vw, 90px);

font-weight: 700;

line-height: .9;

letter-spacing: -.055em;

}

.agdc-profile-header p {
max-width: 600px;

margin: 25px 0 0;

color: var(--agdc-muted);

font-size: 14px;

line-height: 1.8;

}

/* =========================================================
PROFILE GRID
========================================================= */

.agdc-profile-grid {
display: grid;

grid-template-columns:
    repeat(2, minmax(0, 1fr));

gap: 24px;

}

/* =========================================================
PROFILE CARDS
========================================================= */

.agdc-profile-card {
padding: 40px;

background: #fff;

border: 1px solid var(--agdc-border);

border-radius: var(--agdc-radius);

box-shadow:
    0 20px 55px rgba(0,0,0,.05);

animation: agdcFadeUp .6s ease both;

transition:
    transform .3s ease,
    box-shadow .3s ease,
    border-color .3s ease;

}

.agdc-profile-card {
transform: translateY(-4px);

border-color: rgba(219,88,33,.3);

box-shadow:
    0 25px 60px rgba(0,0,0,.08);

}

.agdc-profile-card-full {
grid-column: 1 / -1;
}

.agdc-profile-card h2,
.agdc-profile-card h3 {
margin: 0 0 28px;

color: var(--agdc-black);

font-size: 25px;

font-weight: 700;

line-height: 1.1;

letter-spacing: -.025em;

}

.agdc-profile-card h2::after,
.agdc-profile-card h3::after {
content: "";

display: block;

width: 38px;
height: 2px;

margin-top: 14px;

background: var(--agdc-orange);

border-radius: 2px;

}

/* =========================================================
PROFILE INFORMATION
========================================================= */

.agdc-profile-info {
display: grid;

grid-template-columns:
    repeat(2, minmax(0, 1fr));

gap: 20px 35px;

}

.agdc-profile-info-item {
padding-bottom: 18px;

border-bottom: 1px solid #e8e5df;

}

.agdc-profile-info-item strong,
.agdc-profile-info-item label {
display: block;

margin-bottom: 7px;

color: #777;

font-size: 9px;

font-weight: 700;

letter-spacing: .12em;

text-transform: uppercase;

}

.agdc-profile-info-item span,
.agdc-profile-info-item p {
margin: 0;

color: var(--agdc-black);

font-size: 14px;

line-height: 1.6;

}

/* =========================================================
PROFILE FAMILY MEMBERS
========================================================= */

.agdc-profile-family {
display: grid;

grid-template-columns:
    repeat(2, minmax(0, 1fr));

gap: 20px;

}

.agdc-profile-family-member {
padding: 25px;

background: #fbfaf8;

border: 1px solid var(--agdc-border);

border-radius: var(--agdc-radius-small);

transition:
    transform .3s ease,
    box-shadow .3s ease,
    border-color .3s ease;

}

.agdc-profile-family-member {
transform: translateY(-3px);

border-color: rgba(219,88,33,.3);

box-shadow:
    0 15px 40px rgba(0,0,0,.06);

}

.agdc-profile-family-member h4 {
margin: 0 0 20px;

color: var(--agdc-black);

font-size: 19px;

font-weight: 700;

}

.agdc-profile-family-member p {
margin: 0 0 8px;

color: var(--agdc-muted);

font-size: 13px;

line-height: 1.6;

}

.agdc-profile-family-member p strong {
color: var(--agdc-black);
}

/* =========================================================
PROFILE ACTIONS
========================================================= */

.agdc-profile-actions {
display: flex;

align-items: center;

gap: 12px;

flex-wrap: wrap;

margin-top: 35px;

}

.agdc-profile-page .btn,
.agdc-profile-page button {
min-height: 50px;

padding: 12px 21px;

border-radius: var(--agdc-radius-small);

font-size: 10px;

font-weight: 700;

letter-spacing: .12em;

text-transform: uppercase;

transition: all .3s ease;

}

.agdc-profile-page .btn-primary {
background: var(--agdc-orange);

border-color: var(--agdc-orange);

color: #fff;

}

.agdc-profile-page .btn-primary {
background: var(--agdc-orange-dark);

border-color: var(--agdc-orange-dark);

transform: translateY(-2px);

}

.agdc-profile-page .btn-outline-secondary {
background: transparent;

border: 1px solid var(--agdc-black);

color: var(--agdc-black);

}

.agdc-profile-page .btn-outline-secondary {
background: var(--agdc-black);

color: #fff;

transform: translateY(-2px);

}

/* =========================================================
PROFILE ALERT
========================================================= */

.agdc-profile-page .alert {
padding: 18px 20px;

background: #fff;

border: 1px solid var(--agdc-border);

border-radius: var(--agdc-radius-small);

color: var(--agdc-black);

font-size: 13px;

}

/* =========================================================
PASSWORD / RESET PASSWORD
========================================================= */

.agdc-password-form .agdc-forgot-password,
.agdc-password-form .agdc-reset-password {
max-width: none;

margin: 0;

padding: 0;

background: transparent;

border: 0;

}

.agdc-password-form .card {
border: 0;

border-radius: 0;

background: transparent;

box-shadow: none;

}

.agdc-password-form .card-body {
padding: 0;
}

.agdc-password-form .card-title {
display: none;
}

.agdc-password-form .form-label {
display: block;

margin-bottom: 9px;

color: var(--agdc-black);

font-size: 10px;

font-weight: 700;

letter-spacing: .12em;

text-transform: uppercase;

}

.agdc-password-form .form-control {
width: 100%;

height: 56px;

border: 1px solid #d8d5d0;

border-radius: var(--agdc-radius-small);

box-shadow: none;

}

.agdc-password-form .form-control {
border-color: var(--agdc-orange);

box-shadow:
    0 0 0 3px rgba(219,88,33,.10);

}

.agdc-password-form .btn-primary {
width: 100%;

min-height: 58px;

border-radius: var(--agdc-radius-small);

border-color: var(--agdc-orange);

background: var(--agdc-orange);

color: #fff;

font-size: 10px;

font-weight: 700;

letter-spacing: .13em;

text-transform: uppercase;

}

.agdc-password-form .btn-primary {
background: var(--agdc-orange-dark);

border-color: var(--agdc-orange-dark);

}

.agdc-password-form a {
color: var(--agdc-black);

text-decoration: none;

}

.agdc-password-form a {
color: var(--agdc-orange);
}

.agdc-password-form .alert {
border-radius: var(--agdc-radius-small);
}


/* =========================================================
   17. STUDENT REGISTRATION PAGE
   ========================================================= */

.agdc-auth-page {
    background: var(--agdc-off-white);
    color: var(--agdc-text);
}


/* ---------------------------------------------------------
   REGISTRATION HERO
   --------------------------------------------------------- */

.agdc-registration-page .agdc-auth-hero {
    position: relative;
    padding: 110px 0 80px;

    background:
        radial-gradient(
            circle at 85% 20%,
            rgba(255, 127, 79, 0.12),
            transparent 30%
        ),
        var(--agdc-white);

    overflow: hidden;
}


.agdc-registration-page .agdc-auth-hero::after {
    content: "";

    position: absolute;

    width: 320px;
    height: 320px;

    right: -140px;
    top: -140px;

    border-radius: 50%;

    border: 1px solid rgba(255, 127, 79, 0.15);

    pointer-events: none;
}


.agdc-registration-page .agdc-auth-hero .agdc-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}


.agdc-registration-page .agdc-auth-hero .agdc-script {
    display: inline-block;

    margin-bottom: 20px;

    color: var(--agdc-orange);

    font-family: "Plus Jakarta Sans", sans-serif;

    font-size: 13px;
    font-weight: 700;

    letter-spacing: 0.16em;

    text-transform: uppercase;
}


.agdc-registration-page .agdc-auth-hero h1 {
    margin: 0;

    max-width: 800px;

    font-family: "Plus Jakarta Sans", sans-serif;

    font-size: clamp(50px, 7vw, 90px);

    line-height: 0.95;

    font-weight: 500;

    letter-spacing: -0.055em;

    text-transform: uppercase;

    color: var(--agdc-black);
}


.agdc-registration-page .agdc-auth-hero h1 span {
    color: var(--agdc-orange);
    font-weight: 700;
}


.agdc-registration-page .agdc-auth-hero p {
    max-width: 650px;

    margin: 30px 0 0;

    font-family: "Plus Jakarta Sans", sans-serif;

    font-size: 17px;

    line-height: 1.8;

    color: var(--agdc-muted);
}


/* ---------------------------------------------------------
   REGISTRATION CONTENT
   --------------------------------------------------------- */

.agdc-registration-content {
    padding: 90px 0 110px;

    background: var(--agdc-off-white);
}


.agdc-registration-container {
    width: min(1100px, calc(100% - 40px));

    margin: 0 auto;
}


/* ---------------------------------------------------------
   REGISTRATION INTRO
   --------------------------------------------------------- */

.agdc-registration-intro {
    max-width: 760px;

    margin-bottom: 45px;
}


.agdc-registration-intro .agdc-auth-label {
    display: inline-flex;

    align-items: center;

    gap: 12px;

    margin-bottom: 18px;

    font-family: "Plus Jakarta Sans", sans-serif;

    font-size: 12px;

    font-weight: 700;

    letter-spacing: 0.18em;

    color: var(--agdc-orange);

    text-transform: uppercase;
}


.agdc-registration-intro .agdc-auth-label::before {
    content: "";

    width: 32px;
    height: 2px;

    background: var(--agdc-orange);

    flex-shrink: 0;
}


.agdc-registration-intro h2 {
    margin: 0;

    font-family: "Plus Jakarta Sans", sans-serif;

    font-size: clamp(40px, 5vw, 64px);

    line-height: 0.98;

    font-weight: 600;

    letter-spacing: -0.045em;

    text-transform: uppercase;

    color: var(--agdc-black);
}


.agdc-registration-intro p {
    max-width: 650px;

    margin: 25px 0 0;

    font-family: "Plus Jakarta Sans", sans-serif;

    font-size: 16px;

    line-height: 1.8;

    color: var(--agdc-muted);
}


/* ---------------------------------------------------------
   REGISTRATION FORM WRAPPER
   --------------------------------------------------------- */

.agdc-registration-form-wrapper {
    position: relative;

    width: 100%;

    padding: 45px;

    background: var(--agdc-white);

    border: 1px solid var(--agdc-border);

    border-radius: 22px;

    box-shadow:
        0 20px 60px rgba(0, 0, 0, 0.06);

    overflow: hidden;
}


.agdc-registration-form-wrapper::before {
    content: "";

    position: absolute;

    left: 0;
    top: 0;

    width: 100%;
    height: 4px;

    background: linear-gradient(
        90deg,
        var(--agdc-orange),
        #ff9b72
    );
}


/* ---------------------------------------------------------
   RESPONSIVE
   --------------------------------------------------------- */

@media (max-width: 900px) {

    .agdc-registration-page .agdc-auth-hero {
        padding: 90px 0 65px;
    }

    .agdc-registration-content {
        padding: 70px 0 85px;
    }

    .agdc-registration-form-wrapper {
        padding: 35px;
    }

}


@media (max-width: 640px) {

    .agdc-registration-page .agdc-auth-hero {
        padding: 70px 0 55px;
    }

    .agdc-registration-page .agdc-auth-hero .agdc-container {
        width: calc(100% - 30px);
    }

    .agdc-registration-page .agdc-auth-hero h1 {
        font-size: clamp(44px, 14vw, 65px);
    }

    .agdc-registration-page .agdc-auth-hero p {
        font-size: 15px;
    }

    .agdc-registration-content {
        padding: 55px 0 70px;
    }

    .agdc-registration-container {
        width: calc(100% - 30px);
    }

    .agdc-registration-intro h2 {
        font-size: 40px;
    }

    .agdc-registration-intro p {
        font-size: 14px;
    }

    .agdc-registration-form-wrapper {
        padding: 25px 18px;
        border-radius: 16px;
    }

}


/* =========================================================
TABLET
========================================================= */

@media (max-width: 1000px) {

.agdc-container,
.agdc-auth-container,
.agdc-registration-container,
.agdc-profile-page .agdc-container {
    width: min(
        calc(100% - 50px),
        900px
    );
}

.agdc-portal-hero {
    min-height: 580px;

    padding: 100px 0 80px;
}

.agdc-portal-options {
    padding: 80px 0;
}

.agdc-portal-options .agdc-container {
    grid-template-columns: 1fr;
}

.agdc-portal-card {
    min-height: 420px;
}

.agdc-auth-hero {
    padding: 90px 0 70px;
}

.agdc-auth-content {
    padding: 80px 20px;
}

.agdc-auth-card,
.agdc-registration-form-wrapper {
    padding: 50px;
}

.agdc-registration-form-wrapper .agdc-two-col {
    grid-template-columns: 1fr 1fr;
}

.agdc-registration-form-wrapper .agdc-three-col {
    grid-template-columns: 1fr 1fr;
}

.agdc-profile-page {
    padding: 75px 0 90px;
}

.agdc-profile-grid {
    grid-template-columns: 1fr;
}

.agdc-profile-card-full {
    grid-column: auto;
}

}

/* =========================================================
MOBILE
========================================================= */

@media (max-width: 600px) {

.agdc-container,
.agdc-auth-container,
.agdc-registration-container,
.agdc-profile-page .agdc-container {
    width: calc(100% - 32px);
}


/* Portal */

.agdc-portal-hero {
    min-height: 510px;

    padding: 75px 0 55px;
}

.agdc-portal-hero::before {
    width: 260px;
    height: 260px;

    right: -100px;
    bottom: -100px;
}

.agdc-portal-hero::after {
    right: 25px;
    bottom: 45px;

    width: 75px;
    height: 75px;
}

.agdc-portal-eyebrow,
.agdc-auth-label {
    margin-bottom: 15px;

    font-size: 9px;

    letter-spacing: .17em;
}

.agdc-portal-hero h1 {
    font-size: clamp(
        45px,
        14vw,
        70px
    );
}

.agdc-portal-hero p {
    margin-top: 23px;

    font-size: 14px;

    line-height: 1.7;
}


/* Portal cards */

.agdc-portal-options {
    padding: 55px 0;
}

.agdc-portal-card {
    min-height: 350px;

    padding: 32px 24px;

    border-radius: 10px;
}

.agdc-portal-card h2 {
    font-size: 43px;
}

.agdc-portal-card p {
    font-size: 14px;
}

.agdc-portal-button {
    width: 100%;

    min-width: 0;
}


/* Auth */

.agdc-auth-hero {
    padding: 70px 0 55px;
}

.agdc-auth-hero h1 {
    font-size: 52px;
}

.agdc-auth-hero p {
    margin-top: 22px;

    font-size: 14px;
}

.agdc-auth-content {
    padding: 50px 16px;
}

.agdc-auth-card,
.agdc-registration-form-wrapper {
    padding: 30px 20px;

    border-radius: 10px;
}

.agdc-auth-card-header {
    margin-bottom: 30px;
}

.agdc-auth-card-header h2 {
    font-size: 34px;
}


/* Registration */

.agdc-registration-intro {
    margin-bottom: 40px;
}

.agdc-registration-intro h2 {
    font-size: 48px;
}

.agdc-registration-intro p {
    font-size: 13px;
}

.agdc-registration-form-wrapper .agdc-two-col,
.agdc-registration-form-wrapper .agdc-three-col {
    grid-template-columns: 1fr;
}

.agdc-registration-form-wrapper .agdc-child-row,
.agdc-registration-form-wrapper .agdc-family-card {
    padding: 20px;

    border-radius: 10px;
}


/* Checkbox */

.agdc-registration-form-wrapper .form-check {
    min-height: 62px;

    padding:
        14px
        15px
        14px
        54px !important;
}

.agdc-registration-form-wrapper .form-check .form-check-input {
    left: 17px !important;

    width: 19px !important;
    height: 19px !important;
}

.agdc-registration-form-wrapper .form-check label,
.agdc-registration-form-wrapper .form-check .form-check-label {
    font-size: 12px;

    line-height: 1.5;
}


/* Profile */

.agdc-profile-page {
    padding: 55px 0 70px;
}

.agdc-profile-header {
    margin-bottom: 38px;
}

.agdc-profile-header h1 {
    font-size: 50px;
}

.agdc-profile-header p {
    font-size: 13px;
}

.agdc-profile-grid {
    gap: 16px;
}

.agdc-profile-card {
    padding: 25px 20px;

    border-radius: 10px;
}

.agdc-profile-card h2,
.agdc-profile-card h3 {
    font-size: 22px;
}

.agdc-profile-info {
    grid-template-columns: 1fr;

    gap: 15px;
}

.agdc-profile-family {
    grid-template-columns: 1fr;
}

.agdc-profile-family-member {
    padding: 20px;
}

.agdc-profile-actions {
    flex-direction: column;

    align-items: stretch;
}

.agdc-profile-actions .btn,
.agdc-profile-actions button {
    width: 100%;
}

}

/* =========================================================
SMALL MOBILE
========================================================= */

@media (max-width: 380px) {

.agdc-container,
.agdc-auth-container,
.agdc-registration-container,
.agdc-profile-page .agdc-container {
    width: calc(100% - 24px);
}

.agdc-portal-hero h1,
.agdc-auth-hero h1 {
    font-size: 44px;
}

.agdc-portal-card h2 {
    font-size: 39px;
}

.agdc-registration-intro h2 {
    font-size: 42px;
}

.agdc-profile-header h1 {
    font-size: 44px;
}

}


/* =========================================================
   CURRENT STUDENT PORTAL RESPONSIVE
   ========================================================= */

@media (max-width: 1000px) {

    .agdc-portal-intro {
        padding: 75px 0 60px;
    }

    .agdc-program-grid {
        grid-template-columns: 1fr 1fr;
    }

    .agdc-account-card {
        padding: 45px 40px;
    }

}

@media (max-width: 700px) {

    .agdc-portal-intro {
        padding: 60px 0 50px;
    }

    .agdc-portal-title {
        font-size: clamp(44px, 13vw, 70px);
    }

    .agdc-portal-intro-text {
        font-size: 14px;
    }

    .agdc-portal-programs {
        padding: 60px 0 75px;
    }

    .agdc-program-grid {
        grid-template-columns: 1fr;
    }

    .agdc-program-card {
        min-height: auto;
        padding: 30px;
    }

    .agdc-account-card {
        padding: 38px 24px;
    }

    .agdc-account-actions {
        grid-template-columns: 1fr;
    }

    .agdc-account-button {
        width: 100%;
    }

    .agdc-account-links {
        gap: 12px;
    }

}

@media (max-width: 380px) {

    .agdc-portal-title {
        font-size: 42px;
    }

    .agdc-program-card {
        padding: 25px;
    }

    .agdc-account-card {
        padding: 32px 20px;
    }

}


/* =========================================================
REDUCE MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

*,
*::before,
*::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;

    scroll-behavior: auto !important;

    transition-duration: .01ms !important;
}

}

/* =========================================================
   STUDENT REGISTRATION — BLACK HERO
   ========================================================= */

.agdc-registration-page .agdc-auth-hero {
    position: relative;
    background: #050505 !important;
    color: #ffffff !important;
    overflow: hidden;
}

/* Keep the content above any decorative elements */
.agdc-registration-page .agdc-auth-hero .agdc-container {
    position: relative;
    z-index: 2;
}

/* STUDENT PORTAL label */
.agdc-registration-page .agdc-auth-hero .agdc-auth-label {
    color: #f15a24 !important;
}

/* JOIN */
.agdc-registration-page .agdc-auth-hero h1 {
    color: #ffffff !important;
}

/* AGDC. */
.agdc-registration-page .agdc-auth-hero h1 span {
    color: #f15a24 !important;
}

/* Description */
.agdc-registration-page .agdc-auth-hero p {
    color: rgba(255, 255, 255, 0.78) !important;
}