/* Version 2 skin for inner pages: restyles v1 components (gcc.css) in the v2 design language */
:root{
  --ink:#0A1428;--ink-2:#26324A;--body:#4A5670;--muted:#5E6880;
  --bg:#F4F3EE;--bg-2:#EAE8E0;--surface:#FFFFFF;--line:#E2DFD5;--line-2:#D3D0C5;
  --navy:#07122A;--navy-2:#132847;
  --gold:#80612F;--gold-2:#D2A660;--gold-soft:#E5F5F7;--blue:#1A9DB3;
  --serif:'Sora','Inter',system-ui,sans-serif;--sans:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  --grad-deep:linear-gradient(100deg,#B07F2E 0%,#1A9DB3 100%);
  --sh-md:0 26px 50px -28px rgba(10,20,40,.35);
}
body{background:var(--void);font-family:var(--sans)}
main>section,main>div{position:relative;z-index:2}

/* Headings in the v2 voice */
h1,h2,h3,.sh,.pg-hero-h,.dcap-title,.mstep-title,.rel-title,.cs-title,.jc-title,.uc-title,.g-faq__q,.faq-q,.g-center__code{font-family:var(--display);font-weight:500;letter-spacing:-.02em}
h1 em,h2 em,.sh em,.gt,.pg-hero-h em,.grad-text{font-style:normal;background:var(--grad-deep);-webkit-background-clip:text;background-clip:text;color:transparent}
.g-faq__q,.faq-q{font-size:19px;letter-spacing:-.01em}

/* Labels */
.g-eyebrow,.tag,.pg-hero-eyebrow,.g-signals__title,.np-title,.g-tl__when,.g-tier__cad,.g-kpi p,.hp-title,.g-ind__tag,.g-practice__tag,.g-rel small,.g-facts__lbl,.g-story__k,.cs-tag,.cs-detail-label,.modal-tag,.g-trust__label{font-family:var(--mono);font-weight:500;letter-spacing:.14em}
.g-eyebrow::before,.tag::before,.pg-hero-eyebrow::before{width:8px;height:8px;border-radius:2px;transform:rotate(45deg)}
.g-kpi p{letter-spacing:.04em;font-size:12.5px;text-transform:uppercase}

/* Light content sections */
.g-sec,section.g-sec{background:var(--bg)}
.g-sec--alt{background:var(--surface)}
.g-card,.dcap,.uc,.tcat,.g-tier,.rel-card,.g-rel a,.job-card,.apply-form,.g-spec__panel{border-radius:18px}
.g-card__ico,.dcap-icon,.uc-icon,.rel-icon,.tcat-title span{background:#0A1428;color:#5BE3F5}
.g-card li::before,.dcap-feats li::before{border-color:#1A9DB3}
.g-signal__n,.np-num,.g-diff__n,.mstep-num,.g-life__dot{font-family:var(--mono);color:#11707F}
.g-life__dot{font-size:14px}
.g-life__step:hover .g-life__dot{background:#0A1428;border-color:#0A1428;color:#5BE3F5}
.g-method__count b{font-family:var(--display);font-weight:500}
.g-method__bar i,.g-mstep::before{background:var(--grad-deep)}
.g-spec__meter i.on{background:var(--grad-deep)}
.g-kpi{border-top-color:#0A1428}
.g-owner--s{background:#0A1428}
.g-owner--c{background:#E5F5F7;color:#13788A}
.g-tl__step::before{border-color:#1A9DB3}
.g-tier__cad{background:#E5F5F7;color:#13788A}
.g-ind__ev{border-left-color:#1A9DB3}
.g-more:hover{color:#11707F}
.g-rel small,.g-practice__tag,.g-ind__tag{color:#13788A}
.stat-num,.careers-stat-num{font-family:var(--display);font-weight:500}
.badge-y{background:#E5F5F7;color:#13788A}

/* Buttons */
.g-btn,.btn-p{border-radius:999px;background:#0A1428;color:#fff}
.g-btn:hover,.btn-p:hover{background:#132847;box-shadow:0 18px 40px -16px rgba(26,157,179,.45)}
.g-btn--ghost,.btn-o{background:transparent;color:#0A1428}

/* Dark immersive hero with the living field */
.g-hero,.pg-hero{background:transparent!important;z-index:1!important;padding:136px 0 64px;color:var(--on-dark-2)}
.g-hero::before,.pg-hero::before{display:none}
.g-hero h1,.pg-hero-h{color:#fff}
.g-hero h1 em,.pg-hero-h em,.g-band h2 em,.g-cta h2 em{background-image:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.g-hero .g-lead,.pg-hero-p{color:var(--on-dark-2)}
.g-hero .g-eyebrow,.pg-hero-eyebrow{color:var(--cyan)}
.g-crumb,.breadcrumb{color:var(--on-dark-3)}
.g-crumb a:hover,.breadcrumb a:hover{color:#fff}
.g-crumb span[style],.breadcrumb>span:last-child{color:#fff!important}
.g-hero .g-btn,.pg-hero .btn-p{background:#fff;color:var(--void)}
.g-hero .g-btn:hover,.pg-hero .btn-p:hover{background:#E9FBFE}
.g-hero .g-btn--ghost,.pg-hero .btn-o{background:transparent;color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.3)}
.g-hero .g-btn--ghost:hover,.pg-hero .btn-o:hover{background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px #fff}
.g-trust{border-top-color:rgba(255,255,255,.12)}
.g-trust__label{color:var(--on-dark-3)}
.g-trust__item{color:var(--on-dark)}
.g-trust__item::before{background:var(--cyan)}
.g-visual{display:none}
.hero-panel{background:linear-gradient(180deg,rgba(14,26,52,.9),rgba(7,16,36,.88));border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:none}
.hero-panel .hp-title{color:var(--cyan)}
.hero-panel .hp-item{border-top-color:rgba(255,255,255,.1)}
.hero-panel .hp-text{color:#fff}
.hero-panel .hp-text small{color:var(--on-dark-2)}
.hero-panel .hp-dot{background:var(--cyan)}
a.hp-item:hover .hp-text{color:var(--cyan)}

/* Dark bands show the field */
.g-band{background:transparent!important;z-index:1!important}
.g-band::before{display:none}
.g-band .g-eyebrow{color:var(--cyan)}
.g-band h2{color:#fff}
.g-facts,.g-cred{background:linear-gradient(180deg,rgba(14,26,52,.92),rgba(7,16,36,.9));border-color:rgba(255,255,255,.12);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.g-story__k{color:var(--gold-2)}
.g-chip{border-color:rgba(255,255,255,.14)}

/* CTA cards */
.g-cta,.cta-banner-inner{background:linear-gradient(135deg,#07122A,#0B1D3E)}
.g-cta::before,.cta-banner-inner::before{background:radial-gradient(520px 260px at 100% 0%,rgba(91,227,245,.18),transparent 65%),radial-gradient(420px 220px at 0% 100%,rgba(210,166,96,.18),transparent 65%)}
.g-cta .g-btn--light,.cta-banner .btn-p{background:#fff;color:var(--void)}

/* Utility pages */
.g-center{background:var(--void)}
.g-center__card{background:linear-gradient(180deg,rgba(14,26,52,.94),rgba(7,16,36,.92));border-color:rgba(255,255,255,.12);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);position:relative;z-index:2}
.g-center__card h1{color:#fff}
.g-center__p,.g-center__note{color:var(--on-dark-2)}
.g-center__code{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.g-center__logo{position:relative;z-index:2}
.g-center .g-btn{background:#fff;color:var(--void)}
.g-center .g-btn--ghost{background:transparent;color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.3)}

/* Current page in v2 nav */
.v-nav>li>.is-current{color:#fff;background:rgba(255,255,255,.08)}

@media (max-width:960px){.g-hero,.pg-hero{padding:104px 0 48px}}
@media (max-width:640px){.g-hero,.pg-hero{padding:92px 0 40px}}

/* Careers stats strip sits on the dark field directly under the hero */
.careers-stats{border-color:rgba(255,255,255,.12)}
.careers-stat{border-color:rgba(255,255,255,.12)!important}
.careers-stat-num{color:#fff}
.careers-stat-lbl{color:var(--on-dark-2)}
.careers-stats-section{padding:0 0 48px}

/* ===== Unified rhythm: one scale for every page (homepage v2 values are the reference) ===== */
/* Section padding: light 60 / dark 68; tablet 50/56; mobile 42/48 */
.g-sec{padding:60px 0}
.g-band{padding:68px 0}
.g-sec:has(> .si > .stat-row){padding:0 0 52px}
.cta-banner{padding:0 0 60px}
/* Labels */
.g-eyebrow,.tag,.pg-hero-eyebrow{font-size:12px;gap:10px}
/* Section headings: same size, weight, tracking and label gap as the homepage */
.g-sec h2,.g-band h2{font-size:clamp(32px,4vw,54px);line-height:1.08;letter-spacing:-.025em;max-width:860px}
.g-sec h2,.g-band h2,.g-sec-head h2,.sh{margin-top:16px!important;margin-bottom:12px!important}
.g-cta h2,.cta-banner h2{font-size:clamp(28px,3vw,40px)!important;margin:0 0 12px!important}
.g-ind h2,.g-ind__row h2{font-size:clamp(28px,2.8vw,38px)}
/* Heading block -> content gap */
.g-sec-head{margin-bottom:30px}
.g-sec-head p,.g-lead,.pg-hero-p{font-size:clamp(17px,1.5vw,19px);line-height:1.65}
.sh+p,.sh+.sp{margin-bottom:30px}
/* Page headlines: identical across all inner pages */
.g-hero h1,.pg-hero-h{font-size:clamp(40px,5.2vw,64px);line-height:1.06;letter-spacing:-.03em;margin:18px 0 22px}
@media (max-width:1080px) and (min-width:641px){.g-sec{padding:50px 0}.g-band{padding:56px 0}}
@media (max-width:640px){.g-sec{padding:42px 0}.g-band{padding:48px 0}.g-sec-head{margin-bottom:24px}.cta-banner{padding:0 0 42px}}
.g-eyebrow,.tag,.pg-hero-eyebrow{display:flex;width:fit-content;line-height:1.4}

/* Hedged figures in dark credential panels */
.g-stat b em{font-style:normal;font-size:.44em;font-family:var(--sans);font-weight:500;color:var(--on-dark-2);margin-right:6px;letter-spacing:0;vertical-align:.35em}
.g-stats__note{margin-top:12px;font-size:12.5px;line-height:1.5;color:var(--on-dark-3);font-style:italic}
.g-center__note a,.g-center__p a{color:#fff;text-decoration:underline;text-underline-offset:3px}

/* Service-page FAQs use the same +/− marker and rhythm as the rest of the site */
.faq-q{padding:26px 0}
.faq-arrow{position:relative;width:18px;height:18px;font-size:0;color:transparent;transform:none!important}
.faq-arrow::before,.faq-arrow::after{content:"";position:absolute;left:0;right:0;top:8.5px;height:1.5px;background:var(--gold);transition:transform .35s var(--ease)}
.faq-arrow::after{transform:rotate(90deg)}
.faq-item.open .faq-arrow::after{transform:rotate(0)}

/* Closing panel on service/careers pages continues the light section above it (no dark strip) */
.cta-banner{background:var(--bg);position:relative;z-index:2;padding:40px 0 60px!important}
@media (max-width:640px){.cta-banner{padding:28px 0 42px!important}}

/* Legal pages */
.g-hero--legal{padding-bottom:40px}
.g-hero--legal h1{font-size:clamp(36px,4.4vw,56px)}
.legal{max-width:820px}
.legal__date{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.legal h2{font-size:clamp(22px,2.2vw,28px)!important;line-height:1.25!important;letter-spacing:-.01em!important;margin:36px 0 12px!important}
.legal p,.legal li{font-size:16.5px;line-height:1.7;color:var(--body)}
.legal p+p{margin-top:12px}
.legal ul{padding-left:20px;display:grid;gap:10px}
.legal li{list-style:disc}
.legal a,.legal__link{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.legal__link{background:none;border:0;padding:0;font:inherit;cursor:pointer}
.legal__table{overflow-x:auto;margin:8px 0 14px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.legal__table table{width:100%;border-collapse:collapse;font-size:14.5px;min-width:620px}
.legal__table th{text-align:left;font-weight:600;color:var(--ink);background:var(--bg);padding:12px 14px;border-bottom:1px solid var(--line)}
.legal__table td{padding:12px 14px;border-bottom:1px solid var(--line);color:var(--body);vertical-align:top}
.legal__table tr:last-child td{border-bottom:0}

/* Hero text stays fully visible while it slides in, so it paints immediately (faster Largest Contentful Paint) */
.js .g-hero [data-anim]{opacity:1}
@media (max-width:760px){.hero-panel,.g-facts,.g-cred,.g-center__card{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}}
.g-table-wrap:focus-visible,.legal__table:focus-visible{outline:2px solid var(--blue,#1A9DB3);outline-offset:3px}

/* Case studies */
.case{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:48px;align-items:start}
.case__facts{position:sticky;top:96px;margin:0;display:grid;gap:0;background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.case__facts div{padding:14px 18px;border-top:1px solid var(--line)}
.case__facts div:first-child{border-top:0}
.case__facts dt{font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.case__facts dd{margin:4px 0 0;font-size:15px;color:var(--ink);line-height:1.45}
.case__body{max-width:760px}
.case__body h2{font-size:clamp(22px,2.2vw,28px)!important;line-height:1.25!important;margin:0 0 12px!important}
.case__body h2:not(:first-child){margin-top:36px!important}
.case__body p,.case__body li{font-size:16.5px;line-height:1.7;color:var(--body)}
.case__body ul:not(.case__chips):not(.case__related){padding-left:20px;display:grid;gap:8px}
.case__body ul:not(.case__chips):not(.case__related) li{list-style:disc}
.case__metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-top:18px}
.case__metrics div{background:var(--surface);padding:18px}
.case__metrics b{display:block;font-family:var(--display);font-weight:500;font-size:30px;color:var(--ink);letter-spacing:-.02em}
.case__metrics span{font-size:14px;color:var(--muted)}
.case__note{font-size:13.5px!important;font-style:italic;color:var(--muted)!important;margin-top:10px}
.case__chips{display:flex;flex-wrap:wrap;gap:8px;padding:0;list-style:none}
.case__chips li{font-size:14px!important;padding:5px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink-2)!important}
.case__related{list-style:none;padding:0;display:grid;gap:8px}
.case__related a{color:var(--ink);font-weight:500;text-decoration:none;border-bottom:1px solid var(--line)}
.case__related a:hover{border-color:var(--ink)}
.case .g-cta{grid-column:1 / -1}
.case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
@media (max-width:760px){.case-grid{grid-template-columns:1fr}}
.case-card{display:flex;flex-direction:column;gap:10px;padding:28px;border:1px solid var(--line);border-radius:18px;background:var(--surface);color:inherit;text-decoration:none;transition:border-color .3s,transform .3s var(--ease),box-shadow .3s}
.case-card:hover{border-color:var(--ink);transform:translateY(-2px);box-shadow:var(--sh-md)}
.case-card small{font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:#13788A}
.case-card h2{font-size:24px!important;line-height:1.25!important;margin:0!important;color:var(--ink)}
.case-card p{font-size:15.5px;line-height:1.6;color:var(--body);margin:0}
.case-card__metric{font-size:14px;color:var(--muted)}
.case-card__metric b{font-family:var(--display);font-weight:500;font-size:20px;color:var(--ink);margin-right:4px}
.case-card__more{margin-top:auto;font-weight:600;color:var(--ink);font-size:14.5px}
@media (max-width:900px){.case{grid-template-columns:1fr;gap:28px}.case__facts{position:static}}
.case-link-wrap{margin-top:22px}
.case-link{font-weight:600;font-size:15px;color:inherit;text-decoration:none;border-bottom:1px solid currentColor;opacity:.92}
.case-link:hover{opacity:1}

/* Insights articles */
.article{max-width:760px}
.article__meta{margin-top:14px;font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--on-dark-2)}
.article h2{font-size:clamp(24px,2.4vw,30px)!important;line-height:1.25!important;margin:40px 0 12px!important}
.article h2:first-child{margin-top:0!important}
.article h3{font-size:19px;margin:22px 0 6px;color:var(--ink)}
.article p,.article li{font-size:17px;line-height:1.75;color:var(--body)}
.article p+p{margin-top:14px}
.article ul,.article ol{padding-left:22px;display:grid;gap:8px;margin:10px 0}
.article ul li{list-style:disc}
.article ol li{list-style:decimal}
.article a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.article__table{overflow-x:auto;margin:16px 0;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.article__table table{width:100%;border-collapse:collapse;font-size:15px;min-width:640px}
.article__table th{text-align:left;font-weight:600;color:var(--ink);background:var(--bg);padding:12px 14px;border-bottom:1px solid var(--line)}
.article__table td{padding:12px 14px;border-bottom:1px solid var(--line);color:var(--body);vertical-align:top;line-height:1.55}
.article__table tr:last-child td{border-bottom:0}
.article__table:focus-visible{outline:2px solid #11707F;outline-offset:3px}
.article__faq{border-top:1px solid var(--line);margin-top:8px}
.draft-banner{position:relative;z-index:3;background:#7A1F1F;color:#fff;text-align:center;padding:10px 16px;font:600 14px var(--sans)}

/* Further reading strip */
.further{padding:44px 0!important}
.further__list{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:10px}
.further__list a{font-family:var(--display);font-weight:500;font-size:clamp(18px,1.8vw,22px);color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:2px}
.further__list a:hover{border-color:var(--ink)}
