.know-more-btn{
    padding: 10px 17px!important;
}

.induction-banner {
    position: relative;
    container-type: inline-size;
    width: 100%;
    aspect-ratio: 1366 / 550;

    background: #f3f3f3;
    overflow: hidden;
}





@media (min-width: 1025px) and (max-width: 1199.98px) {
    .induction-banner { aspect-ratio: 1366 / 750; }
}


/* ---------- Decorative layers ---------- */
.ib-pattern {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.40;
    mix-blend-mode: overlay;
    pointer-events: none;
    z-index: 1;
}

.ib-shape {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
    pointer-events: none;
    z-index: 2;
}

/* ---------- Header ---------- */
.ib-header {
    position: absolute;
    top: 2cqw;          /* 47.326px */
    left: 50%;
    transform: translateX(-50%);
    width: 80%;
    text-align: center;
    z-index: 5;
}

.ib-title {
    margin: 0;
    font-weight: 800;
    font-size: 4.462cqw;            /* 60.95px */
    letter-spacing: 0.089cqw;       /* 1.219px */
    line-height: 1;
    text-transform: uppercase;
    color: #ffffff;
    white-space: nowrap;
    font-family: 'Inter';
text-shadow:
    -1px -1px 0 #000,
     1px -1px 0 #000,
    -1px  1px 0 #000,
     1px  1px 0 #000;

}

.ib-subtitle {
    margin: 1.417cqw auto 0;        /* gap 19.361px */
    max-width: 52.23cqw;            /* 713.475px */
    font-weight: 400;
    font-size: 0.840cqw;            /* 11.473px */
    line-height: 1.65;
    color: #111111;
}

/* ---------- Student cut-out ---------- */
.ib-student {
    position: absolute;
    bottom: 0;         /* 150.582px */
    left: 36.430cqw;        /* 497.640px */
    width: 28cqw;       /* 317.710px */
    height: auto;
    z-index: 3;
    pointer-events: none;
}

/* ---------- Cards wrapper ---------- */
/* On desktop the wrapper box is removed so each card positions
   against the .induction-banner stage. */
.ib-cards { display: contents; }

.ib-card {
    position: absolute;
    top: 14.696cqw;         /* 214.402px */
    width: 25cqw;       /* 281.805px */
    display: flex;
    flex-direction: column;
    gap:  10px;         /* 15px @1366 — keep it proportional so cards never outgrow the box */
    z-index: 4;
}

.ib-card--left  { left: 3.874cqw;  }   /* 107.562px */
.ib-card--right { left: 72.496cqw; }   /* 976.640px */

/* sparkle burst on the engage card */
.ib-sparkle {
    position: absolute;
    top: -1.152cqw;
    right: 3.332cqw;
    width: 4.761cqw;
    height: auto;
    pointer-events: none;
}

/* card head */
.ib-card__head   { display: flex; flex-direction: column; gap: 15px; } /* 21.512 */
.ib-card__titles { display: flex; flex-direction: column; gap: 0.787cqw; } /* 10.756 */

.ib-card__pre {
    margin: 0;
    font-weight: 400;
    font-size: 1.312cqw;            /* 17.927px */
    line-height: 1;
    text-transform: uppercase;
    color: #111111;
}

.ib-card__big {
    margin: 0;
    font-weight: 800;
    font-size: 3.674cqw;            /* 50.194px */
    letter-spacing: 0.073cqw;       /* 1.004px */
    line-height: 1;
    text-transform: uppercase;
    color: #fecd46;
}

.ib-card__big--sm {
    font-size: 3.412cqw;            /* 46.609px */
    letter-spacing: 0.068cqw;       /* 0.932px */
    white-space: nowrap;
}

.ib-card__sub {
    margin: 0;
    font-weight: 700;
    font-size: 1.050cqw;            /* 14.341px */

    line-height: 1.52;
    text-transform: uppercase;
    color: #111111;
}

/* card body */
.ib-card__body { display: flex; flex-direction: column; gap: 15px; } /* 30.117 */

.ib-card__text {
    margin: 0;
    font-weight: 400;
    font-size: 15px;
    line-height: 1.65;
    color: #111111;
}

.ib-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 12.283cqw;               /* 167.792px */
    height: 2.100cqw;               /* 28.682px */
    padding: 0.525cqw;
    border-radius: 100px;
    background: #000000;
    color: #ffffff;
    font-weight: 700;
    font-size: 1.050cqw;            /* 14.341px */
    line-height: 1.52;
    text-decoration: none;
    white-space: nowrap;
    transition: background-color .2s ease, transform .2s ease;
}

.ib-btn:hover,
.ib-btn:focus-visible {
    background: #2a2a2a;
    color: #ffffff;
    transform: translateY(-1px);
}

/* =========================================================
   MOBILE  (< 768px)  —  Figma "iPhone 17" layout (node 4493-10541)
   White header (yellow title) over a full-bleed grey block with a
   faint crowd-photo overlay holding two yellow-gradient cards.
   ========================================================= */
@media (max-width: 1024px) {

    /* full-bleed the whole banner so the grey block reaches the edges */
    .induction-banner {
        aspect-ratio: auto;
        width: 100vw;
        margin-inline: calc(50% - 50vw);
        display: flex;
        flex-direction: column;
        gap: 22px;
        padding: 0 0 39px;
        background: #ffffff;
        overflow: hidden;

    }

    /* desktop-only decorative layers are not part of the mobile design */
    .ib-pattern,
    .ib-shape,
    .ib-student { display: none; }

    /* ---- white header block ---- */
    .ib-header {
        position: static;
        transform: none;
        width: 100%;
        padding: 52px 31px;
        background: #ffffff;
        text-align: center;
    }
    .ib-title {
        color: #fecd46;
        font-size: clamp(42px, 14vw, 55px);
        line-height: 1;
        letter-spacing: 0;
        white-space: normal;
    }
    .ib-subtitle {
        max-width: 100%;
        margin-top: 35px;
        font-size: 14px;
        line-height: 1.5;
        color: #111111;
    }

    /* ---- grey cards block with crowd overlay ---- */
    .ib-cards {
        position: relative;
        display: flex;
        flex-direction: column;
        gap: 18px;
        width: 100%;
        max-width: none;
        padding: 0 35px;
        background: #f6f6f6;
    }
    .ib-cards::before {
        content: "";
        position: absolute;
        inset: 0;
        background: url("../images/induction-bg.png") center bottom / cover no-repeat;
        mix-blend-mode: overlay;
        opacity: 0.9;
        pointer-events: none;
        z-index: 0;
    }

    /* ---- yellow gradient card ---- */
    .ib-card {
        position: relative;
        z-index: 1;
        top: auto;
        left: auto;
        width: 100%;
        gap: 15px;
        padding: 32px 25px;
        border-radius: 0;
        background: radial-gradient(125% 125% at 0% 100%,
                    #fecd46 0%, #f7c123 50%, #f4bb12 75%, #f0b400 100%);
    }

    .ib-card__head   { gap: 18px; }
    .ib-card__titles { gap: 10px; }

    .ib-card__pre  { font-size: 16px; color: #111111; font-weight:600; }
    .ib-card__big,
    .ib-card__big--sm {
        color: #ffffff;
        font-size: 42px;
        letter-spacing: 0.84px;
        white-space: normal;
    }
    .ib-card__sub  {
        font-size: 14px;
        letter-spacing: 1.54px;
        line-height: 1.52;
        color: #111111;
    }
    .ib-card__body { gap: 33px; }
    .ib-card__text { font-size: 14px; line-height: 1.65; color: #111111; }

    .ib-btn {
        width: 234px;
        max-width: 100%;
        height: 40px;
        padding: 10px;
        font-size: 20px;
        border-radius: 500px;
    }

    .ib-sparkle { width: 50px; top: 28px; right: 34px; }
}


/* =========================================================
   Welcome Hero  (internal.html)
   Design reference width: 1366px  ->  1cqw = 13.66px
   ========================================================= */

.hero {
    position: relative;
    width: 100%;
    aspect-ratio: 1366 / 661.462;
    overflow: hidden;
    background: #f7efe6;
    container-type: inline-size;
    font-family: "Plus Jakarta Sans", system-ui, sans-serif;
}

/* ---- background layers ---- */
.hero__photo {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 1;
}
.hero__wash {
    position: absolute;
    left: 0;
    top: 0;
    width: 54.687cqw;          /* 746.951px */
    height: 100%;
    object-fit: cover;
    pointer-events: none;
    z-index: 2;
}

/* ---- content ---- */
.hero__content {
    position: absolute;
    left: 11.876cqw;           /* 162.233px */
    top: 8.178cqw;             /* 111.704px */
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.hero__copy {
    width: 35.916cqw;          /* 490.621px */
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

/* badge */
.hero__badge {
    display: inline-flex;
    align-items: center;
    gap: 0.428cqw;             /* 5.841px */
    padding: 0.374cqw 0.695cqw;/* 5.111 / 9.491 */
    border: 0.073cqw solid rgba(255, 185, 0, 0.4);
    background: rgba(255, 185, 0, 0.2);
    border-radius: 999px;
    color: #231f20;
    font-weight: 600;
    font-size: 0.641cqw;       /* 8.761px */
    letter-spacing: 0.064cqw;  /* 0.876px */
    line-height: 0.855cqw;
    text-transform: uppercase;
    white-space: nowrap;
}
.hero__badge-icon {
    width: 0.855cqw;
    height: 0.855cqw;
    flex: none;
}

/* heading */
.hero__title {
    margin: 1.259cqw 0 0;      /* gap below badge */
    font-weight: 800;
    font-size: 3.207cqw;       /* 43.805px */
    line-height: 4.009cqw;     /* 54.757px */
    letter-spacing: 0;
}
.hero__title .t-dark   { color: #231f20; }
.hero__title .t-yellow { color: #ffb900; }

/* lead paragraph */
.hero__lead {
    margin: 1.283cqw 0 0;      /* pt 17.522 */
    width: 35.916cqw;
    font-family: "Inter", system-ui, sans-serif;
    font-weight: 400;
    font-size: 0.962cqw;       /* 13.142px */
    line-height: 1.563cqw;     /* 21.355px */
    color: #231f20;
}

/* actions */
.hero__actions {
    margin-top: 2.138cqw;      /* pt 29.204 */
    display: flex;
    gap: 0.808cqw;             /* ~11.04px */
}
.hero__btn {
    display: inline-flex;
    align-items: center;
    gap: 0.428cqw;
    font-weight: 600;
    font-size: 0.855cqw;       /* 11.681px */
    line-height: 1.283cqw;
    color: #231f20;
    text-decoration: none;
    white-space: nowrap;
    border-radius: 0;          /* sharp corners per design */
    transition: filter .2s ease, background-color .2s ease;
}
.hero__btn svg { width: 0.962cqw; height: 0.962cqw; flex: none; }
.hero__btn--primary {
    background: #ffb900;
    padding: 0.641cqw 1.283cqw;/* 8.761 / 17.522 */
    border: 0.073cqw solid #ffb900;
}
.hero__btn--primary:hover { filter: brightness(0.94); color: #231f20; }
.hero__btn--ghost {
    background: transparent;
    padding: 0.695cqw 1.336cqw;/* 9.491 / 18.252 */
    border: 0.073cqw solid #231f20;
}
.hero__btn--ghost:hover { background: rgba(35, 31, 32, 0.06); color: #231f20; }

/* ---- countdown card ---- */
.hero__countdown { margin-top: 1.283cqw; }

.countdown-card {
    display: flex;
    align-items: center;
    gap: 1.283cqw;             /* 17.522 */
    width: 25.602cqw;          /* 349.714px */
    height: 5.505cqw;          /* 75.199px */
    padding: 1.336cqw;         /* 18.252 */
    background: #ffffff;
    border: 0.073cqw solid rgba(255, 255, 255, 0.2);
}
.countdown-card__meta { width: 11.607cqw; }
.countdown-card__label {
    margin: 0;
    width: 7.269cqw;           /* 99.292px -> wraps to two lines */
    font-weight: 600;
    font-size: 0.641cqw;       /* 8.761px */
    letter-spacing: 0.064cqw;
    line-height: 0.855cqw;
    text-transform: uppercase;
    color: #231f20;
}
.countdown-card__date {
    margin: 0.214cqw 0 0;      /* pt 2.92 */
    font-family: "Inter", system-ui, sans-serif;
    font-weight: 400;
    font-size: 0.748cqw;       /* 10.221px */
    line-height: 1.069cqw;
    color: rgba(255, 255, 255, 0.6);  /* per design - sits invisible on white */
    white-space: nowrap;
}

.countdown {
    flex: 1;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    gap: 0.160cqw;             /* 2.19px */
}
.countdown__unit { display: flex; flex-direction: column; align-items: center; }
.countdown__box {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 3.421cqw;       /* 46.726px */
    height: 2.245cqw;          /* 30.664px */
    padding: 0 0.641cqw;
    background: #231f20;
    box-shadow: 0 0.214cqw 0.160cqw rgba(0,0,0,0.1),
                0 0.107cqw 0.107cqw rgba(0,0,0,0.1);
}
.countdown__box span {
    font-family: "Menlo", "Consolas", "SFMono-Regular", monospace;
    font-weight: 700;
    font-size: 1.069cqw;       /* 14.602px */
    line-height: 1.604cqw;
    color: #ffffff;
}
.countdown__tag {
    margin-top: 0.428cqw;      /* pt 5.841 */
    font-weight: 600;
    font-size: 0.641cqw;       /* 8.761px */
    letter-spacing: 0.064cqw;
    line-height: 0.855cqw;
    text-transform: uppercase;
    color: #78716c;
}
.countdown__sep {
    align-self: flex-start;
    font-weight: 300;
    font-size: 1.283cqw;       /* 17.522px */
    line-height: 1.71cqw;
    color: rgba(255, 255, 255, 0.4);  /* per design - invisible, preserves spacing */
}

/* =========================================================
   HERO - MOBILE (< 768px)
   ========================================================= */
@media (max-width: 767.98px) {
    .hero {
        aspect-ratio: auto;
        display: flex;
        flex-direction: column;
    }
    .hero__photo {
        position: static;
        order: -1;
        width: 100%;
        height: 230px;
    }
    .hero__wash { display: none; }

    .hero__content {
        position: static;
        width: 100%;
        padding: 32px 22px 40px;
        background: #fbf4ea;
    }
    .hero__copy { width: 100%; }

    .hero__badge {
        gap: 6px;
        padding: 6px 12px;
        font-size: 11px;
        letter-spacing: 1px;
        line-height: 1.3;
    }
    .hero__badge-icon { width: 13px; height: 13px; }

    .hero__title {
        margin-top: 18px;
        font-size: clamp(30px, 8vw, 40px);
        line-height: 1.2;
    }
    .hero__lead {
        margin-top: 16px;
        width: 100%;
        font-size: 15px;
        line-height: 1.6;
    }

    .hero__actions { margin-top: 26px; flex-wrap: wrap; gap: 12px; }
    .hero__btn { font-size: 14px; line-height: 1.4; gap: 8px; }
    .hero__btn svg { width: 16px; height: 16px; }
    .hero__btn--primary { padding: 11px 18px; border-width: 1px; }
    .hero__btn--ghost   { padding: 11px 18px; border-width: 1px; }

    .hero__countdown { margin-top: 28px; width: 100%; }
    .countdown-card {
        width: 100%;
        max-width: 420px;
        height: auto;
        flex-direction: column;
        align-items: stretch;
        gap: 14px;
        padding: 18px;
        border: 1px solid #eee;
    }
    .countdown-card__meta { width: auto; }
    .countdown-card__label { width: auto; font-size: 11px; letter-spacing: 1px; line-height: 1.3; }
    .countdown-card__date  { font-size: 12px; color: #78716c; margin-top: 4px; }
    .countdown { flex: 0 0 auto; width: 100%; gap: 6px; justify-content: space-between; }
    .countdown__unit { flex: 1 1 0; }
    .countdown__box { width: 100%; min-width: 0; height: 40px; padding: 0 4px; box-shadow: 0 2px 3px rgba(0,0,0,.12); }
    .countdown__box span { font-size: 18px; line-height: 1.2; }
    .countdown__tag { margin-top: 6px; font-size: 10px; letter-spacing: .6px; }
    .countdown__sep { display: none; }
}


/* =========================================================
   Reporting Steps  (internal.html)
   Design reference width: 1366px  ->  1cqw = 13.66px
   ========================================================= */

.steps {
    background: #f5f5f5;
    padding: 2.928cqw 0 2.138cqw;   /* ~40px top, pb 29.204 */
    container-type: inline-size;
    font-family: "Plus Jakarta Sans", system-ui, sans-serif;
}
.steps__inner {
    max-width: 61.572cqw;            /* 841.065px */
    margin: 0 auto;
    padding: 0 1.283cqw;             /* 17.522px */
}

/* header */
.steps__head { display: flex; flex-direction: column; align-items: center; text-align: center; }

.steps__eyebrow {
    position: relative;
    display: inline-block;
    font-weight: 800;
    font-size: 0.855cqw;             /* 11.681px */
    line-height: 0.855cqw;
    color: #231f20;
    text-transform: uppercase;
}
.steps__eyebrow-line {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -0.5cqw;
    width: 5.316cqw;                 /* 72.619px */
    height: auto;
    pointer-events: none;
}

.steps__title {
    margin: 0;
    padding-top: 0.641cqw;           /* 8.761px */
    font-weight: 800;
    font-size: 1.924cqw;             /* 26.283px */
    line-height: 2.138cqw;           /* 29.204px */
    color: #1c1917;
    white-space: nowrap;
}
.steps__sub {
    margin: 0;
    padding-top: 0.855cqw;           /* 11.681px */
    width: 30.785cqw;                /* 420.532px */
    font-family: "Inter", system-ui, sans-serif;
    font-weight: 400;
    font-size: 0.855cqw;             /* 11.681px */
    line-height: 1.283cqw;           /* 17.522px */
    color: #78716c;
}

/* steps row */
.steps__row {
    position: relative;
    list-style: none;
    margin: 2.993cqw 0 0;            /* pt 40.885 */
    padding: 0;
    display: flex;
}
/* connecting line behind the circles */
.steps__row::before {
    content: "";
    position: absolute;
    left: 10%;
    right: 10%;
    top: 1.497cqw;                   /* circle vertical centre (40.885/2) */
    height: 0.107cqw;                /* 1.46px */
    background: #e7e5e4;
    z-index: 0;
}

.step {
    position: relative;
    z-index: 1;
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.step__circle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.993cqw;                 /* 40.885px */
    height: 2.993cqw;
    border-radius: 50%;
    background: #ffffff;
    border: 0.107cqw solid #e7e5e4;  /* 1.46px */
    box-shadow: 0 0.053cqw 0.080cqw rgba(0,0,0,0.1),
                0 0.053cqw 0.053cqw rgba(0,0,0,0.1);
    color: #a6a09b;                  /* icon stroke */
}
.step__circle svg { width: 1.069cqw; height: 1.069cqw; }  /* 14.602px */

.step__num {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.497cqw;                 /* 20.443px */
    height: 1.497cqw;
    margin-top: -0.214cqw;           /* overlap circle bottom (-2.92px) */
    border-radius: 50%;
    background: #f5f5f4;
    border: 0.107cqw solid #e7e5e4;
    font-weight: 700;
    font-size: 0.641cqw;             /* 8.761px */
    line-height: 0.855cqw;
    color: #a6a09b;
}
.step__label {
    margin-top: 0.428cqw;            /* 5.841px */
    max-width: 5.345cqw;             /* 73.009px */
    font-weight: 600;
    font-size: 0.641cqw;             /* 8.761px */
    line-height: 0.802cqw;           /* 10.951px */
    text-align: center;
    color: #79716b;
}

/* =========================================================
   STEPS — MOBILE (< 768px)
   ========================================================= */
@media (max-width: 767.98px) {
    .steps {
        padding: 40px 0 36px;
        container-type: normal;
    }
    .steps__inner { max-width: 100%; padding: 0 22px; }

    .steps__eyebrow { font-size: 12px; line-height: 1; letter-spacing: .5px; }
    .steps__eyebrow-line { width: 74px; bottom: -8px; }

    .steps__title {
        padding-top: 12px;
        font-size: clamp(20px, 5.5vw, 26px);
        line-height: 1.25;
        white-space: normal;
    }
    .steps__sub { padding-top: 12px; width: 100%; max-width: 420px; font-size: 14px; line-height: 1.5; }

    .steps__row { margin-top: 34px; flex-wrap: wrap; justify-content: center; gap: 28px 0; }
    .steps__row::before { display: none; }

    .step { flex: 0 0 33.333%; }
    .step__circle { width: 54px; height: 54px; border-width: 1.5px; box-shadow: 0 1px 2px rgba(0,0,0,.1); }
    .step__circle svg { width: 20px; height: 20px; }
    .step__num { width: 24px; height: 24px; margin-top: -6px; border-width: 1.5px; font-size: 11px; line-height: 1; }
    .step__label { margin-top: 8px; max-width: 100px; font-size: 11px; line-height: 1.3; }
}


/* =========================================================
   Pack Smart / What to check  (internal.html)
   Design reference width: 1366px  ->  1cqw = 13.66px
   ========================================================= */

.pack {
    background: #fff8f2;
    padding: 4.276cqw 0 3.314cqw;    /* pt 58.407 / pb 45.266 */
    container-type: inline-size;
    font-family: "Plus Jakarta Sans", system-ui, sans-serif;
}
.pack__inner { max-width: 61.572cqw; margin: 0 auto; }
.pack__grid { display: flex; align-items: flex-start; gap: 0.908cqw; }  /* 12.41px */

/* ---- left column ---- */
.pack__left { width: 32.656cqw; }    /* 446.086px */

.pack__eyebrow {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 0.695cqw;                   /* 9.491px */
    font-weight: 800;
    font-size: 0.855cqw;             /* 11.681px */
    line-height: 0.855cqw;
    color: #231f20;
    text-transform: uppercase;
}
.pack__eyebrow-line { width: 5.316cqw; height: auto; }  /* 72.619px */

.pack__title {
    margin: 0;
    padding-top: 0.641cqw;           /* 8.761px */
    font-weight: 800;
    font-size: 1.924cqw;             /* 26.283px */
    line-height: 2.138cqw;           /* 29.204px */
    color: #1c1917;
    white-space: nowrap;
}
.pack__sub {
    margin: 0;
    padding-top: 0.855cqw;           /* 11.681px */
    width: 28.006cqw;                /* 382.568px */
    font-family: "Inter", system-ui, sans-serif;
    font-weight: 400;
    font-size: 0.855cqw;             /* 11.681px */
    line-height: 1.389cqw;           /* 18.982px */
    color: #78716c;
}

.pack__list {
    list-style: none;
    margin: 1.710cqw 0 0;            /* pt 23.363 */
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.641cqw;                   /* 8.761px */
}
.pack__item {
    display: flex;
    align-items: flex-start;
    gap: 0.855cqw;                   /* 11.681px */
    padding: 0.962cqw 1.176cqw;      /* 13.141 / 16.062 */
    background: #fafaf9;
    border: 0.107cqw solid rgba(28, 25, 23, 0.1);
    border-radius: 0.855cqw;         /* 11.681px */
}
.pack__chev {
    flex: none;
    width: 1.098cqw;                 /* 15px */
    height: 1.098cqw;
    margin-top: 0.05cqw;
    color: #1c1917;
}
.pack__item-text {
    margin: 0;
    flex: 1;
    font-weight: 600;
    font-size: 0.748cqw;             /* 10.221px */
    line-height: 1.069cqw;           /* 14.602px */
    color: #1c1917;
}
.pack__item-text a { color: inherit; text-decoration: underline; text-underline-offset: 0.1cqw; }
.pack__item-text p { margin: 0; }
.pack__sublist {
    margin: 0;
    padding-left: 1.122cqw;          /* ~15.33px */
    list-style: disc;
}
.pack__sublist li { line-height: 1.069cqw; }

/* ---- right column ---- */
.pack__right {
    margin-top: 6.440cqw;            /* image top 87.98 */
    width: 28.006cqw;                /* 382.568px */
}
.pack__media {
    position: relative;
    margin: 0;
    height: 35.008cqw;               /* 478.21px */
    border-radius: 1.283cqw;         /* 17.522px */
    overflow: hidden;
    background: #e7e5e4;
}
.pack__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pack__media-shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(28, 25, 23, 0.5), rgba(0, 0, 0, 0));
}
.pack__protip {
    position: absolute;
    left: 1.283cqw;                  /* 17.52px */
    bottom: 1.215cqw;                /* 16.6px from bottom */
    width: 25.441cqw;                /* 347.523px */
    padding: 0.855cqw;               /* 11.681px */
    background: rgba(255, 255, 255, 0.95);
    border-radius: 0.855cqw;
}
.pack__protip-head { display: flex; align-items: center; gap: 0.641cqw; }
.pack__dot {
    width: 0.641cqw;                 /* 8.761px */
    height: 0.641cqw;
    border-radius: 50%;
    background: #00bc7d;
    flex: none;
}
.pack__protip-title {
    font-weight: 600;
    font-size: 0.748cqw;             /* 10.221px */
    line-height: 1.069cqw;
    color: #1c1917;
}
.pack__protip-text {
    margin: 0.428cqw 0 0;            /* pt 5.841 */
    font-family: "Inter", system-ui, sans-serif;
    font-weight: 400;
    font-size: 0.641cqw;             /* 8.761px */
    line-height: 1.042cqw;           /* 14.237px */
    color: #78716c;
}

.pack__note {
    margin: 1.654cqw 0 0;            /* 22.6px below image */
    padding: 1.069cqw;               /* 14.602px */
    background: #231f20;
    border-radius: 0.855cqw;         /* 11.681px */
    font-weight: 600;
    font-size: 0.855cqw;             /* 11.681px */
    line-height: 1.283cqw;           /* 17.522px */
    color: #ffffff;
}

/* =========================================================
   PACK SMART — MOBILE (< 768px)
   ========================================================= */
@media (max-width: 767.98px) {
    .pack {
        padding: 44px 0 40px;
        container-type: normal;
    }
    .pack__inner { max-width: 100%; padding: 0 22px; }
    .pack__grid { flex-direction: column; gap: 32px; }

    .pack__left { width: 100%; }
    .pack__eyebrow { font-size: 12px; line-height: 1; gap: 8px; }
    .pack__eyebrow-line { width: 74px; }
    .pack__title { padding-top: 12px; font-size: clamp(22px, 6vw, 28px); line-height: 1.2; white-space: normal; }
    .pack__sub { padding-top: 12px; width: 100%; font-size: 14px; line-height: 1.55; }

    .pack__list { margin-top: 22px; gap: 10px; }
    .pack__item { gap: 12px; padding: 14px 16px; border: 1px solid rgba(28,25,23,.1); border-radius: 12px; }
    .pack__chev { width: 16px; height: 16px; margin-top: 1px; }
    .pack__item-text { font-size: 14px; line-height: 1.5; }
    .pack__item-text a { text-underline-offset: 2px; }
    .pack__sublist { padding-left: 18px; }
    .pack__sublist li { line-height: 1.5; }

    .pack__right { margin-top: 0; width: 100%; }
    .pack__media { height: auto; aspect-ratio: 382 / 478; border-radius: 16px; }
    .pack__protip { left: 16px; right: 16px; bottom: 16px; width: auto; padding: 14px; border-radius: 12px; }
    .pack__protip-title { font-size: 13px; line-height: 1.2; }
    .pack__dot { width: 10px; height: 10px; }
    .pack__protip-text { font-size: 12px; line-height: 1.45; margin-top: 6px; }

    .pack__note { margin-top: 16px; padding: 16px; border-radius: 12px; font-size: 14px; line-height: 1.5; }
}


/* =========================================================
   Preparation / Before You Arrive  (internal.html)
   Design reference width: 1366px  ->  1cqw = 13.66px
   ========================================================= */

.prep {
    background: #ffb900;
    padding: 4.276cqw 0 2.138cqw;    /* pt 58.407 / pb 29.204 */
    container-type: inline-size;
    font-family: "Plus Jakarta Sans", system-ui, sans-serif;
}
.prep__inner { max-width: 61.572cqw; margin: 0 auto; }

/* header */
.prep__head {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 0 1.283cqw;
}
.prep__eyebrow {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 0.695cqw;                   /* 9.491px */
    font-weight: 800;
    font-size: 0.855cqw;             /* 11.681px */
    line-height: 0.855cqw;
    color: #231f20;
    text-transform: uppercase;
}
.prep__eyebrow-line { width: 5.316cqw; height: auto; }
.prep__title {
    margin: 0;
    padding-top: 0.641cqw;
    font-weight: 800;
    font-size: 1.924cqw;             /* 26.283px */
    line-height: 2.138cqw;           /* 29.204px */
    color: #1c1917;
    white-space: nowrap;
}
.prep__sub {
    margin: 0;
    padding-top: 0.855cqw;
    font-family: "Inter", system-ui, sans-serif;
    font-weight: 400;
    font-size: 0.855cqw;             /* 11.681px */
    line-height: 1.283cqw;
    color: #78716c;
}

/* cards */
.prep__grid {
    display: flex;
    align-items: stretch;
    gap: 1.283cqw;                   /* 17.527px */
    margin-top: 2.993cqw;            /* pt 40.885 */
    padding: 0 1.283cqw;
}
.prep-card {
    flex: 1 1 0;
    min-height: 17.103cqw;           /* 233.629px */
    display: flex;
    flex-direction: column;
    gap: 0.855cqw;                   /* 11.681px */
    padding: 1.336cqw;               /* 18.252px */
    border-radius: 0.534cqw;         /* 7.301px */
    border: 0.053cqw solid;
}
.prep-card--rose  { background: #fef2f2; border-color: #ffe2e2; }
.prep-card--amber { background: #fffbeb; border-color: #fef3c6; }
.prep-card--blue  { background: #eff6ff; border-color: #dbeafe; }
.prep-card--green { background: #ecfdf5; border-color: #d0fae5; }

.prep-card__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.565cqw;                 /* 35.044px */
    height: 2.565cqw;
    border-radius: 0.428cqw;         /* 5.841px */
    background: #ffffff;
    box-shadow: 0 0.053cqw 0.080cqw rgba(0,0,0,0.1),
                0 0.053cqw 0.053cqw rgba(0,0,0,0.1);
    color: #f2af00;                  /* gold icon stroke */
}
.prep-card__icon svg { width: 1.389cqw; height: 1.389cqw; }  /* 18.982px */

.prep-card__title {
    margin: 0;
    font-weight: 700;
    font-size: 0.962cqw;             /* 13.142px */
    line-height: 1.443cqw;           /* 19.712px */
    color: #1c1917;
}
.prep-card__text {
    margin: 0.321cqw 0 0;            /* pt 4.381 */
    font-family: "Inter", system-ui, sans-serif;
    font-weight: 400;
    font-size: 0.748cqw;             /* 10.221px */
    line-height: 1.216cqw;           /* 16.61px */
    color: #78716c;
}
.prep-card__text p { margin: 0; }
.prep-card__text a { color: inherit; text-decoration: underline; text-underline-offset: 0.1cqw; }
.prep-card__sublist { margin: 0; padding-left: 1.122cqw; list-style: disc; }
.prep-card__sublist li { line-height: 1.216cqw; }

/* bottom note */
.prep__note {
    width: 60.18cqw;                 /* 822.082px */
    max-width: 100%;
    margin: 1.229cqw auto 0;         /* section gap 16.792 */
    font-family: "Inter", system-ui, sans-serif;
    font-weight: 400;
    font-size: 0.748cqw;             /* 10.221px */
    line-height: 1.216cqw;
    color: #000000;
    text-align: center;
}

/* =========================================================
   PREPARATION — MOBILE (< 768px)
   ========================================================= */
@media (max-width: 767.98px) {
    .prep {
        padding: 44px 0 32px;
        container-type: normal;
    }
    .prep__inner { max-width: 100%; padding: 0 22px; }
    .prep__head { padding: 0; }
    .prep__eyebrow { font-size: 12px; line-height: 1; gap: 8px; }
    .prep__eyebrow-line { width: 74px; }
    .prep__title { padding-top: 12px; font-size: clamp(22px, 6vw, 28px); line-height: 1.2; white-space: normal; }
    .prep__sub { padding-top: 12px; font-size: 14px; line-height: 1.5; }

    .prep__grid { flex-wrap: wrap; gap: 16px; margin-top: 28px; padding: 0; }
    .prep-card { flex: 1 1 46%; min-height: 0; gap: 14px; padding: 18px; border-radius: 10px; border-width: 1px; }
    .prep-card__icon { width: 42px; height: 42px; border-radius: 8px; box-shadow: 0 1px 2px rgba(0,0,0,.1); }
    .prep-card__icon svg { width: 22px; height: 22px; }
    .prep-card__title { font-size: 16px; line-height: 1.3; }
    .prep-card__text { margin-top: 6px; font-size: 13px; line-height: 1.55; }
    .prep-card__text a { text-underline-offset: 2px; }
    .prep-card__sublist { padding-left: 18px; }
    .prep-card__sublist li { line-height: 1.55; }

    .prep__note { width: 100%; margin-top: 24px; font-size: 12.5px; line-height: 1.5; }
}

@media (max-width: 479.98px) {
    .prep-card { flex: 1 1 100%; }
}


/* =========================================================
   Getting Here / Travel Assistance  (internal.html)
   Design reference width: 1366px  ->  1cqw = 13.66px
   ========================================================= */

.travel {
    background: #fafaf9;
    padding: 4.276cqw 0;             /* py 58.407 */
    container-type: inline-size;
    font-family: "Plus Jakarta Sans", system-ui, sans-serif;
}
.travel__inner { max-width: 61.572cqw; margin: 0 auto; padding: 0 1.283cqw; }

/* header */
.travel__head { display: flex; flex-direction: column; align-items: center; text-align: center; }
.travel__eyebrow {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 0.695cqw;
    font-weight: 800;
    font-size: 0.855cqw;
    line-height: 0.855cqw;
    color: #231f20;
    text-transform: uppercase;
}
.travel__eyebrow-line { width: 5.316cqw; height: auto; }
.travel__title {
    margin: 0;
    padding-top: 0.641cqw;
    font-weight: 800;
    font-size: 1.924cqw;             /* 26.283px */
    line-height: 2.138cqw;
    color: #1c1917;
    white-space: nowrap;
}
.travel__sub {
    margin: 0;
    padding-top: 0.855cqw;
    font-family: "Inter", system-ui, sans-serif;
    font-weight: 400;
    font-size: 0.855cqw;
    line-height: 1.283cqw;
    color: #78716c;
}

/* cards */
.travel__grid {
    display: flex;
    align-items: stretch;
    gap: 1.069cqw;                   /* 14.6px */
    margin-top: 2.993cqw;            /* pt 40.885 */
}
.travel-card {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    min-height: 14.578cqw;           /* 199.132px */
    padding: 1.122cqw;               /* 15.332px */
    background: #ffffff;
    border: 0.053cqw solid rgba(28, 25, 23, 0.1);
    border-radius: 0.534cqw;         /* 7.301px */
}
.travel-card__top { display: flex; align-items: flex-start; justify-content: space-between; }
.travel-card__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.352cqw;                 /* 32.124px */
    height: 2.352cqw;
    border-radius: 0.428cqw;         /* 5.841px */
    background: #f5f5f4;
    color: #f2af00;
}
.travel-card__icon svg { width: 1.176cqw; height: 1.176cqw; }  /* 16.062px */
.travel-card__badge {
    padding: 0.214cqw 0.534cqw;      /* 2.92 / 7.301 */
    border-radius: 999px;
    background: rgba(254, 243, 198, 0.79);
    font-weight: 600;
    font-size: 0.641cqw;             /* 8.761px */
    line-height: 0.855cqw;
    color: #df6b1f;
    white-space: nowrap;
}
.travel-card__title {
    margin: 0;
    padding-top: 0.855cqw;           /* 11.681px */
    font-weight: 700;
    font-size: 0.962cqw;             /* 13.142px */
    line-height: 1.443cqw;
    color: #1c1917;
}
.travel-card__meta {
    margin: 0;
    padding-top: 0.107cqw;           /* 1.46px */
    font-weight: 400;
    font-size: 0.641cqw;             /* 8.761px */
    line-height: 0.855cqw;
    color: #78716c;
}
.travel-card__desc {
    margin: 0;
    padding-top: 0.641cqw;           /* 8.761px */
    font-family: "Inter", system-ui, sans-serif;
    font-weight: 400;
    font-size: 0.748cqw;             /* 10.221px */
    line-height: 1.216cqw;           /* 16.61px */
    color: #78716c;
}

/* note */
.travel__note {
    width: 43.987cqw;                /* 600.865px */
    max-width: 100%;
    margin: 0 auto;
    padding-top: 0.855cqw;           /* 11.681px */
    font-family: "Inter", system-ui, sans-serif;
    font-weight: 400;
    font-size: 0.855cqw;             /* 11.681px */
    line-height: 1.283cqw;
    color: #78716c;
    text-align: center;
}

/* map */
.travel__map {
    position: relative;
    margin-top: 2.138cqw;            /* pt 29.204 */
    height: 11.972cqw;               /* 163.54px */
    border-radius: 0.534cqw;         /* 7.301px */
    overflow: hidden;
    background: #e7e5e4;
}
.travel__map > img { width: 100%; height: 100%; object-fit: cover; display: block; }
.travel__map-shade { position: absolute; inset: 0; background: rgba(28, 25, 23, 0.4); }
.travel__map-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.641cqw;                   /* 8.761px */
    text-align: center;
}
.travel__pin {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.565cqw;                 /* 35.044px */
    height: 2.565cqw;
    border-radius: 50%;
    background: #c10007;
    color: #ffffff;
    box-shadow: 0 1.069cqw 0.668cqw rgba(0,0,0,0.1),
                0 0.428cqw 0.267cqw rgba(0,0,0,0.1);
}
.travel__pin svg { width: 1.176cqw; height: 1.176cqw; }
.travel__addr-name {
    margin: 0;
    font-weight: 700;
    font-size: 0.962cqw;             /* 13.142px */
    line-height: 1.496cqw;
    color: #ffffff;
}
.travel__addr-line {
    margin: 0;
    font-weight: 400;
    font-size: 0.748cqw;             /* 10.221px */
    line-height: 1.069cqw;
    color: rgba(255, 255, 255, 0.7);
}
.travel__maps-btn {
    padding: 0.534cqw 1.069cqw;      /* 7.301 / 14.602 */
    background: #ffffff;
    border-radius: 0.855cqw;         /* 11.681px */
    font-weight: 600;
    font-size: 0.748cqw;             /* 10.221px */
    line-height: 1.069cqw;
    color: #1c1917;
    text-decoration: none;
}
.travel__maps-btn:hover { background: #f2f2f0; color: #1c1917; }

/* =========================================================
   TRAVEL — MOBILE (< 768px)
   ========================================================= */
@media (max-width: 767.98px) {
    .travel { padding: 44px 0; container-type: normal; }
    .travel__inner { max-width: 100%; padding: 0 22px; }

    .travel__eyebrow { font-size: 12px; line-height: 1; gap: 8px; }
    .travel__eyebrow-line { width: 74px; }
    .travel__title { padding-top: 12px; font-size: clamp(22px, 6vw, 28px); line-height: 1.2; white-space: normal; }
    .travel__sub { padding-top: 12px; font-size: 14px; line-height: 1.5; }

    .travel__grid { flex-wrap: wrap; gap: 16px; margin-top: 28px; }
    .travel-card { flex: 1 1 46%; min-height: 0; padding: 18px; border: 1px solid rgba(28,25,23,.1); border-radius: 10px; }
    .travel-card__icon { width: 40px; height: 40px; border-radius: 8px; }
    .travel-card__icon svg { width: 20px; height: 20px; }
    .travel-card__badge { padding: 3px 9px; font-size: 11px; line-height: 1.2; }
    .travel-card__title { padding-top: 14px; font-size: 16px; line-height: 1.3; }
    .travel-card__meta { padding-top: 3px; font-size: 12px; line-height: 1.3; }
    .travel-card__desc { padding-top: 8px; font-size: 13px; line-height: 1.55; }

    .travel__note { width: 100%; padding-top: 18px; font-size: 14px; line-height: 1.5; }

    .travel__map { height: auto; min-height: 220px; margin-top: 24px; border-radius: 12px; }
    .travel__map-overlay { gap: 10px; padding: 24px; }
    .travel__pin { width: 44px; height: 44px; box-shadow: 0 8px 12px rgba(0,0,0,.18); }
    .travel__pin svg { width: 20px; height: 20px; }
    .travel__addr-name { font-size: 16px; line-height: 1.4; }
    .travel__addr-line { font-size: 13px; line-height: 1.4; }
    .travel__maps-btn { padding: 10px 16px; font-size: 13px; line-height: 1.2; border-radius: 10px; }
}

@media (max-width: 479.98px) {
    .travel-card { flex: 1 1 100%; }
}


/* =========================================================
   For Parents & Guardians  (internal.html)
   Design reference width: 1366px  ->  1cqw = 13.66px
   ========================================================= */

.parents {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 20.951cqw;           /* 286.196px */
    padding: 1.283cqw;
    background: #eba539 url("../images/parents-bg.jpg") center / cover no-repeat;
    container-type: inline-size;
    font-family: "Plus Jakarta Sans", system-ui, sans-serif;
}
.parents__card {
    display: flex;
    align-items: center;
    gap: 1.710cqw;                   /* 23.363px */
    width: 59.006cqw;                /* 806.02px */
    max-width: 100%;
    padding: 2.619cqw;               /* 35.774px */
    background: linear-gradient(to right, #fffbeb, #fff7ed);
    border: 0.053cqw solid #fee685;
    border-radius: 0.534cqw;         /* 7.301px */
}
.parents__icon {
    flex: none;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 4.276cqw;                 /* 58.407px */
    height: 4.276cqw;
    border-radius: 1.283cqw;         /* 17.522px */
    background: #ffb900;
    color: #ffffff;
    box-shadow: 0 0.214cqw 0.160cqw rgba(0,0,0,0.1),
                0 0.107cqw 0.107cqw rgba(0,0,0,0.1);
}
.parents__icon svg { width: 1.924cqw; height: 1.924cqw; }  /* 26.283px */

.parents__body { flex: 1 1 0; min-width: 0; }
.parents__title {
    margin: 0;
    font-weight: 800;
    font-size: 1.603cqw;             /* 21.903px */
    line-height: 1.924cqw;           /* 26.283px */
    color: #1c1917;
}
.parents__text {
    margin: 0;
    padding-top: 0.641cqw;           /* 8.761px */
    font-family: "Inter", system-ui, sans-serif;
    font-weight: 400;
    font-size: 0.855cqw;             /* 11.681px */
    line-height: 1.389cqw;           /* 18.982px */
    color: #78716c;
}
.parents__tags {
    list-style: none;
    margin: 0;
    padding: 0.855cqw 0 0;           /* pt 11.681 */
    display: flex;
    gap: 0.622cqw;                   /* ~8.5px */
}
.parents__tag {
    padding: 0.321cqw 0.641cqw;      /* 4.381 / 8.761 */
    border-radius: 999px;
    background: #fef3c6;
    font-weight: 600;
    font-size: 0.641cqw;             /* 8.761px */
    line-height: 0.855cqw;
    color: #973c00;
    white-space: nowrap;
}

/* =========================================================
   PARENTS — MOBILE (< 768px)
   ========================================================= */
@media (max-width: 767.98px) {
    .parents { min-height: 0; padding: 28px 22px; container-type: normal; }
    .parents__card {
        width: 100%;
        flex-direction: column;
        align-items: flex-start;
        gap: 18px;
        padding: 24px;
        border-width: 1px;
        border-radius: 12px;
    }
    .parents__icon { width: 52px; height: 52px; border-radius: 14px; box-shadow: 0 2px 3px rgba(0,0,0,.12); }
    .parents__icon svg { width: 26px; height: 26px; }
    .parents__title { font-size: 19px; line-height: 1.3; }
    .parents__text { padding-top: 10px; font-size: 14px; line-height: 1.55; }
    .parents__tags { padding-top: 14px; flex-wrap: wrap; gap: 8px; }
    .parents__tag { padding: 5px 10px; font-size: 11px; line-height: 1.2; }
}


/* =========================================================
   We're Here / Important Contacts  (internal.html)
   Design reference width: 1366px  ->  1cqw = 13.66px
   ========================================================= */

.contacts {
    background: #ffffff;
    padding: 4.276cqw 0;             /* py 58.407 */
    container-type: inline-size;
    font-family: "Plus Jakarta Sans", system-ui, sans-serif;
}
.contacts__inner { max-width: 61.572cqw; margin: 0 auto; padding: 0 1.283cqw; }

/* header */
.contacts__head { display: flex; flex-direction: column; align-items: center; text-align: center; }
.contacts__eyebrow {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 0.695cqw;
    font-weight: 800;
    font-size: 0.855cqw;
    line-height: 0.855cqw;
    color: #231f20;
    text-transform: uppercase;
}
.contacts__eyebrow-line { width: 5.316cqw; height: auto; }
.contacts__title {
    margin: 0;
    padding-top: 0.641cqw;
    font-weight: 800;
    font-size: 1.924cqw;             /* 26.283px */
    line-height: 2.138cqw;
    color: #1c1917;
    white-space: nowrap;
}
.contacts__sub {
    margin: 0;
    padding-top: 0.855cqw;
    font-family: "Inter", system-ui, sans-serif;
    font-weight: 400;
    font-size: 0.855cqw;
    line-height: 1.283cqw;
    color: #78716c;
}

/* cards */
.contacts__grid {
    display: flex;
    align-items: stretch;
    gap: 1.069cqw;                   /* 14.6px */
    margin-top: 2.993cqw;            /* pt 40.885 */
}
.contact-card {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    min-height: 11.512cqw;           /* 157.257px */
    padding: 1.336cqw;               /* 18.252px */
    background: #fffbeb;
    border: 0.053cqw solid rgba(255, 185, 0, 0.58);
    border-radius: 0.534cqw;         /* 7.301px */
}
.contact-card__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.565cqw;                 /* 35.044px */
    height: 2.565cqw;
    border-radius: 0.428cqw;         /* 5.841px */
    background: #ffb900;
    color: #ffffff;
    box-shadow: 0 0.053cqw 0.080cqw rgba(0,0,0,0.1),
                0 0.053cqw 0.053cqw rgba(0,0,0,0.1);
}
.contact-card__icon svg { width: 1.069cqw; height: 1.069cqw; }  /* 14.602px */
.contact-card__title {
    margin: 0.855cqw 0 0;            /* gap below icon box (11.681) */
    font-weight: 700;
    font-size: 0.962cqw;             /* 13.142px */
    line-height: 1.443cqw;
    color: #1c1917;
}
.contact-card__hours {
    margin: 0.214cqw 0 0.641cqw;     /* pt 2.92 / pb 8.761 */
    font-weight: 400;
    font-size: 0.641cqw;             /* 8.761px */
    line-height: 0.855cqw;
    color: #78716c;
}
.contact-card__link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.428cqw;                   /* 5.841px */
    height: 2.245cqw;                /* 30.664px */
    margin-top: auto;
    background: #ffffff;
    border: 0.053cqw solid rgba(28, 25, 23, 0.1);
    border-radius: 0.855cqw;         /* 11.681px */
    font-weight: 600;
    font-size: 0.748cqw;             /* 10.221px */
    line-height: 1.069cqw;
    color: #1c1917;
    text-decoration: none;
}
.contact-card__link svg { width: 0.748cqw; height: 0.748cqw; }  /* 10.221px */
.contact-card__link:hover { background: #fafaf9; color: #1c1917; }

/* =========================================================
   CONTACTS — MOBILE (< 768px)
   ========================================================= */
@media (max-width: 767.98px) {
    .contacts { padding: 44px 0; container-type: normal; }
    .contacts__inner { max-width: 100%; padding: 0 22px; }

    .contacts__eyebrow { font-size: 12px; line-height: 1; gap: 8px; }
    .contacts__eyebrow-line { width: 74px; }
    .contacts__title { padding-top: 12px; font-size: clamp(22px, 6vw, 28px); line-height: 1.2; white-space: normal; }
    .contacts__sub { padding-top: 12px; font-size: 14px; line-height: 1.5; }

    .contacts__grid { flex-wrap: wrap; gap: 16px; margin-top: 28px; }
    .contact-card { flex: 1 1 46%; min-height: 0; gap: 12px; padding: 18px; border: 1px solid rgba(255,185,0,.58); border-radius: 12px; }
    .contact-card__icon { width: 42px; height: 42px; border-radius: 10px; box-shadow: 0 1px 2px rgba(0,0,0,.1); }
    .contact-card__icon svg { width: 20px; height: 20px; }
    .contact-card__title { font-size: 16px; line-height: 1.3; }
    .contact-card__hours { margin-top: -6px; font-size: 12px; line-height: 1.3; }
    .contact-card__link { height: 40px; gap: 8px; border: 1px solid rgba(28,25,23,.1); border-radius: 12px; font-size: 14px; }
    .contact-card__link svg { width: 14px; height: 14px; }
}

@media (max-width: 479.98px) {
    .contact-card { flex: 1 1 100%; }
}


/* =========================================================
   On Arrival / Reporting Steps  (internal.html)
   Design reference width: 1366px  ->  1cqw = 13.66px
   ========================================================= */

.arrival {
    background: #ffffff;
    container-type: inline-size;
    font-family: "Plus Jakarta Sans", system-ui, sans-serif;
}

/* tab bar */
.arrival__tabs {
    display: flex;
    justify-content: center;
    background: #f7f2f2;
    border-bottom: 0.073cqw solid rgba(139, 0, 0, 0.15);
}
.arrival__tabs-inner {
    display: flex;
    width: 61.572cqw;                /* 841.065px */
    max-width: 100%;
    padding: 0 2.565cqw;             /* 35.044px */
}
.arrival__tab {
    padding: 1.081cqw 1.496cqw;      /* 14.77 / 20.44 */
    border: 0;
    background: transparent;
    font-family: "Inter", system-ui, sans-serif;
    font-weight: 600;
    font-size: 0.748cqw;             /* 10.221px */
    line-height: 1.069cqw;
    color: #000000;
    cursor: pointer;
    white-space: nowrap;
}
.arrival__tab.is-active { background: #000000; color: #ffffff; }

/* body */
.arrival__body { padding: 4.276cqw 0; }
.arrival__inner { max-width: 61.572cqw; margin: 0 auto; padding: 0 1.283cqw; }

/* header */
.arrival__head { display: flex; flex-direction: column; align-items: center; text-align: center; }
.arrival__eyebrow {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 0.695cqw;
    font-weight: 800;
    font-size: 0.855cqw;
    line-height: 0.855cqw;
    color: #231f20;
    text-transform: uppercase;
}
.arrival__eyebrow-line { width: 5.316cqw; height: auto; }
.arrival__title {
    margin: 0;
    padding-top: 0.641cqw;
    font-weight: 800;
    font-size: 1.924cqw;             /* 26.283px */
    line-height: 2.138cqw;
    color: #1c1917;
    white-space: nowrap;
}
.arrival__sub {
    margin: 0;
    padding-top: 0.855cqw;
    font-family: "Inter", system-ui, sans-serif;
    font-weight: 400;
    font-size: 0.855cqw;             /* 11.681px */
    line-height: 1.283cqw;
    color: #78716c;
}

/* steps grid */
.arrival__steps {
    list-style: none;
    margin: 2.993cqw 0 0;            /* pt 40.885 */
    padding: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 0.855cqw;            /* 11.681px */
    row-gap: 2.138cqw;
}
.astep {
    display: flex;
    flex-direction: column;
    gap: 0.855cqw;                   /* 11.681px */
    padding: 1.336cqw;               /* 18.252px */
    border: 0.073cqw solid;
    border-radius: 0.855cqw;         /* 11.681px */
}
.astep--full { grid-column: 1 / -1; }

.astep--rose   { background: #fef2f2; border-color: #ffe2e2; }
.astep--amber  { background: #fffbeb; border-color: #fef3c6; }
.astep--green  { background: #ecfdf5; border-color: #d0fae5; }
.astep--blue   { background: #eff6ff; border-color: #dbeafe; }
.astep--purple { background: #faf5ff; border-color: #ffe2e2; }

/* number + rule */
.astep__num {
    display: flex;
    align-items: center;
    gap: 0.585cqw;                   /* 8px */
    width: 11.71cqw;                 /* ~160px */
    max-width: 100%;
}
.astep__num span:first-child {
    font-family: "Menlo", "Consolas", monospace;
    font-weight: 400;
    font-size: 0.641cqw;             /* 8.761px */
    line-height: 0.855cqw;
    color: #78716c;
}
.astep__line { flex: 1; height: 0.073cqw; background: rgba(28, 25, 23, 0.1); }

/* content */
.astep__content { display: flex; flex-direction: column; }
.astep__title {
    margin: 0;
    font-weight: 700;
    font-size: 0.962cqw;             /* 13.142px */
    line-height: 1.443cqw;           /* 19.712px */
    color: #1c1917;
}
.astep__lead,
.astep__list {
    margin: 0.439cqw 0 0;            /* ~6px between blocks */
    font-family: "Inter", system-ui, sans-serif;
    font-size: 0.748cqw;             /* 10.221px */
    line-height: 1.216cqw;           /* 16.61px */
}
.astep__list { padding-left: 1.537cqw; }   /* ~21px */
.astep__list li { margin: 0; }
/* per-theme body text colour / weight */
.astep--rose  .astep__lead, .astep--rose  .astep__list,
.astep--amber .astep__lead, .astep--amber .astep__list { color: #7a5a5a; font-weight: 500; }
.astep--green  .astep__lead, .astep--green  .astep__list,
.astep--blue   .astep__lead, .astep--blue   .astep__list,
.astep--purple .astep__lead, .astep--purple .astep__list { color: #78716c; font-weight: 400; }

/* note */
.arrival__note {
    margin: 1.71cqw 0 0;
    font-family: "Inter", system-ui, sans-serif;
    font-weight: 700;
    font-size: 0.748cqw;             /* 10.221px */
    line-height: 1.216cqw;
    color: #7a5a5a;
    text-align: center;
}

/* =========================================================
   ON ARRIVAL — MOBILE (< 768px)
   ========================================================= */
@media (max-width: 767.98px) {
    .arrival { container-type: normal; }
    .arrival__tabs-inner { width: 100%; padding: 0 12px; }
    .arrival__tab { padding: 14px 16px; font-size: 13px; line-height: 1.2; }

    .arrival__body { padding: 44px 0; }
    .arrival__inner { max-width: 100%; padding: 0 22px; }

    .arrival__eyebrow { font-size: 12px; line-height: 1; gap: 8px; }
    .arrival__eyebrow-line { width: 74px; }
    .arrival__title { padding-top: 12px; font-size: clamp(22px, 6vw, 28px); line-height: 1.25; white-space: normal; }
    .arrival__sub { padding-top: 12px; font-size: 14px; line-height: 1.5; }

    .arrival__steps { grid-template-columns: 1fr; row-gap: 16px; margin-top: 28px; }
    .astep--full { grid-column: auto; }
    .astep { gap: 14px; padding: 20px; border-width: 1px; border-radius: 14px; }
    .astep__num { width: 160px; gap: 8px; }
    .astep__num span:first-child { font-size: 12px; line-height: 1; }
    .astep__line { height: 1px; }
    .astep__title { font-size: 17px; line-height: 1.35; }
    .astep__lead, .astep__list { margin-top: 8px; font-size: 14px; line-height: 1.6; }
    .astep__list { padding-left: 20px; }

    .arrival__note { margin-top: 24px; font-size: 13px; line-height: 1.55; }
}


/* =========================================================
   Important Notice  (internal.html)
   Design reference width: 1366px  ->  1cqw = 13.66px
   ========================================================= */

.notice-in {
    background: #fff8f2;
    padding: 3.207cqw 20.47cqw;      /* py 43.805 / px 279.625 */
    container-type: inline-size;
    font-family: "Plus Jakarta Sans", system-ui, sans-serif;
}
.notice-card {
    display: flex;
    align-items: stretch;
    overflow: hidden;
    background: #fffefd;
    border: 0.073cqw solid #fee685;
    border-radius: 0.748cqw;         /* 10.221px */
}
.notice-card__stripe { flex: none; width: 0.321cqw; background: #ffb900; }  /* 4.381px */

.notice-card__row {
    flex: 1;
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: 1.871cqw;
    padding: 1.871cqw 2.672cqw;      /* 25.553 / 36.505 */
}

/* left */
.notice-card__left {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 1.82cqw;
    padding-right: 2.5cqw;
}
.notice-card__head { display: flex; align-items: center; gap: 0.428cqw; }
.notice-card__alert { width: 1.069cqw; height: 1.069cqw; color: #e17100; flex: none; }  /* 14.602px */
.notice-card__title {
    margin: 0;
    font-weight: 800;
    font-size: 0.962cqw;             /* 13.142px */
    line-height: 1.496cqw;           /* 20.443px */
    color: #973c00;
}
.notice-card__text {
    margin: 0.641cqw 0 0;            /* pt 8.761 */
    font-family: "Inter", system-ui, sans-serif;
    font-weight: 400;
    font-size: 0.748cqw;             /* 10.221px */
    line-height: 1.283cqw;           /* 17.522px */
    color: #7b3306;
}
.notice-card__text strong { font-weight: 600; }

.notice-card__actions { display: flex; align-items: center; gap: 0.534cqw; }  /* 7.301px */
.notice-card__phone {
    display: inline-flex;
    align-items: center;
    gap: 0.428cqw;
    height: 2.245cqw;                /* 30.664px */
    padding: 0 0.855cqw;             /* 11.681px */
    background: #e17100;
    border-radius: 0.748cqw;
    font-family: "Inter", system-ui, sans-serif;
    font-weight: 600;
    font-size: 0.748cqw;             /* 10.221px */
    line-height: 1.069cqw;
    color: #ffffff;
    text-decoration: none;
    white-space: nowrap;
}
.notice-card__phone svg { width: 0.855cqw; height: 0.855cqw; }  /* 11.681px */
.notice-card__phone:hover { background: #c8640d; color: #ffffff; }
.notice-card__hours {
    display: inline-flex;
    align-items: center;
    padding: 0.588cqw 0.908cqw;      /* 8.031 / 12.411 */
    background: #fef3c6;
    border: 0.073cqw solid #fee685;
    border-radius: 0.748cqw;
    font-family: "Inter", system-ui, sans-serif;
    font-weight: 500;
    font-size: 0.748cqw;             /* 10.221px */
    line-height: 1.069cqw;
    color: #973c00;
    white-space: nowrap;
}

/* right QR */
.notice-card__qr-wrap {
    flex: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.428cqw;                   /* 5.841px */
}
.notice-card__qr {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 9.116cqw;                 /* 124.527px */
    height: 9.116cqw;
    padding: 0.962cqw;
    background: #ffffff;
    border: 0.107cqw solid #fee685;
    border-radius: 0.855cqw;         /* 11.681px */
    color: #8b0000;
}
.notice-card__qr svg { width: 4.115cqw; height: 4.115cqw; }  /* 56.217px */
.notice-card__qr-label {
    font-family: "Inter", system-ui, sans-serif;
    font-weight: 500;
    font-size: 0.695cqw;             /* 9.491px */
    line-height: 0.855cqw;
    color: #bb4d00;
    text-align: center;
}

/* =========================================================
   NOTICE — MOBILE (< 768px)
   ========================================================= */
@media (max-width: 767.98px) {
    .notice-in { padding: 28px 22px; container-type: normal; }
    .notice-card__stripe { width: 5px; }
    .notice-card__row { flex-direction: column; align-items: stretch; gap: 22px; padding: 22px; }
    .notice-card__left { padding-right: 0; gap: 18px; }
    .notice-card__head { gap: 8px; }
    .notice-card__alert { width: 18px; height: 18px; }
    .notice-card__title { font-size: 16px; line-height: 1.3; }
    .notice-card__text { margin-top: 10px; font-size: 13px; line-height: 1.6; }
    .notice-card__actions { flex-wrap: wrap; gap: 10px; }
    .notice-card__phone { height: 38px; gap: 8px; padding: 0 14px; font-size: 13px; border-radius: 10px; }
    .notice-card__phone svg { width: 15px; height: 15px; }
    .notice-card__hours { padding: 10px 14px; font-size: 13px; border-radius: 10px; }
    .notice-card__qr-wrap { flex-direction: row; align-self: flex-start; align-items: center; gap: 12px; }
    .notice-card__qr { width: 110px; height: 110px; padding: 14px; border-radius: 12px; border-width: 1.5px; }
    .notice-card__qr svg { width: 64px; height: 64px; }
    .notice-card__qr-label { font-size: 12px; line-height: 1.3; }
}
