/* ======================================================
   ROOT
====================================================== */

:root {

    --forest: #243b31;
    --forest-dark: #172820;
    --forest-light: #536d5d;

    --wine: #723c42;
    --wine-dark: #51282d;

    --sand: #d2b482;
    --sand-light: #ead8b7;

    --paper: #f5f0e6;
    --paper-dark: #e9e0d0;

    --charcoal: #222827;
    --text: #5d625f;

    --white: #ffffff;

    --border: #dcd6cb;

    --shadow:
        0 22px 65px rgba(26, 35, 31, 0.12);

}


/* ======================================================
   RESET
====================================================== */

* {

    margin: 0;
    padding: 0;
    box-sizing: border-box;

}


html {

    scroll-behavior: smooth;

}


body {

    font-family: "DM Sans", sans-serif;

    color: var(--text);

    background: #fff;

    line-height: 1.7;

    overflow-x: hidden;

}


img {

    display: block;
    width: 100%;

}


a {

    text-decoration: none;

}


button,
input,
select,
textarea {

    font: inherit;

}


button {

    cursor: pointer;

}


.container {

    width:
        min(1180px, calc(100% - 40px));

    margin-inline: auto;

}


.section {

    padding: 105px 0;

}


/* ======================================================
   TYPOGRAPHY
====================================================== */

h1,
h2,
h3,
h4 {

    font-family:
        "Barlow Condensed",
        sans-serif;

    line-height: 1.03;

    color: var(--charcoal);

}


h2 {

    font-size:
        clamp(2.8rem, 5vw, 4.5rem);

}


.eyebrow {

    display: inline-block;

    color: var(--wine);

    font-size: .7rem;

    font-weight: 800;

    letter-spacing: .18em;

    text-transform: uppercase;

    margin-bottom: 16px;

}


.eyebrow.light {

    color: var(--sand-light);

}


/* ======================================================
   TOP NOTICE
====================================================== */

.top-notice {

    background:
        var(--forest-dark);

    color:
        #d8e0db;

}


.top-notice-inner {

    min-height:
        38px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        20px;

    font-size:
        .72rem;

}


.top-notice a {

    color:
        var(--sand-light);

    font-weight:
        700;

}


/* ======================================================
   HEADER
====================================================== */

.header {

    background:
        rgba(255, 255, 255, .98);

    height:
        80px;

    position:
        sticky;

    top:
        0;

    z-index:
        1000;

    border-bottom:
        1px solid #e6e2da;

}


.navbar {

    height:
        100%;

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

}


.brand {

    display:
        flex;

    align-items:
        center;

    gap:
        12px;

}


.brand-crest {

    width:
        49px;

    height:
        55px;

    background:
        var(--wine);

    clip-path:
        polygon(50% 0,
            100% 15%,
            88% 80%,
            50% 100%,
            12% 80%,
            0 15%);

    display:
        grid;

    place-items:
        center;

}


.brand-crest span {

    color:
        white;

    font-family:
        "Libre Baskerville",
        serif;

    font-weight:
        700;

    font-size:
        1.05rem;

}


.brand-name {

    display:
        flex;

    flex-direction:
        column;

    line-height:
        1;

}


.brand-name strong {

    font-family:
        "Barlow Condensed";

    color:
        var(--forest-dark);

    font-size:
        1.28rem;

    letter-spacing:
        .05em;

}


.brand-name small {

    margin-top:
        5px;

    color:
        var(--wine);

    font-size:
        .59rem;

    font-weight:
        800;

    letter-spacing:
        .13em;

}


.nav-links {

    display:
        flex;

    align-items:
        center;

    gap:
        26px;

}


.nav-links a {

    color:
        var(--forest-dark);

    font-size:
        .78rem;

    font-weight:
        700;

    transition:
        .25s;

}


.nav-links a:hover {

    color:
        var(--wine);

}


.nav-links .nav-enquiry {

    color:
        white;

    background:
        var(--wine);

    padding:
        12px 19px;

}


.menu-button {

    display:
        none;

    background:
        none;

    border:
        0;

}


.menu-button span {

    display:
        block;

    width:
        27px;

    height:
        2px;

    background:
        var(--forest-dark);

    margin:
        6px 0;

}


/* ======================================================
   HERO
====================================================== */

.hero {

    position:
        relative;

    background:
        var(--paper);

    overflow:
        hidden;

}


.hero::before {

    content:
        "";

    position:
        absolute;

    width:
        570px;

    height:
        570px;

    background:
        var(--sand-light);

    border-radius:
        50%;

    right:
        -240px;

    top:
        -200px;

    opacity:
        .45;

}


.hero-grid {

    min-height:
        690px;

    display:
        grid;

    grid-template-columns:
        .95fr 1.05fr;

    gap:
        70px;

    align-items:
        center;

    padding-top:
        65px;

    padding-bottom:
        100px;

}


.hero-copy {

    position:
        relative;

    z-index:
        3;

}


.hero-kicker span {

    display:
        inline-flex;

    align-items:
        center;

    gap:
        10px;

    color:
        var(--wine);

    font-size:
        .7rem;

    font-weight:
        800;

    letter-spacing:
        .17em;

}


.hero-kicker span::before {

    content:
        "";

    width:
        44px;

    height:
        2px;

    background:
        var(--wine);

}


.hero h1 {

    font-family:
        "Libre Baskerville",
        serif;

    color:
        var(--forest-dark);

    font-size:
        clamp(3.3rem, 6vw, 5.6rem);

    line-height:
        1.12;

    margin:
        25px 0;

    max-width:
        670px;

}


.hero h1 em {

    font-style:
        italic;

    color:
        var(--wine);

}


.hero-text {

    max-width:
        590px;

    font-size:
        1rem;

}


.hero-buttons {

    display:
        flex;

    align-items:
        center;

    gap:
        25px;

    margin-top:
        30px;

}


.button {

    min-height:
        50px;

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    padding:
        0 25px;

    font-size:
        .78rem;

    font-weight:
        800;

    transition:
        .3s;

}


.primary-button {

    background:
        var(--forest);

    color:
        white;

}


.primary-button:hover {

    background:
        var(--forest-dark);

    transform:
        translateY(-2px);

}


.text-button {

    color:
        var(--wine);

    padding:
        0;

}


.text-button span {

    margin-left:
        8px;

}


.hero-trust {

    margin-top:
        45px;

    padding-top:
        25px;

    border-top:
        1px solid var(--border);

    display:
        grid;

    grid-template-columns:
        repeat(3, 1fr);

    gap:
        15px;

}


.hero-trust>div {

    display:
        flex;

    flex-direction:
        column;

}


.hero-trust strong {

    font-family:
        "Barlow Condensed";

    color:
        var(--forest-dark);

    font-size:
        1.35rem;

}


.hero-trust span {

    font-size:
        .65rem;

}


/* ======================================================
   HERO VISUAL
====================================================== */

.hero-visual {

    position:
        relative;

    min-height:
        555px;

}


.hero-image-main {

    position:
        absolute;

    width:
        74%;

    height:
        500px;

    right:
        0;

    top:
        0;

    z-index:
        2;

    clip-path:
        polygon(9% 0,
            100% 0,
            100% 90%,
            87% 100%,
            0 100%,
            0 12%);

    box-shadow:
        var(--shadow);

}


.hero-image-main img {

    height:
        100%;

    object-fit:
        cover;

}


.hero-image-secondary {

    position:
        absolute;

    left:
        0;

    bottom:
        0;

    width:
        40%;

    height:
        255px;

    z-index:
        4;

    border:
        8px solid var(--paper);

}


.hero-image-secondary img {

    height:
        100%;

    object-fit:
        cover;

}


.hero-year {

    position:
        absolute;

    right:
        15px;

    bottom:
        -10px;

    z-index:
        5;

    background:
        var(--wine);

    color:
        white;

    padding:
        18px 24px;

}


.hero-year span {

    display:
        block;

    color:
        var(--sand-light);

    font-size:
        .62rem;

    text-transform:
        uppercase;

    letter-spacing:
        .13em;

}


.hero-year strong {

    font-family:
        "Barlow Condensed";

    font-size:
        1.8rem;

}


.hero-pattern {

    position:
        absolute;

    width:
        210px;

    height:
        210px;

    right:
        -35px;

    top:
        -30px;

    background-image:
        radial-gradient(var(--wine) 1.5px,
            transparent 1.5px);

    background-size:
        14px 14px;

    opacity:
        .18;

}


.hero-bottom {

    background:
        var(--forest);

}


.hero-bottom-inner {

    min-height:
        76px;

    display:
        flex;

    justify-content:
        space-between;

    align-items:
        center;

    color:
        white;

}


.hero-bottom-inner p {

    font-size:
        .78rem;

}


.hero-bottom-inner strong {

    color:
        var(--sand-light);

}


.hero-bottom-inner a {

    color:
        var(--sand-light);

    font-size:
        .75rem;

    font-weight:
        800;

}


/* ======================================================
   INTRO
====================================================== */

.intro-layout {

    display:
        grid;

    grid-template-columns:
        .8fr 1fr;

    gap:
        100px;

    align-items:
        start;

}


.intro-heading h2 {

    font-family:
        "Libre Baskerville",
        serif;

    max-width:
        550px;

}


.intro-copy p {

    margin-bottom:
        18px;

}


.intro-lead {

    font-size:
        1.08rem;

}


.feature-strip {

    margin-top:
        65px;

    display:
        grid;

    grid-template-columns:
        repeat(5, 1fr);

    border-top:
        1px solid var(--border);

    border-bottom:
        1px solid var(--border);

}


.feature-item {

    padding:
        24px 18px;

    display:
        flex;

    gap:
        12px;

    border-right:
        1px solid var(--border);

}


.feature-item:last-child {

    border-right:
        0;

}


.feature-item>span {

    color:
        var(--wine);

    font-family:
        "Barlow Condensed";

    font-size:
        1.5rem;

    font-weight:
        800;

}


.feature-item strong {

    display:
        block;

    color:
        var(--forest-dark);

    font-family:
        "Barlow Condensed";

    font-size:
        1.3rem;

}


.feature-item p {

    font-size:
        .66rem;

}


/* ======================================================
   SECTION TITLE
====================================================== */

.section-title {

    display:
        flex;

    justify-content:
        space-between;

    gap:
        50px;

    align-items:
        end;

    margin-bottom:
        55px;

}


.section-title h2 {

    color:
        white;

    max-width:
        720px;

}


.section-title>p {

    max-width:
        430px;

    color:
        #c7d1cb;

}


.dark-title h2 {

    color:
        var(--charcoal);

}


.dark-title>p {

    color:
        var(--text);

}


/* ======================================================
   ADMISSION JOURNEY
====================================================== */

.admission-section {

    background:
        var(--forest-dark);

}


.journey-grid {

    display:
        grid;

    grid-template-columns:
        repeat(5, 1fr);

}


.journey-card {

    position:
        relative;

    padding:
        35px 25px 35px 0;

}


.journey-number {

    color:
        var(--sand);

    font-family:
        "Libre Baskerville";

    font-size:
        1.4rem;

    margin-bottom:
        55px;

}


.journey-card h3 {

    color:
        white;

    font-size:
        1.7rem;

    margin-bottom:
        13px;

}


.journey-card p {

    color:
        #aebcb4;

    font-size:
        .76rem;

}


.journey-line {

    position:
        absolute;

    top:
        48px;

    left:
        47px;

    right:
        15px;

    height:
        1px;

    background:
        rgba(255, 255, 255, .14);

}


/* ======================================================
   CLASS SECTION
====================================================== */

.class-section {

    background:
        white;

}


.class-editorial-grid {

    display:
        grid;

    grid-template-columns:
        1.15fr .85fr;

    grid-template-rows:
        1fr 1fr;

    gap:
        18px;

}


.class-main-card {

    grid-row:
        span 2;

    background:
        var(--paper);

}


.class-image {

    height:
        330px;

    overflow:
        hidden;

}


.class-image img {

    height:
        100%;

    object-fit:
        cover;

}


.class-card-content {

    padding:
        35px;

}


.class-card-content>span,
.class-mini {

    color:
        var(--wine);

    font-size:
        .65rem;

    font-weight:
        800;

    letter-spacing:
        .15em;

}


.class-card-content h3 {

    font-family:
        "Libre Baskerville";

    font-size:
        2.6rem;

    margin:
        12px 0;

}


.class-card-content p {

    margin-bottom:
        22px;

}


.class-card-content a,
.class-side-card a {

    color:
        var(--wine);

    font-size:
        .74rem;

    font-weight:
        800;

}


.class-side-card {

    min-height:
        250px;

    padding:
        35px;

    position:
        relative;

    overflow:
        hidden;

}


.class-big-number {

    position:
        absolute;

    right:
        10px;

    top:
        -15px;

    font-family:
        "Barlow Condensed";

    font-weight:
        800;

    font-size:
        8rem;

    opacity:
        .08;

}


.class-side-card h3 {

    font-family:
        "Libre Baskerville";

    font-size:
        2.4rem;

    margin:
        15px 0;

}


.class-side-card p {

    max-width:
        470px;

    font-size:
        .78rem;

    margin-bottom:
        20px;

}


.wine-card {

    background:
        var(--wine);

    color:
        #f4e8e9;

}


.wine-card h3 {

    color:
        white;

}


.wine-card .class-mini,
.wine-card a {

    color:
        var(--sand-light);

}


.beige-card {

    background:
        var(--paper-dark);

}


.green-card {

    background:
        var(--forest);

    color:
        #d7e1db;

}


.green-card h3 {

    color:
        white;

}


.green-card .class-mini,
.green-card a {

    color:
        var(--sand-light);

}


/* ======================================================
   AISSEE
====================================================== */

.aissee-section {

    background:
        var(--wine-dark);

    padding:
        105px 0;

}


.aissee-layout {

    display:
        grid;

    grid-template-columns:
        .85fr 1.15fr;

    gap:
        80px;

    align-items:
        center;

}


.aissee-copy h2 {

    color:
        white;

    font-family:
        "Libre Baskerville";

}


.aissee-copy>p {

    color:
        #decacc;

    margin:
        20px 0;

}


.aissee-quote {

    border-left:
        3px solid var(--sand);

    padding:
        5px 0 5px 22px;

    margin:
        30px 0;

    display:
        flex;

    gap:
        12px;

}


.aissee-quote span {

    color:
        var(--sand);

    font-family:
        serif;

    font-size:
        3rem;

    line-height:
        1;

}


.aissee-quote p {

    color:
        white;

    font-family:
        "Libre Baskerville";

    font-style:
        italic;

}


.cream-button {

    background:
        var(--sand-light);

    color:
        var(--forest-dark);

}


.aissee-subjects {

    display:
        grid;

    grid-template-columns:
        1fr 1fr;

    border:
        1px solid rgba(255, 255, 255, .14);

}


.aissee-subjects article {

    min-height:
        210px;

    padding:
        30px;

    border-right:
        1px solid rgba(255, 255, 255, .14);

    border-bottom:
        1px solid rgba(255, 255, 255, .14);

}


.aissee-subjects article:nth-child(even) {

    border-right:
        0;

}


.aissee-subjects article:nth-last-child(-n+2) {

    border-bottom:
        0;

}


.subject-number {

    color:
        var(--sand);

    font-family:
        "Libre Baskerville";

}


.aissee-subjects h3 {

    color:
        white;

    font-size:
        1.7rem;

    margin:
        25px 0 10px;

}


.aissee-subjects p {

    color:
        #d7c5c7;

    font-size:
        .74rem;

}


/* ======================================================
   PREPARATION
====================================================== */

.preparation-section {

    background:
        var(--paper);

}


.section-heading-center {

    text-align:
        center;

    max-width:
        760px;

    margin:
        0 auto 55px;

}


.section-heading-center h2 {

    font-family:
        "Libre Baskerville";

}


.section-heading-center p {

    margin-top:
        14px;

}


.preparation-grid {

    display:
        flex;

    align-items:
        stretch;

    justify-content:
        space-between;

}


.preparation-step {

    flex:
        1;

    background:
        white;

    padding:
        26px 22px;

    border-top:
        3px solid var(--wine);

}


.preparation-step span {

    display:
        block;

    color:
        var(--wine);

    font-size:
        .62rem;

    font-weight:
        800;

    text-transform:
        uppercase;

    letter-spacing:
        .1em;

}


.preparation-step strong {

    display:
        block;

    color:
        var(--forest-dark);

    font-family:
        "Barlow Condensed";

    font-size:
        1.65rem;

    margin:
        10px 0;

}


.preparation-step p {

    font-size:
        .72rem;

}


.preparation-arrow {

    width:
        45px;

    display:
        grid;

    place-items:
        center;

    color:
        var(--wine);

    font-size:
        1.5rem;

}


/* ======================================================
   ELIGIBILITY
====================================================== */

.eligibility-section {

    background:
        white;

}


.eligibility-layout {

    display:
        grid;

    grid-template-columns:
        .7fr 1.3fr;

    gap:
        90px;

}


.eligibility-intro {

    position:
        sticky;

    top:
        120px;

    align-self:
        start;

}


.eligibility-intro h2 {

    font-family:
        "Libre Baskerville";

}


.eligibility-intro p {

    margin:
        20px 0 25px;

}


.dark-button {

    background:
        var(--forest-dark);

    color:
        white;

}


.eligibility-row {

    display:
        grid;

    grid-template-columns:
        70px 1fr;

    gap:
        25px;

    padding:
        28px 0;

    border-bottom:
        1px solid var(--border);

}


.eligibility-row>span {

    width:
        52px;

    height:
        52px;

    border:
        1px solid var(--wine);

    color:
        var(--wine);

    display:
        grid;

    place-items:
        center;

    font-family:
        "Libre Baskerville";

}


.eligibility-row h3 {

    font-size:
        1.7rem;

    margin-bottom:
        8px;

}


.eligibility-row p {

    font-size:
        .8rem;

}


/* ======================================================
   RESIDENTIAL
====================================================== */

.residential-section {

    display:
        grid;

    grid-template-columns:
        1fr 1fr;

}


.residential-visual {

    position:
        relative;

    min-height:
        640px;

}


.residential-visual img {

    height:
        100%;

    object-fit:
        cover;

}


.visual-caption {

    position:
        absolute;

    bottom:
        35px;

    right:
        0;

    background:
        var(--paper);

    padding:
        22px 30px;

}


.visual-caption strong {

    display:
        block;

    color:
        var(--forest-dark);

    font-family:
        "Libre Baskerville";

}


.visual-caption span {

    font-size:
        .63rem;

}


.residential-copy {

    background:
        var(--forest);

    padding:
        90px;

}


.residential-copy h2 {

    color:
        white;

    font-family:
        "Libre Baskerville";

}


.residential-copy>p {

    color:
        #d2ddd6;

    margin-top:
        18px;

}


.residential-points {

    margin:
        30px 0;

    display:
        grid;

    grid-template-columns:
        1fr 1fr;

    gap:
        11px;

}


.residential-points span {

    color:
        white;

    font-size:
        .75rem;

}


.residential-points span::before {

    content:
        "◆";

    color:
        var(--sand);

    margin-right:
        8px;

    font-size:
        .6rem;

}


/* ======================================================
   FEES
====================================================== */

.fees-section {

    background:
        var(--paper);

}


.fees-layout {

    display:
        grid;

    grid-template-columns:
        .7fr 1.3fr;

    gap:
        70px;

}


.fees-header h2 {

    font-family:
        "Libre Baskerville";

}


.fees-header p {

    margin-top:
        18px;

}


.fee-components {

    display:
        grid;

    grid-template-columns:
        repeat(3, 1fr);

    border:
        1px solid var(--border);

}


.fee-components>div {

    min-height:
        150px;

    padding:
        24px;

    background:
        white;

    border-right:
        1px solid var(--border);

    border-bottom:
        1px solid var(--border);

}


.fee-components>div:nth-child(3n) {

    border-right:
        0;

}


.fee-components>div:nth-last-child(-n+3) {

    border-bottom:
        0;

}


.fee-components span {

    display:
        block;

    color:
        var(--wine);

    font-family:
        "Libre Baskerville";

}


.fee-components strong {

    display:
        block;

    color:
        var(--forest-dark);

    font-family:
        "Barlow Condensed";

    font-size:
        1.5rem;

    margin:
        17px 0 4px;

}


.fee-components small {

    font-size:
        .66rem;

}


.fee-note {

    grid-column:
        2;

    background:
        var(--wine);

    color:
        white;

    padding:
        24px;

    display:
        grid;

    grid-template-columns:
        60px 1fr auto;

    align-items:
        center;

    gap:
        20px;

}


.fee-note>span {

    color:
        var(--sand-light);

    font-size:
        .65rem;

    font-weight:
        800;

}


.fee-note p {

    color:
        #eadbdd;

    font-size:
        .72rem;

}


.fee-note a {

    color:
        var(--sand-light);

    font-size:
        .72rem;

    font-weight:
        800;

}


/* ======================================================
   DOCUMENTS
====================================================== */

.documents-section {

    background:
        white;

}


.document-grid {

    display:
        grid;

    grid-template-columns:
        repeat(3, 1fr);

    gap:
        14px;

}


.document-card {

    background:
        var(--paper);

    padding:
        28px;

    min-height:
        190px;

    border-bottom:
        3px solid transparent;

    transition:
        .3s;

}


.document-card:hover {

    transform:
        translateY(-5px);

    border-color:
        var(--wine);

}


.document-card>span {

    color:
        var(--wine);

    font-family:
        "Libre Baskerville";

}


.document-card h3 {

    margin:
        25px 0 8px;

    font-size:
        1.7rem;

}


.document-card p {

    font-size:
        .73rem;

}


/* ======================================================
   SEO SECTION
====================================================== */

.seo-section {

    background:
        var(--paper);

}


.seo-layout {

    display:
        grid;

    grid-template-columns:
        1fr 320px;

    gap:
        80px;

    align-items:
        start;

}


.seo-content h2 {

    font-family:
        "Libre Baskerville";

}


.seo-content h3 {

    font-family:
        "Libre Baskerville";

    font-size:
        1.6rem;

    margin-top:
        35px;

}


.seo-content p {

    margin-top:
        17px;

}


.seo-sidebar {

    background:
        var(--forest-dark);

    padding:
        30px;

    position:
        sticky;

    top:
        110px;

}


.sidebar-title {

    display:
        block;

    color:
        var(--sand);

    font-size:
        .65rem;

    font-weight:
        800;

    letter-spacing:
        .15em;

    margin-bottom:
        16px;

}


.seo-sidebar>a {

    display:
        block;

    color:
        #c8d2cc;

    padding:
        10px 0;

    font-size:
        .72rem;

    border-bottom:
        1px solid rgba(255, 255, 255, .08);

}


.seo-sidebar>a:hover {

    color:
        var(--sand-light);

}


.sidebar-cta {

    margin-top:
        28px;

    background:
        var(--wine);

    padding:
        22px;

}


.sidebar-cta span {

    display:
        block;

    color:
        var(--sand-light);

    font-size:
        .58rem;

    font-weight:
        800;

}


.sidebar-cta strong {

    display:
        block;

    color:
        white;

    font-family:
        "Barlow Condensed";

    font-size:
        1.4rem;

    margin:
        8px 0 14px;

}


.sidebar-cta a {

    color:
        var(--sand-light);

    font-size:
        .7rem;

    font-weight:
        800;

}


/* ======================================================
   REASONS
====================================================== */

.reasons-section {

    background:
        white;

}


.reasons-grid {

    display:
        grid;

    grid-template-columns:
        repeat(3, 1fr);

    gap:
        15px;

}


.reasons-grid article {

    min-height:
        210px;

    padding:
        30px;

    border:
        1px solid var(--border);

}


.reasons-grid span {

    color:
        var(--wine);

    font-family:
        "Libre Baskerville";

}


.reasons-grid h3 {

    margin:
        23px 0 8px;

    font-size:
        1.8rem;

}


.reasons-grid p {

    font-size:
        .75rem;

}


/* ======================================================
   FAQ
====================================================== */

.faq-section {

    background:
        var(--wine-dark);

}


.faq-layout {

    display:
        grid;

    grid-template-columns:
        .75fr 1.25fr;

    gap:
        90px;

}


.faq-intro {

    position:
        sticky;

    top:
        120px;

    align-self:
        start;

}


.faq-intro h2 {

    color:
        white;

    font-family:
        "Libre Baskerville";

}


.faq-intro>p {

    color:
        #dac9cb;

    margin:
        20px 0 27px;

}


.outline-light-button {

    color:
        var(--sand-light);

    border:
        1px solid var(--sand-light);

}


.faq-list {

    border-top:
        1px solid rgba(255, 255, 255, .15);

}


.faq-item {

    border-bottom:
        1px solid rgba(255, 255, 255, .15);

}


.faq-question {

    width:
        100%;

    background:
        transparent;

    border:
        0;

    color:
        white;

    padding:
        22px 0;

    display:
        flex;

    justify-content:
        space-between;

    gap:
        25px;

    text-align:
        left;

    font-family:
        "Barlow Condensed";

    font-size:
        1.4rem;

    font-weight:
        600;

}


.faq-question span {

    color:
        var(--sand);

    font-size:
        1.6rem;

}


.faq-answer {

    max-height:
        0;

    overflow:
        hidden;

    transition:
        max-height .35s ease;

}


.faq-answer p {

    color:
        #d5c4c6;

    font-size:
        .77rem;

    padding-bottom:
        22px;

}


.faq-item.active .faq-answer {

    max-height:
        300px;

}


.faq-item.active .faq-question span {

    transform:
        rotate(45deg);

}


/* ======================================================
   ENQUIRY
====================================================== */

.enquiry-section {

    background:
        var(--paper);

    padding:
        105px 0;

}


.enquiry-layout {

    display:
        grid;

    grid-template-columns:
        .85fr 1.15fr;

    gap:
        85px;

    align-items:
        center;

}


.enquiry-info h2 {

    font-family:
        "Libre Baskerville";

}


.enquiry-info>p {

    margin:
        20px 0;

}


.enquiry-services {

    display:
        grid;

    grid-template-columns:
        1fr 1fr;

    gap:
        10px;

    margin:
        30px 0;

}


.enquiry-services div {

    font-size:
        .75rem;

    color:
        var(--forest-dark);

}


.enquiry-services span {

    color:
        var(--wine);

    margin-right:
        7px;

    font-family:
        "Libre Baskerville";

}


.enquiry-phone {

    display:
        inline-flex;

    flex-direction:
        column;

    padding:
        18px 25px;

    background:
        var(--forest);

    color:
        white;

}


.enquiry-phone small {

    color:
        var(--sand-light);

    font-size:
        .58rem;

}


.enquiry-phone strong {

    font-family:
        "Barlow Condensed";

    font-size:
        1.8rem;

}


.form-wrapper {

    background:
        white;

    padding:
        38px;

    box-shadow:
        var(--shadow);

    border-top:
        5px solid var(--wine);

}


.form-heading {

    margin-bottom:
        25px;

}


.form-heading span {

    color:
        var(--wine);

    font-size:
        .62rem;

    font-weight:
        800;

    letter-spacing:
        .13em;

}


.form-heading h3 {

    font-size:
        2rem;

    margin:
        6px 0;

}


.form-heading p {

    font-size:
        .75rem;

}


.form-field {

    display:
        flex;

    flex-direction:
        column;

    gap:
        5px;

    margin-bottom:
        14px;

}


.form-field label {

    color:
        var(--forest-dark);

    font-size:
        .68rem;

    font-weight:
        800;

}


.form-field input,
.form-field select,
.form-field textarea {

    width:
        100%;

    border:
        1px solid var(--border);

    padding:
        12px;

    background:
        #fff;

    outline:
        none;

}


.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus {

    border-color:
        var(--wine);

}


.form-two {

    display:
        grid;

    grid-template-columns:
        1fr 1fr;

    gap:
        13px;

}


.submit-button {

    width:
        100%;

    border:
        0;

    background:
        var(--wine);

    color:
        white;

    padding:
        14px;

    font-weight:
        800;

}


.submit-button:hover {

    background:
        var(--wine-dark);

}


.privacy-note {

    display:
        block;

    text-align:
        center;

    font-size:
        .62rem;

    margin-top:
        9px;

}


/* ======================================================
   DISCLAIMER
====================================================== */

.disclaimer-section {

    background:
        #e5dccb;

    padding:
        25px 0;

}


.disclaimer-layout {

    display:
        grid;

    grid-template-columns:
        100px 1fr;

    gap:
        25px;

}


.disclaimer-layout>span {

    color:
        var(--wine);

    font-size:
        .7rem;

    font-weight:
        800;

}


.disclaimer-layout p {

    font-size:
        .68rem;

}


/* ======================================================
   FOOTER
====================================================== */

.footer {

    background:
        #101b16;

    padding-top:
        70px;

    color:
        #9dacA4;

}


.footer-grid {

    display:
        grid;

    grid-template-columns:
        2fr 1fr 1fr 1.3fr;

    gap:
        50px;

}


.footer .brand-name strong {

    color:
        white;

}


.footer-intro p {

    max-width:
        390px;

    margin-top:
        22px;

    font-size:
        .74rem;

}


.footer-column {

    display:
        flex;

    flex-direction:
        column;

}


.footer-column h4 {

    color:
        white;

    margin-bottom:
        17px;

}


.footer-column a,
.footer-column span {

    color:
        #9daca4;

    font-size:
        .72rem;

    margin-bottom:
        9px;

}


.footer-column a:hover {

    color:
        var(--sand-light);

}


.footer-bottom {

    border-top:
        1px solid rgba(255, 255, 255, .08);

    margin-top:
        55px;

    padding:
        20px 0;

    display:
        flex;

    justify-content:
        space-between;

    font-size:
        .65rem;

}


/* ======================================================
   MOBILE CTA
====================================================== */

.mobile-cta {

    display:
        none;

}


/* ======================================================
   TABLET
====================================================== */

@media(max-width:1050px) {


    .nav-links {

        gap:
            14px;

    }


    .nav-links a {

        font-size:
            .7rem;

    }


    .hero-grid {

        gap:
            35px;

    }


    .feature-strip {

        grid-template-columns:
            repeat(3, 1fr);

    }


    .journey-grid {

        grid-template-columns:
            repeat(3, 1fr);

    }


    .journey-line {

        display:
            none;

    }


    .preparation-grid {

        display:
            grid;

        grid-template-columns:
            repeat(3, 1fr);

        gap:
            12px;

    }


    .preparation-arrow {

        display:
            none;

    }

}


/* ======================================================
   MOBILE
====================================================== */

@media(max-width:820px) {


    body {

        padding-bottom:
            58px;

    }


    .container {

        width:
            calc(100% - 28px);

    }


    .section {

        padding:
            70px 0;

    }


    /* notice */

    .top-notice-inner {

        justify-content:
            center;

    }


    .top-notice-inner p {

        display:
            none;

    }


    /* nav */

    .header {

        height:
            68px;

    }


    .brand-crest {

        width:
            39px;

        height:
            44px;

    }


    .brand-name strong {

        font-size:
            1.05rem;

    }


    .nav-links {

        display:
            none;

        position:
            absolute;

        top:
            68px;

        left:
            0;

        right:
            0;

        background:
            white;

        padding:
            12px 20px 20px;

        flex-direction:
            column;

        align-items:
            stretch;

        gap:
            0;

        box-shadow:
            0 15px 30px rgba(0, 0, 0, .1);

    }


    .nav-links.active {

        display:
            flex;

    }


    .nav-links a {

        padding:
            12px 4px;

        border-bottom:
            1px solid #eee;

    }


    .nav-enquiry {

        text-align:
            center;

        margin-top:
            10px;

    }


    .menu-button {

        display:
            block;

    }


    /* hero */

    .hero-grid {

        grid-template-columns:
            1fr;

        padding-top:
            60px;

        padding-bottom:
            75px;

    }


    .hero h1 {

        font-size:
            clamp(3rem, 13vw, 4.7rem);

    }


    .hero-visual {

        min-height:
            500px;

    }


    .hero-image-main {

        width:
            84%;

        height:
            430px;

    }


    .hero-image-secondary {

        width:
            44%;

        height:
            210px;

    }


    .hero-bottom-inner {

        flex-direction:
            column;

        justify-content:
            center;

        align-items:
            flex-start;

        padding:
            17px 0;

        gap:
            6px;

    }


    /* intro */

    .intro-layout {

        grid-template-columns:
            1fr;

        gap:
            35px;

    }


    .feature-strip {

        grid-template-columns:
            1fr 1fr;

    }


    /* titles */

    .section-title {

        flex-direction:
            column;

        align-items:
            flex-start;

    }


    /* journey */

    .journey-grid {

        grid-template-columns:
            1fr;

    }


    .journey-card {

        padding-right:
            0;

    }


    .journey-number {

        margin-bottom:
            20px;

    }


    /* class */

    .class-editorial-grid {

        grid-template-columns:
            1fr;

        grid-template-rows:
            auto;

    }


    .class-main-card {

        grid-row:
            auto;

    }


    /* AISSEE */

    .aissee-layout {

        grid-template-columns:
            1fr;

        gap:
            45px;

    }


    /* preparation */

    .preparation-grid {

        grid-template-columns:
            1fr;

    }


    /* eligibility */

    .eligibility-layout {

        grid-template-columns:
            1fr;

        gap:
            45px;

    }


    .eligibility-intro {

        position:
            static;

    }


    /* residential */

    .residential-section {

        grid-template-columns:
            1fr;

    }


    .residential-visual {

        min-height:
            430px;

    }


    .residential-copy {

        padding:
            65px 25px;

    }


    /* fees */

    .fees-layout {

        grid-template-columns:
            1fr;

    }


    .fee-components {

        grid-template-columns:
            1fr 1fr;

    }


    .fee-components>div:nth-child(3n) {

        border-right:
            1px solid var(--border);

    }


    .fee-components>div:nth-child(even) {

        border-right:
            0;

    }


    .fee-components>div:nth-last-child(-n+3) {

        border-bottom:
            1px solid var(--border);

    }


    .fee-components>div:nth-last-child(-n+2) {

        border-bottom:
            0;

    }


    .fee-note {

        grid-column:
            1;

        grid-template-columns:
            1fr;

    }


    /* docs */

    .document-grid {

        grid-template-columns:
            1fr 1fr;

    }


    /* SEO */

    .seo-layout {

        grid-template-columns:
            1fr;

    }


    .seo-sidebar {

        position:
            static;

    }


    /* reasons */

    .reasons-grid {

        grid-template-columns:
            1fr 1fr;

    }


    /* faq */

    .faq-layout {

        grid-template-columns:
            1fr;

        gap:
            45px;

    }


    .faq-intro {

        position:
            static;

    }


    /* enquiry */

    .enquiry-layout {

        grid-template-columns:
            1fr;

        gap:
            45px;

    }


    /* footer */

    .footer-grid {

        grid-template-columns:
            1fr 1fr;

    }


    .footer-bottom {

        flex-direction:
            column;

        gap:
            8px;

    }


    /* mobile CTA */

    .mobile-cta {

        display:
            grid;

        grid-template-columns:
            1fr 1fr;

        position:
            fixed;

        bottom:
            0;

        left:
            0;

        right:
            0;

        z-index:
            2000;

        box-shadow:
            0 -5px 20px rgba(0, 0, 0, .15);

    }


    .mobile-cta a {

        height:
            58px;

        display:
            grid;

        place-items:
            center;

        font-size:
            .78rem;

        font-weight:
            800;

    }


    .mobile-call {

        background:
            var(--forest-dark);

        color:
            white;

    }


    .mobile-enquire {

        background:
            var(--wine);

        color:
            white;

    }

}


/* ======================================================
   SMALL MOBILE
====================================================== */

@media(max-width:520px) {


    .hero-buttons {

        flex-direction:
            column;

        align-items:
            stretch;

    }


    .hero-buttons .button {

        width:
            100%;

    }


    .hero-trust {

        grid-template-columns:
            1fr;

    }


    .hero-visual {

        min-height:
            400px;

    }


    .hero-image-main {

        height:
            350px;

    }


    .hero-image-secondary {

        height:
            165px;

    }


    .hero-year {

        bottom:
            5px;

    }


    .feature-strip {

        grid-template-columns:
            1fr;

    }


    .feature-item {

        border-right:
            0;

        border-bottom:
            1px solid var(--border);

    }


    .aissee-subjects {

        grid-template-columns:
            1fr;

    }


    .aissee-subjects article {

        border-right:
            0;

        border-bottom:
            1px solid rgba(255, 255, 255, .14) !important;

    }


    .aissee-subjects article:last-child {

        border-bottom:
            0 !important;

    }


    .eligibility-row {

        grid-template-columns:
            55px 1fr;

        gap:
            15px;

    }


    .residential-points {

        grid-template-columns:
            1fr;

    }


    .fee-components {

        grid-template-columns:
            1fr;

    }


    .fee-components>div {

        border-right:
            0 !important;

        border-bottom:
            1px solid var(--border) !important;

    }


    .fee-components>div:last-child {

        border-bottom:
            0 !important;

    }


    .document-grid {

        grid-template-columns:
            1fr;

    }


    .reasons-grid {

        grid-template-columns:
            1fr;

    }


    .enquiry-services {

        grid-template-columns:
            1fr;

    }


    .form-two {

        grid-template-columns:
            1fr;

        gap:
            0;

    }


    .form-wrapper {

        padding:
            27px 19px;

    }


    .disclaimer-layout {

        grid-template-columns:
            1fr;

    }


    .footer-grid {

        grid-template-columns:
            1fr;

    }

}