@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');
:root{--navy:#12365B;--turquoise:#20BFD0;--teal:#269FB3;--ink:#1d2b39;--muted:#617080;--pale:#f3f8fa;--white:#fff;--line:#dce6ec}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:86px}body{margin:0;color:var(--ink);font-family:"DM Sans",Arial,sans-serif;line-height:1.65}h1,h2,h3{font-family:Manrope,"DM Sans",sans-serif;line-height:1.18;color:var(--navy);margin:0 0 16px}h1{font-size:clamp(2.5rem,5vw,4.45rem);letter-spacing:-.045em}h2{font-size:clamp(2rem,3.5vw,3rem);letter-spacing:-.035em}h3{font-size:1.25rem}p{margin:0 0 14px}.container{width:min(1160px,calc(100% - 44px));margin:auto}.site-header{position:sticky;top:0;z-index:10;background:#fff;border-bottom:1px solid rgba(18,54,91,.09)}.nav-wrap{height:82px;display:flex;align-items:center;justify-content:space-between}.brand img{display:block;width:185px;max-height:64px;object-fit:contain}.nav{display:flex;gap:28px;align-items:center}.nav a{text-decoration:none;color:var(--navy);font-weight:600;font-size:.92rem}.nav a:hover{color:var(--teal)}.nav .nav-cta{padding:10px 20px;border-radius:4px;background:var(--navy);color:#fff}.menu-toggle{display:none;border:0;background:none;color:var(--navy);font-size:1.6rem}.hero{position:relative;overflow:hidden;background:linear-gradient(115deg,#f5fafc 0%,#fff 57%,#eaf8fa 100%);padding:94px 0 100px}.hero-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:70px;align-items:center}.eyebrow{font-size:.76rem;letter-spacing:.16em;font-weight:700;color:var(--teal);margin-bottom:16px}.hero h1 span{color:var(--teal)}.lead{font-size:1.12rem;color:#526273;max-width:650px;margin:24px 0 30px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 22px;border-radius:4px;text-decoration:none;font-weight:700;border:1px solid transparent;cursor:pointer;font:inherit;font-weight:700}.btn-primary{background:var(--navy);color:#fff}.btn-primary:hover{background:#0b2948}.btn-outline{border-color:var(--navy);color:var(--navy)}.btn-light{background:#fff;color:var(--navy)}.location-line{margin-top:26px;color:var(--muted);font-size:.9rem}.hero-panel{min-height:380px;background:var(--navy);border-radius:8px;padding:42px;color:white;position:relative;overflow:hidden;box-shadow:0 22px 55px rgba(18,54,91,.18)}.panel-orbit{position:absolute;width:360px;height:360px;border:1px solid rgba(32,191,208,.35);border-radius:50%;right:-135px;top:-135px;box-shadow:0 0 0 34px rgba(32,191,208,.05),0 0 0 70px rgba(32,191,208,.04)}.panel-content{position:relative}.panel-label{font-size:.72rem;letter-spacing:.18em;color:var(--turquoise);font-weight:700}.focus-item{display:flex;gap:22px;align-items:center;padding:20px 0;border-bottom:1px solid rgba(255,255,255,.15);font-weight:600}.focus-item b{font-size:.8rem;color:var(--turquoise)}.focus-item.featured{color:#fff}.focus-item:last-child{border:0}.hero-accent{position:absolute;bottom:0;left:0;width:42%;height:5px;background:var(--turquoise)}.section{padding:88px 0}.two-col{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.intro-text{font-size:1.02rem;color:#4e5d6b}.values-band{background:var(--navy);color:#fff;padding:48px 0}.values-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.values-grid span{font-size:.75rem;letter-spacing:.15em;color:var(--turquoise);font-weight:700}.values-grid p{font-size:1.05rem;margin:12px 0 0}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:36px}.section-heading>p{max-width:410px;color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.service-card{position:relative;border:1px solid var(--line);border-radius:7px;padding:30px;background:#fff}.service-card:hover{box-shadow:0 15px 35px rgba(18,54,91,.08);transform:translateY(-2px);transition:.2s}.card-number{position:absolute;right:26px;top:24px;color:#9aabb8;font-size:.8rem;font-weight:700}.service-icon{width:48px;height:48px;border-radius:50%;background:#e8f8fa;color:var(--teal);display:grid;place-items:center;font-size:1.5rem;margin-bottom:22px}.service-card p{color:var(--muted)}.service-card ul{padding-left:19px;margin:14px 0 0;color:#425364}.service-card li{padding:3px 0}.cyber-card{border:2px solid var(--turquoise);background:linear-gradient(140deg,#f1fbfc,#fff 70%)}.card-kicker{font-size:.72rem;letter-spacing:.12em;font-weight:700;color:var(--teal)!important;margin-bottom:8px}.text-link{display:inline-block;margin-top:20px;color:var(--navy);font-weight:700;text-decoration:none}.text-link span{color:var(--teal)}.fine-print{font-size:.8rem;margin-top:16px}.cyber-callout{background:linear-gradient(110deg,var(--navy),#174d70);color:#fff;padding:62px 0}.cyber-callout-inner{display:flex;justify-content:space-between;align-items:center;gap:45px}.cyber-callout h2{color:#fff;max-width:650px}.cyber-callout p:not(.eyebrow){color:#d7e6ee;max-width:700px}.sectors{background:var(--pale)}.section-sub{color:var(--muted);margin-top:-4px;margin-bottom:30px}.sector-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.sector-grid div{background:#fff;border:1px solid var(--line);padding:18px;border-radius:4px;font-weight:600;color:var(--navy)}.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:22px;margin-top:35px}.steps>div{border-top:2px solid var(--turquoise);padding-top:18px}.steps b{color:var(--teal);font-size:.8rem}.steps h3{font-size:1rem;margin:10px 0}.steps p{font-size:.9rem;color:var(--muted)}.contact-section{background:#f5f9fb}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.contact-grid>div>p:not(.eyebrow){color:var(--muted);max-width:500px}.contact-details{display:grid;gap:9px;margin-top:28px}.contact-details a,.contact-details span{color:var(--navy);text-decoration:none;font-weight:600}.contact-form{background:#fff;padding:30px;border:1px solid var(--line);border-radius:7px;display:grid;gap:9px}.contact-form label{font-weight:700;font-size:.88rem;color:var(--navy)}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid #cbd8e0;border-radius:4px;padding:12px;font:inherit;color:var(--ink);margin-bottom:7px}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:2px solid rgba(32,191,208,.3);border-color:var(--teal)}.contact-form button{width:100%;margin-top:5px}.form-note{font-size:.75rem;color:var(--muted);margin:4px 0 0}.footer{background:#0d2945;color:#d8e4ec;padding:28px 0}.footer-inner{display:flex;justify-content:space-between;gap:25px;align-items:center}.footer strong{color:#fff}.footer p{font-size:.82rem;margin:4px 0 0;color:#b7c8d5}.footer span{font-size:.8rem;color:#b7c8d5}
@media(max-width:900px){.nav{gap:16px}.hero-grid{gap:35px}.two-col,.contact-grid{gap:45px}.sector-grid{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.nav-wrap{height:72px}.brand img{width:155px}.menu-toggle{display:block}.nav{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;padding:18px 24px 24px;box-shadow:0 12px 18px rgba(18,54,91,.1);align-items:stretch;flex-direction:column;gap:14px}.nav.open{display:flex}.nav .nav-cta{text-align:center}.hero{padding:62px 0}.hero-grid,.two-col,.values-grid,.contact-grid{grid-template-columns:1fr;gap:38px}.hero-panel{min-height:auto;padding:30px}.section{padding:62px 0}.section-heading,.cyber-callout-inner{display:block}.section-heading>p{margin-top:15px}.service-grid{grid-template-columns:1fr}.sector-grid{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr 1fr}.cyber-callout .btn{margin-top:18px}.footer-inner{display:block}.footer-inner>span{display:block;margin-top:15px}}
@media(max-width:430px){.container{width:min(100% - 32px,1160px)}.sector-grid,.steps{grid-template-columns:1fr}.hero-actions .btn{width:100%}.service-card{padding:24px}}

.form-alert{padding:14px 16px;border-radius:5px;margin:0 0 16px;font-weight:600}.form-alert.success{background:#eaf8f0;color:#17643a;border:1px solid #b9e2c9}.form-alert.error{background:#fff0ef;color:#8b2420;border:1px solid #f0c5c1}.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}

/* Multi-page navigation and page layouts */
.nav a[aria-current="page"]{color:var(--teal)}
.nav-dropdown-toggle:focus-visible,.nav a:focus-visible,.menu-toggle:focus-visible,.btn:focus-visible{outline:3px solid var(--turquoise);outline-offset:3px}
.page-hero{background:linear-gradient(115deg,#f5fafc 0%,#fff 60%,#eaf8fa 100%);padding:76px 0 70px;border-bottom:1px solid var(--line)}
.page-hero h1{max-width:900px}.page-hero .lead{margin:18px 0 0;max-width:780px}
.detail-wrap{max-width:900px}.detail-wrap .service-card{max-width:900px}.detail-cta{margin-top:26px;display:flex;gap:12px;flex-wrap:wrap}
.home-panel-title{color:#fff;margin:28px 0 16px;font-size:clamp(1.7rem,3vw,2.3rem)}.home-panel-copy{color:#d7e6ee;max-width:360px;margin-bottom:26px}
.footer a{color:#fff;text-decoration:none}.form-alert{padding:14px;border-radius:4px}.form-alert.success{background:#e9f7ef;color:#17643a}.form-alert.error{background:#fff0f0;color:#922b2b}
@media(min-width:701px){.nav-dropdown:hover .dropdown-menu,.nav-dropdown:focus-within .dropdown-menu{display:grid}}

/* SimAzr navigation correction */
.nav {
    display: flex;
    align-items: center;
    gap: clamp(12px, 1.4vw, 22px);
    white-space: nowrap;
}

.nav > a,
.nav-dropdown-toggle {
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--navy);
    text-decoration: none;
}

.nav-dropdown {
    position: relative;
}

.nav-dropdown-toggle {
    border: 0;
    background: transparent;
    font-family: inherit;
    padding: 10px 0;
    cursor: pointer;
}

.nav-dropdown-toggle:hover,
.nav-dropdown-toggle[aria-expanded="true"] {
    color: var(--teal);
}

.dropdown-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 280px;
    padding: 10px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 5px;
    box-shadow: 0 14px 30px rgba(18, 54, 91, 0.14);
    z-index: 100;
}

.nav-dropdown.open .dropdown-menu {
    display: grid;
    gap: 2px;
}

.nav .dropdown-menu a {
    display: block;
    padding: 10px 12px;
    white-space: normal;
    border-radius: 3px;
    font-size: 0.88rem;
}

.nav .dropdown-menu a:hover {
    background: var(--pale);
}

@media (min-width: 701px) {
    .nav-dropdown:hover .dropdown-menu,
    .nav-dropdown:focus-within .dropdown-menu {
        display: grid;
    }
}

@media (max-width: 700px) {
    .nav {
        white-space: normal;
    }

    .nav-dropdown {
        width: 100%;
    }

    .nav-dropdown-toggle {
        width: 100%;
        text-align: left;
    }

    .dropdown-menu {
        position: static;
        min-width: 0;
        border: 0;
        border-left: 2px solid var(--turquoise);
        border-radius: 0;
        box-shadow: none;
        margin: 6px 0 0 8px;
        padding: 4px 0 4px 10px;
    }

    .nav .dropdown-menu a {
        white-space: normal;
    }
}

/* Slightly larger SimAzr header logo */
.brand img {
    width: 215px;
    max-height: 72px;
    object-fit: contain;
}

@media (max-width: 700px) {
    .brand img {
        width: 175px;
        max-height: 60px;
    }
}

/* Align homepage hero panel with the introductory eyebrow */
.hero-grid {
    align-items: start;
}


/* Increase SimAzr header logo visibility */
.brand img {
    width: 300px !important;
    max-width: none;
    max-height: 110px !important;
    height: auto !important;
    object-fit: contain;
}

.nav-wrap {
    min-height: 110px;
    height: auto;
}


/* Further enlarge the SimAzr header logo */
.brand {
    flex-shrink: 0;
}

.brand img {
    width: 420px !important;
    max-width: 420px !important;
    max-height: 140px !important;
    height: auto !important;
    object-fit: contain;
}

.nav-wrap {
    min-height: 150px !important;
    height: auto !important;
}

/* Keep the logo proportionate on smaller screens */
@media (max-width: 700px) {
    .brand img {
        width: 230px !important;
        max-width: 230px !important;
        max-height: 90px !important;
    }

    .nav-wrap {
        min-height: 90px !important;
    }
}


/* Improve desktop navigation readability */
@media (min-width: 701px) {
    .nav > a,
    .nav-dropdown-toggle,
    .dropdown-menu a {
        font-size: 1.15rem !important;
    }

    .nav {
        gap: 32px;
    }

    .nav .nav-cta {
        font-size: 1.1rem !important;
        padding: 14px 24px;
    }
}

/* Mobile navigation */
@media (max-width: 700px) {
    .nav > a,
    .nav-dropdown-toggle,
    .dropdown-menu a {
        font-size: 1.1rem !important;
    }
}


/* Improve footer text readability */
.footer strong {
    font-size: 1.25rem !important;
}

.footer p {
    font-size: 1rem !important;
    line-height: 1.8;
}

.footer span {
    font-size: 0.95rem !important;
    line-height: 1.7;
}


/* Stack footer contact details vertically */
.footer-inner p {
    line-height: 1.9;
}

.footer-inner p a[href^="mailto:"] {
    display: block;
    width: fit-content;
}

.footer-inner p a[href^="tel:"] {
    display: block;
    width: fit-content;
}


/* Tighten spacing between footer contact details */
.footer-inner p {
    line-height: 1.4 !important;
    margin-bottom: 8px !important;
}

.footer-inner p a[href^="mailto:"],
.footer-inner p a[href^="tel:"] {
    display: inline !important;
}


/* Slightly increase footer contact line spacing */
.footer-inner p {
    line-height: 1.55 !important;
}


/* ==================================================
   SIMAZR SITE-WIDE TYPOGRAPHY READABILITY UPDATE
   Preserves existing header, navigation and footer
   ================================================== */

body {
    font-size: 17px;
    line-height: 1.7;
}

p {
    font-size: 1.05rem;
    line-height: 1.7;
}

.lead {
    font-size: 1.2rem;
    line-height: 1.7;
}

.intro-text {
    font-size: 1.1rem;
    line-height: 1.8;
}

h3 {
    font-size: 1.4rem;
    line-height: 1.3;
}

.eyebrow {
    font-size: 0.85rem;
}

.panel-label,
.card-kicker {
    font-size: 0.82rem;
}

.focus-item {
    font-size: 1.05rem;
}

.focus-item b,
.card-number {
    font-size: 0.9rem;
}

.service-card p,
.service-card li {
    font-size: 1.02rem;
    line-height: 1.7;
}

.service-card li {
    padding: 5px 0;
}

.steps h3 {
    font-size: 1.15rem;
}

.steps p,
.sector-grid div {
    font-size: 1rem;
    line-height: 1.6;
}

.contact-form label {
    font-size: 1rem;
}

.contact-form input,
.contact-form select,
.contact-form textarea {
    font-size: 1rem;
}

.text-link {
    font-size: 1rem;
}

.fine-print,
.form-note {
    font-size: 0.9rem;
}

@media (max-width: 700px) {
    body {
        font-size: 16px;
    }

    p,
    .service-card p,
    .service-card li {
        font-size: 1rem;
    }

    .lead {
        font-size: 1.1rem;
    }

    h3 {
        font-size: 1.25rem;
    }
}

/* HOMEPAGE PROFESSIONAL IMAGE SECTION */
.home-image-section {
    padding: 85px 0;
    background: #ffffff;
}

.home-image-grid {
    display: grid;
    grid-template-columns: 0.85fr 1.15fr;
    gap: 65px;
    align-items: center;
}

.home-image-copy h2 {
    font-size: clamp(2rem, 3.5vw, 2.8rem);
    margin-bottom: 20px;
}

.home-image-copy p:not(.eyebrow) {
    color: #526273;
    line-height: 1.8;
}

.home-image {
    overflow: hidden;
    border-radius: 8px;
    box-shadow: 0 18px 45px rgba(18,54,91,.13);
}

.home-image img {
    display: block;
    width: 100%;
    aspect-ratio: 3 / 2;
    object-fit: cover;
}

@media (max-width: 700px) {
    .home-image-section {
        padding: 55px 0;
    }

    .home-image-grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }
}

/* ==========================================
   ABOUT US PAGE - CENTRED TYPOGRAPHY UPDATE
   ========================================== */

body:has(.values-band) .page-hero {
    text-align: center;
}

body:has(.values-band) .page-hero .lead {
    max-width: 850px;
    margin: 24px auto 0;
    font-size: 1.25rem;
    line-height: 1.8;
}

body:has(.values-band) .page-hero h1 {
    font-size: clamp(2.8rem, 5vw, 4.5rem);
}

body:has(.values-band) .two-col {
    grid-template-columns: 1fr;
    gap: 22px;
    text-align: center;
    max-width: 1000px;
}

body:has(.values-band) .two-col h2 {
    font-size: clamp(2.2rem, 4vw, 3.1rem);
}

body:has(.values-band) .intro-text {
    max-width: 950px;
    margin: 0 auto;
    font-size: 1.2rem;
    line-height: 1.9;
    color: #405365;
}

body:has(.values-band) .values-grid {
    text-align: center;
    gap: 65px;
}

body:has(.values-band) .values-grid span {
    display: block;
    font-size: 1rem;
    margin-bottom: 15px;
}

body:has(.values-band) .values-grid p {
    font-size: 1.15rem;
    line-height: 1.85;
}

body:has(.values-band) .section > .container > .eyebrow,
body:has(.values-band) .section > .container > h2 {
    text-align: center;
}

body:has(.values-band) .section > .container > h2 {
    font-size: clamp(2.2rem, 4vw, 3rem);
}

body:has(.values-band) .steps {
    text-align: center;
    gap: 25px;
}

body:has(.values-band) .steps > div {
    padding: 24px 15px;
    border-top: 3px solid var(--turquoise);
    background: #f7fafc;
    border-radius: 5px;
}

body:has(.values-band) .steps b {
    font-size: 1.2rem;
}

body:has(.values-band) .steps h3 {
    font-size: 1.2rem;
    line-height: 1.4;
    margin: 15px 0;
}

body:has(.values-band) .steps p {
    font-size: 1.05rem;
    line-height: 1.75;
    color: #405365;
}

@media (max-width: 700px) {
    body:has(.values-band) .page-hero h1 {
        font-size: 2.5rem;
    }

    body:has(.values-band) .intro-text {
        font-size: 1.08rem;
    }

    body:has(.values-band) .values-grid {
        gap: 35px;
    }

    body:has(.values-band) .steps {
        grid-template-columns: 1fr;
    }

    body:has(.values-band) .steps > div {
        padding: 22px;
    }
}

/* ABOUT US - JUSTIFIED BODY TEXT */

body:has(.values-band) .intro-text,
body:has(.values-band) .values-grid p,
body:has(.values-band) .steps p {
    text-align: justify;
    text-justify: inter-word;
}

body:has(.values-band) .page-hero .lead {
    text-align: center;
}

/* ABOUT US - RESTORE ORIGINAL LAYOUT WITH JUSTIFIED TEXT */

body:has(.values-band) .page-hero {
    text-align: left;
}

body:has(.values-band) .page-hero .lead {
    max-width: 650px;
    margin: 24px 0 30px;
    font-size: 1.2rem;
    text-align: justify;
}

body:has(.values-band) .page-hero h1 {
    font-size: clamp(2.5rem, 5vw, 4.45rem);
}

body:has(.values-band) .two-col {
    grid-template-columns: .8fr 1.2fr;
    gap: 90px;
    text-align: left;
    max-width: none;
}

body:has(.values-band) .two-col h2 {
    font-size: clamp(2rem, 3.5vw, 3rem);
}

body:has(.values-band) .intro-text {
    max-width: none;
    margin: 0;
    font-size: 1.1rem;
    line-height: 1.8;
    text-align: justify;
}

body:has(.values-band) .values-grid {
    grid-template-columns: 1fr 1fr;
    gap: 70px;
    text-align: left;
}

body:has(.values-band) .values-grid span {
    display: inline;
    font-size: .75rem;
    margin: 0;
}

body:has(.values-band) .values-grid p {
    font-size: 1.05rem;
    line-height: 1.85;
    text-align: justify;
}

body:has(.values-band) .section > .container > .eyebrow,
body:has(.values-band) .section > .container > h2 {
    text-align: left;
}

body:has(.values-band) .section > .container > h2 {
    font-size: clamp(2rem, 3.5vw, 3rem);
}

body:has(.values-band) .steps {
    grid-template-columns: repeat(5, 1fr);
    text-align: left;
    gap: 22px;
}

body:has(.values-band) .steps > div {
    padding: 18px 0 0;
    border-top: 2px solid var(--turquoise);
    background: transparent;
    border-radius: 0;
}

body:has(.values-band) .steps b {
    font-size: .9rem;
}

body:has(.values-band) .steps h3 {
    font-size: 1.15rem;
    margin: 10px 0;
}

body:has(.values-band) .steps p {
    font-size: 1rem;
    line-height: 1.7;
    text-align: justify;
}

@media (max-width: 900px) {
    body:has(.values-band) .two-col {
        gap: 45px;
    }

    body:has(.values-band) .steps {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 700px) {
    body:has(.values-band) .two-col,
    body:has(.values-band) .values-grid {
        grid-template-columns: 1fr;
        gap: 38px;
    }

    body:has(.values-band) .steps {
        grid-template-columns: 1fr 1fr;
    }

    body:has(.values-band) .page-hero h1 {
        font-size: 2.5rem;
    }
}

@media (max-width: 430px) {
    body:has(.values-band) .steps {
        grid-template-columns: 1fr;
    }
}

/* RESTORE CENTRED ABOUT US LAYOUT */

body:has(.values-band) .page-hero,
body:has(.values-band) .two-col,
body:has(.values-band) .values-grid,
body:has(.values-band) .steps {
    text-align: center;
}

body:has(.values-band) .page-hero .lead {
    max-width: 850px;
    margin: 24px auto 0;
    font-size: 1.25rem;
    line-height: 1.8;
}

body:has(.values-band) .two-col {
    grid-template-columns: 1fr;
    gap: 22px;
}

body:has(.values-band) .intro-text {
    max-width: 950px;
    margin: 0 auto;
    font-size: 1.2rem;
    line-height: 1.9;
}

body:has(.values-band) .values-grid {
    grid-template-columns: 1fr 1fr;
    gap: 65px;
}

body:has(.values-band) .values-grid span {
    display: block;
    font-size: 1rem;
    margin-bottom: 15px;
}

body:has(.values-band) .values-grid p {
    font-size: 1.15rem;
    line-height: 1.85;
}

body:has(.values-band) .section > .container > .eyebrow,
body:has(.values-band) .section > .container > h2 {
    text-align: center;
}

body:has(.values-band) .steps {
    grid-template-columns: repeat(5, 1fr);
    gap: 25px;
}

body:has(.values-band) .steps > div {
    padding: 24px 15px;
    border-top: 3px solid var(--turquoise);
    background: #f7fafc;
    border-radius: 5px;
}

body:has(.values-band) .steps b {
    font-size: 1.2rem;
}

body:has(.values-band) .steps h3 {
    font-size: 1.2rem;
    margin: 15px 0;
}

body:has(.values-band) .steps p {
    font-size: 1.05rem;
    line-height: 1.75;
}

body:has(.values-band) .intro-text p,
body:has(.values-band) .values-grid p,
body:has(.values-band) .steps p {
    text-align: justify;
    text-justify: inter-word;
}

@media (max-width: 900px) {
    body:has(.values-band) .steps {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 700px) {
    body:has(.values-band) .values-grid,
    body:has(.values-band) .steps {
        grid-template-columns: 1fr;
    }

    body:has(.values-band) .page-hero h1 {
        font-size: 2.5rem;
    }
}

/* ABOUT US - RESTORE ORIGINAL LAYOUT WITH JUSTIFIED TEXT */

body:has(.values-band) .page-hero {
    text-align: left;
}

body:has(.values-band) .page-hero .lead {
    max-width: 650px;
    margin: 24px 0 30px;
    font-size: 1.2rem;
    text-align: justify;
}

body:has(.values-band) .page-hero h1 {
    font-size: clamp(2.5rem, 5vw, 4.45rem);
}

body:has(.values-band) .two-col {
    grid-template-columns: .8fr 1.2fr;
    gap: 90px;
    text-align: left;
    max-width: none;
}

body:has(.values-band) .two-col h2 {
    font-size: clamp(2rem, 3.5vw, 3rem);
}

body:has(.values-band) .intro-text {
    max-width: none;
    margin: 0;
    font-size: 1.1rem;
    line-height: 1.8;
    text-align: justify;
}

body:has(.values-band) .values-grid {
    grid-template-columns: 1fr 1fr;
    gap: 70px;
    text-align: left;
}

body:has(.values-band) .values-grid span {
    display: inline;
    font-size: .75rem;
    margin: 0;
}

body:has(.values-band) .values-grid p {
    font-size: 1.05rem;
    line-height: 1.85;
    text-align: justify;
}

body:has(.values-band) .section > .container > .eyebrow,
body:has(.values-band) .section > .container > h2 {
    text-align: left;
}

body:has(.values-band) .section > .container > h2 {
    font-size: clamp(2rem, 3.5vw, 3rem);
}

body:has(.values-band) .steps {
    grid-template-columns: repeat(5, 1fr);
    text-align: left;
    gap: 22px;
}

body:has(.values-band) .steps > div {
    padding: 18px 0 0;
    border-top: 2px solid var(--turquoise);
    background: transparent;
    border-radius: 0;
}

body:has(.values-band) .steps b {
    font-size: .9rem;
}

body:has(.values-band) .steps h3 {
    font-size: 1.15rem;
    margin: 10px 0;
}

body:has(.values-band) .steps p {
    font-size: 1rem;
    line-height: 1.7;
    text-align: justify;
}

@media (max-width: 900px) {
    body:has(.values-band) .two-col {
        gap: 45px;
    }

    body:has(.values-band) .steps {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 700px) {
    body:has(.values-band) .two-col,
    body:has(.values-band) .values-grid {
        grid-template-columns: 1fr;
        gap: 38px;
    }

    body:has(.values-band) .steps {
        grid-template-columns: 1fr 1fr;
    }

    body:has(.values-band) .page-hero h1 {
        font-size: 2.5rem;
    }
}

@media (max-width: 430px) {
    body:has(.values-band) .steps {
        grid-template-columns: 1fr;
    }
}

/* HOME PAGE - JUSTIFIED PARAGRAPHS */
body:has(.hero-grid) main p:not(.eyebrow) {
    text-align: justify !important;
    text-justify: inter-word;
}

/* SERVICES PAGE - JUSTIFIED PARAGRAPHS */
body:has(.service-card) main p:not(.eyebrow) {
    text-align: justify !important;
    text-justify: inter-word;
}

/* ==========================================
   SIMAZR - MOBILE RESPONSIVE CORRECTIONS
   ========================================== */

@media (max-width: 700px) {

    /* Compact header and correctly sized logo */
    .nav-wrap {
        height: 82px !important;
        min-height: 82px !important;
        padding-top: 0;
        padding-bottom: 0;
        position: relative;
    }

    .brand {
        flex-shrink: 1;
        min-width: 0;
    }

    .brand img {
        width: 165px !important;
        max-width: 165px !important;
        height: 64px !important;
        max-height: 64px !important;
        object-fit: contain;
    }

    .menu-toggle {
        display: block !important;
        flex-shrink: 0;
        padding: 8px;
        font-size: 1.7rem;
        cursor: pointer;
    }

    /* Hide navigation until hamburger is tapped */
    .nav {
        display: none !important;
        position: absolute !important;
        top: 82px !important;
        left: 0 !important;
        right: 0 !important;
        width: 100%;
        padding: 14px 20px 20px !important;
        background: #ffffff;
        box-shadow: 0 12px 20px rgba(18,54,91,.13);
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 5px !important;
        white-space: normal !important;
        z-index: 1000;
        max-height: calc(100vh - 82px);
        overflow-y: auto;
    }

    .nav.open {
        display: flex !important;
    }

    .nav > a,
    .nav-dropdown-toggle {
        display: block;
        width: 100%;
        padding: 11px 8px;
        font-size: 1rem !important;
        text-align: left;
    }

    .nav .nav-cta {
        text-align: center;
        margin-top: 6px;
        padding: 12px 18px;
    }

    /* Collapsible services submenu */
    .nav-dropdown {
        width: 100%;
    }

    .nav-dropdown .dropdown-menu {
        display: none !important;
        position: static !important;
        width: 100%;
        min-width: 0;
        margin: 4px 0 6px 8px;
        padding: 5px 0 5px 12px;
        border: 0;
        border-left: 2px solid var(--turquoise);
        border-radius: 0;
        box-shadow: none;
        background: #ffffff;
    }

    .nav-dropdown.open .dropdown-menu {
        display: grid !important;
    }

    .nav .dropdown-menu a {
        display: block;
        padding: 9px 8px;
        font-size: .95rem !important;
        white-space: normal;
    }

    /* Improve homepage hero proportions */
    .hero {
        padding: 48px 0 55px !important;
    }

    .hero-grid {
        grid-template-columns: 1fr !important;
        gap: 28px !important;
    }

    .hero h1 {
        font-size: clamp(2.15rem, 9vw, 3rem) !important;
        line-height: 1.13;
        letter-spacing: -.04em;
    }

    .hero .lead {
        font-size: 1.05rem !important;
        line-height: 1.65;
        margin: 18px 0 24px;
    }

    .hero-actions {
        gap: 12px;
    }

    .hero-actions .btn {
        width: 100%;
        min-height: 52px;
        padding: 13px 16px;
        text-align: center;
    }

    /* More balanced section spacing */
    .section {
        padding: 48px 0 !important;
    }

    .service-grid {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }

    .service-card {
        padding: 22px !important;
    }

    .service-card h3 {
        font-size: 1.2rem !important;
        line-height: 1.35;
    }

    .service-card p {
        font-size: 1rem !important;
        line-height: 1.65;
    }

    /* Prevent horizontal overflow */
    body {
        overflow-x: hidden;
    }

    img {
        max-width: 100%;
    }
}

/* MOBILE NAVIGATION - FINAL REFINEMENT */
@media (max-width: 700px) {
    .site-header {
        position: sticky;
        top: 0;
        z-index: 10000;
    }

    .nav-wrap {
        height: 76px !important;
        min-height: 76px !important;
        padding: 6px 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
    }

    .brand img {
        width: 145px !important;
        max-width: 145px !important;
        height: 58px !important;
        max-height: 58px !important;
        object-fit: contain !important;
    }

    .menu-toggle {
        margin-left: auto;
        padding: 10px !important;
    }

    .nav {
        display: none !important;
        top: 76px !important;
        padding: 12px 20px 18px !important;
        gap: 0 !important;
        align-items: stretch !important;
        text-align: left !important;
    }

    .nav.open {
        display: flex !important;
    }

    .nav > a,
    .nav-dropdown-toggle {
        text-align: left !important;
        padding: 12px 8px !important;
        line-height: 1.4 !important;
    }

    .nav .nav-cta {
        text-align: center !important;
        margin-top: 8px;
    }

    .nav-dropdown .dropdown-menu {
        margin-top: 2px !important;
        padding-top: 3px !important;
        padding-bottom: 3px !important;
    }

    .nav .dropdown-menu a {
        text-align: left !important;
        padding: 9px 8px !important;
    }
}

/* MOBILE NAVIGATION - FINAL OVERRIDE */
@media (max-width: 700px) {
    .site-header {
        position: sticky;
        top: 0;
        z-index: 1000;
    }

    .nav-wrap {
        min-height: 90px !important;
        height: auto !important;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    .brand img {
        width: 150px !important;
        max-width: 150px !important;
        max-height: 65px !important;
        height: auto !important;
    }

    .menu-toggle {
        display: block !important;
        font-size: 1.8rem;
        padding: 10px;
    }

    .nav {
        display: none !important;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        width: 100%;
        background: #fff;
        padding: 20px 24px 26px;
        box-shadow: 0 12px 18px rgba(18, 54, 91, .12);
        align-items: stretch;
        flex-direction: column;
        gap: 18px;
        white-space: normal;
    }

    .nav.open {
        display: flex !important;
    }

    .nav > a,
    .nav-dropdown-toggle,
    .dropdown-menu a {
        font-size: 1.05rem !important;
    }

    .nav-dropdown-toggle {
        width: 100%;
        text-align: left;
    }

    .dropdown-menu {
        position: static;
        display: none;
        width: 100%;
        min-width: 0;
        margin: 10px 0 0 8px;
        padding: 8px 0 8px 14px;
        border: 0;
        border-left: 2px solid var(--turquoise);
        box-shadow: none;
    }

    .nav-dropdown.open .dropdown-menu {
        display: grid;
    }

    .nav .nav-cta {
        text-align: center;
    }
}

/* MOBILE REFINEMENTS */
@media (max-width: 700px) {

    /* Keep mobile paragraphs naturally readable */
    body:has(.hero-grid) main p:not(.eyebrow),
    body:has(.service-card) main p:not(.eyebrow) {
        text-align: left !important;
        text-justify: auto;
    }

    /* Refine homepage heading and spacing */
    .hero {
        padding: 50px 0 58px;
    }

    .hero h1 {
        font-size: clamp(2rem, 7.4vw, 2.5rem);
        line-height: 1.12;
        letter-spacing: -0.045em;
    }

    .hero .lead {
        line-height: 1.65;
    }

    /* Make mobile navigation a full-width dropdown */
    .nav {
        top: 90px;
        left: 0;
        right: 0;
        width: 100%;
        padding: 22px 24px 26px;
        background: #fff;
        z-index: 20;
        box-shadow: 0 12px 22px rgba(18,54,91,.12);
    }

    .nav.open {
        display: flex;
    }

    .nav > a,
    .nav-dropdown-toggle {
        text-align: left;
        padding: 8px 0;
    }

    .nav .nav-cta {
        text-align: center;
        padding: 14px 20px;
    }
}

/* FINAL MOBILE TEXT ALIGNMENT */
@media screen and (max-width: 700px) {
    main p,
    main .intro-text,
    main .service-card p,
    main .values-grid p,
    main .steps p,
    main .lead {
        text-align: left !important;
        text-justify: auto !important;
        word-spacing: normal !important;
    }
}

/* ABOUT US - JUSTIFY PARAGRAPHS */
body:has(.values-band) .intro-text p,
body:has(.values-band) .values-grid p,
body:has(.values-band) .steps p,
body:has(.values-band) .page-hero .lead {
    text-align: justify;
    text-justify: inter-word;
}

/* ABOUT US - FORCE JUSTIFIED PARAGRAPHS */
.two-col .intro-text p,
.values-band .values-grid p,
.steps p,
.page-hero .lead {
    text-align: justify !important;
    text-justify: inter-word;
}

/* ABOUT US - JUSTIFY OUR APPROACH PARAGRAPHS */
.steps p,
.steps div p,
.steps > div p {
    text-align: justify !important;
    text-justify: inter-word !important;
}
