:root {
    --navy: #0d2f4b;
    --navy2: #09243a;
    --ink: #102e49;
    --gold: #c58b2c;
    --gold2: #d7a74d;
    --cream: #f7f4ed;
    --white: #fff;
    --line: #dfe4e8;
    --muted: #63758a;
    --serif: 'Cormorant Garamond',Georgia,serif;
    --sans: 'Montserrat',Arial,sans-serif
}

* {
    box-sizing: border-box
}

html {
    scroll-behavior: smooth
}

body {
    margin: 0;
    color: var(--ink);
    font-family: var(--sans);
    font-size: 16px;
    line-height: 1.7;
    background: #fff
}

.scroll-progress {
    position: fixed;
    left: 0;
    top: 0;
    width: 0;
    height: 3px;
    background: var(--gold2);
    z-index: 2000
}

.site-nav {
    background: rgba(255,255,255,.97);
    border-bottom: 1px solid rgba(16,46,73,.08);
    backdrop-filter: blur(12px)
}

.brand-logo {
    width: 220px;
    height: auto;
    display: block
}

.nav-link {
    font-size: 14px;
    font-weight: 700;
    color: var(--ink)!important;
    padding: 25px 13px!important;
    position: relative
}

.nav-link:after {
    content: "";
    position: absolute;
    left: 13px;
    right: 13px;
    bottom: 14px;
    height: 2px;
    background: var(--gold);
    transform: scaleX(0);
    transform-origin: left;
    transition: .3s
}

.nav-link:hover:after {
    transform: scaleX(1)
}

.btn {
    border-radius: 3px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
    font-size: 11px;
    padding: 12px 20px
}

.btn-gold {
    background: var(--gold);
    border-color: var(--gold);
    color: #fff
}

.btn-gold:hover {
    background: #a9721e;
    border-color: #a9721e;
    color: #fff
}

.btn-outline-light {
    border: 1px solid #032b4a;
    color: #032b4a;
}

.eyebrow {
    font-size: 14px;
    font-weight: 800;
    letter-spacing: .12em;
    color: var(--gold);
    text-transform: uppercase;
    margin-bottom: 10px
}

.eyebrow.light {
    color: #f0c56e
}

.hero {
    height: 660px;
    position: relative;
    overflow: hidden;
    color: #fff
}

.hero-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 58%
}

.hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg,rgba(246,249,251,.96) 0%,rgba(246,249,251,.78) 30%,rgba(246,249,251,.15) 62%,rgba(7,30,48,.06) 100%)
}

.hero-inner {
    height: 100%;
    position: relative;
    display: flex;
    align-items: center
}

.hero-copy {
    width: 48%;
    padding-top: 15px;
    color: var(--ink)
}

.hero h1 {
    font-family: var(--sans);
    font-weight: 700;
    font-size: 68px;
    line-height: 1.2;
    /* letter-spacing:-.025em; */
    margin: 0 0 22px
}

.hero h1 span {
    color: #153e60
}

.hero p {
    max-width: 500px;
    font-size: 15px;
    line-height: 1.6
}

.hero-actions {
    display: flex;
    gap: 12px;
    margin-top: 25px
}

.hero-caption {
    position: absolute;
    right: 3%;
    bottom: 48px;
    color: #fff;
    font-size: 13px;
    letter-spacing: .08em;
    line-height: 1.35;
    text-shadow: 0 2px 10px rgba(0,0,0,.25)
}

.hero-caption span {
    display: block;
    width: 52px;
    height: 3px;
    background: var(--gold2);
    margin-top: 9px
}

.quick-panel {
    background: #fff;
    border-bottom: 1px solid #e8ebed;
    box-shadow: 0 8px 24px rgba(12,35,52,.06);
    position: relative;
    z-index: 3
}

.quick-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr)
}

.quick-grid>div {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 19px 28px;
    border-right: 1px solid #e1e4e7
}

.quick-grid>div:last-child {
    border: 0
}

.quick-grid i {
    font-size: 29px;
    color: var(--ink)
}

.quick-grid b,.quick-grid small {
    display: block
}

.quick-grid b {
    font-size: 14px;
    letter-spacing: .06em
}

.quick-grid small {
    font-size: 14px;
    color: var(--muted)
}

.section {
    padding: 80px 0;
}

.about-section {
    background: #fff
}

.about-grid {
    display: grid;
    grid-template-columns: 1fr 1.15fr;
    gap: 70px;
    align-items: center
}

.about-copy h2,.section-head h2,.why-copy h2,.coverage-copy h2,.cta-section h2 {
    font-family: var(--sans);
    font-weight: 700;
    color: var(--ink);
    font-size: 55px;
    line-height: 1.18;
    margin: 0 0 22px
}

.about-copy p {
    /* max-width: 600px; */
    color: #48596a;
}

.text-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--ink);
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: 11px;
    border-bottom: 1px solid var(--gold);
    padding-bottom: 7px;
    text-decoration: none
}

.text-link i {
    color: var(--gold)
}

.about-image {
    height: 390px;
    position: relative;
    overflow: hidden
}

.about-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .8s;
    border-radius: 4px 70px 4px 70px;
}

.about-image:hover img {
    transform: scale(1.04)
}

.image-label {
    position: absolute;
    right: 25px;
    bottom: 22px;
    color: #fff;
    font-family: var(--serif);
    font-size: 27px;
    line-height: 1.02;
    text-align: right;
    text-shadow: 0 2px 8px rgba(0,0,0,.3)
}

.image-label em {
    color: #f0c56e;
    font-style: normal
}

.statement-band {
    background: var(--navy);
    color: #fff;
    padding: 65px 0
}

.statement-grid {
    display: grid;
    grid-template-columns: 90px 1.2fr 1fr;
    gap: 35px;
    align-items: center
}

.statement-num {
    font-family: var(--serif);
    font-size: 70px;
    color: rgba(255,255,255,.2)
}

.statement-grid h2 {
    font-family: var(--sans);
    font-weight: 700;
    font-size: 36px;
    line-height: 1.08;
    margin: 0
}

.statement-grid p {
    margin: 0;
    color: #d2dce4
}

.services-section {
    background: #fbfaf7
}

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

.section-head h2 {
    font-size: clamp(48px,4.5vw,64px);
    margin-bottom: 5px
}

.section-head p {
    color: var(--ink);
    margin: 0
}

.services-grid {
    display: grid;
    grid-template-columns: 1.22fr .78fr;
    grid-template-rows: 1fr 1fr;
    gap: 18px
}

.service-card {
    background: #fff;
    border: 1px solid #e5e7e8;
    box-shadow: 0 14px 36px rgba(22,44,62,.07);
    overflow: hidden;
    position: relative
}

.service-card:first-child {
    grid-row: 1/3;
    display: flex;
    flex-direction: column
}

.service-card:not(:first-child) {
    display: grid;
    grid-template-columns: 42% 58%;
    min-height: 220px
}

.service-img {
    height: 245px;
    overflow: hidden;
    position: relative
}

.service-card:first-child .service-img {
    height: 340px
}

.service-card:not(:first-child) .service-img {
    height: 100%
}

.service-img:after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg,transparent 45%,rgba(7,31,50,.28));
    pointer-events: none
}

.service-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .75s cubic-bezier(.2,.7,.2,1)
}

.service-card:hover .service-img img {
    transform: scale(1.06)
}

.service-body {
    padding: 24px 25px 27px;
    display: flex;
    flex-direction: column;
    justify-content: center
}

.service-card:first-child .service-body {
    padding: 27px 30px 30px
}

.service-body>span {
    font-size: 10px;
    font-weight: 800;
    color: var(--gold);
    letter-spacing: .13em
}

.service-body h3 {
    font-family: var(--sans);
    font-size: 30px;
    font-weight: 700;
    line-height: 1;
    margin: 7px 0 10px
}

.service-body p {
    /* color: var(--muted); */
    font-size: 15px;
    margin: 0 0 16px
}

.service-body a {
    color: var(--ink);
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    text-decoration: none;
    letter-spacing: .08em
}

.service-body a i {
    color: var(--gold)
}

.why-section {
    background: #f6f5f1
}

.why-grid {
    display: grid;
    grid-template-columns: 34% 66%;
    gap: 55px;
    align-items: center
}

.why-copy h2 {
    font-size: 62px
}

.why-copy p {
    /* color: var(--muted); */
    max-width: 470px
}

.why-board {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px
}

.why-card {
    min-height: 190px;
    background: #fff;
    border: 1px solid #e7e7e4;
    padding: 25px;
    position: relative;
    box-shadow: 0 8px 22px rgba(12,35,52,.04)
}

.why-card.featured {
    grid-column: 1/3;
    background: var(--navy);
    color: #fff;
    min-height: 175px
}

.why-card>span {
    position: absolute;
    right: 20px;
    top: 7px;
    font-family: var(--serif);
    font-size: 56px;
    color: rgba(16,46,73,.08)
}

.why-card.featured>span {
    color: rgba(255,255,255,.15)
}

.why-card i {
    font-size: 25px;
    color: var(--gold);
    display: block;
    margin-bottom: 18px
}

.why-card h3 {
    font-size: 15px;
    font-weight: 800;
    margin: 0 0 7px
}

.why-card p {
    /* font-size: 12px; */
    color: #48596a;
    margin: 0;
    max-width: 470px;
}

.why-card.featured p {
    color: #d5dfe7
}

.locations-section {
    background: #0b304d;
    color: #fff;
    padding: 85px 0
}

.coverage-grid {
    display: grid;
    grid-template-columns: 1fr 1.5fr .55fr;
    gap: 45px;
    align-items: center
}

.coverage-copy h2 {
    color: #fff;
    font-size: 47px;
}

.coverage-copy p {
    color: #bfd0dc;
    max-width: 440px
}


.coverage-map {
    /*height: 270px;*/
    border: 1px solid rgba(255,255,255,.17);
    position: relative;
    overflow: hidden;
    background: linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.015));
    border-radius: 10px
}

.map-grid {
    position: absolute;
    inset: 0;
    background-image: linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
    background-size: 34px 34px;
    opacity: .35
}

.coverage-map svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%
}

.coverage-map path {
    fill: none;
    stroke: #d5a341;
    stroke-width: 2;
    stroke-dasharray: 8 8;
    animation: dash 8s linear infinite
}

.pin {
    position: absolute;
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 10px;
    font-weight: 700
}

.pin i {
    display: block;
    width: 11px;
    height: 11px;
    background: #d8aa50;
    border-radius: 50%;
    box-shadow: 0 0 0 7px rgba(216,170,80,.12);
    animation: pulse 2s infinite
}

.pin.uae {
    left: 24%;
    top: 52%
}

.pin.india {
    left: 53%;
    top: 44%
}

.pin.singapore {
    left: 78%;
    top: 28%
}

.coverage-list {
    display: grid;
    gap: 18px
}

.coverage-list>div {
    display: flex;
    gap: 11px;
    align-items: flex-start
}

.coverage-list i {
    color: #d8aa50
}

.coverage-list b,.coverage-list span {
    display: block
}

.coverage-list span {
    font-size: 11px;
    color: #c6d4de
}

.coverage-list b {
    color: #fff;
    font-size: 12px
}

.cta-section {
    position: relative;
    background-image: linear-gradient(90deg,rgba(8,35,55,.72) 0%,rgba(8,35,55,.38) 48%,rgba(8,35,55,.05) 100%),var(--cta-bg);
    background-size: cover;
    background-position: center 58%;
    padding: 62px 0;
    overflow: hidden;
    color: #fff
}

.cta-section:after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 24px;
   /* background: linear-gradient(90deg,transparent 0 38%,rgba(255,255,255,.5) 38% 48%,transparent 48% 100%);*/
    opacity: .55
}

.cta-inner {
    display: grid;
    grid-template-columns: 1.35fr .65fr;
    gap: 40px;
    align-items: center;
    position: relative;
    z-index: 1
}

.cta-section .eyebrow {
    color: #f0c56e
}

.cta-section h2 {
    font-size: 45px;
    /* max-width: 820px; */
    margin: 0 0 7px;
    color: #fff
}

.cta-section p {
    color: #edf4f8;
    margin: 0
}

.cta-action {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    min-height: 150px;
    position: relative
}

.cta-action .btn {
    position: relative;
    z-index: 2
}

.cta-ship,.wake {
    display: none
}

.site-footer {
    background: #061d30;
    color: #c6d4de;
    padding: 46px 0 18px;
    position: relative;
    overflow: hidden
}

/*.site-footer:before {*/
/*    content: "";*/
/*    position: absolute;*/
/*    left: 42%;*/
/*    right: -5%;*/
/*    bottom: 34px;*/
/*    height: 86px;*/
/*    border-top: 5px solid rgba(255,255,255,.16);*/
/*    border-radius: 50%;*/
/*    transform: rotate(-7deg);*/
/*    box-shadow: 0 -10px 0 rgba(197,139,44,.85),0 -20px 0 rgba(255,255,255,.55)*/
/*}*/

.site-footer>.container-xl {
    position: relative;
    z-index: 1
}

.footer-grid {
    display: grid;
    grid-template-columns: 1.55fr 1fr 1.2fr 1fr;
    gap: 20px;
    align-items: start
}

.footer-logo {
    width: 220px;
    max-width: 100%;
    height: auto;
    margin-bottom: 12px
}

.site-footer p {
    font-size: 12px;
}

.site-footer small {
    display: block;
    color: #d9aa4b;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .16em;
    margin-bottom: 12px
}

.site-footer a,.site-footer span {
    display: block;
    color: #c6d4de;
    text-decoration: none;
    font-size: 13px;
    margin: 7px 0
}

.site-footer a:hover {
    color: #fff
}

.site-footer i {
    width: 20px;
    color: #d5a341
}

.footer-bottom {
    border-top: 1px solid rgba(255,255,255,.12);
    margin-top: 35px;
    padding-top: 17px;
    display: flex;
    justify-content: space-between;
    font-size: 9px;
    color: #7890a2
}

@keyframes pulse {
    0%,100% {
        box-shadow: 0 0 0 5px rgba(216,170,80,.1)
    }

    50% {
        box-shadow: 0 0 0 11px rgba(216,170,80,.03)
    }
}

@keyframes dash {
    to {
        stroke-dashoffset: -160
    }
}

@keyframes sail {
    0%,100% {
        transform: translate(-8px,-50%)
    }

    50% {
        transform: translate(15px,-50%)
    }
}

.reveal {
    opacity: 0;
    transform: translateY(22px);
    transition: opacity .75s ease,transform .75s ease
}

.reveal.is-visible {
    opacity: 1;
    transform: none;
}

.delay-1 {
    transition-delay: .12s
}

.delay-2 {
    transition-delay: .24s
}

@media(max-width: 991.98px) {
    .brand-logo {
        width:190px
    }

    .nav-link {
        padding: 12px 4px!important
    }

    .nav-link:after {
        display: none
    }

    .hero {
        height: 600px
    }

    .hero-copy {
        width: 65%
    }

    .hero h1 {
        font-size: 58px
    }

    .hero-overlay {
        background: linear-gradient(90deg,rgba(246,249,251,.96),rgba(246,249,251,.74) 55%,rgba(246,249,251,.15))
    }

    .quick-grid {
        grid-template-columns: 1fr
    }

    .quick-grid>div {
        border-right: 0;
        border-bottom: 1px solid #e1e4e7
    }

    .about-grid,.why-grid,.coverage-grid,.cta-inner {
        grid-template-columns: 1fr
    }

    .cta-action {
        justify-content: flex-start;
        min-height: auto;
        margin-top: 8px
    }

    .about-image {
        height: 350px
    }

    .statement-grid {
        grid-template-columns: 60px 1fr
    }

    .statement-grid p {
        grid-column: 2
    }

    .services-grid {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto
    }

    .service-card:first-child {
        grid-row: auto;
        grid-column: 1/3
    }

    .service-card:first-child .service-img {
        height: 300px
    }

    .service-card:not(:first-child) {
        display: block
    }

    .service-card:not(:first-child) .service-img {
        height: 220px
    }

    .why-board {
        margin-top: 10px
    }

    .coverage-map {
        height: 260px
    }

    .coverage-list {
        grid-template-columns: repeat(3,1fr)
    }

    .footer-grid {
        grid-template-columns: 1fr 1fr
    }

    .footer-grid>div:last-child {
        grid-template-columns: 1fr 1fr
    }

    .hero-caption {
        display: none
    }
}

@media(max-width: 767.98px) {
    .brand-logo {
        width:170px
    }

    .hero {
        height: 650px
    }

    .hero-img {
        object-position: 62% center
    }

    .hero-overlay {
        background: linear-gradient(180deg,rgba(246,249,251,.96) 0%,rgba(246,249,251,.88) 55%,rgba(246,249,251,.2) 100%)
    }

    .hero-copy {
        width: 100%;
        align-self: flex-start;
        padding-top: 70px
    }

    .hero h1 {
        font-size: 51px
    }

    .hero p {
        font-size: 13px;
        max-width: 430px
    }

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

    .quick-grid>div {
        padding: 15px 10px
    }

    .section {
        padding: 70px 0
    }

    .about-grid {
        gap: 35px
    }

    .about-image {
        height: 280px
    }

    .section-head {
        display: block
    }

    .section-head .text-link {
        margin-top: 15px
    }

    .services-grid {
        grid-template-columns: 1fr
    }

    .service-card:first-child {
        grid-column: auto
    }

    .service-card:not(:first-child) {
        display: block
    }

    .service-card:first-child .service-img,.service-card:not(:first-child) .service-img {
        height: 230px
    }

    .why-copy h2 {
        font-size: 50px
    }

    .why-board {
        grid-template-columns: 1fr
    }

    .why-card.featured {
        grid-column: auto
    }

    .coverage-grid {
        gap: 28px
    }

    .coverage-map {
        height: 230px
    }

    .coverage-list {
        grid-template-columns: 1fr 1fr
    }

    .cta-inner {
        gap: 15px
    }

    .cta-section h2 {
        font-size: 37px
    }

    .cta-action {
        height: 145px
    }

    .footer-grid {
        grid-template-columns: 1fr
    }

    .footer-grid>div:last-child {
        display: block
    }

    .footer-grid>div:last-child a {
        margin: 6px 0
    }

    .footer-bottom {
        display: block
    }

    .footer-bottom span {
        margin: 5px 0
    }

    .statement-grid {
        grid-template-columns: 1fr
    }

    .statement-num {
        display: none
    }
}

@media(prefers-reduced-motion:reduce) {
    *,*:before,*:after {
        scroll-behavior: auto!important;
        animation: none!important;
        transition: none!important
    }

    .reveal {
        opacity: 1;
        transform: none
    }
}

.footer-grid>div:last-child {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 8px;
}

.footer-grid>div:last-child small {
    grid-column: 1/-1
}

.footer-grid>div:last-child a {
    margin: 4px 0
}

.footer-grid>div:last-child a:nth-of-type(odd) {
    grid-column: 1
}

.footer-grid>div:last-child a:nth-of-type(even) {
    grid-column: 2
}

.footer-grid>div:last-child a:before {
    content: '→';
    color: var(--gold2);
    margin-right: 7px
}

.site-footer .footer-logo {
    filter: none
}
/* Services ("What We Do") + Our Approach — all selectors scoped to .tm-services */
.tm-services{--tm-ink:#12294a;--tm-text:#4a5568;--tm-gold:#c58a2b;--tm-line:#dfe4ea;--tm-navy:#0e2240;
  background:#fbfaf7;padding:80px 0 0;color:var(--tm-text);font-size:16px;line-height:1.75}
.tm-services *{box-sizing:border-box}
.tm-services h2,.tm-services h3{color:var(--tm-ink);font-weight:700;margin:0}
.tm-services p{margin:0 0 14px}
.tm-services p:last-child{margin-bottom:0}
.tm-s-eyebrow{color:var(--tm-gold);font-weight:700;font-size:13px;letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px}

/* intro */
.tm-s-intro{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:end;margin-bottom:56px}
.tm-s-intro h2{font-size:clamp(40px,5vw,60px);line-height:1.08}
.tm-s-intro p{font-size:16px}
.tm-s-intro p:first-child{color:var(--tm-ink);font-weight:500;font-size:17px}

/* service rows */
.tm-s-list{display:grid;gap:28px}
.tm-s-row{display:grid;grid-template-columns:5fr 7fr;background:#fff;border:1px solid #e5e7e8;border-radius:6px;overflow:hidden;box-shadow:0 14px 36px rgba(22,44,62,.06)}
.tm-s-row.is-flip{grid-template-columns:7fr 5fr}
.tm-s-row.is-flip .tm-s-img{order:2}
.tm-s-img{position:relative;min-height:340px;overflow:hidden}
.tm-s-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.tm-s-num{position:absolute;left:0;top:0;background:var(--tm-navy);color:#fff;font-weight:700;font-size:15px;letter-spacing:.08em;padding:12px 20px;border-radius:0 0 6px 0}
.tm-s-row.is-flip .tm-s-num{left:auto;right:0;border-radius:0 0 0 6px}
.tm-s-body{padding:40px 44px}
.tm-s-kicker{color:var(--tm-gold);font-weight:700;font-size:12px;letter-spacing:.13em;text-transform:uppercase;margin:0 0 6px}
.tm-s-body h3{font-size:clamp(26px,3vw,34px);line-height:1.1;margin-bottom:18px}
.tm-s-body strong{color:var(--tm-ink);font-weight:600}
.tm-s-chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:22px 0 0;padding:0}
.tm-s-chips li{border:1px solid var(--tm-line);border-left:3px solid var(--tm-gold);padding:4px 12px;font-size:13px;font-weight:600;color:var(--tm-ink);background:#fbfaf7;line-height:1.6}

/* approach band */
.tm-s-approach{background:var(--tm-navy);color:#b9c6d8;margin-top:80px;padding:72px 0}
.tm-s-approach .tm-s-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:start}
.tm-s-approach h2{color:#fff;font-size:clamp(28px,3.4vw,40px);line-height:1.2}
.tm-s-approach strong{color:#fff;font-weight:600}
.tm-s-pillars{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.tm-s-pillars span{border:1px solid rgba(255,255,255,.25);border-radius:30px;padding:6px 18px;font-weight:600;font-size:14px;color:#fff}
.tm-s-pillars span:first-child{background:var(--tm-gold);border-color:var(--tm-gold);color:#12294a}

@media(max-width:991.98px){
  .tm-s-intro,.tm-s-approach .tm-s-grid{grid-template-columns:1fr;gap:24px}
  .tm-s-row,.tm-s-row.is-flip{grid-template-columns:1fr}
  .tm-s-row.is-flip .tm-s-img{order:0}
  .tm-s-img{min-height:260px}
  .tm-s-body{padding:30px 26px}
}
@media(max-width:575.98px){
  .tm-services{padding-top:56px}
  .tm-s-approach{margin-top:56px;padding:52px 0}
}
/* About section (bento layout) - all selectors scoped to .tm-about */
.tm-about{--tm-bg:#eef1f5;--tm-ink:#12294a;--tm-text:#4a5568;--tm-gold:#c58a2b;--tm-line:#dfe4ea;--tm-navy:#0e2240;--tm-sand:#f6ead6;
  background:var(--tm-bg);padding:64px 0;color:var(--tm-text);font-size:16px;line-height:1.75}
.tm-about *{box-sizing:border-box}
.tm-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}
.tm-tile{background:#fff;padding:34px;min-width:0}
.tm-about h2,.tm-about h3{margin:0;color:var(--tm-ink);font-weight:700}
.tm-about p{margin:0 0 14px}
.tm-about p:last-child{margin-bottom:0}
.tm-eyebrow{color:var(--tm-gold);font-weight:700;font-size:13px;letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px}
.tm-head{grid-column:1/7;border-radius:6px 6px 6px 60px;padding:32px 36px}
.tm-head h2{font-size:clamp(30px,3.4vw,40px);line-height:1.15;margin-bottom:16px}
.tm-head .tm-lead{color:var(--tm-ink);font-weight:500;font-size:16px;line-height:1.7}
.tm-head p:not(.tm-lead):not(.tm-eyebrow){font-size:15px;line-height:1.7}
.tm-photo{grid-column:7/13;border-radius:60px 6px 6px 6px;padding:0;position:relative;overflow:hidden;min-height:300px;max-height:420px}
.tm-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 55%;display:block}
.tm-photo span{position:absolute;left:0;right:0;bottom:0;padding:48px 24px 20px;background:linear-gradient(transparent,rgba(8,20,40,.85));color:#fff;font-weight:600;font-size:14px}
.tm-sp{grid-column:1/5;border-radius:6px}
.tm-ch{grid-column:5/9;border-radius:6px}
.tm-about h3{font-size:22px;margin-bottom:10px}
.tm-about ul{list-style:none;margin:16px 0 0;padding:0}
.tm-about li{padding:8px 0;border-top:1px solid var(--tm-line);color:var(--tm-ink);font-weight:500;font-size:14px}
.tm-offices{grid-column:9/13;background:var(--tm-navy);color:#b9c6d8;border-radius:6px}
.tm-offices h3{color:#fff}
.tm-city{display:flex;justify-content:space-between;align-items:baseline;padding:12px 0;border-top:1px solid rgba(255,255,255,.18)}
.tm-city b{color:#fff;font-size:18px;font-weight:600}
.tm-city small{color:var(--tm-gold);font-weight:600;font-size:13px}
.tm-cities{margin-top:18px}
.tm-appr{grid-column:1/13;background:var(--tm-sand);border-radius:6px 6px 60px 6px}
.tm-appr h3{margin-bottom:18px}
.tm-pts{display:grid;grid-template-columns:repeat(4,1fr);gap:18px 28px;margin-top:20px}
.tm-pts div{border-left:3px solid var(--tm-gold);padding-left:14px}
.tm-pts b{display:block;color:var(--tm-ink);font-size:15px}
.tm-pts span{font-size:14px;line-height:1.6;display:block}
.tm-cta{grid-column:1/13;background:var(--tm-gold);border-radius:6px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding:28px 34px}
.tm-cta p{color:var(--tm-ink);font-weight:600;font-size:18px;margin:0}
.tm-cta a{background:var(--tm-ink);color:#fff;text-decoration:none;font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:14px 24px;border-radius:4px}
.tm-cta a:hover{background:#0a1a33;color:#fff}
.tm-cta a:focus-visible{outline:2px solid #fff;outline-offset:3px}
@media(max-width:1000px){.tm-head,.tm-photo,.tm-appr,.tm-offices{grid-column:1/13}.tm-sp{grid-column:1/7}.tm-ch{grid-column:7/13}.tm-pts{grid-template-columns:1fr 1fr}.tm-photo{min-height:360px}}
@media(max-width:640px){.tm-about{padding:36px 0}.tm-sp,.tm-ch{grid-column:1/13}.tm-pts{grid-template-columns:1fr}.tm-head{padding:28px}.tm-photo{min-height:260px}}

/* ===== Fixes for existing site CSS ===== */
/* Global Coverage now has 2 columns (the 3rd, .coverage-list, is commented out) */
.coverage-grid{grid-template-columns:1fr 1.3fr}
.coverage-map{height:auto}
.coverage-map img{display:block;width:100%;height:auto}
@media(max-width:991.98px){.coverage-grid{grid-template-columns:1fr}}
/* Keep section titles clear of the sticky navbar when using anchor links */
section[id],header[id]{scroll-margin-top:80px}
