:root {
    /* monochrome core */
    --black:#0B4FBF;
    --white:#FFFFFF;
    --dark-surface:#0A45A6;
    --dark-surface-2:#1663D9;
    --grey-bg:#F5F5F7;
    --grey-bg2:#FAFAFA;
    --ink:#1D1D1F;
    --ink-2:#424245;
    --mute:#6E6E73;
    --mute-2:#86868B;
    --line:#D2D2D7;
    --line-dk:rgba(255,255,255,.18);
    --on-dark:#F5F5F7;
    --on-dark-2:#dfdfe3;
    /* Kirshi brand — accent only */
    --brand:#0D62EC;
    --brand-dk:#084CBB;
    --brand-lt:#5C94F0;
    --brand-tint:#E4EEFD;
    --grad:linear-gradient(135deg,#0D62EC 0%,#084CBB 100%);
    --sans:'Helvetica Neue',Helvetica,Arial,sans-serif;
    --disp:'Helvetica Neue',Helvetica,Arial,sans-serif;
    --mono:'Helvetica Neue',Helvetica,Arial,sans-serif;
    --ez:cubic-bezier(.28,.11,.32,1);
    --nav-h:48px;
}
* {
    margin:0;
    padding:0;
    box-sizing:border-box
}
html {
    scroll-behavior:smooth;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale
}
body {
    background:var(--white);
    color:var(--ink);
    font-family:var(--sans);
    line-height:1.47;
    font-size:17px;
    letter-spacing:-.01em;
    overflow-x:hidden
}
p {
    font-family:var(--sans)
}
a,button,.btn,.lnk,.nav-cta,.chip,input[type="submit"],input[type="button"] {
    font-family:var(--disp)
}
img {
    display:block;
    max-width:100%
}
::selection {
    background:var(--brand);
    color:#fff
}
/* ─── nav ─── */
.nav {
    position:fixed;
    top:0;
    left:0;
    right:0;
    z-index:900;
    height:var(--nav-h);
    background:rgba(255,255,255,.78);
    backdrop-filter:saturate(180%) blur(20px);
    -webkit-backdrop-filter:saturate(180%) blur(20px);
    border-bottom:1px solid rgba(0,0,0,.08)
}
.nav.dark {
    background:rgba(0,0,0,.72);
    border-bottom-color:rgba(255,255,255,.12)
}
.nav-in {
    max-width:1024px;
    margin:0 auto;
    height:100%;
    padding:0 22px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px
}
.nav-logo {
    display:flex;
    align-items:center;
    flex-shrink:0
}
.nav-logo img {
    height:36px;
    width:auto
}
.nav.dark .nav-logo img {
    filter:brightness(0) invert(1)
}
.nav-links {
    display:flex;
    align-items:center;
    gap:4px;
    flex:1;
    justify-content:center
}
.nav-links a {
    color:var(--ink);
    font-size:12px;
    letter-spacing:-.01em;
    text-decoration:none;
    padding:6px 11px;
    border-radius:6px;
    opacity:.88;
    transition:opacity .2s;
    white-space:nowrap
}
.nav-links a:hover {
    opacity:1
}
.nav-links a.on {
    opacity:1;
    font-weight:600
}
.nav.dark .nav-links a {
    color:var(--on-dark)
}
.nav-act {
    display:flex;
    align-items:center;
    gap:14px;
    flex-shrink:0
}
.nav-act a {
    color:var(--ink);
    font-size:12px;
    text-decoration:none;
    opacity:.88
}
.nav.dark .nav-act a {
    color:var(--on-dark)
}
.nav-cta {
    background:var(--brand);
    color:#fff !important;
    padding:6px 14px;
    border-radius:0;
    font-weight:500;
    opacity:1 !important;
    transition:background .2s
}
.nav-cta:hover {
    background:var(--brand-dk)
}
.burger {
    display:none;
    position:relative;
    width:28px;
    height:28px;
    background:none;
    border:none;
    cursor:pointer;
    padding:0;
    flex-direction:column;
    justify-content:center;
    align-items:center
}
.burger i {
    position:absolute;
    display:block;
    width:16px;
    height:1.5px;
    background:var(--ink);
    left:6px;
    transition:transform .28s var(--ez),opacity .2s var(--ez),background .2s
}
.burger i:nth-child(1) {
    transform:translateY(-5px)
}
.burger i:nth-child(2) {
    transform:translateY(0)
}
.burger i:nth-child(3) {
    transform:translateY(5px)
}
.burger.is-open i:nth-child(1) {
    transform:translateY(0) rotate(45deg)
}
.burger.is-open i:nth-child(2) {
    opacity:0;
    transform:translateY(0) scaleX(.4)
}
.burger.is-open i:nth-child(3) {
    transform:translateY(0) rotate(-45deg)
}
.nav.dark .burger i {
    background:var(--on-dark)
}
@media(max-width:900px) {
    .nav-links {
        display:none
    }
    .burger {
        display:flex
    }
}
#mnav {
    display:none;
    position:fixed;
    top:var(--nav-h);
    left:0;
    right:0;
    bottom:0;
    z-index:890;
    background:rgba(255,255,255,.98);
    backdrop-filter:blur(20px);
    padding:26px 22px;
    overflow-y:auto
}
#mnav a {
    display:block;
    color:var(--ink);
    text-decoration:none;
    font-size:21px;
    font-weight:600;
    letter-spacing:-.02em;
    padding:14px 0;
    border-bottom:1px solid var(--line)
}
#mnav a.sub {
    font-size:15px;
    font-weight:400;
    padding:10px 0 10px 16px;
    color:var(--mute);
    border-bottom:none
}
/* ─── panels ─── */
.panel {
    padding:60px 22px;
    text-align:center;
    position:relative;
    overflow:hidden
}
.panel.tall {
    
    display:flex;
    flex-direction:column;
    justify-content:center
}
.home .panel.dark.tall {
    padding-bottom:88px;
    margin-top:50px
}
.panel.hero {
    /* min-height:calc(100vh - var(--nav-h));*/
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding-top:calc(var(--nav-h) + 40px);
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat
}
.home .panel.hero {
    background-image:url("../images/banner/kirshi_banner.webp")
}
.panel.dark {
    background:var(--black);
    color:var(--on-dark)
}
.panel.grey {
    background:var(--grey-bg)
}
.panel.white {
    background-color:var(--white)
}
.panel-in {
    max-width:840px;
    margin:0 auto;
    position:relative;
    z-index:2
}
.panel-in.wide {
    max-width:1024px
}
.panel.left {
    text-align:left
}
.panel.left .panel-in {
    margin:0 auto
}
/* ─── type ─── */
.eyebrow {
    font-size:19px;
    font-weight:600;
    letter-spacing:-.02em;
    color:var(--brand);
    margin-bottom:6px
}
.panel.dark .eyebrow {
    color:var(--brand-lt)
}
.kicker {
    font-family:var(--mono);
    font-size:11px;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--mute);
    margin-bottom:16px
}
.panel.dark .kicker {
    color:var(--on-dark-2)
}
h1,h2,h3,h4,h5,h6 {
    font-family:var(--disp);
    font-weight:500;
    letter-spacing:-.035em;
    line-height:1.05;
    color:inherit
}
.t-hero {
    font-size:clamp(44px,8.4vw,88px)
}
.t-xl {
    font-size:clamp(38px,6.4vw,64px)
}
.t-lg {
    font-size:clamp(30px,4.6vw,46px)
}
.t-md {
    font-size:clamp(24px,3.2vw,32px)
}
.t-sm {
    font-size:21px;
    letter-spacing:-.022em
}
.sub {
    font-size:clamp(19px,2.2vw,26px);
    font-weight:400;
    letter-spacing:-.02em;
    line-height:1.35;
    color:var(--ink-2);
    margin-top:14px;
    max-width:660px;
    margin-left:auto;
    margin-right:auto
}
.panel.dark .sub {
    color:var(--on-dark-2)
}
.body-t {
    font-size:17px;
    line-height:1.6;
    color:var(--mute);
    max-width:660px;
    margin:14px auto 0
}
.panel.dark .body-t {
    color:var(--on-dark-2)
}
.panel.left .sub,.panel.left .body-t {
    margin-left:0;
    margin-right:0
}
.fine {
    font-size:12px;
    line-height:1.5;
    color:var(--mute-2);
    max-width:740px;
    margin:0 auto
}
.panel.dark .fine {
    color:#6E6E73
}
/* ─── links & buttons ─── */
.links {
    display:flex;
    gap:26px;
    justify-content:center;
    flex-wrap:wrap;
    margin-top:22px
}
.panel.left .links {
    justify-content:flex-start
}
.lnk {
    color:var(--brand);
    font-size:19px;
    letter-spacing:-.02em;
    text-decoration:underline;
    text-underline-offset:3px;
    text-decoration-thickness:1px;
    display:inline-flex;
    align-items:center;
    gap:0;
    transition:color .2s
}
.lnk:hover {
    color:var(--brand-dk);
    text-decoration:underline
}
.lnk::after {
    content:none
}
.panel.dark .lnk {
    color:var(--brand-lt)
}
.panel.dark .lnk:hover {
    color:#fff
}
.btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:var(--brand);
    color:#fff;
    font-size:16px;
    font-weight:400;
    letter-spacing:-.02em;
    padding:10px 24px;
    border-radius:0;
    text-decoration:none;
    border:none;
    cursor:pointer;
    transition:background .2s
}
.btn:hover {
    background:var(--brand-dk)
}
.btn.ghost {
    background:transparent;
    color:var(--brand);
    border:1px solid var(--brand)
}
.btn.ghost:hover {
    background:var(--brand);
    color:#fff
}
.panel.dark .btn.ghost {
    color:var(--brand-lt);
    border-color:var(--brand-lt)
}
.panel.dark .btn.ghost:hover {
    background:var(--brand-lt);
    color:#000
}
.btns {
    display:flex;
    gap:14px;
    justify-content:center;
    flex-wrap:wrap;
    margin-top:26px
}
.panel.left .btns {
    justify-content:flex-start
}
/* ─── stat row ─── */
.stats {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:0;
    max-width:900px;
    margin:0px auto 0
}

.gap {
    margin:30px auto 0 !important;
}
.stat {
    padding:0 16px;
    border-right:1px solid var(--line)
}
.stat:last-child {
    border-right:none
}
.panel.dark .stat {
    border-color:var(--line-dk)
}
.stat-n {
    font-family:var(--disp);
    font-size:clamp(30px,4vw,44px);
    font-weight:600;
    letter-spacing:-.04em;
    line-height:1;
    color:var(--ink)
}
.panel.dark .stat-n {
    color:var(--white)
}
.stat-l {
    font-size:13px;
    color:var(--mute);
    margin-top:8px;
    line-height:1.35
}
.panel.dark .stat-l {
    color:var(--on-dark-2)
}
@media(max-width:760px) {
    .stats {
        grid-template-columns:1fr 1fr;
        gap:34px 0
    }
    .stat:nth-child(2) {
        border-right:none
    }
}
/* ─── tiles ─── */
.tiles {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
    max-width:1024px;
    margin:0 auto;
    padding:0 22px
}
.tiles.one {
    grid-template-columns:1fr
}
.tiles.three {
    grid-template-columns:repeat(3,1fr)
}
.tile {
    background:var(--grey-bg);
    border-radius:20px;
    padding:52px 34px;
    text-align:center;
    min-height:440px;
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
    text-decoration:none;
    color:inherit;
    transition:transform .5s var(--ez);
    overflow:hidden;
    position:relative
}
.tile:hover {
    transform:scale(1.012)
}
.tile.dark {
    background:var(--black);
    color:var(--on-dark)
}
.tile.blue {
    background:var(--brand-tint)
}
.tile.ink {
    background:linear-gradient(160deg,var(--dark-surface-2),var(--black))
}
.tile.dark .tile-sub,.tile.ink .tile-sub {
    color:var(--on-dark-2)
}
.tile.ink {
    color:var(--on-dark)
}
.tile-eyebrow {
    font-size:14px;
    font-weight:600;
    letter-spacing:-.01em;
    color:var(--brand);
    margin-bottom:8px
}
.tile.dark .tile-eyebrow,.tile.ink .tile-eyebrow {
    color:var(--brand-lt)
}
.tile h3 {
    font-size:clamp(26px,3vw,36px);
    letter-spacing:-.03em;
    margin-bottom:10px
}
.tile-sub {
    font-size:17px;
    color:var(--ink-2);
    line-height:1.4;
    max-width:420px;
    margin:0 auto 18px
}
.tile .links {
    margin-top:auto;
    padding-top:20px
}
.tile-glyph {
    font-size:52px;
    margin:26px auto 0;
    opacity:.9;
    line-height:1
}
/* Home AI + IoT feature tiles: no reserved space after icon removal */
.home-feature-tiles .tile {
    min-height:auto
}
.home-feature-tiles .tile .links {
    margin-top:0
}
.tile-metric {
    font-family:var(--disp);
    font-size:clamp(40px,5vw,64px);
    font-weight:600;
    letter-spacing:-.04em;
    line-height:1;
    margin:22px 0 6px;
    color:var(--brand)
}
.tile.dark .tile-metric,.tile.ink .tile-metric {
    color:var(--brand-lt)
}
.tile-metric-l {
    font-size:13px;
    color:var(--mute)
}
.tile.dark .tile-metric-l,.tile.ink .tile-metric-l {
    color:var(--on-dark-2)
}
@media(max-width:820px) {
    .tiles,.tiles.three {
        grid-template-columns:1fr
    }
    .tile {
        min-height:380px;
        padding:44px 26px
    }
}
/* ─── feature rows ─── */
.rows {
    max-width:1024px;
    margin:0 auto;
    padding:0 22px
}
.row {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:60px;
    align-items:center;
    padding:70px 0;
    border-top:1px solid var(--line)
}
.row:first-child {
    border-top:none
}
.panel.dark .row {
    border-color:var(--line-dk)
}
.row.flip .row-media {
    order:-1
}
.row-txt h3 {
    font-size:clamp(26px,3.2vw,38px);
    letter-spacing:-.03em;
    margin-bottom:14px
}
.row-txt p {
    font-size:17px;
    line-height:1.6;
    color:var(--mute)
}
.panel.dark .row-txt p {
    color:var(--on-dark-2)
}
.row-media {
    background:var(--grey-bg);
    border-radius:20px;
    height:300px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:72px;
    overflow:hidden
}
.row-media img {
    width:100%;
    height:100%;
    object-fit:cover;
    display:block
}
.panel.dark .row-media {
    background:var(--dark-surface)
}
@media(max-width:820px) {
    .row {
        grid-template-columns:1fr;
        gap:30px;
        padding:48px 0
    }
    .row.flip .row-media {
        order:0
    }
    .row-media {
        height:220px;
        font-size:56px
    }
}
/* ─── cards grid ─── */
.grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:12px;
    max-width:1024px;
    margin:0 auto;
    padding:0 22px
}
.grid.two {
    grid-template-columns:1fr 1fr
}
.card {
    background:var(--grey-bg);
    border-radius:18px;
    padding:34px 28px;
    text-align:left;
    text-decoration:none;
    color:inherit;
    display:flex;
    flex-direction:column;
    transition:transform .45s var(--ez)
}
.card:hover {
    transform:translateY(-3px)
}
.panel.dark .card {
    background:var(--dark-surface)
}
.card-k {
    font-family:var(--mono);
    font-size:11px;
    letter-spacing:.1em;
    text-transform:uppercase;
    color:var(--mute);
    margin-bottom:12px
}
.panel.dark .card-k {
    color:var(--on-dark-2)
}
.card h4 {
    font-size:21px;
    letter-spacing:-.022em;
    line-height:1.25;
    margin-bottom:9px
}
.card p {
    font-size:15px;
    line-height:1.5;
    color:var(--mute);
    flex:1
}
.panel.dark .card p {
    color:var(--on-dark-2)
}
.card .lnk {
    font-size:15px;
    margin-top:18px
}
.card-glyph {
    width:34px;
    height:34px;
    margin-bottom:18px;
    line-height:1;
    display:block;
    color:currentColor
}
.card-glyph img {
    display:block;
    width:34px;
    height:34px;
}
@media(max-width:900px) {
    .grid {
        grid-template-columns:1fr 1fr
    }
}
@media(max-width:620px) {
    .grid,.grid.two {
        grid-template-columns:1fr
    }
}
/* ─── chips / filters ─── */
.chips {
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    justify-content:center;
    max-width:1024px;
    margin:0 auto 34px;
    padding:0 22px
}
.chip {
    background:transparent;
    border:1px solid var(--line);
    color:var(--ink);
    font-size:13px;
    padding:7px 15px;
    border-radius:0;
    cursor:pointer;
    font-family:var(--disp);
    transition:all .2s
}
.chip:hover {
    border-color:var(--ink)
}
.chip.on {
    background:var(--ink);
    color:var(--white);
    border-color:var(--ink)
}
.tag {
    display:inline-block;
    font-family:var(--mono);
    font-size:11px;
    color:var(--mute);
    border:1px solid var(--line);
    padding:4px 10px;
    border-radius:6px;
    margin:0 5px 5px 0
}
.panel.dark .tag {
    color:var(--on-dark-2);
    border-color:var(--line-dk)
}
/* ─── article ─── */
.article {
    max-width:692px;
    margin:0 auto;
    padding:0 22px;
    text-align:left
}
.article h2 {
    font-size:clamp(24px,3vw,32px);
    letter-spacing:-.03em;
    margin:48px 0 14px
}
.article p {
    font-size:19px;
    line-height:1.6;
    color:var(--ink-2);
    margin-bottom:20px;
    letter-spacing:-.015em
}
.article p.lede {
    font-size:23px;
    line-height:1.45;
    color:var(--ink);
    margin-bottom:34px;
    padding-bottom:30px;
    border-bottom:1px solid var(--line)
}
.article a {
    color:var(--brand);
    text-decoration:none
}
.article a:hover {
    color:var(--brand-dk);
    text-decoration:none
}
.meta-row {
    display:flex;
    gap:18px;
    flex-wrap:wrap;
    font-family:var(--mono);
    font-size:11px;
    color:var(--mute-2);
    padding:20px 0;
    border-top:1px solid var(--line);
    margin-top:40px;
    letter-spacing:.06em;
    text-transform:uppercase
}
/* ─── quick answer ─── */
.answer {
    background:var(--grey-bg);
    border-radius:18px;
    padding:34px;
    text-align:left;
    max-width:760px;
    margin:0 auto
}
.panel.dark .answer {
    background:var(--dark-surface)
}
.answer-k {
    font-family:var(--mono);
    font-size:11px;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:var(--brand);
    margin-bottom:14px
}
.panel.dark .answer-k {
    color:var(--brand-lt)
}
.answer h3 {
    font-size:24px;
    letter-spacing:-.025em;
    margin-bottom:14px;
    line-height:1.25
}
.answer p {
    font-size:17px;
    line-height:1.6;
    color:var(--ink-2)
}
.answer p+p {
    margin-top:14px
}
.panel.dark .answer p {
    color:var(--on-dark-2)
}
/* ─── spec table ─── */
.spec {
    max-width:760px;
    margin:0 auto;
    text-align:left
}
.spec-row {
    display:flex;
    justify-content:space-between;
    gap:24px;
    padding:17px 0;
    border-bottom:1px solid var(--line);
    font-size:15px
}
.panel.dark .spec-row {
    border-color:var(--line-dk)
}
.spec-row:last-child {
    border-bottom:none
}
.spec-row dt {
    color:var(--mute);
    flex-shrink:0
}
.panel.dark .spec-row dt {
    color:var(--on-dark-2)
}
.spec-row dd {
    font-weight:600;
    text-align:right;
    letter-spacing:-.015em
}
/* ─── accordion ─── */
.acc {
    max-width:760px;
    margin:0 auto;
    text-align:left
}
.acc-i {
    border-bottom:1px solid var(--line)
}
.panel.dark .acc-i {
    border-color:var(--line-dk)
}
.acc-q {
    width:100%;
    background:none;
    border:none;
    padding:24px 0;
    cursor:pointer;
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:20px;
    text-align:left;
    font-family:var(--disp);
    font-size:19px;
    font-weight:600;
    letter-spacing:-.022em;
    color:inherit
}
.acc-q:hover {
    color:var(--brand)
}
.acc-ic {
    flex-shrink:0;
    width:18px;
    height:18px;
    position:relative;
    margin-top:3px
}
.acc-ic:before,.acc-ic:after {
    content:'';
    position:absolute;
    background:var(--brand);
    top:50%;
    left:50%;
    transition:all .35s var(--ez)
}
.acc-ic:before {
    width:14px;
    height:1.5px;
    transform:translate(-50%,-50%)
}
.acc-ic:after {
    width:1.5px;
    height:14px;
    transform:translate(-50%,-50%)
}
.acc-i.open .acc-ic:after {
    transform:translate(-50%,-50%) rotate(90deg);
    opacity:0
}
.acc-a {
    max-height:0;
    overflow:hidden;
    transition:max-height .4s var(--ez)
}
.acc-i.open .acc-a {
    max-height:420px
}
.acc-a p {
    font-size:17px;
    line-height:1.6;
    color:var(--mute);
    padding-bottom:26px
}
.panel.dark .acc-a p {
    color:var(--on-dark-2)
}
/* ─── steps ─── */
.steps {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:12px;
    max-width:1024px;
    margin:0 auto;
    padding:0 22px;
    text-align:left
}
.step {
    background:var(--grey-bg);
    border-radius:18px;
    padding:32px 26px
}
.panel.dark .step {
    background:var(--dark-surface)
}
.step-n {
    font-family:var(--disp);
    font-size:40px;
    font-weight:600;
    letter-spacing:-.05em;
    color:var(--line);
    line-height:1;
    margin-bottom:14px
}
.panel.dark .step-n {
    color:var(--dark-surface-2)
}
.step h4 {
    font-size:19px;
    letter-spacing:-.022em;
    margin-bottom:9px
}
.step p {
    font-size:15px;
    line-height:1.5;
    color:var(--mute)
}
.panel.dark .step p {
    color:var(--on-dark-2)
}
@media(max-width:900px) {
    .steps {
        grid-template-columns:1fr 1fr
    }
}
@media(max-width:600px) {
    .steps {
        grid-template-columns:1fr
    }
}
/* ─── marquee ─── */
.mq-wrap {
    overflow:hidden;
    padding:8px 0;
    mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)
}
.mq {
    display:flex;
    gap:56px;
    align-items:center;
    width:max-content;
    animation:mq 44s linear infinite
}
.mq:hover {
    animation-play-state:paused
}
@keyframes mq {
    to {
        transform:translateX(-50%)
    }
}
.mq span {
    display:flex;
    align-items:center;
    height:28px
}
.mq span img {
    height:100%;
    width:auto;
    max-width:150px;
    object-fit:contain;
    filter:grayscale(1) opacity(.55);
    transition:filter .2s
}
.mq span:hover img {
    filter:grayscale(0) opacity(1)
}
.panel.dark .mq span img {
    filter:grayscale(1) brightness(0) invert(1) opacity(.55)
}
.panel.dark .mq span:hover img {
    filter:grayscale(1) brightness(0) invert(1) opacity(.9)
}
/* ─── breadcrumb ─── */
.crumb {
    font-size:12px;
    color:var(--mute);
    margin-bottom:20px;
    font-family:var(--mono);
    letter-spacing:.02em
}
.crumb a {
    color:var(--brand);
    text-decoration:none
}
.crumb a:hover {
    color:var(--brand-dk);
    text-decoration:none
}
.panel.dark .crumb {
    color:var(--on-dark-2)
}
.panel.dark .crumb a {
    color:var(--brand-lt)
}
/* ─── form ─── */
.form {
    max-width:660px;
    margin:0 auto;
    text-align:left
}
.f2 {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px
}
.fld {
    margin-bottom:18px
}
.fld label {
    display:block;
    font-size:12px;
    color:var(--mute);
    margin-bottom:7px;
    font-family:var(--mono);
    letter-spacing:.08em;
    text-transform:uppercase
}
.fld input,.fld select,.fld textarea {
    width:100%;
    background:var(--white);
    border:1px solid var(--line);
    border-radius:12px;
    padding:14px 16px;
    font-family:var(--sans);
    font-size:17px;
    color:var(--ink);
    outline:none;
    transition:border-color .2s;
    letter-spacing:-.01em
}
.fld input:focus,.fld select:focus,.fld textarea:focus {
    border-color:var(--brand);
    box-shadow:0 0 0 3px rgba(13,98,236,.12)
}
.fld textarea {
    resize:vertical;
    min-height:120px
}
.panel.grey .fld input,.panel.grey .fld select,.panel.grey .fld textarea {
    background:var(--white)
}
@media(max-width:620px) {
    .f2 {
        grid-template-columns:1fr
    }
}
/* ─── contact list ─── */
.clist {
    max-width:660px;
    margin:0 auto;
    text-align:left
}
.crow {
    display:flex;
    gap:18px;
    padding:22px 0;
    border-bottom:1px solid var(--line);
    align-items:baseline
}
.crow:last-child {
    border-bottom:none
}
.crow dt {
    font-size:13px;
    color:var(--mute);
    width:130px;
    flex-shrink:0;
    font-family:var(--mono);
    letter-spacing:.06em;
    text-transform:uppercase
}
.crow dd {
    font-size:19px;
    letter-spacing:-.02em
}
.crow dd a {
    color:var(--ink);
    text-decoration:none
}
.crow dd a:hover {
    color:var(--brand)
}
@media(max-width:560px) {
    .crow {
        flex-direction:column;
        gap:6px
    }
    .crow dt {
        width:auto
    }
}
/* ─── footer ─── */
.foot {
    background:#0B4FBF;
    padding:44px 22px 26px;
    font-size:12px;
    color:#fff
}
.foot-in {
    max-width:1024px;
    margin:0 auto
}
.foot-note {
    padding-bottom:20px;
    border-bottom:1px solid rgba(255,255,255,.28);
    line-height:1.5;
    max-width:840px;
    color:#fff
}
.foot-cols {
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:28px;
    padding:24px 0
}
.foot-col h5 {
    font-size:17px;
    font-weight:700;
    color:#fff;
    margin-bottom:11px;
    letter-spacing:-.01em
}
.foot-col a {
    display:block;
    color:#fff;
    text-decoration:none;
    margin-bottom:8px;
    line-height:1.4
}
.foot-col a:hover {
    color:#fff;
    text-decoration:none
}
.foot-bot {
    border-top:1px solid rgba(255,255,255,.28);
    padding-top:18px;
    display:flex;
    justify-content:space-between;
    gap:18px;
    flex-wrap:wrap;
    align-items:center
}
.foot-bot img {
    height:34px;
    width:auto;
    opacity:1;
    filter:brightness(0) invert(1)
}
.foot-legal {
    display:flex;
    gap:16px;
    flex-wrap:wrap
}
.foot-legal a {
    color:#fff;
    text-decoration:none
}
.foot-legal a:hover {
    color:#fff;
    text-decoration:none
}
@media(max-width:900px) {
    .foot-cols {
        grid-template-columns:1fr 1fr 1fr
    }
}
@media(max-width:600px) {
    .foot-cols {
        grid-template-columns:1fr 1fr
    }
}
/* ─── reveal ─── */
.rv {
    opacity:0;
    transform:translateY(24px);
    transition:opacity .9s var(--ez),transform .9s var(--ez)
}
.rv.in {
    opacity:1;
    transform:none
}
.rv.d1 {
    transition-delay:.08s
}
.rv.d2 {
    transition-delay:.16s
}
.rv.d3 {
    transition-delay:.24s
}
@media(prefers-reduced-motion:reduce) {
    .rv {
        opacity:1;
        transform:none;
        transition:none
    }
    .mq {
        animation:none
    }
}
/* ─── hero accent (two-tone heading) ─── */
.t-hero .accent,h1 .accent {
    color:var(--brand-dk);
    font-weight:800
}
.panel.dark .t-hero .accent,.panel.dark h1 .accent {
    color:var(--brand-lt)
}
.home .t-hero {
    font-weight:400
}
.home .t-hero .accent {
    font-weight:700;
    display:block
}
.home .t-hero .hero-second {
    display:block;
    font-weight:400
}
/* ─── desktop mega menu ─── */
.nav-in {
    position:relative
}
.nav-drop {
    position:static
}
.nav-drop>a {
    display:inline-block;
    position:relative;
    z-index:951
}
.mega {
    position:absolute;
    top:100%;
    left:50%;
    transform:translateX(-50%);
    margin-top:0;
    width:min(980px,calc(100vw - 40px));
    background:var(--white);
    border:1px solid var(--line);
    box-shadow:0 22px 55px rgba(0,0,0,.16);
    padding:18px 0;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .18s,visibility .18s;
    z-index:950
}
.mega::before {
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:-22px;
    height:22px;
    pointer-events:auto
}
.nav-drop:hover .mega,.nav-drop:focus-within .mega {
    opacity:1;
    visibility:visible;
    pointer-events:auto
}
.mega-grid {
    position:relative;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0;
    width:100%
}
.mega-grid:before,.mega-grid:after {
    content:"";
    position:absolute;
    top:0;
    bottom:0;
    width:1px;
    background:var(--line);
    pointer-events:none;
    z-index:2
}
.mega-grid:before {
    left:50%
}
.mega-grid:after {
    display:none
}
.mega .mega-i {
    display:block;
    min-width:0;
    padding:13px 22px;
    text-decoration:none;
    color:var(--ink);
    border-radius:0;
    transition:background .15s,color .15s
}
.mega .mega-i:hover {
    background:#F4F7FD;
    color:#0B4FBF;
    text-decoration:none
}
.mega-i-t {
    font-size:13px;
    line-height:1.4;
    letter-spacing:-.01em;
    display:block;
    overflow-wrap:anywhere
}
.mega.mega-sm {
    width:auto;
    min-width:220px;
    padding:10px 0
}
.mega.mega-sm .mega-grid {
    grid-template-columns:1fr;
    width:100%;
    background:none
}
@media(max-width:900px) {
    .mega {
        display:none !important
    }
}
/* ─── mobile accordion menu ─── */
.macc {
    border-bottom:1px solid var(--line)
}
.macc-h {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px
}
.macc-h a {
    flex:1;
    color:var(--ink);
    text-decoration:none;
    font-size:21px;
    font-weight:600;
    letter-spacing:-.02em;
    padding:14px 0
}
.macc-ic {
    background:none;
    border:none;
    width:44px;
    height:44px;
    position:relative;
    cursor:pointer;
    flex-shrink:0
}
.macc-ic:before,.macc-ic:after {
    content:'';
    position:absolute;
    background:var(--ink);
    top:50%;
    left:50%;
    transition:all .35s var(--ez)
}
.macc-ic:before {
    width:12px;
    height:1.5px;
    transform:translate(-50%,-50%)
}
.macc-ic:after {
    width:1.5px;
    height:12px;
    transform:translate(-50%,-50%)
}
.macc.open .macc-ic:after {
    transform:translate(-50%,-50%) rotate(90deg);
    opacity:0
}
.macc-p {
    max-height:0;
    overflow:hidden;
    transition:max-height .4s var(--ez)
}
.macc.open .macc-p {
    max-height:640px
}
.macc-p a.sub {
    display:block;
    font-size:15px;
    font-weight:400;
    padding:10px 0 10px 16px;
    color:var(--mute);
    text-decoration:none
}
/* ─── responsive menu state ─── */
@media(min-width:901px) {
    #mnav {
        display:none !important
    }
    .burger.is-open i:nth-child(1) {
        transform:translateY(-5px)
    }
    .burger.is-open i:nth-child(2) {
        opacity:1;
        transform:translateY(0)
    }
    .burger.is-open i:nth-child(3) {
        transform:translateY(5px)
    }
}
/* ─── requested typography & header updates ─── */
.nav {
    border-bottom:1px solid transparent;
    border-image-source:linear-gradient(90deg,rgba(201,201,201,0) 0%,#C9C9C9 50%,rgba(201,201,201,0) 100%);
    border-image-slice:1;
    backdrop-filter:blur(24px);
    -webkit-backdrop-filter:blur(24px);
    box-shadow:0px 4px 24px 0px #0000000D;
}
.panel.hero h1 {
    font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;
    font-size:64px;
    letter-spacing:-0.03em;
}
button,.btn,.nav-cta {
    font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;
}
.btn,.nav-cta {
    padding-top:10px;
    padding-bottom:10px;
    padding-left:24px;
    padding-right:24px;
}
/* Global non-heading typography */
body * {
    font-family:var(--sans)
}
h1,h2,h3,h4,h5,h6 {
    font-family:'Helvetica Neue',Helvetica,Arial,sans-serif
}
/* Home hero typography uses Helvetica Neue */
.home .t-hero .accent, .home .t-hero .hero-second {
    font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;
}

@media(max-width:760px) {
    
    .panel.hero h1 {
        font-size:44px;
    }
    .stats {
        margin-top: 20px;
    }
}