/* STEM Connections - easy-to-edit stylesheet. Header settings are in :root. */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root {
    --navy:#102846;
    --ink:#1b314b;
    --muted:#64748b;
    --blue:#197ebd;
    --green:#24a287;
    --orange:#e99a3f;
    --purple:#8465c6;
    --soft:#f5f8fb;

    /* ===== EASY EDIT: LOGO + HEADER SIZES ===== */
    --logo-desktop-width: 250px;
    --logo-desktop-height: 175px;
    --header-desktop-height: 200px;
    --logo-mobile-width: 155px;
    --logo-mobile-height: 105px;
    --header-mobile-height: 125px;
}

* {
    box-sizing:border-box
}

html {
    scroll-behavior:smooth;
    scroll-padding-top:100px
}

body {
    margin:0;
    font-family:'DM Sans',system-ui,sans-serif;
    color:var(--ink);
    line-height:1.7;
    background:#fff
}

a {
    color:inherit;
    text-decoration:none
}

button,input,textarea,select {
    font:inherit
}

.container {
    width:min(1170px,calc(100% - 44px));
    margin:auto
}

.skip {
    position:absolute;
    left:-10000px;
    top:0;
    background:white;
    padding:12px;
    z-index:30
}

.skip:focus {
    left:0
}

.header {
    height:90px;
    position:sticky;
    top:0;
    z-index:20;
    background:rgba(255,255,255,.96);
    backdrop-filter:blur(14px);
    border-bottom:1px solid #eaf0f4
}

.nav {
    height:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px
}

.brand {
    display:flex;
    align-items:center;
    gap:12px;
    font-size:15px;
    font-weight:800;
    letter-spacing:-.5px;
    color:var(--navy)
}

.brand img {
    width:60px;
    height:60px;
    object-fit:contain
}

.brand span {
    white-space:nowrap
}

.brand b {
    color:var(--blue)
}

nav {
    display:flex;
    align-items:center;
    gap:27px;
    font-size:13px;
    font-weight:700
}

nav a:hover,.textlink:hover {
    color:var(--blue)
}

.nav-cta {
    background:var(--navy);
    color:white!important;
    padding:11px 20px;
    border-radius:30px
}

.menu {
    display:none;
    border:0;
    background:white;
    font-weight:800;
    color:var(--navy)
}

.hero {
    background:radial-gradient(ellipse at 85% 25%,#e8f5f4,transparent 45%),linear-gradient(125deg,#f7fbff,#f7f9fd 65%,#fff);
    overflow:hidden
}

.hero-grid {
    min-height:680px;
    display:grid;
    grid-template-columns:1.15fr .85fr;
    align-items:center;
    gap:55px;
    padding:72px 0 88px
}

.eyebrow,.kicker {
    font-size:12px;
    font-weight:800;
    letter-spacing:2px;
    color:#16818f;
    text-transform:uppercase
}

.eyebrow {
    display:inline-flex;
    align-items:center;
    gap:10px;
    background:white;
    border:1px solid #dce9ef;
    padding:9px 16px;
    border-radius:30px;
    letter-spacing:1px
}

.dot {
    height:8px;
    width:8px;
    background:var(--green);
    border-radius:50%
}

h1,h2,h3 {
    font-family:Manrope,system-ui,sans-serif;
    line-height:1.17;
    color:var(--navy)
}

h1 {
    font-size:clamp(42px,4.3vw,65px);
    font-weight:800;
    letter-spacing:-3.4px;
    margin:27px 0
}

h1 em {
    font-style:normal;
    color:var(--blue)
}

h2 {
    font-size:clamp(30px,3.2vw,46px);
    letter-spacing:-1.7px;
    margin:14px 0 25px
}

h2 span {
    color:var(--blue)
}

h3 {
    font-size:21px;
    letter-spacing:-.5px
}

.lead {
    font-size:17px;
    max-width:640px;
    color:#576c80
}

.actions {
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    margin-top:31px
}

.button {
    display:inline-flex;
    justify-content:center;
    gap:20px;
    align-items:center;
    padding:14px 22px;
    border-radius:8px;
    font-size:13px;
    font-weight:800;
    transition:transform .2s;
    cursor:pointer;
    border:1px solid transparent
}

.button:hover {
    transform:translateY(-2px)
}

.primary {
    background:var(--navy);
    color:white
}

.outline {
    border-color:#c9d9e4;
    background:#fff;
    color:var(--navy)
}

.hero-foot {
    display:flex;
    gap:22px;
    flex-wrap:wrap;
    margin-top:40px;
    color:var(--muted);
    font-size:12px;
    font-weight:700
}

.hero-foot span:before {
    content:'✓';
    color:var(--green);
    margin-right:7px
}

.hero-art {
    height:480px;
    position:relative;
    display:grid;
    place-items:center
}

.orbit {
    position:absolute;
    border:1px solid #b6d4df;
    border-radius:50%;
    transform:rotate(-25deg)
}

.orbit.one {
    width:440px;
    height:330px
}

.orbit.two {
    width:360px;
    height:440px;
    border-color:#d6cde7;
    transform:rotate(45deg)
}

.hero-art:before {
    content:'';
    position:absolute;
    width:340px;
    height:340px;
    background:linear-gradient(145deg,#d6f2eb,#cfe2fa);
    border-radius:50%;
    filter:blur(4px)
}

.core {
    background:var(--navy);
    color:white;
    border-radius:30px;
    padding:45px 32px;
    width:280px;
    transform:rotate(-5deg);
    position:relative;
    box-shadow:0 28px 70px #183f6150
}

.core small {
    color:#71d8c3;
    letter-spacing:1.5px;
    font-size:10px;
    font-weight:800
}

.core strong {
    display:block;
    font-size:35px;
    line-height:1.1;
    letter-spacing:-1.5px;
    margin:25px 0
}

.core p {
    font-size:13px;
    color:#cbd8e8
}

.float-chip {
    position:absolute;
    background:white;
    border:1px solid #dbe7ee;
    box-shadow:0 12px 25px #10284613;
    border-radius:30px;
    padding:10px 17px;
    font-size:12px;
    font-weight:800;
    white-space:nowrap
}

.float-chip.a {
    top:60px;
    left:6px;
    color:var(--green)
}

.float-chip.b {
    right:-10px;
    top:130px;
    color:var(--orange)
}

.float-chip.c {
    bottom:65px;
    right:0;
    color:var(--purple)
}

.float-chip.d {
    bottom:125px;
    left:-20px;
    color:var(--blue)
}

.section {
    padding:100px 0
}

.two {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:115px
}

.intro p:not(.kicker) {
    color:#5c6f83
}

.textlink {
    color:var(--blue);
    font-weight:900;
    font-size:26px;
    line-height:1.35
}

.services {
    background:var(--soft)
}

.section-head {
    display:flex;
    justify-content:space-between;
    align-items:end;
    gap:50px;
    margin-bottom:35px
}

.section-head h2 {
    max-width:660px
}

/* ==========================================
   SECTION DESCRIPTION TEXT
   Size, strength, colour and width
   ========================================== */

.section-head > p {
    width: 340px;             /* Was 240px */
    max-width: 100%;
    font-size: 21px;          /* Text size */
    font-weight: 700;         /* Boldness */
    color: #172d42;          /* Dark navy */
    line-height: 1.5;        /* Line spacing */
}
.cards {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px
}

.service-card {
    background:white;
    border:1px solid #e5edf2;
    padding:35px;
    min-height:375px;
    display:flex;
    align-items:flex-start;
    flex-direction:column;
    border-radius:15px;
    box-shadow:0 8px 30px #0f355008
}

.service-icon {
    font-size:30px;
    font-weight:800;
    display:grid;
    place-items:center;
    width:54px;
    height:54px;
    border-radius:14px;
    margin-bottom:22px
}

.blue {
    color:var(--blue);
    background:#e5f3fb
}

.green {
    color:var(--green);
    background:#e4f6f0
}

.orange {
    color:var(--orange);
    background:#fff1dc
}

.purple {
    color:var(--purple);
    background:#f0eafe
}

.index {
    font-size:20px;
    font-weight:800;
    letter-spacing:1.4px;
    color:#8290a2
}

.service-card h3 {
    margin:12px 0
}

.service-card p {
    font-size:14px;
    color:#66788b;
    margin:0 0 24px
}

.service-card>a:not(.button) {
    color:var(--blue);
    font-size:26px;
    line-height:1.3;
    font-weight:900;
    margin-top:auto
}

.service-card.featured {
    background:linear-gradient(145deg,#12385d,#102846);
    border-color:transparent;
    justify-content:center
}

.featured .index {
    color:#8ec8d5
}

.featured h3 {
    font-size:28px;
    color:white
}

.featured p {
    color:#cbd9e8
}

.white {
    background:white;
    color:var(--navy)
}

.steps {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:32px;
    margin-top:46px
}

.steps>div {
    border-top:2px solid #dce7ed;
    padding-top:24px
}

.steps b {
    color:var(--green);
    font-size:22px
}

.steps h3 {
    margin:10px 0
}

.steps p {
    font-size:14px;
    color:#65778a
}

.feature-band {
    padding:80px 0;
    background:linear-gradient(110deg,#102846,#155476);
    color:white
}

.band-inner {
    display:grid;
    grid-template-columns:1.5fr 1fr;
    gap:80px;
    align-items:end
}

/* PRACTICAL SKILLS. REAL-LIFE RELEVANCE. */

.band-inner .kicker {
    color: #ffffff;       /* White for stronger contrast */
    font-size: 20px;      /* Increase text size here */
    font-weight: 900;     /* Extra bold */
    letter-spacing: 1px;
    line-height: 1.4;
}
.band-inner h2 {
    color:white;
    margin-bottom:0
}

.band-inner h2 i {
    color:#83ddc6;
    font-style:normal
}

.band-inner>p {
    color:#d3e6f0;
font-size: 22px;
}

.questions {
    background:#f7fafb
}

.faq>div>p {
    color:#63768a
}

.faq details,.privacy details {
    border-bottom:1px solid #dce5ec;
    padding:18px 0
}

.faq summary,.privacy summary {
    font-weight:800;
    cursor:pointer;
    color:var(--navy)
}

.faq details p {
    font-size:14px;
    color:#63768a
}

.contact-grid {
    display:grid;
    grid-template-columns:.8fr 1.2fr;
    gap:95px
}

.contact-grid>div>p:not(.kicker) {
    color:#64768a
}

.contact-list {
    display:grid;
    gap:14px;
    margin:38px 0
}

.contact-list>* {
    display:block;
    font-weight:700
}

.contact-list a:hover {
    color:var(--blue)
}

.socials {
    display:flex;
    gap:18px;
    color:var(--blue);
    font-weight:800
}

.form-card {
    border:1px solid #e3eaf0;
    box-shadow:0 25px 70px #19344b14;
    padding:38px;
    border-radius:20px
}

.form-card h3 {
    margin:0 0 10px
}

.form-note {
    font-size:12px;
    color:#738393
}

.form-card form {
    display:grid;
    gap:15px
}

.form-row {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:15px
}

.form-card label {
    font-size:12px;
    color:#425970;
    font-weight:800;
    display:grid;
    gap:7px
}

.form-card input,.form-card textarea,.form-card select {
    border:1px solid #d8e3eb;
    border-radius:7px;
    padding:12px;
    width:100%;
    background:#fff;
    color:var(--navy);
    outline-color:var(--blue)
}

.form-card .consent {
    display:flex;
    align-items:flex-start;
    gap:12px;
    line-height:1.6;
    font-weight:500
}

.consent input {
    width:auto;
    margin-top:5px
}

.consent a {
    text-decoration:underline
}

.submit {
    width:100%;
    margin-top:10px
}

.trap {
    position:absolute;
    left:-10000px
}

.alert {
    padding:12px;
    border-radius:6px;
    font-size:13px
}

.alert.success {
    background:#e2f7ef;
    color:#16664d
}

.alert.error {
    background:#fff0ef;
    color:#923d32
}

.privacy {
    padding-bottom:40px;
    background:#fff
}

.privacy details p {
    font-size:13px;
    color:#64748b
}

footer {
    background:#0d223b;
    color:#d8e3ee;
    padding:55px 0
}

.foot {
    display:flex;
    justify-content:space-between;
    gap:40px;
    align-items:center
}

.foot img {
    width:82px;
    height:82px;
    object-fit:contain;
    background:white;
    border-radius:14px;
    padding:4px
}

.foot p {
    font-size:12px;
    color:#a3b7c9
}

@media(max-width:980px) {
    nav {
        gap:12px
    }

    .brand span {
        display:none
    }

    .hero-grid {
        gap:15px
    }

    .hero-art {
        transform:scale(.8)
    }

    .cards {
        grid-template-columns:repeat(2,1fr)
    }

    .two,.contact-grid {
        gap:40px
    }

}

@media(max-width:700px) {
    .header {
        height:72px
    }

    .brand img {
        width:56px;
        height:56px
    }

    .brand span {
        display:inline
    }

    .menu {
        display:block
    }

    nav {
        display:none;
        position:absolute;
        top:71px;
        left:0;
        right:0;
        background:white;
        box-shadow:0 15px 20px #10284612;
        padding:25px;
        flex-direction:column;
        align-items:stretch
    }

    nav.show {
        display:flex
    }

    .hero-grid,.two,.contact-grid,.band-inner {
        grid-template-columns:1fr
    }

    .hero-grid {
        padding:60px 0 30px
    }

    .hero-art {
        height:390px;
        transform:scale(.78);
        margin:-35px 0
    }

    .section {
        padding:70px 0
    }

    .section-head {
        display:block
    }

    .section-head>p {
        width:auto
    }

    .cards,.steps {
        grid-template-columns:1fr
    }

    .steps {
        gap:15px
    }

    .service-card {
        min-height:260px
    }

    .form-row {
        grid-template-columns:1fr
    }

    .form-card {
        padding:24px
    }

    .foot {
        flex-direction:column;
        align-items:start
    }

    h1 {
        letter-spacing:-2px
    }

    .hero-foot {
        margin-top:26px
    }

}

/* NDIS-focused content */
.ndis-section {
    background:#f0f6fb
}

.ndis-note {
    margin-top:28px;
    padding:24px 28px;
    border-radius:18px;
    background:#fff;
    border-left:5px solid #24a287;
    color:#24445b;
    line-height:1.75
}

.ndis-note a {
    color:#137d77;
    font-weight:750
}

.examples-section {
    background:#fff
}

.examples-lead {
font-size: 20px;
    max-width:800px;
    color:#566b7c;
    margin:0 0 32px
}

.referrals-section {
    background:#edf7f4
}

.referral-steps {
    padding-left:25px;
    line-height:1.9;
    margin:22px 0
}

.referral-panel {
    background:white;
    border-radius:24px;
    padding:34px;
    box-shadow:0 18px 55px rgba(14,46,68,.08);
    align-self:start
}

.referral-panel h3 {
    font-size:1.65rem
}

.referral-panel .button {
    margin:16px 0
}

.referral-panel .form-note {
    margin-top:12px
}

.nav nav a {
    white-space:nowrap
}

@media(max-width:1080px) {
    .nav nav {
        gap:10px
    }

    .nav nav a {
        font-size:.82rem
    }

}

/* ===============================================================
   STEM CONNECTIONS - HEADER / LOGO
   Change the 6 values at the TOP of this CSS file to experiment.
   Logo maintains original proportions and will never be cropped.
   =============================================================== */
.header {
    height: var(--header-desktop-height);
}
.brand {
    gap: 12px;
    flex-shrink: 0;
}
.brand img {
    width: var(--logo-desktop-width);
    height: var(--logo-desktop-height);
    object-fit: contain;
    display: block;
}
/* The image already contains the complete STEM Connections wording.
   Hide the extra HTML text beside it to avoid repetition. */
.brand span {
    display: none;
}
.nav {
    gap: 20px;
}
.nav nav {
    gap: 15px;
}

/* At narrower widths, switch to the accessible menu before links crowd. */
@media (max-width: 1100px) {
    .header {
        height: var(--header-mobile-height);
    }
    .brand img {
        width: var(--logo-mobile-width);
        height: var(--logo-mobile-height);
    }
    .menu {
        display: block;
    }
    .nav nav {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        padding: 25px;
        flex-direction: column;
        align-items: stretch;
        gap: 14px;
        background: white;
        box-shadow: 0 15px 20px #10284612;
    }
    .nav nav.show {
        display: flex;
    }
}


/* ================================================================
   STEM CONNECTIONS - USER ADJUSTMENTS / EASY EDIT
   These settings apply to the ACTUAL classes in index.php.
   Change the values here to experiment. Keep this section last.
   ================================================================ */
:root {
    --header-left-gap: 22px;
    --menu-text-size: 18px;
    --section-label-size: 21px;
    --section-heading-size: 46px;
    --hero-chip-size: 23px;
    --hero-card-label-size: 18px;
    --hero-card-heading-size: 45px;
    --hero-card-description-size: 21px;
    --hero-button-size: 21px;
    --hero-bottom-info-size: 20px;
}

/* HEADER - large full logo and left alignment */
.header .container.nav {
    width: calc(100% - var(--header-left-gap) - 20px);
    max-width: none;
    margin-left: var(--header-left-gap);
    margin-right: 20px;
    justify-content: flex-start;
    gap: 34px;
}
.header .brand { margin-right: 10px; }
.header .brand img { object-fit: contain; }
.header .nav nav { gap: 12px; flex-wrap: wrap; justify-content: flex-start; }
.header .nav nav a { font-size: var(--menu-text-size); font-weight: 800; line-height: 1.3; padding: 10px 8px; }
.header .nav nav .nav-cta { padding: 14px 18px; }

/* SECTION TITLES - prominent and easy to scan */
.section .kicker, .section .eyebrow {
    font-size: var(--section-label-size);
    font-weight: 900;
    letter-spacing: 1.1px;
    color: #11637c;
    line-height: 1.4;
}
.section h2 { font-size: clamp(32px, 3.4vw, var(--section-heading-size)); font-weight: 800; }
.section h3 { font-size: 25px; font-weight: 800; }

/* HERO - let bigger content breathe */
.hero-grid { grid-template-columns: minmax(0, 1.12fr) minmax(450px, .88fr); gap: 30px; }
.hero-art { min-width: 0; height: 590px; }
.hero-art .core {
    width: 365px;
    padding: 48px 39px;
    transform: rotate(-3deg);
}
.hero-art .core small {
    font-size: var(--hero-card-label-size);
    font-weight: 900;
    line-height: 1.5;
    letter-spacing: 1px;
}
.hero-art .core strong {
    font-size: var(--hero-card-heading-size);
    font-weight: 900;
    line-height: 1.14;
    letter-spacing: -1px;
    margin: 21px 0;
}
.hero-art .core p {
    font-size: var(--hero-card-description-size);
    font-weight: 600;
    line-height: 1.45;
}
.hero-art .float-chip {
    font-size: var(--hero-chip-size);
    font-weight: 900;
    line-height: 1.2;
    padding: 15px 20px;
    box-shadow: 0 14px 30px #10284625;
    z-index: 2;
}
.hero-art .float-chip.a { top: 35px; left: 0; }
.hero-art .float-chip.b { top: 150px; right: -5px; }
.hero-art .float-chip.c { bottom: 30px; right: 0; }
.hero-art .float-chip.d { bottom: 140px; left: -12px; }
.hero .actions .button {
    font-size: var(--hero-button-size);
    font-weight: 900;
    padding: 19px 27px;
    line-height: 1.3;
}
.hero .hero-foot, .hero .hero-foot span {
    font-size: var(--hero-bottom-info-size);
    font-weight: 800;
    line-height: 1.45;
}
.hero .hero-foot { gap: 14px 24px; }

/* Responsive: show the accessible mobile menu before links crowd */
@media (max-width: 1250px) {
    .header { height: var(--header-mobile-height); }
    .header .brand img { width: var(--logo-mobile-width); height: var(--logo-mobile-height); }
    .header .nav { justify-content: space-between; }
    .header .menu { display: block; font-size: 19px; padding: 13px; }
    .header .nav nav {
        display: none;
        position: absolute;
        top: 100%; left: 0; right: 0;
        background: white; padding: 24px;
        flex-direction: column; align-items: stretch;
        box-shadow: 0 18px 24px #10284625;
        max-height: calc(100vh - var(--header-mobile-height));
        overflow-y: auto;
    }
    .header .nav nav.show { display: flex; }
    .header .nav nav a { font-size: 20px; padding: 12px; }
}
@media (max-width: 1100px) {
    .hero-grid { grid-template-columns: minmax(0, 1fr) minmax(380px, .85fr); gap: 15px; }
    .hero-art { transform: none; height: 550px; }
    .hero-art .float-chip { font-size: 19px; }
    .hero-art .core { width: 315px; padding: 37px 28px; }
    .hero-art .core strong { font-size: 39px; }
    .hero-art .core p { font-size: 19px; }
}
@media (max-width: 820px) {
    :root {
        --section-label-size: 18px;
        --hero-chip-size: 18px;
        --hero-card-label-size: 16px;
        --hero-card-heading-size: 37px;
        --hero-card-description-size: 19px;
        --hero-button-size: 19px;
        --hero-bottom-info-size: 17px;
    }
    .hero-grid { grid-template-columns: 1fr; padding-top: 45px; }
    .hero-art { transform: none; height: 520px; width: min(100%, 520px); margin: 15px auto 0; }
    .hero-art .core { width: min(76%, 335px); padding: 36px 27px; }
    .hero-art .core strong { font-size: var(--hero-card-heading-size); }
    .hero-art .core p { font-size: var(--hero-card-description-size); }
    .hero-art .float-chip { font-size: var(--hero-chip-size); padding: 12px 15px; }
    .hero-art .float-chip.a { left: 0; top: 22px; }
    .hero-art .float-chip.b { right: 0; top: 120px; }
    .hero-art .float-chip.d { left: 0; bottom: 118px; }
    .hero-art .float-chip.c { right: 0; bottom: 16px; }
    .hero .hero-foot { margin-top: 25px; }
    .section h2 { font-size: clamp(30px, 6vw, 38px); }
}
@media (max-width: 440px) {
    :root { --header-left-gap: 12px; --logo-mobile-width: 135px; --hero-chip-size: 15px; }
    .hero-art { height: 455px; }
    .hero-art .core { width: 78%; padding: 30px 20px; }
    .hero-art .core strong { font-size: 32px; }
    .hero-art .core small { font-size: 13px; }
    .hero-art .core p { font-size: 17px; }
    .hero-art .float-chip { padding: 10px 11px; }
    .hero .actions .button { width: 100%; }
}

/* ================================================================
   EASY EDIT: ACTION LINKS THROUGHOUT THE WEBSITE
   Examples: Talk about your goals, Explore social supports,
   See how a pathway works, Make a referral enquiry.
   Change these variables to adjust every action link at once.
   ================================================================ */
:root {
    --action-link-font-size: 20px;
    --action-link-font-weight: 900;
    --action-link-line-height: 1.4;
    --action-link-spacing: 10px;
}

/* Standalone links in the approach and informational sections */
.textlink,
/* Service card calls to action */
.service-card > a:not(.button),
/* NDIS/referral text links */
.referrals-section a:not(.button):not(.nav-cta) {
    font-weight: var(--action-link-font-weight);
    line-height: var(--action-link-line-height);
    letter-spacing: 0;
    display: inline-block;
    padding-block: var(--action-link-spacing);
    text-decoration-thickness: 2px;
    text-underline-offset: 5px;
    /* Make important calls to action obvious even when older rules exist */
    font-size: var(--action-link-font-size) !important;
    color: #07577f;
}

/* Maintain strong contrast on dark service card */
.service-card.featured > a:not(.button) {
    color: #ffffff;
}

@media (max-width: 768px) {
    :root {
        --action-link-font-size: 21px;
        --action-link-spacing: 8px;
    }
}
/* =====================================================
   SERVICE NUMBERS & CATEGORY LABELS
   04 / ENTERPRISE, 03 / WORK PATHWAYS, etc.
   ===================================================== */

.service-number,
.service-label,
.service-category,
.step-number,
.step-label {
    font-size: 21px;
    font-weight: 900;
    letter-spacing: 0.5px;
    line-height: 1.4;
}

/* =====================================================
   LET'S MAKE A PLAN — ACTION BUTTON
   ===================================================== */

.btn,
.button,
.cta-button {
    font-size: 22px;
    font-weight: 800;
    padding: 17px 20px;
}

/* Mobile */
@media (max-width: 768px) {
    .service-number,
    .service-label,
    .service-category,
    .step-number,.index {
    font-size: 10px;
    font-weight
Specifies weight of glyphs in the font, their degree of blackness or stroke thickness.

Widely available across major browsers (Baseline since January 2018)
Learn more

Don’t show
: 800;
    letter-spacing: 1.4px;
    color: #8290a2;
}
    .step-label {
        font-size: 18px;
    }

    .btn,
    .button,
    .cta-button {
        font-size: 19px;
    }
}
/* ==========================================
   NUMBERED LABELS — 01 / ... TO 05 / GROWTH
   ========================================== */

.service-card .eyebrow,
.pathway-card .eyebrow,
.step-card .eyebrow,
.card .eyebrow {
    font-size: 26px;
    font-weight: 900;
    letter-spacing: 0.5px;
    line-height: 1.4;
}

@media (max-width: 768px) {
    .service-card .eyebrow,
    .pathway-card .eyebrow,
    .step-card .eyebrow,
    .card .eyebrow {
        font-size: 19px;
    }
}
/* ==========================================
   SUPPORTING DESCRIPTIONS
   Bigger, darker and more substantial
   ========================================== */

:root {
    --description-size: 21px;
    --description-weight: 700;
    --description-colour: #172d42;
}

.service-card p,
.pathway-card p,
.step-card p,
.card p,
.feature p {
    font-size: var(--description-size);
    font-weight: var(--description-weight);
    color: var(--description-colour);
    line-height: 1.5;
}

/* Mobile */
@media (max-width: 768px) {
    :root {
        --description-size: 18px;
    }
}