:root {
    --orange: #ff7d4a;
    --ink: #121212;
    --muted: #676767;
    --line: #e8e4df;
    --cream: #fffaf6;
    --white: #fff;
    --radius: 22px;
    --max: 1280px;
    --def-orange: #ff7048;
    --def-orange-dark: #ff5a00;
    --def-black: #0d0f10;
    --def-black-soft: #111315;
    --def-white: #f7f7f5;
    --def-text: #111111;
    --def-grey: #959797;
    --def-border-dark: rgba(255,255,255,.15);
    --def-border-light: #ddd9d4;
    --font-main: 'Causten', Arial, Helvetica, sans-serif;
}

* {
    box-sizing: border-box
}

html {
    scroll-behavior: smooth
}

body {
    margin: 0;
    font-family: var(--font-main);
    color: var(--ink);
    background: #fff;
    line-height: 1.55
}

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

button,
input,
select,
textarea {
    font: inherit;
    font-family: var(--font-main)
}

.site-header {
    height: 82px;
    display: flex;
    align-items: center;
    gap: 34px;
    padding: 0 max(28px, calc((100vw - var(--max))/2));
    position: sticky;
    top: 0;
    z-index: 50;
    background: rgba(255, 255, 255, .94);
    backdrop-filter: blur(16px);
    border-bottom: 1px solid var(--line)
}

.brand {
    display: flex;
    align-items: center;
    gap: 11px;
    font-size: 18px;
    white-space: nowrap
}

.brand-mark {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    background: var(--orange);
    color: #fff;
    border-radius: 50%;
    font-weight: 800
}

.brand strong {
    font-weight: 800
}

.nav {
    display: flex;
    align-items: center;
    gap: 22px;
    margin-left: auto
}

.nav a {
    font-size: 13px;
    color: #444
}

.nav a:hover {
    color: var(--orange)
}

.menu-btn {
    display: none;
    border: 0;
    background: none;
    font-size: 25px
}

.domain-strip {
    display: flex;
    justify-content: center;
    gap: 24px;
    padding: 10px 20px;
    background: var(--ink);
    color: #fff;
    font-size: 12px;
    letter-spacing: .08em;
    text-transform: uppercase
}

.domain-strip span {
    color: #aaa;
    margin-right: 18px
}

.domain-strip b {
    font-weight: 600;
}

.section-pad{
    padding:
        25px
        max(28px, calc((100vw - var(--max))/2));
}

.alt {
    background: var(--cream)
}

.eyebrow,
.section-head>span,
.section-head div>span {
    font-size: 12px;
    letter-spacing: .15em;
    text-transform: uppercase;
    color: var(--orange);
    font-weight: 800
}

.hero {
    padding-top: 40px
}

.hero-grid {
    display: grid;
    grid-template-columns: 1.2fr .8fr;
    gap: 60px;
    align-items: center
}

.hero h1,
.section-head h2 {
    letter-spacing: -.045em;
    line-height: 1.02;
    margin: 18px 0 26px
}

.hero h1 {
    font-size: clamp(46px, 6vw, 86px);
    max-width: 930px
}

.hero h1 em,
.section-head h2 em {
    font-style: normal;
    color: var(--orange)
}

.lead {
    font-size: 19px;
    color: #555;
    max-width: 790px
}

.hero-actions {
    display: flex;
    align-items: center;
    gap: 26px;
    margin-top: 34px
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 999px;
    padding: 13px 20px;
    font-weight: 700;
    font-size: 13px;
    cursor: pointer
}

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

.btn-dark {
    background: var(--ink);
    color: #fff
}

.text-link {
    font-weight: 700;
    font-size: 14px
}

.hero-visual {
    min-height: 500px;
    background: radial-gradient(circle at 65% 20%, #fff 0 8%, transparent 9%), linear-gradient(140deg, #1a1a1a, #2f2f2f);
    border-radius: 34px;
    position: relative;
    overflow: hidden
}

.hero-visual:before,
.hero-visual:after {
    content: "";
    position: absolute;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 50%
}

.hero-visual:before {
    width: 430px;
    height: 430px;
    left: -90px;
    bottom: -130px
}

.hero-visual:after {
    width: 260px;
    height: 260px;
    right: -60px;
    top: -50px
}

.orb {
    position: absolute;
    width: 160px;
    height: 160px;
    border-radius: 50%;
    background: var(--orange);
    right: 55px;
    bottom: 55px;
    box-shadow: 0 0 0 26px rgba(255, 125, 74, .12), 0 0 0 56px rgba(255, 125, 74, .05)
}

.visual-label {
    position: absolute;
    left: 34px;
    top: 34px;
    color: #fff;
    font-size: 11px;
    letter-spacing: .16em
}

.metrics {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border-top: 1px solid var(--line);
    margin-top: 74px;
    padding-top: 28px
}

.metrics div {
    display: flex;
    flex-direction: column;
    border-right: 1px solid var(--line);
    padding-right: 25px
}

.metrics div:last-child {
    border: 0
}

.metrics strong {
    font-size: 34px
}

.metrics span {
    font-size: 12px;
    color: var(--muted)
}

.section-head {
    max-width: 100%
}

.section-head.inline {
    display: flex;
    justify-content: space-between;
    align-items: end;
    max-width: none;
    gap: 50px
}

.section-head.inline>p {
    max-width: 420px;
    color: var(--muted)
}

.section-head h2 {
    font-size: clamp(35px, 5vw, 60px)
}

.direction-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    margin-top: 55px
}

.direction-grid article {
    background: #fff;
    border: 1px solid var(--line);
    padding: 38px;
    border-radius: var(--radius)
}

.num {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: var(--orange);
    color: #fff;
    font-weight: 800
}

.direction-grid h3 {
    font-size: 30px;
    margin: 28px 0 8px
}

.direction-grid p {
    color: var(--muted)
}

.direction-grid ol {
    margin: 25px 0 0;
    padding: 0;
    list-style: none;
    counter-reset: item
}

.direction-grid li {
    padding: 11px 0;
    border-top: 1px solid var(--line);
    font-weight: 600;
    font-size: 14px
}

.filters {
    display: flex;
    gap: 9px;
    margin: 36px 0 24px;
    flex-wrap: wrap
}

.filter {
    border: 1px solid var(--line);
    background: #fff;
    padding: 10px 16px;
    border-radius: 999px;
    cursor: pointer
}

.filter.active,
.filter:hover {
    background: var(--orange);
    border-color: var(--orange);
    color: #fff
}

.product-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-auto-rows: 330px;
    gap: 18px
}

.product-card {
    border: 1px solid var(--line);
    border-radius: 24px;
    overflow: hidden;
    background: #fff;
    position: relative
}

.product-card.tall {
    grid-row: span 2
}

.product-card.wide {
    grid-column: span 2
}

.product-art {
    height: 60%;
    position: relative;
    background: #222;
    overflow: hidden
}

.tall .product-art {
    height: 72%
}

.product-art:before,
.product-art:after {
    content: "";
    position: absolute
}

.air-art {
    background: linear-gradient(145deg, #151515, #383838)
}

.air-art:before {
    width: 70%;
    height: 5px;
    background: #fff;
    left: 14%;
    top: 48%;
    transform: rotate(-8deg);
    box-shadow: 0 0 0 1px #fff
}

.air-art:after {
    width: 80px;
    height: 80px;
    border: 4px solid var(--orange);
    border-radius: 50%;
    left: 46%;
    top: 38%
}

.land-art {
    background: linear-gradient(120deg, #f2eee9, #d8d3cd)
}

.land-art:before {
    width: 180px;
    height: 110px;
    border: 4px solid #222;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%) rotate(4deg);
    box-shadow: 18px 16px 0 var(--orange)
}

.space-art {
    background: radial-gradient(circle at 32% 42%, #fff 0 2%, transparent 3%), radial-gradient(circle at 70% 25%, #fff 0 1.5%, transparent 2.5%), linear-gradient(145deg, #0e0e12, #272735)
}

.space-art:before {
    width: 110px;
    height: 110px;
    border: 2px solid var(--orange);
    border-radius: 50%;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%)
}

.space-art:after {
    width: 175px;
    height: 45px;
    border: 2px solid #fff;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%) rotate(-18deg)
}

.sea-art {
    background: linear-gradient(#f5f0ea 55%, #252525 56%)
}

.sea-art:before {
    width: 55%;
    height: 60px;
    background: var(--orange);
    left: 22%;
    top: 49%;
    clip-path: polygon(0 0, 100% 20%, 86% 100%, 12% 88%)
}

.cyber-art {
    background: repeating-linear-gradient(90deg, #151515 0 28px, #202020 29px 30px)
}

.cyber-art:before {
    inset: 30px;
    border: 1px solid var(--orange);
    box-shadow: inset 0 0 35px rgba(255, 125, 74, .22)
}

.mfg-art {
    background: linear-gradient(135deg, #e9e5df, #fff)
}

.mfg-art:before {
    width: 180px;
    height: 180px;
    border: 22px solid #222;
    border-radius: 18px;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%) rotate(35deg);
    box-shadow: 32px 15px 0 -8px var(--orange)
}

.product-copy {
    padding: 20px 22px
}

.product-copy span {
    font-size: 10px;
    letter-spacing: .16em;
    color: var(--orange);
    font-weight: 800
}

.product-copy h3 {
    font-size: 20px;
    margin: 6px 0
}

.product-copy p {
    font-size: 13px;
    color: var(--muted);
    margin: 0
}

.product-card.hidden {
    display: none
}

.services-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1px;
    background: var(--line);
    border: 1px solid var(--line);
    margin-top: 50px
}

.services-grid article {
    background: #fff;
    padding: 38px
}

.services-grid span {
    color: var(--orange);
    font-weight: 800
}

.services-grid h3 {
    font-size: 26px
}

.services-grid p {
    color: var(--muted)
}

.sector-columns {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-top: 50px
}

.sector-columns>div {
    border-top: 3px solid var(--orange);
    padding: 24px 0
}

.sector-columns h3 {
    font-size: 22px
}

.sector-columns p {
    margin: 0;
    padding: 11px 0;
    border-bottom: 1px solid var(--line);
    font-size: 14px
}

.process-track {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    margin-top: 45px
}

.process-track article {
    background: #fff;
    padding: 25px;
    border-radius: 18px;
    min-height: 220px
}

.process-track article>span {
    font-size: 11px;
    font-weight: 800;
    color: var(--orange)
}

.process-track h3 {
    font-size: 19px;
    margin: 42px 0 9px
}

.process-track p {
    font-size: 13px;
    color: var(--muted)
}

.engagement-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-top: 40px
}

.engagement-grid article {
    border: 1px solid var(--line);
    padding: 38px;
    border-radius: 24px
}

.engagement-grid article>span,
.engagement-grid small {
    color: var(--orange);
    font-size: 12px;
    font-weight: 700
}

.engagement-grid h3 {
    font-size: 30px
}

.engagement-grid b {
    font-size: 12px;
    text-transform: uppercase
}

.mapbox {
    height: 470px;
    margin-top: 40px;
    background: #171717;
    border-radius: 26px;
    position: relative;
    overflow: hidden;
    background-image: radial-gradient(circle at 20% 30%, rgba(255, 255, 255, .08) 0 1px, transparent 2px);
    background-size: 30px 30px
}


.focus-sector-clean {
    background: #f7f7f5;
    color: #101010;
}

.focus-sector-label {
    margin-bottom: 28px;

    color: var(--def-orange);

    font-size: 12px;
    font-weight: 700;

    letter-spacing: .14em;
    text-transform: uppercase;
}

.focus-sector-title {
    margin-bottom: 50px;
}

.focus-sector-title h2 {
    max-width: 100%;

    margin: 0;

    color: #111;

    font-size: clamp(48px, 5vw, 74px);
    line-height: .93;

    font-weight: 700;

    letter-spacing: -.055em;
}

.focus-sector-title h2 span {
    color: var(--def-orange);
}

.focus-sector-grid {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 20px;
}

.focus-sector-column {
    min-width: 0;
}

.sector-orange-line {
    width: 100%;
    height: 3px;

    margin-bottom: 50px;

    background: var(--def-orange);
}

.focus-sector-column h3 {
    margin: 0 0 28px;

    color: #111;

    font-size: 22px;
    line-height: 1.25;

    font-weight: 700;
}

.sector-list {
    width: 100%;
}

.sector-list div {
    padding: 13px 0;

    border-bottom:
        1px solid var(--def-border-light);

    color: #111;

    font-size: 14px;
    line-height: 1.35;
}


/* ==========================================================
   06 — NETWORK PROCESS
========================================================== */

.process-network-section {
    position: relative;

    overflow: hidden;

    background: var(--def-black);

    color: #f3f3ef;
}

.process-section-top {
    display: flex;

    align-items: center;
    justify-content: space-between;

    padding-top: 18px;

    margin-bottom: 48px;

    border-top:
        1px solid rgba(255,255,255,.16);

    color: var(--def-orange-dark);

    font-family: var(--font-main);

    font-size: 11px;

    letter-spacing: .13em;

    text-transform: uppercase;
}

.process-network-heading {
    position: relative;

    z-index: 2;

    margin-bottom: 25px;
}

.process-network-heading h2 {
    max-width: 100%;

    margin: 0;

    color: #f3f3ef;

    font-size: clamp(46px, 5vw, 60px);

    line-height: 1.02;

    letter-spacing: -.05em;

    font-weight: 800;
}

.process-network-heading h2 span {
    color: var(--def-orange);
}

.process-network-heading p {
    max-width: 620px;

    margin: 22px 0 0;

    color: #9c9d9e;

    font-size: 14px;

    line-height: 1.75;
}


/* ==========================
   NETWORK AREA
========================== */

.process-network-area {
    position: relative;

    width: 100%;

    min-height: 650px;

    margin-top: 10px;

    background:

        radial-gradient(
            circle at 48% 45%,
            rgba(255,90,0,.06),
            transparent 43%
        );
}


/* subtle grid */

.process-network-area::before {
    content: "";

    position: absolute;

    inset: 0;

    pointer-events: none;

    opacity: .35;

    background-image:

        linear-gradient(
            rgba(255,255,255,.025) 1px,
            transparent 1px
        ),

        linear-gradient(
            90deg,
            rgba(255,255,255,.025) 1px,
            transparent 1px
        );

    background-size:
        75px 75px;
}


/* SVG NETWORK */

.process-network-svg {
    position: absolute;

    inset: 0;

    z-index: 1;

    width: 100%;
    height: 100%;

    pointer-events: none;
}

.process-network-svg line {
    stroke: rgba(255,255,255,.14);
    stroke-width: 1;
    vector-effect: non-scaling-stroke;

    transition:
        stroke .35s ease,
        opacity .35s ease;
}

.process-network-svg line:hover {
    stroke: rgba(255,112,72,.5);
}


/* Make the network softer behind the content */

.process-network-svg {
    opacity: .8;
}


/* Active process node */

.process-network-node.active
.process-network-circle {
    background: #ff5a00;
    border-color: #ff5a00;

    box-shadow:
        0 0 8px #ff5a00,
        0 0 20px rgba(255,90,0,.8),
        0 0 42px rgba(255,90,0,.35);
}


/* Give every node a subtle permanent glow */

.process-network-circle {
    box-shadow:
        0 0 0 4px rgba(255,255,255,.015);
}


/* active title */

.process-network-node.active strong {
    color: #fff;
    font-weight: 500;
}

.process-network-svg line.route-active {
    stroke: var(--def-orange-dark);

    filter:
        drop-shadow(
            0 0 3px
            rgba(255,90,0,.7)
        );
}


/* PROCESS NODE */

.process-network-node {
    position: absolute;

    z-index: 5;

    width: 175px;

    padding: 0;

    transform:
        translate(-50%, -50%);

    border: 0;

    outline: none;

    background: transparent;

    color: #898b8c;

    text-align: center;

    cursor: pointer;
}

.process-network-circle {
    position: relative;

    display: block;

    width: 13px;
    height: 13px;

    margin: 0 auto 13px;

    border:

        1px solid
        rgba(255,255,255,.65);

    border-radius: 50%;

    background:
        var(--def-black);

    transition:
        background .35s ease,
        border-color .35s ease,
        box-shadow .35s ease,
        transform .35s ease;
}

.process-network-circle::before {
    content: "";

    position: absolute;

    width: 31px;
    height: 31px;

    left: 50%;
    top: 50%;

    border:

        1px solid
        transparent;

    border-radius: 50%;

    transform:
        translate(-50%, -50%)
        scale(.45);

    transition: .35s ease;
}

.process-network-circle::after {
    content: "";

    position: absolute;

    width: 48px;
    height: 48px;

    left: 50%;
    top: 50%;

    border:

        1px solid
        transparent;

    border-radius: 50%;

    transform:
        translate(-50%, -50%)
        scale(.4);

    transition: .35s ease;
}

.process-network-node small {
    display: block;

    margin-bottom: 6px;

    color: var(--def-orange-dark);

    font-family: var(--font-main);

    font-size: 9px;

    letter-spacing: .11em;
}

.process-network-node strong {
    display: block;

    color: #8e9091;

    font-size: 12px;

    line-height: 1.45;

    font-weight: 400;

    transition:
        color .3s ease;
}

.process-network-node:hover strong {
    color: white;
}

.process-network-node:hover
.process-network-circle {
    border-color:
        var(--def-orange-dark);
}


/* ACTIVE NODE */

.process-network-node.active strong {
    color: #fff;
}

.process-network-node.active
.process-network-circle {

    transform: scale(1.08);

    border-color:
        var(--def-orange-dark);

    background:
        var(--def-orange-dark);

    box-shadow:

        0 0 8px
        rgba(255,90,0,1),

        0 0 24px
        rgba(255,90,0,.65);
}

.process-network-node.active
.process-network-circle::before {

    border-color:
        rgba(255,90,0,.55);

    transform:
        translate(-50%, -50%)
        scale(1);
}

.process-network-node.active
.process-network-circle::after {

    border-color:
        rgba(255,90,0,.18);

    transform:
        translate(-50%, -50%)
        scale(1);
}

/*matrics*/
/*==============================
 HERO METRICS
==============================*/

.hero-metrics{
    display:flex;
    justify-content:center;
    gap:25px;
    margin-top:70px;
    flex-wrap:wrap;
}

.metric-box{

    width:290px;
    height:210px;

    border:1px dashed #b7b7b7;
    border-radius:12px;

    background:#fff;

    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;

    transition:.35s ease;

    position:relative;
    overflow:hidden;
}

/* Orange top line */

.metric-box::before{

    content:"";

    position:absolute;

    top:0;
    left:0;

    width:100%;
    height:3px;

    background:#ff6b45;

    transform:scaleX(0);

    transition:.35s;
}

.metric-box:hover::before{

    transform:scaleX(1);

}

/* Hover */

.metric-box:hover{

    transform:translateY(-8px);

    border-color:#ff6b45;

    box-shadow:
    0 18px 35px rgba(255,107,69,.15);

}


/* Icon */

.metric-icon{

    width:65px;
    height:65px;

    border-radius:50%;

    background:#fff3ef;

    color:#ff6b45;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:28px;

    margin-bottom:18px;

    transition:.35s;
}

.metric-box:hover .metric-icon{

    background:#ff6b45;
    color:#fff;

    transform:rotate(-8deg) scale(1.08);

}


/* Number */

.metric-box h2{

    margin:0;

    font-size:48px;
    font-weight:700;

    color:#111;

    line-height:1;
}


/* Label */

.metric-box p{

    margin-top:10px;

    font-size:17px;

    font-weight:500;

    color:#444;

}
/* ==========================
   NETWORK NODE POSITIONS
========================== */

.process-pos-1 {
    left: 6.5%;
    top: 23%;
}

.process-pos-2 {
    left: 22.5%;
    top: 16%;
}

.process-pos-3 {
    left: 38.5%;
    top: 28%;
}

.process-pos-4 {
    left: 54.5%;
    top: 15%;
}

.process-pos-5 {
    left: 70%;
    top: 26%;
}

.process-pos-6 {
    left: 90%;
    top: 17%;
}

.process-pos-7 {
    left: 85%;
    top: 56%;
}

.process-pos-8 {
    left: 68.7%;
    top: 66%;
}

.process-pos-9 {
    left: 52.5%;
    top: 54%;
}

.process-pos-10 {
    left: 37%;
    top: 68%;
}

.process-pos-11 {
    left: 21.7%;
    top: 56%;
}

.process-pos-12 {
    left: 6.5%;
    top: 70%;
}


/* ==========================
   MOVING PROCESS POINT
========================== */

.process-moving-dot {
    position: absolute;

    z-index: 9;

    width: 10px;
    height: 10px;

    border-radius: 50%;

    background:
        var(--def-orange-dark);

    box-shadow:

        0 0 8px
        rgba(255,90,0,1),

        0 0 20px
        rgba(255,90,0,.9),

        0 0 38px
        rgba(255,90,0,.48);

    transform:
        translate(-50%, -50%);

    transition:

        left 1.25s
        cubic-bezier(.65,0,.35,1),

        top 1.25s
        cubic-bezier(.65,0,.35,1);
}


/* ==========================
   ACTIVE PROCESS INFO
========================== */

.active-process-card {
    position: absolute;

    right: 2.5%;
    bottom: 4%;

    z-index: 10;

    width: 350px;

    padding: 25px;

    border:

        1px solid
        rgba(255,255,255,.15);

    background:
        rgba(12,14,15,.92);

    backdrop-filter:
        blur(12px);
}

.active-process-card small {
    display: block;

    margin-bottom: 11px;

    color:
        var(--def-orange-dark);

    font-family: var(--font-main);

    font-size: 9px;

    letter-spacing: .13em;
}

.active-process-card h3 {
    margin:
        0 0 10px;

    color: #fff;

    font-size: 24px;

    line-height: 1.25;

    font-weight: 400;
}

.active-process-card p {
    margin: 0;

    color: #9b9d9d;

    font-size: 12px;

    line-height: 1.7;
}


/* ==========================================================
   08 — GLOBAL NETWORK
   DARK UI LIKE REFERENCE SCREENSHOT
========================================================== */

.office-ui-section {
    background: #0d0f10;

    color: #f3f3ef;
}

.office-ui-top {
    display: flex;

    align-items: center;
    justify-content: space-between;

    padding-top: 18px;

    margin-bottom: 38px;

    border-top:

        1px solid
        rgba(255,255,255,.17);

    color:
        var(--def-orange-dark);

    font-family: var(--font-main);

    font-size: 11px;

    letter-spacing: .13em;

    text-transform: uppercase;
}

.office-ui-top a {
    color:
        var(--def-orange-dark);

    text-decoration: none;

    transition:
        opacity .3s ease;
}

.office-ui-top a:hover {
    opacity: .7;
}

.office-ui-title {
    margin-bottom: 50px;
}

.office-ui-title h2 {
    max-width: 780px;

    margin: 0;

    color: #f4f3ef;

    font-size:
        clamp(40px, 4.3vw, 62px);

    line-height: .98;

    letter-spacing: -.045em;

    font-weight: 500;
}


/* OFFICE GRID */

.office-ui-grid {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0,1fr));

    margin-top: 22px;
}

.office-ui-card {
    min-width: 0;

    min-height: 270px;

    padding:
        30px 25px;

    border-left:

        1px solid
        rgba(255,255,255,.15);
}

.office-ui-card:first-child {
    border-left: 0;

    padding-left: 24px;
}

.office-ui-card small {
    display: block;

    margin-bottom: 20px;

    color:
        var(--def-orange-dark);

    font-family: var(--font-main);

    font-size: 10px;

    letter-spacing: .13em;

    text-transform: uppercase;
}

.office-ui-card h3 {
    margin:
        0 0 7px;

    color: #f4f3ef;

    font-size: 21px;

    line-height: 1.3;

    font-weight: 400;
}

.office-ui-company {
    display: block;

    margin-bottom: 20px;

    color: #bdbfbe;

    font-size: 12px;

    line-height: 1.4;
}

.office-ui-card p {
    max-width: 275px;

    margin: 0;

    color: #e3e2de;

    font-size: 13px;

    line-height: 1.75;
}

.office-partner-text {
    margin-top: 34px;

    color: #efeee8;

    font-size: 14px;
}


/* ==========================================================
   RESPONSIVE
========================================================== */

@media(max-width: 1000px) {

    .focus-sector-grid {
        grid-template-columns:
            1fr 1fr;
    }

    .focus-sector-column:last-child {
        grid-column:
            span 2;
    }

    .office-ui-grid {
        grid-template-columns:
            repeat(2,1fr);
    }

    .office-ui-card:nth-child(3) {
        border-left: 0;
    }

}


@media(max-width: 768px) {

    .focus-sector-title h2,
    .process-network-heading h2,
    .office-ui-title h2 {

        font-size: 39px;

        line-height: 1;
    }


    /* Focus sectors */

    .focus-sector-grid {
        grid-template-columns: 1fr;
    }

    .focus-sector-column:last-child {
        grid-column: auto;
    }

    .sector-orange-line {
        margin-bottom: 25px;
    }

    .focus-sector-column {
        margin-bottom: 24px;
    }


    /* Process */

    .process-section-top
    span:last-child {

        display: none;
    }

    .process-network-area {

        display: grid;

        grid-template-columns:
            repeat(2, minmax(0,1fr));

        gap: 10px;

        min-height: 0;

        padding-bottom: 195px;
    }

    .process-network-svg,
    .process-moving-dot {

        display: none;
    }

    .process-network-node {

        position: relative;

        left: auto !important;
        top: auto !important;

        width: auto;

        min-height: 110px;

        padding: 16px;

        transform: none;

        border:

            1px solid
            rgba(255,255,255,.12);

        text-align: left;
    }

    .process-network-circle {

        margin:
            0 0 12px;
    }

    .process-network-node strong {

        max-width: 150px;
    }

    .active-process-card {

        left: 0;
        right: 0;

        bottom: 8px;

        width: auto;
    }


    /* Offices */

    .office-ui-top a {

        display: none;
    }

    .office-ui-grid {

        grid-template-columns: 1fr;
    }

    .office-ui-card,
    .office-ui-card:first-child {

        min-height: auto;

        padding:
            28px 0;

        border-left: 0;

        border-top:

            1px solid
            rgba(255,255,255,.15);
    }

    .office-ui-card p {

        max-width: 100%;
    }

}

.route-line {
    position: absolute;
    left: 12%;
    right: 12%;
    top: 48%;
    height: 3px;
    background: linear-gradient(90deg, var(--orange), #fff, var(--orange));
    transform: rotate(-8deg)
}

.city {
    position: absolute;
    color: #fff;
    display: flex;
    flex-direction: column
}

.city:before {
    content: "";
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: var(--orange);
    margin-bottom: 8px
}

.city span {
    font-size: 11px;
    color: #aaa
}

.pune {
    left: 70%;
    top: 58%
}

.dubai {
    left: 56%;
    top: 48%
}

.hannover {
    left: 42%;
    top: 34%
}

.detroit {
    left: 18%;
    top: 39%
}

/* =========================================
   LEADERSHIP - CIRCLE PHOTO CARDS
========================================= */

.leadership-circle-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
    margin-top: 35px;
}


/* CARD */

.leadership-circle-card {
    padding: 26px;

    background: #fff;

    border: 1px solid #e8e3de;
    border-radius: 20px;

    transition:
        border-color .3s ease,
        transform .3s ease,
        box-shadow .3s ease;
}

.leadership-circle-card:hover {
    border-color: #ff7048;

    transform: translateY(-4px);

    box-shadow:
        0 15px 35px rgba(0,0,0,.06);
}


/* TOP AREA */

.leadership-circle-top {
    display: flex;
    align-items: center;

    gap: 20px;

    padding-bottom: 22px;

    margin-bottom: 20px;

    border-bottom:
        1px solid #eee9e4;
}


/* PHOTO */

.leadership-circle-photo {
    width: 92px;
    height: 92px;

    flex: 0 0 92px;

    overflow: hidden;

    border-radius: 50%;

    border: 2px solid #ff7048;

    background: #f5f5f5;
}

.leadership-circle-photo img {
    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center top;

    filter: grayscale(100%);

    transition: transform .4s ease;
}

.leadership-circle-card:hover
.leadership-circle-photo img {
    transform: scale(1.05);
}


/* NAME & DESIGNATION */

.leadership-circle-info {
    min-width: 0;
}

.leadership-circle-info h3 {
    margin: 0 0 8px;

    color: #111;

    font-size: 25px;
    line-height: 1.08;

    font-weight: 700;

    letter-spacing: -.025em;
}

.leadership-circle-info p {
    margin: 0;

    color: #ff7048;

    font-size: 13px;
    line-height: 1.45;

    font-weight: 600;
}


/* DESCRIPTION */

.leadership-description {
    color: #555;

    font-size: 14px;
    line-height: 1.75;

    font-weight: 400;
}


/* SMALL ORANGE DETAIL */

.leadership-description::before {
    content: "";

    display: block;

    width: 34px;
    height: 2px;

    margin-bottom: 16px;

    background: #ff7048;
}


/* TABLET */

@media (max-width: 1000px) {

    .leadership-circle-grid {
        grid-template-columns: 1fr;
    }

}


/* MOBILE */

@media (max-width: 600px) {

    .leadership-circle-card {
        padding: 20px;
    }

    .leadership-circle-top {
        gap: 16px;
    }

    .leadership-circle-photo {
        width: 76px;
        height: 76px;

        flex-basis: 76px;
    }

    .leadership-circle-info h3 {
        font-size: 21px;
    }

    .leadership-circle-info p {
        font-size: 12px;
    }

    .leadership-description {
        font-size: 13px;
        line-height: 1.7;
    }

}

.executive-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-top: 18px
}

.executive-row div {
    background: var(--ink);
    color: #fff;
    padding: 22px;
    border-radius: 15px;
    display: flex;
    flex-direction: column
}

.executive-row span {
    color: #aaa;
    font-size: 12px;
    margin-top: 5px
}

.engage .section-head p {
    color: var(--muted);
    max-width: 720px
}

.form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-top: 35px
}

.contact-form {
    background: #fff;
    padding: 34px;
    border: 1px solid var(--line);
    border-radius: 24px
}

.contact-form.secondary {
    background: #fff
}

.contact-form h3 {
    font-size: 26px;
    margin-top: 0
}

.contact-form label {
    display: flex;
    flex-direction: column;
    gap: 7px;
    font-size: 12px;
    font-weight: 700;
    margin-bottom: 16px
}

.contact-form input,
.contact-form select,
.contact-form textarea {
    width: 100%;
    border: 1px solid #d9d4ce;
    background: #fff;
    padding: 12px 13px;
    border-radius: 10px;
    outline: none
}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus {
    border-color: var(--orange);
    box-shadow: 0 0 0 3px rgba(255, 125, 74, .13)
}

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

.notice {
    padding: 14px 18px;
    border-radius: 12px;
    margin-top: 24px
}

.notice.success {
    background: #e9f9ef;
    color: #246c3a
}

.notice.error {
    background: #fff0ec;
    color: #9b3920
}

.footer {
    background: #111;
    color: #fff;
    padding: 70px max(28px, calc((100vw - var(--max))/2)) 26px;
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr 1fr;
    gap: 40px
}

.footer p {
    color: #aaa;
    max-width: 390px
}

.footer h4 {
    color: var(--orange);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .1em
}

.footer a,
.footer span {
    display: block;
    color: #cfcfcf;
    font-size: 13px;
    margin: 9px 0
}

.footer-brand {
    color: #fff
}

.footer-bottom {
    grid-column: 1/-1;
    border-top: 1px solid #333;
    padding-top: 20px;
    display: flex;
    justify-content: space-between
}

.footer-bottom span {
    margin: 0;
    color: #777
}

@media(max-width:980px) {

    .nav,
    .site-header>.btn {
        display: none
    }

    .menu-btn {
        display: block;
        margin-left: auto
    }

    .nav.open {
        display: flex;
        position: absolute;
        top: 82px;
        left: 0;
        right: 0;
        background: #fff;
        flex-direction: column;
        padding: 22px;
        border-bottom: 1px solid var(--line)
    }

    .hero-grid,
    .form-grid {
        grid-template-columns: 1fr
    }

    .hero-visual {
        min-height: 380px
    }

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

    .product-card.wide {
        grid-column: span 2
    }

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

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

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

@media(max-width:680px) {
    .section-pad {
        padding: 72px 20px
    }

    .site-header {
        padding: 0 20px
    }

    .domain-strip {
        overflow: auto;
        justify-content: flex-start
    }

    .hero h1 {
        font-size: 46px
    }

    .metrics {
        grid-template-columns: 1fr 1fr;
        gap: 20px
    }

    .section-head.inline {
        display: block
    }

    .direction-grid,
    .services-grid,
    .sector-columns,
    .engagement-grid,
    .executive-row {
        grid-template-columns: 1fr
    }

    .product-grid {
        grid-template-columns: 1fr;
        grid-auto-rows: 350px
    }

    .product-card.wide {
        grid-column: auto
    }

    .product-card.tall {
        grid-row: auto
    }

    .process-track,
    .leader-grid {
        grid-template-columns: 1fr
    }

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

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

    .footer-bottom {
        display: block
    }
    
    /* ==========================================================
   05 — VIDEO SECTOR GALLERY
========================================================== */

.focus-sector-video-section {
    background: #f7f7f5;
    overflow: hidden;
}


/* heading stays aligned with rest of site */

.sector-heading-wrap {
    padding-bottom: 60px;
}


.focus-sector-label {
    margin-bottom: 28px;

    color: #ff6847;

    font-size: 12px;
    font-weight: 700;

    letter-spacing: .14em;

    text-transform: uppercase;
}


.focus-sector-title h2 {
    max-width: 950px;

    margin: 0;

    color: #111;

    font-size: clamp(48px,5vw,74px);

    line-height: .94;

    letter-spacing: -.055em;

    font-weight: 700;
}


.focus-sector-title h2 span {
    color: #ff7048;
}


/* ==========================================================
   VIDEO GRID
========================================================== */

.sector-video-grid {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0,1fr));

    width: 100%;

    gap: 0;

    background: #090b0c;
}


/* individual tile */

.sector-video-card {
    position: relative;

    display: block;

    aspect-ratio: 1 / .82;

    min-width: 0;

    overflow: hidden;

    background: #101214;

    text-decoration: none;

    isolation: isolate;
}


/* video */

.sector-video-card video {
    position: absolute;

    inset: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;

    transform: scale(1.01);

    filter:
        saturate(.90)
        contrast(1.04);

    transition:
        transform .8s cubic-bezier(.2,.7,.2,1),
        filter .5s ease;
}


/* dark overlay */

.sector-video-overlay {
    position: absolute;

    inset: 0;

    z-index: 2;

    background:

        linear-gradient(
            180deg,
            rgba(0,0,0,.03) 25%,
            rgba(0,0,0,.18) 55%,
            rgba(0,0,0,.80) 100%
        );

    transition:
        background .45s ease;
}


/* thin separators similar to capability gallery */

.sector-video-card::after {
    content: "";

    position: absolute;

    inset: 0;

    z-index: 4;

    border:
        1px solid
        rgba(255,255,255,.06);

    pointer-events: none;
}


/* orange hover accent */

.sector-video-card::before {
    content: "";

    position: absolute;

    left: 0;
    bottom: 0;

    z-index: 5;

    width: 0;
    height: 4px;

    background: #ff7048;

    transition: width .45s ease;
}


/* copy */

.sector-video-copy {
    position: absolute;

    left: 28px;
    right: 25px;
    bottom: 26px;

    z-index: 3;

    color: white;
}


.sector-video-copy small {
    display: block;

    margin-bottom: 9px;

    color: #ff7a54;

    font-family: var(--font-main);

    font-size: 9px;

    line-height: 1.3;

    letter-spacing: .11em;

    text-transform: uppercase;

    opacity: .95;
}


.sector-video-copy h3 {
    max-width: 300px;

    margin: 0;

    color: #fff;

    font-size: clamp(20px,1.65vw,30px);

    line-height: 1.06;

    letter-spacing: -.025em;

    font-weight: 650;
}


/* ==========================================================
   HOVER
========================================================== */

.sector-video-card:hover video {
    transform: scale(1.07);

    filter:
        saturate(1.03)
        contrast(1.06);
}


.sector-video-card:hover
.sector-video-overlay {

    background:

        linear-gradient(
            180deg,
            rgba(0,0,0,.02),
            rgba(0,0,0,.11) 40%,
            rgba(0,0,0,.72) 100%
        );
}


.sector-video-card:hover::before {
    width: 100%;
}



/* ==========================================================
   LARGE SCREEN
========================================================== */

@media (min-width: 1500px) {

    .sector-video-grid {
        grid-template-columns:
            repeat(5,minmax(0,1fr));
    }

}


/* ==========================================================
   TABLET
========================================================== */

@media (max-width: 1100px) {

    .sector-video-grid {
        grid-template-columns:
            repeat(3,minmax(0,1fr));
    }

}


/* ==========================================================
   SMALL TABLET
========================================================== */

@media (max-width: 820px) {

    .sector-video-grid {
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }


    .sector-video-card {
        aspect-ratio: 1 / .9;
    }


    .sector-video-copy {
        left: 20px;
        right: 18px;
        bottom: 20px;
    }

}


/* ==========================================================
   MOBILE
========================================================== */

@media (max-width: 520px) {

    .sector-heading-wrap {
        padding-bottom: 35px;
    }


    .focus-sector-title h2 {
        font-size: 39px;
    }


    .sector-video-grid {
        grid-template-columns: 1fr;
    }


    .sector-video-card {
        aspect-ratio: 16 / 10;
    }


    .sector-video-copy h3 {
        font-size: 25px;
    }

}
}


/* ==========================================================
   SELECTED ENGAGEMENTS
========================================================== */

.engagements{
    background:#fff;
}


/* GRID */

.engagement-grid{
    display:grid;
    grid-template-columns:
        repeat(2,minmax(0,1fr));

    gap:22px;

    margin-top:38px;
}


/* CARD */

.engagement-card{
    position:relative;

    padding:34px;

    border:
        1px solid #e3dfda;

    border-radius:22px;

    background:#fff;

    overflow:hidden;

    transition:
        transform .4s ease,
        border-color .4s ease,
        box-shadow .4s ease;
}


.engagement-card::before{
    content:"";

    position:absolute;

    left:0;
    top:0;

    width:100%;
    height:3px;

    background:#ff7048;

    transform:scaleX(0);

    transform-origin:left;

    transition:
        transform .45s ease;
}


.engagement-card:hover{
    transform:translateY(-6px);

    border-color:
        rgba(255,112,72,.55);

    box-shadow:
        0 22px 50px
        rgba(0,0,0,.07);
}


.engagement-card:hover::before{
    transform:scaleX(1);
}


/* FEATURED */

.engagement-card-featured{
    background:
        linear-gradient(
            145deg,
            #fff,
            #fff8f4
        );
}


/* TOP */

.engagement-card-top{
    display:flex;

    align-items:flex-start;
    justify-content:space-between;

    gap:20px;

    margin-bottom:26px;
}


.engagement-sector{
    color:#ff7048;

    font-family:var(--font-main);

    font-size:9px;

    font-weight:700;

    letter-spacing:.12em;

    text-transform:uppercase;
}


.engagement-number{
    color:#bbb;

    font-family:var(--font-main);

    font-size:11px;

    letter-spacing:.1em;
}


/* TITLE */

.engagement-card h3{
    margin:
        0 0 30px;

    color:#111;

    font-size:
        clamp(30px,3vw,44px);

    line-height:1;

    letter-spacing:-.04em;

    font-weight:700;
}


/* PHASES */

.engagement-phase{
    display:grid;

    grid-template-columns:
        48px 1fr;

    gap:18px;

    padding:
        22px 0;

    border-top:
        1px solid #e6e1dc;
}


.phase-number{
    display:flex;

    align-items:center;
    justify-content:center;

    width:40px;
    height:40px;

    border-radius:50%;

    background:#fff0ea;

    color:#ff7048;

    font-family:var(--font-main);

    font-size:10px;

    font-weight:700;
}


.phase-content small,
.engagement-role small,
.engagement-scope small{
    display:block;

    margin-bottom:6px;

    color:#ff7048;

    font-family:var(--font-main);

    font-size:9px;

    font-weight:700;

    letter-spacing:.12em;

    text-transform:uppercase;
}


.phase-content h4,
.engagement-role h4{
    margin:
        0 0 10px;

    color:#171717;

    font-size:20px;

    line-height:1.3;
}


.engagement-role h4 span{
    color:#ff7048;
}


.phase-content p,
.engagement-main-copy{
    margin:0;

    color:#676767;

    font-size:13px;

    line-height:1.75;
}


/* ROLE */

.engagement-role{
    margin-bottom:20px;

    padding-bottom:20px;

    border-bottom:
        1px solid #e6e1dc;
}


/* SCOPE */

.engagement-scope{
    margin-top:26px;

    padding-top:23px;

    border-top:
        1px solid #e6e1dc;
}


.scope-grid{
    display:grid;

    grid-template-columns:
        repeat(2,minmax(0,1fr));

    gap:8px;

    margin-top:13px;
}


.scope-grid span{
    position:relative;

    padding:
        11px 12px 11px 27px;

    border:
        1px solid #ebe6e1;

    border-radius:10px;

    background:#faf9f7;

    color:#3b3b3b;

    font-size:12px;
}


.scope-grid span::before{
    content:"";

    position:absolute;

    left:12px;
    top:50%;

    width:6px;
    height:6px;

    border-radius:50%;

    background:#ff7048;

    transform:
        translateY(-50%);
}


/* BOTTOM COPY */

.engagement-bottom-copy{
    margin-top:22px;
}


/* STATUS */

.engagement-status{
    display:flex;

    align-items:center;

    gap:9px;

    margin-top:28px;

    padding-top:18px;

    border-top:
        1px solid #e6e1dc;

    color:#242424;

    font-family:var(--font-main);

    font-size:10px;

    letter-spacing:.05em;
}


.status-dot{
    width:8px;
    height:8px;

    border-radius:50%;

    background:#ff7048;

    box-shadow:
        0 0 0 5px
        rgba(255,112,72,.12);
}


/* RESPONSIVE */

@media(max-width:900px){

    .engagement-grid{
        grid-template-columns:1fr;
    }

}


@media(max-width:600px){

    .engagement-card{
        padding:24px;
    }


    .engagement-phase{
        grid-template-columns:
            38px 1fr;

        gap:13px;
    }


    .phase-number{
        width:34px;
        height:34px;
    }


    .scope-grid{
        grid-template-columns:1fr;
    }

}

/* ==========================================================
   LEADERSHIP & ADVISORY
========================================================== */

.leadership{
    background:#fff;
}


/* ==========================================================
   SHARED SECTION HEAD
========================================================== */

.leadership-block{
    margin-top:42px;
}


.leadership-block-head{
    display:flex;

    align-items:flex-end;
    justify-content:space-between;

    gap:40px;

    margin-bottom:26px;

    padding-bottom:18px;

    border-bottom:
        1px solid var(--line);
}


.leadership-kicker{
    color:var(--orange);

    font-family:var(--font-main);

    font-size:10px;

    font-weight:700;

    letter-spacing:.14em;

    text-transform:uppercase;
}


.leadership-block-head p{
    max-width:560px;

    margin:0;

    color:var(--muted);

    font-size:13px;

    line-height:1.7;
}



/* ==========================================================
   MAIN LEADERSHIP
========================================================== */

.leadership-main-grid{
    display:grid;

    grid-template-columns:
        repeat(3,minmax(0,1fr));

    gap:18px;
}


.leadership-main-card{
    position:relative;

    padding:30px;

    border:
        1px solid var(--line);

    border-radius:22px;

    background:#fff;

    overflow:hidden;

    transition:
        transform .4s ease,
        border-color .4s ease,
        box-shadow .4s ease;
}


.leadership-main-card::before{
    content:"";

    position:absolute;

    left:0;
    bottom:0;

    width:100%;
    height:3px;

    background:var(--orange);

    transform:scaleX(0);

    transform-origin:left;

    transition:
        transform .4s ease;
}


.leadership-main-card:hover{
    transform:translateY(-6px);

    border-color:
        rgba(255,125,74,.45);

    box-shadow:
        0 18px 45px
        rgba(0,0,0,.06);
}


.leadership-main-card:hover::before{
    transform:scaleX(1);
}


.leadership-card-top{
    display:flex;

    align-items:center;
    justify-content:space-between;

    margin-bottom:22px;
}


.leadership-index{
    color:#aaa;

    font-family:var(--font-main);

    font-size:10px;

    letter-spacing:.12em;
}


.leadership-tag{
    color:var(--orange);

    font-family:var(--font-main);

    font-size:8px;

    letter-spacing:.12em;

    text-transform:uppercase;
}



/* ==========================================================
   AVATAR
========================================================== */

.leadership-avatar{
    display:grid;

    place-items:center;

    width:72px;
    height:72px;

    margin-bottom:20px;

    border-radius:50%;

    background:
        #fff3ee;

    color:var(--orange);

    font-size:22px;

    font-weight:800;

    border:
        1px solid
        rgba(255,125,74,.22);
}


.leadership-avatar-large{
    width:88px;
    height:88px;

    font-size:27px;
}



/* ==========================================================
   MAIN CARD TYPOGRAPHY
========================================================== */

.leadership-main-card h3{
    margin:
        0 0 8px;

    font-size:28px;

    line-height:1.1;

    letter-spacing:-.035em;
}


.leadership-main-card h4{
    min-height:44px;

    margin:
        0 0 18px;

    color:var(--orange);

    font-size:13px;

    line-height:1.5;

    font-weight:700;
}


.leadership-main-card p{
    margin:0;

    color:var(--muted);

    font-size:13px;

    line-height:1.75;
}



/* ==========================================================
   ADVISORY COUNCIL
========================================================== */

.advisory-block{
    margin-top:65px;
}


.advisory-heading{
    display:block;
}


.advisory-heading h3{
    max-width:760px;

    margin:
        13px 0 0;

    font-size:
        clamp(28px,3vw,40px);

    line-height:1.05;

    letter-spacing:-.035em;
}


.advisory-grid{
    display:grid;

    grid-template-columns:
        repeat(4,minmax(0,1fr));

    gap:15px;
}


.advisory-card{
    position:relative;

    padding:25px;

    border:
        1px solid var(--line);

    border-radius:18px;

    background:#faf9f7;

    transition:
        transform .35s ease,
        background .35s ease,
        border-color .35s ease;
}


.advisory-card:hover{
    transform:translateY(-5px);

    background:#fff;

    border-color:
        rgba(255,125,74,.42);
}


.advisory-number{
    position:absolute;

    top:20px;
    right:20px;

    color:#b2b2b2;

    font-family:var(--font-main);

    font-size:10px;

    letter-spacing:.12em;
}


.advisory-card h3{
    margin:
        0 0 8px;

    font-size:20px;

    line-height:1.15;

    letter-spacing:-.025em;
}


.advisory-card h4{
    min-height:58px;

    margin:
        0 0 17px;

    color:var(--orange);

    font-size:11px;

    line-height:1.5;

    font-weight:700;
}


.advisory-card p{
    margin:0;

    color:var(--muted);

    font-size:12px;

    line-height:1.7;
}



/* ==========================================================
   RESPONSIVE
========================================================== */

@media(max-width:1100px){

    .leadership-main-grid{
        grid-template-columns:
            repeat(2,1fr);
    }


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

}


@media(max-width:750px){

    .leadership-block-head{
        display:block;
    }


    .leadership-block-head p{
        margin-top:12px;
    }


    .leadership-main-grid,
    .advisory-grid{
        grid-template-columns:1fr;
    }


    .leadership-main-card h4,
    .advisory-card h4{
        min-height:0;
    }


    .advisory-block{
        margin-top:45px;
    }

}

/* ===== Inner pages / policy / inquiry additions ===== */
.page-shell{max-width:1220px;margin:0 auto;padding:90px 28px}.page-hero-simple{padding-top:160px;padding-bottom:80px}.page-hero-simple.compact{padding-bottom:45px}.page-kicker,.eyebrow-dark{font:700 11px/1.2 monospace;letter-spacing:.16em;text-transform:uppercase;color:#ff7048}.page-hero-simple h1{max-width:900px;font-size:clamp(44px,6vw,82px);line-height:.98;margin:18px 0 28px}.page-hero-simple h1 em{font-style:normal;color:#ff7048}.page-lead{max-width:850px;font-size:20px;line-height:1.65;color:#555}.content-grid-2{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;border-top:1px solid #ddd}.content-grid-2 h2,.page-cta h2,.inquiry-copy h2{font-size:clamp(30px,4vw,52px);line-height:1.05}.content-grid-2 p,.inquiry-copy p,.inquiry-copy li{font-size:17px;line-height:1.75;color:#555}.feature-band{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;padding-top:0}.feature-band>div{background:#181818;color:#fff;padding:34px;min-height:180px}.feature-band b{display:block;font-size:20px;margin-bottom:18px;color:#ff7048}.feature-band span{line-height:1.6;color:#ccc}.page-cta{display:flex;justify-content:space-between;align-items:center;gap:50px;border-top:1px solid #ddd}.inquiry-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;padding-top:30px}.inquiry-copy ul{padding-left:20px}.inquiry-form{background:#f5f5f2;padding:38px;border:1px solid #e5e5e0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.inquiry-form label{display:block;font-size:12px;font-weight:700;letter-spacing:.04em;margin-bottom:20px}.inquiry-form input,.inquiry-form select,.inquiry-form textarea{display:block;width:100%;margin-top:8px;padding:14px 15px;border:1px solid #ccc;background:#fff;font:inherit}.inquiry-form textarea{resize:vertical}.consent-line{display:flex!important;gap:10px;align-items:flex-start;font-weight:400!important;line-height:1.45}.consent-line input{width:auto!important;margin:3px 0 0!important}.form-success,.form-error{padding:16px;margin-bottom:22px}.form-success{background:#e5f4e8}.form-error{background:#fee9e7}.hp-field{position:absolute!important;left:-9999px!important}.policy-wrap{max-width:1000px}.policy-wrap h1{font-size:clamp(42px,5vw,68px);margin-bottom:10px}.policy-wrap .last-updated{color:#777;margin-bottom:40px}.policy-wrap .policy-heading{font-size:22px;font-weight:700;color:#ff7048;margin:34px 0 12px}.policy-wrap p,.policy-wrap li{font-size:16px;line-height:1.75;color:#444}.policy-wrap .policy-list{padding-left:22px}.policy-wrap .contact-box{padding:24px;background:#181818;color:#fff;margin:20px 0}.policy-wrap .contact-box a,.policy-wrap .contact-box strong{color:#ff7048}.admin-shell{max-width:1240px;margin:0 auto;padding:140px 24px 80px}.admin-table{width:100%;border-collapse:collapse;font-size:13px}.admin-table th,.admin-table td{border-bottom:1px solid #ddd;padding:12px;text-align:left;vertical-align:top}.admin-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:20px 0}.admin-login{max-width:430px}.admin-login input{width:100%;padding:13px;margin:8px 0 18px}.admin-status{padding:7px}.admin-message{max-width:300px;white-space:normal}.pagination{margin-top:22px}@media(max-width:800px){.content-grid-2,.inquiry-layout,.form-row{grid-template-columns:1fr}.feature-band{grid-template-columns:1fr 1fr}.page-cta{align-items:flex-start;flex-direction:column}.page-shell{padding-left:20px;padding-right:20px}.admin-table{display:block;overflow-x:auto}}@media(max-width:520px){.feature-band{grid-template-columns:1fr}}
