/*
Theme Name: Argan Int. — Enterprise Web Platform
Theme URI: https://www.evo.tf
Description: Corporate website for Argan Int. with its own Vue Control Panel at /control/. 1,234 editable fields with complete default content, versioned content, team access, recruitment and lead management, OSHA safety dashboard, visitor analytics and a one-click site package for moving hosts.
Version: 3.0
Author: OMER MASTER
Author URI: https://www.evo.tf
Text Domain: arganint
Requires at least: 6.0
Requires PHP: 8.0
License: Proprietary — single-domain licence
License URI: https://www.evo.tf

═══════════════════════════════════════════════════════════════════
  ARGAN INT. — Enterprise Web Platform
  Designed & engineered by OMER MASTER · EVO.TF Software Engineering
  https://www.evo.tf · info@evo.tf

  Copyright (c) 2026 OMER MASTER / EVO.TF. All rights reserved.

  Licensed to Argan Int., Inc. for use on ONE production domain.
  See LICENSE.txt for the full terms. Unauthorised copying,
  redistribution, resale, sublicensing, or deployment on additional
  domains is prohibited.
═══════════════════════════════════════════════════════════════════
*/

/* Base typography and header metrics */
.btn,.btn-submit{letter-spacing:1.5px}
.site-logo img,.site-logo .custom-logo{height:44px!important}
#site-header{border-bottom-width:3px}
.hero-slide::after{opacity:.55}
*{text-rendering:optimizeLegibility}

/* ═══ Colour system — Argan identity: Refined Navy & Gold.
   Layer 1  primitives   --navy-* --gold-* --steel-* --ink-*   (control-panel brand colours
                         override the anchor steps; see argan_build_css)
   Layer 2  roles        --surface, --text-body, --accent …    light here, dark below
   Rules read roles; the short names (--navy, --gold, --text-b …) alias roles. ═══ */
/* ═══ Base theme styles ═══ */
/* Declaring color-scheme stops browser "force dark" modes (Samsung Internet,
   Chrome) from recolouring the page on top of the theme's own toggle. It is
   switched to dark below when [data-theme="dark"] is active. */
:root{
  --navy-25:#F6F8FC; --navy-50:#EEF1F8; --navy-100:#DEE5F2; --navy-200:#C1CEE9; --navy-300:#98AEDB; --navy-400:#6E8BC9; --navy-500:#4869B1; --navy-600:#2E4B91; --navy-700:#1D3673; --navy-800:#14295F; --navy-900:#0A1D4D; --navy-925:#07163D; --navy-950:#050F2E; --navy-975:#030A22; --navy-990:#020516;
  --gold-25:#FEFCF5; --gold-50:#FCF7E7; --gold-100:#F8ECCB; --gold-200:#F2DB9B; --gold-300:#E4C767; --gold-400:#D8B346; --gold-500:#C9A227; --gold-600:#A4831B; --gold-700:#806516; --gold-800:#624D06; --gold-900:#483909;
  --steel-50:#EEF4FC; --steel-100:#D8E6F9; --steel-200:#B5D0F5; --steel-300:#8CB3EA; --steel-400:#6594D5; --steel-500:#3D6FB4; --steel-600:#2C5A9A; --steel-700:#234A7F; --steel-800:#183863; --steel-900:#0D2648;
  --ink-0:#FFFFFF; --ink-25:#F9FAFC; --ink-50:#F3F5F9; --ink-100:#EAEDF2; --ink-200:#E3E8F0; --ink-300:#C8CED9; --ink-400:#9EA5B3; --ink-500:#757D8E; --ink-600:#555E6F; --ink-700:#384154; --ink-800:#2A3345; --ink-900:#101828;
  --navy-700-rgb:29,54,115; --gold-400-rgb:216,179,70; --steel-600-rgb:44,90,154; --backdrop-rgb:2,5,22;
  --navy-900-rgb:10,29,77; --navy-950-rgb:5,15,46; --gold-500-rgb:201,162,39; --gold-300-rgb:228,199,103; --steel-500-rgb:61,111,180; --navy-975-rgb:3,10,34; --navy-925-rgb:7,22,61; --ink-900-rgb:16,24,40;
  --bg:var(--ink-0);
  --surface:var(--ink-0);
  --surface-alt:var(--navy-50);
  --surface-soft:var(--navy-25);
  --surface-raised:var(--ink-0);
  --surface-inverse:var(--navy-900);
  --surface-inverse-deep:var(--navy-950);
  --text-heading:var(--ink-900);
  --text-body:var(--ink-700);
  --text-muted:var(--ink-600);
  --text-subtle:var(--ink-400);
  --text-brand:var(--navy-900);
  --text-on-inverse:var(--ink-0);
  --text-on-inverse-muted:var(--navy-200);
  --accent:var(--gold-500);
  --accent-strong:var(--gold-300);
  --accent-text:var(--gold-700);
  --accent-soft:var(--gold-50);
  --link:var(--navy-900);
  --link-hover:var(--gold-700);
  --border:var(--ink-200);
  --border-strong:var(--ink-300);
  --focus:var(--steel-500);
  --btn-primary-bg:var(--navy-900);
  --btn-primary-text:var(--ink-0);
  --btn-primary-hover:var(--gold-500);
  --btn-primary-hover-text:var(--navy-900);
  --btn-gold-bg:var(--gold-500);
  --btn-gold-text:var(--navy-900);
  --btn-gold-hover:var(--gold-300);
  --btn-outline:var(--navy-900);
  --success:#15803D;
  --success-bg:#DCFCE7;
  --warning:#B45309;
  --warning-bg:#FEF3C7;
  --error:#B91C1C;
  --error-bg:#FEE2E2;
  --info:#30578C;
  --info-bg:#ECF1F8;
  --viz-1:var(--steel-500); --viz-2:var(--gold-600); --viz-3:#0F766E;
  --shadow-card:0 1px 2px rgba(16,24,40,.06),0 8px 24px rgba(var(--navy-900-rgb),.08);
  --grad-brand:linear-gradient(135deg,var(--navy-900) 0%,var(--navy-950) 100%);
  --grad-final:linear-gradient(160deg,var(--navy-900) 0%,var(--navy-950) 55%,var(--navy-990) 100%);
  --overlay-hero:rgba(var(--navy-950-rgb),.55);
  --overlay-page:linear-gradient(to bottom,rgba(var(--navy-900-rgb),.42) 0%,rgba(var(--navy-950-rgb),.78) 100%);
  color-scheme: only light;
  --body-muted: var(--text-muted);
  --heading-ink: var(--text-brand);
  --n50:var(--navy-50); --n100:var(--navy-100); --n200:var(--navy-200); --n300:var(--navy-300);
  --n400:var(--navy-500); --n500:var(--navy-700); --n600:var(--navy-800); --n800:var(--navy-950); --n900:var(--navy-990);
  --navy:var(--navy-900); --navy-d:var(--navy-925); --navy-dd:var(--navy-950);
  --navy-l:rgba(var(--navy-900-rgb),.07); --navy-ll:rgba(var(--navy-900-rgb),.04);
  --grad-navy:var(--grad-brand);
  --grad-navy-soft:linear-gradient(135deg,var(--steel-500) 0%,var(--navy-900) 100%);
  --grad-navy-deep:var(--grad-final);
  --grad-hero:var(--overlay-page);
  --grad-dark:linear-gradient(135deg,var(--navy-900) 0%,var(--navy-990) 100%);
  --grad-section:linear-gradient(180deg,var(--navy-25) 0%,var(--navy-50) 100%);
  --gold:var(--gold-500); --gold-l:var(--gold-300); --gold-d:var(--accent-text); --gold-bg:var(--gold-50);
  --white:#ffffff;
  --snow:var(--surface-soft); --bg-alt:var(--surface-alt); --border-d:var(--border-strong);
  --sky:var(--steel-500); --sky-d:var(--steel-600); --sky-l:var(--steel-50);
  --text-h:var(--text-heading); --text-b:var(--text-body); --text-m:var(--text-muted); --text-l:var(--text-subtle);
  --font-head: 'Gotham','Rubik','DM Sans',sans-serif;
  --font-body: 'Rubik','DM Sans','Segoe UI',sans-serif;
  --nav-h:    68px;
  --max-w:    1240px;
  --shadow-xs: 0 1px 3px rgba(var(--ink-900-rgb),.06);
  --shadow-sm: 0 4px 12px rgba(var(--ink-900-rgb),.08);
  --shadow-md: 0 8px 28px rgba(var(--navy-900-rgb),.11);
  --shadow-lg: 0 16px 48px rgba(var(--navy-900-rgb),.13);
  --shadow-xl: 0 24px 64px rgba(var(--navy-900-rgb),.15);
}
/* Content is English: always LTR and left-aligned, whatever the browser locale.
   unicode-bidi:plaintext lets each paragraph follow its own first strong
   character, so any RTL text still renders correctly. */
p, h1, h2, h3, h4, h5, h6, li, dt, blockquote, label, td, th,
input, textarea, select, button, .btn{
  unicode-bidi:plaintext;
}
/* Form controls don't inherit the page font in browsers by default. */
button, input, select, textarea{font-family:inherit}
/* Only direction is forced; intentionally centred elements keep their alignment. */
[dir="rtl"]{direction:rtl}

/* ═══ Reset & base ═══ */
h1{font-size:clamp(2.2rem,5vw,4.2rem);font-weight:700;letter-spacing:-1px;line-height:1.05}
h4{font-size:1.05rem;font-weight:600}
h5{font-size:.8rem;font-weight:700;letter-spacing:2px;text-transform:uppercase}

/* ═══ Buttons ═══ */

/* ═══ Reset & base ═══ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body.loaded{opacity:1}
img{max-width:100%;height:auto;display:block}
ul{list-style:none}
p{line-height:1.78;margin:0 0 16px;color:var(--text-b)}
p:last-child{margin-bottom:0}
h1,h2,h3,h4,h5{font-weight:700;letter-spacing:-0.5px;color:var(--text-h);font-family:var(--font-head);line-height:1.15}
h1{font-size:clamp(2.2rem,5vw,4.2rem);font-weight:700;letter-spacing:-1px}
h2{font-size:clamp(1.7rem,3.2vw,2.5rem);font-weight:700;letter-spacing:-.5px}
h3{font-size:clamp(1.1rem,2vw,1.5rem);font-weight:600}

/* ═══ Layout ═══ */
.wrap{max-width:var(--max-w);margin:0 auto;padding:0 44px}
@media(max-width:1024px){.wrap{padding:0 28px}}
@media(max-width:680px){.wrap{padding:0 18px}}
.pad{padding:80px 0}
@media(max-width:860px){.pad{padding:52px 0}}
@media(max-width:560px){.pad{padding:36px 0}}
.bg-white{background:#fff}
.bg-alt{background:var(--bg-alt)}
.section-title{color:var(--text-h);margin-bottom:1rem}
.section-title.center{text-align:center}
.section-title.center::after{margin:12px auto 0}
.section-title.white{color:#fff}
.section-title.white::after{background:var(--gold)}
.fade-up{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}
.fade-up.visible{opacity:1;transform:none}

/* ═══ Buttons ═══ */
.btn{-webkit-appearance:none;display:inline-flex;align-items:center;gap:8px;font-family:var(--font-body);font-size:12.5px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;padding:12px 28px;cursor:pointer;transition:all .22s;text-decoration:none;white-space:nowrap;border:2px solid transparent}
.btn svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2;flex-shrink:0;transition:transform .2s}
.btn:hover svg{transform:translateX(3px)}
.btn-white{background:transparent;color:#fff;border-color:rgba(255,255,255,.7)}
.btn-white:hover{border-color:#fff;background:#fff;color:var(--navy)}

/* ═══ Header ═══ */
#site-header{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  background:rgba(255,255,255,.97);
  border-bottom:3px solid var(--navy);
  height:var(--nav-h);
  display:flex;align-items:center;padding:0 40px;
  transition:background-color .35s ease,border-color .35s ease,box-shadow .35s ease;
}
[data-theme="dark"] #site-header{background:rgba(var(--navy-950-rgb),.97);border-bottom-color:var(--gold)}
#site-header.scrolled{box-shadow:0 4px 20px rgba(0,0,0,.1)}
/* Solid header on all non-home pages */
#site-header.solid-header{
  background:#ffffff!important;
  border-bottom:3px solid var(--navy)!important;
  box-shadow:0 2px 12px rgba(var(--navy-900-rgb),.08);
  backdrop-filter:none!important;
}
[data-theme="dark"] #site-header.solid-header{
  background:var(--navy-950)!important;
  border-bottom-color:var(--gold)!important;
  box-shadow:0 2px 12px rgba(0,0,0,.3);
}
#site-header.solid-header .site-logo img,
#site-header.solid-header .custom-logo-link img{filter:none!important}
/* Pages with a section subnav always get a solid header */
body.has-subnav #site-header{
  background:#ffffff!important;
  border-bottom:3px solid var(--navy)!important;
  box-shadow:0 2px 12px rgba(var(--navy-900-rgb),.08)!important;
  backdrop-filter:none!important;
}
body.has-subnav #site-header.at-home-top{background:#ffffff!important}
[data-theme="dark"] body.has-subnav #site-header,
[data-theme="dark"] body.has-subnav #site-header.at-home-top{
  background:var(--navy-950)!important;
  border-bottom-color:rgba(255,255,255,.1)!important;
}

/* ── Transparent state (page top) ── */
/* White logo and nav while transparent, navy once solid */
#site-header.at-home-top{
  background:rgba(0,0,0,.18)!important; /* semi-dark so white text is readable */
  border-bottom-color:transparent!important;
  box-shadow:none!important;
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
}
/* Logo is inverted to white only in the transparent state */
#site-header.at-home-top .site-logo img,
#site-header.at-home-top .hdr-logo-link img,
#site-header.at-home-top .custom-logo-link img{
  filter:brightness(0) invert(1);
}
#site-header.at-home-top #primary-nav>li>a{color:rgba(255,255,255,.92);text-shadow:0 1px 6px rgba(0,0,0,.45)}
#site-header.at-home-top #primary-nav>li>a:hover,
#site-header.at-home-top #primary-nav>li.current-menu-item>a{color:#fff;border-bottom-color:var(--gold-500)}
#site-header.at-home-top .hamburger span{background:#fff}
#site-header.at-home-top .btn-icon-hdr{color:rgba(255,255,255,.75)}
#site-header.at-home-top .btn-icon-hdr svg{stroke:#fff}
#site-header.at-home-top .btn-theme-toggle .tgl-track{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.35)}
/* Scrolled state */
#site-header:not(.at-home-top) .site-logo img,
#site-header:not(.at-home-top) .hdr-logo-link img,
#site-header:not(.at-home-top) .custom-logo-link img{filter:none}
@media(max-width:600px){#site-header{padding:0 16px}}

/* ── Logo ── */
.site-logo{flex-shrink:0;display:flex;align-items:center;text-decoration:none;margin-right:32px}
.site-logo img,.site-logo .custom-logo,.hdr-logo-link img,.custom-logo-link img{
  height:44px!important;width:auto!important;max-width:180px!important;
  object-fit:contain;transition:filter .35s ease;
}
.hdr-logo-link{display:flex;align-items:center;text-decoration:none}

/* ── Desktop nav ── */
#desktop-nav{display:flex;align-items:center;justify-content:center;height:100%;flex:1}
#primary-nav{display:flex;align-items:center;height:100%;list-style:none;margin:0 auto;padding:0}
#primary-nav>li{position:relative;height:var(--nav-h);display:flex;align-items:center}
#primary-nav>li>a:hover,
#primary-nav>li.current-menu-item>a,
#primary-nav>li.current-menu-parent>a,
#primary-nav>li.current-menu-ancestor>a{color:var(--navy);border-bottom-color:var(--navy)}
#primary-nav>li.menu-item-has-children>a::after{content:'';display:inline-block;width:5px;height:5px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-2px;transition:transform .22s;flex-shrink:0}
#primary-nav>li.menu-item-has-children:hover>a::after{transform:rotate(-135deg);margin-top:3px}
#primary-nav>li:hover>.sub-menu{display:block}
.sub-menu li:last-child a{border-bottom:none}

/* Indented child items inside a dropdown (e.g. ECA-Backed and Private & Corporate
   Finance under Project Finance), built on the flat .sub-menu with no extra flyout logic. */
.sub-menu li.sub-menu-child a{padding-left:34px;font-size:11px;color:var(--text-muted,var(--ink-600))}
.sub-menu li.sub-menu-child a::before{content:'—';margin-right:7px;opacity:.55}
.sub-menu li.sub-menu-child a:hover{padding-left:38px;color:var(--navy)}
[data-theme="dark"] .sub-menu li.sub-menu-child a{color:var(--ink-400)!important}

/* ── Header right ── */
.header-right{display:flex;align-items:center;gap:4px;margin-left:16px;flex-shrink:0}
.btn-icon-hdr{background:none;border:none;cursor:pointer;padding:8px;color:var(--text-m);transition:color .2s;display:flex;align-items:center;border-radius:6px}
.btn-icon-hdr:hover{color:var(--navy);background:var(--navy-l)}
.btn-icon-hdr svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:2}

/* ── Theme toggle ── */
.btn-theme-toggle{background:none;border:none;cursor:pointer;padding:0;margin:0 2px;display:flex;align-items:center;-webkit-tap-highlight-color:transparent}
.tgl-track{display:flex;align-items:center;width:46px;height:24px;background:var(--ink-300);border-radius:12px;padding:2px;border:1.5px solid var(--ink-300);box-shadow:inset 0 1px 2px rgba(0,0,0,.1);transition:background .35s ease,border-color .35s ease}
.tgl-thumb{width:20px;height:20px;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 4px rgba(0,0,0,.22),0 0 0 1px rgba(0,0,0,.06);transition:transform .35s cubic-bezier(.4,0,.2,1),background .3s ease;flex-shrink:0;position:relative}
.tgl-sun,.tgl-moon{position:absolute;transition:opacity .22s ease,transform .22s ease}
.tgl-sun{width:11px;height:11px;opacity:1;stroke:#D97706;stroke-width:2;fill:none;transform:scale(1) rotate(0deg)}
.tgl-moon{width:10px;height:10px;opacity:0;fill:#fff;transform:scale(.3) rotate(-45deg)}
[data-theme="dark"] .tgl-track{background:var(--navy);border-color:var(--navy-d)}
[data-theme="dark"] .tgl-thumb{transform:translateX(22px);background:var(--gold);box-shadow:0 1px 4px rgba(0,0,0,.35),0 0 0 1px rgba(var(--gold-500-rgb),.25)}
[data-theme="dark"] .tgl-sun{opacity:0;transform:scale(.2) rotate(90deg)}
[data-theme="dark"] .tgl-moon{opacity:1;transform:scale(1) rotate(0deg)}

/* ── Hamburger ── */
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:5px;flex-shrink:0}
.hamburger span{display:block;width:22px;height:2px;background:var(--navy);border-radius:2px;transition:all .3s}
.hamburger.open span:nth-child(1){transform:rotate(45deg) translate(4px,5px)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(4px,-5px)}
@media(max-width:1100px){#primary-nav{display:none}.hamburger{display:flex}}

/* ═══ Mobile nav panel ═══ */

/* Nav list */

/* ═══ Search ═══ */
#search-overlay{position:fixed;inset:0;z-index:2000;background:rgba(var(--navy-950-rgb),.97);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:all .3s}
#search-overlay.open{opacity:1;visibility:visible}
.search-hint{display:block;margin-top:14px;color:rgba(255,255,255,.45);font-size:.78rem;letter-spacing:.06em}
.search-box{width:100%;max-width:680px;padding:0 32px}
.search-box input{width:100%;background:none;border:none;border-bottom:1px solid rgba(255,255,255,.2);color:#fff;font-family:var(--font-head);font-size:2rem;font-weight:300;padding:14px 0;outline:none}
.search-box input::placeholder{color:rgba(255,255,255,.25)}
.search-close{position:absolute;top:28px;right:32px;background:none;border:none;color:rgba(255,255,255,.4);font-size:28px;cursor:pointer;transition:color .2s}
.search-close:hover{color:#fff}

/* ═══ Back to top ═══ */
#back-to-top{position:fixed;bottom:28px;right:28px;z-index:900;width:50px;height:50px;background:#fff;border:1.5px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transform:translateY(10px) scale(.9);transition:all .35s cubic-bezier(.2,.9,.3,1.2);cursor:pointer;box-shadow:0 8px 28px rgba(var(--navy-900-rgb),.16)}
#back-to-top.show{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
#back-to-top::before{content:'';position:absolute;inset:0;border-radius:50%;background:linear-gradient(135deg,var(--gold-500) 0%,var(--gold-600) 100%);transform:scale(0);transition:transform .3s cubic-bezier(.2,.9,.3,1.2);z-index:0}
#back-to-top:hover{border-color:var(--gold);box-shadow:0 12px 34px rgba(var(--gold-500-rgb),.4)}
#back-to-top:hover::before{transform:scale(1)}
@media(max-width:560px){#back-to-top{width:42px;height:42px;bottom:16px;right:14px}}
#back-to-top svg{position:relative;z-index:1;width:18px;height:18px;stroke:var(--navy);fill:none;stroke-width:2.5;transition:stroke .3s,transform .3s}
#back-to-top:hover svg{stroke:#fff;transform:translateY(-2px)}
[data-theme="dark"] #back-to-top{background:var(--navy-925);border-color:rgba(255,255,255,.12)}
[data-theme="dark"] #back-to-top svg{stroke:var(--ink-200)}
[data-theme="dark"] #back-to-top:hover svg{stroke:#fff}

/* ═══ Hero ═══ */
.hero{position:relative;width:100%;height:100vh;min-height:580px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--navy);padding-top:var(--nav-h)}
.hero-bg{position:absolute;inset:0;z-index:0;overflow:hidden}
.hero-slide{position:absolute;inset:0;background-size:cover;background-position:50%;opacity:0;transition:opacity 1.5s ease}
.hero-slide.active{opacity:1}
.hero-body{position:relative;z-index:3;max-width:800px;width:100%;padding:0 28px;text-align:center}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.9);font-size:11px;font-weight:700;letter-spacing:3px;text-transform:uppercase;padding:6px 16px;margin-bottom:22px}
.hero-badge span{width:5px;height:5px;background:var(--gold);border-radius:50%;flex-shrink:0}
.hero-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
/* Hero buttons */
.hero-btns .btn{
  font-size:11px!important;letter-spacing:2px!important;
  padding:13px 30px!important;
  background:rgba(255,255,255,.1)!important;
  backdrop-filter:blur(8px)!important;
  border:1px solid rgba(255,255,255,.5)!important;
  border-bottom:2px solid var(--gold)!important;
  color:#fff!important;
  transition:all .3s ease!important;
}
.hero-btns .btn:hover{
  background:var(--gold)!important;
  border-color:var(--gold)!important;
  border-bottom-color:rgba(255,255,255,.3)!important;
  transform:translateY(-2px)!important;
  box-shadow:0 8px 24px rgba(var(--gold-500-rgb),.35)!important;
  color:var(--btn-gold-text)!important;
}
.hero-btns .btn svg{stroke:var(--gold-500)!important}
.hero-proof{display:flex;gap:24px;justify-content:center;flex-wrap:wrap;margin-top:40px;padding-top:24px;border-top:1px solid rgba(255,255,255,.15)}
.hero-proof-item{text-align:center}
.hero-proof-lbl{font-size:10.5px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.82)}
.hero-dots{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:4}
.hero-dot{width:28px;height:3px;background:rgba(255,255,255,.25);border:none;cursor:pointer;border-radius:2px;transition:all .25s;padding:0}
.hero-arrow{position:absolute;top:50%;z-index:4;width:42px;height:42px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .25s}
.hero-arrow:hover{background:rgba(255,255,255,.18)}
.hero-arrow svg{width:15px;height:15px;stroke:#fff;fill:none;stroke-width:2}
.hero-prev{left:24px;transform:translateY(-50%)}
.hero-next{right:24px;transform:translateY(-50%)}
.hero-scroll-cue{position:absolute;bottom:36px;left:50%;transform:translateX(-50%);z-index:4;color:rgba(255,255,255,.5);display:flex;flex-direction:column;align-items:center;animation:bounce 2s ease infinite;text-decoration:none}
.hero-scroll-cue svg{width:26px;height:26px}
@keyframes bounce{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(6px)}}
@media(max-width:700px){.hero{min-height:480px}.hero-body{padding:0 18px}.hero-proof{gap:16px}.hero-proof-num{font-size:1.35rem}.hero-arrow{display:none}}

/* ═══ Clients ticker ═══ */
.clients{padding:28px 0;background:#fff;border-top:1px solid var(--border);border-bottom:1px solid var(--border);overflow:hidden}
.clients-head{text-align:center;font-size:10.5px;font-weight:700;letter-spacing:3.5px;text-transform:uppercase;color:var(--text-l);margin-bottom:20px;display:flex;align-items:center;gap:14px;justify-content:center}
.clients-head::before,.clients-head::after{content:'';flex:1;max-width:72px;height:1px;background:var(--border-d)}
.ticker-wrap{overflow-x:scroll;scrollbar-width:none;-webkit-overflow-scrolling:touch;cursor:grab;position:relative;direction:ltr}
.ticker-wrap::-webkit-scrollbar{display:none}
.ticker-wrap::before,.ticker-wrap::after{content:'';position:absolute;top:0;bottom:0;width:8%;z-index:2;pointer-events:none}
.ticker-wrap::before{left:0;background:linear-gradient(90deg,#fff,transparent)}
.ticker-wrap::after{right:0;background:linear-gradient(90deg,transparent,#fff)}
.ticker-track{display:flex;align-items:center;width:max-content;animation:ticker 44s linear infinite;direction:ltr}
.ticker-track:hover{animation-play-state:paused}
@keyframes ticker{0%{transform:translateX(-50%)}100%{transform:translateX(0)}}
.ticker-item{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:6px;padding:0 28px;border-right:1px solid var(--border);transition:all .3s}
.ticker-item:last-child{border-right:none}
.ticker-item:hover{transform:translateY(-2px)}
.ticker-logo{width:52px;height:36px;display:flex;align-items:center;justify-content:center}
.ticker-logo img{max-width:52px;max-height:32px;width:auto;height:auto;object-fit:contain;filter:grayscale(1) opacity(.55);transition:filter .3s;display:block}
.ticker-item:hover .ticker-logo img{filter:grayscale(0) opacity(1)}
.ticker-name{font-size:10.5px;font-weight:600;color:var(--text-l);letter-spacing:.5px;text-transform:uppercase;white-space:nowrap}
.ticker-item:hover .ticker-name{color:var(--navy)}

/* ═══ Homepage intro ═══ */
.hm-intro{background:#fff;padding:80px 0}
.hm-intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.hm-intro-text h2{font-size:clamp(1.7rem,3vw,2.4rem);font-weight:800;color:var(--navy);letter-spacing:-1px;margin-bottom:20px;line-height:1.15}
.hm-intro-text p{font-size:.96rem;color:var(--text-b);line-height:1.85;margin-bottom:14px}
.hm-intro-pillars{display:flex;flex-direction:column;gap:0;margin-top:28px;border:1px solid var(--border);overflow:hidden}
.hm-pillar{display:flex;align-items:flex-start;gap:16px;padding:18px 20px;border-bottom:1px solid var(--border);background:#fff;transition:background .2s}
[data-theme="dark"] .hm-pillar{background:var(--navy-950);border-color:rgba(255,255,255,.08)}
[data-theme="dark"] .hm-pillar:hover{background:var(--navy-900)}
.hm-pillar:last-child{border-bottom:none}
.hm-pillar:hover{background:var(--ink-25)}
.hm-pillar-icon-sq{width:52px;height:52px;flex-shrink:0;background:var(--navy);color:var(--gold-300);display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s}
.hm-pillar-icon-sq svg{width:26px;height:26px}
.hm-pillar:hover .hm-pillar-icon-sq{background:var(--gold);color:var(--navy-900)}
.hm-pillar h4{font-size:.92rem;font-weight:700;color:var(--text-h);margin-bottom:4px}
.hm-pillar p{font-size:.82rem;color:var(--text-m);line-height:1.68;margin:0}
.hm-intro-media{position:relative}
.hm-intro-img{width:100%;height:420px;object-fit:cover;box-shadow:var(--shadow-md);display:block}
.hm-img-placeholder{width:100%;min-height:380px;background:var(--navy-50);border:2px dashed var(--ink-300);display:flex;align-items:center;justify-content:center}
.hm-img-placeholder span{font-size:.72rem;color:var(--ink-400);text-align:center;padding:20px;line-height:1.6}
.hm-intro-badge{position:absolute;bottom:-20px;right:-16px;background:var(--gold);color:var(--btn-gold-text);padding:20px 24px;text-align:center;font-family:var(--font-head);box-shadow:var(--shadow-md)}
.hm-badge-num{font-size:2rem;font-weight:900;letter-spacing:-2px;line-height:1}
.hm-badge-lbl1{font-size:.68rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;opacity:.9;margin-top:4px}
.hm-badge-lbl2{font-size:.68rem;font-weight:600;opacity:.85;margin-top:2px;line-height:1.3}
@media(max-width:900px){.hm-intro-grid{grid-template-columns:1fr;gap:40px}.hm-intro-badge{right:16px;bottom:-12px}.hm-intro-img{height:300px}}

/* ═══ Featured projects ═══ */
.fp-label{
  display:inline-flex;align-items:center;gap:8px;color:var(--accent-text);
  font-size:11px;font-weight:800;letter-spacing:3px;text-transform:uppercase;margin-bottom:10px;
}
.fp-label::before{content:'';width:22px;height:2px;background:var(--gold)}

/* ═══ News ═══ */
.news-editorial{background:#fff}
.news-ed-header{margin-bottom:36px}
.news-ed-header .overline{color:var(--accent-text);font-size:11px;font-weight:800;letter-spacing:3px;text-transform:uppercase}
.news-ed-header h2{font-size:clamp(1.5rem,2.5vw,2rem);font-weight:800;color:var(--navy);letter-spacing:-.5px;margin:8px 0 0;font-family:var(--font-head)}
[data-theme="dark"] .news-ed-header h2{color:var(--ink-200)}

.news-report{
  display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;padding-bottom:8px;
  scrollbar-width:thin;scrollbar-color:var(--gold) transparent;
}
.news-report::-webkit-scrollbar{height:6px}
.news-report::-webkit-scrollbar-thumb{background:var(--gold);border-radius:3px}
.news-report::-webkit-scrollbar-track{background:transparent}

/* Width comes from --news-visible-count (set inline from the "Visible at Once"
   setting), so that many cards fill the row and the rest scroll horizontally. */
.news-dossier{
  border:none;background:none;padding:0;margin:0;font:inherit;text-align:left;cursor:pointer;display:block;
  flex:0 0 calc((100% - (var(--news-visible-count, 3) - 1) * 24px) / var(--news-visible-count, 3));
  scroll-snap-align:start;
}
.news-dossier-img{
  position:relative;height:420px;border-radius:16px;overflow:hidden;
  background-size:cover;background-position:center;background-color:var(--navy-950);
  box-shadow:0 14px 36px rgba(var(--navy-900-rgb),.14);transition:box-shadow .3s,transform .3s;
}
.news-dossier:hover .news-dossier-img{box-shadow:0 24px 56px rgba(var(--navy-900-rgb),.24);transform:translateY(-6px)}
.news-dossier-img--empty{background-image:linear-gradient(150deg,var(--navy-950) 0%,var(--navy-925) 50%,var(--navy-950) 100%)}
.news-dossier-img::after{
  content:'';position:absolute;inset:0;background-size:cover;background-position:center;
  background-image:inherit;transform:scale(1);transition:transform .6s ease;z-index:0;
}
.news-dossier:hover .news-dossier-img::after{transform:scale(1.08)}

.news-dossier-scrim{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(to top,rgba(var(--navy-900-rgb),.96) 0%,rgba(var(--navy-900-rgb),.8) 38%,rgba(var(--navy-900-rgb),.35) 64%,transparent 86%);
}
/* Large decorative index number */
.news-dossier-index{
  position:absolute;top:20px;right:22px;z-index:2;
  font-family:var(--font-head);font-size:2.4rem;font-weight:800;
  color:rgba(255,255,255,.14);letter-spacing:-1px;line-height:1;
  transition:color .3s;
}
.news-dossier:hover .news-dossier-index{color:rgba(var(--gold-500-rgb),.4)}

.news-dossier-body{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:26px 24px 24px}
.news-dossier-cat{
  display:inline-flex;align-items:center;gap:8px;font-size:10.5px;font-weight:800;
  letter-spacing:2.5px;text-transform:uppercase;color:var(--accent-text);margin-bottom:12px;
}
.news-dossier-cat::before{content:'';width:16px;height:2px;background:var(--gold);flex-shrink:0}
.news-dossier-title{
  font-size:1.08rem;font-weight:800;color:#fff;line-height:1.35;
  font-family:var(--font-head);text-shadow:0 2px 10px rgba(0,0,0,.3);margin-bottom:14px;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
.news-dossier-more{
  display:inline-flex;align-items:center;gap:6px;font-size:.72rem;font-weight:700;
  letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.7);
  transition:gap .2s,color .2s;
}
.news-dossier-more svg{width:14px;height:14px}
.news-dossier:hover .news-dossier-more{gap:11px;color:var(--accent-text)}

@media(max-width:900px){
  /* bleed to the screen edges: cancels .cinema-wrap's side padding exactly */
  .news-report{margin-inline:calc(-1 * clamp(16px,2.5vw,40px));padding-inline:clamp(16px,2.5vw,40px);scroll-padding-inline:clamp(16px,2.5vw,40px);gap:16px}
  .news-dossier{flex:0 0 82%}
  .news-dossier-img{height:340px}
}
@media(max-width:560px){
  .news-dossier{flex:0 0 86%}
}

/* ═══ CTA band ═══ */
.hm-cta{position:relative;overflow:hidden;padding:78px 0;background:linear-gradient(135deg,var(--cta-c1,var(--navy-900)) 0%,var(--cta-c2,var(--navy-900)) 100%);border-bottom:3px solid var(--gold)}
.hm-cta-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.22;mix-blend-mode:luminosity;z-index:0}
.hm-cta-glow{position:absolute;top:-50%;right:-5%;width:520px;height:520px;background:radial-gradient(circle,rgba(var(--gold-500-rgb),.22),transparent 65%);z-index:0;pointer-events:none}
.hm-cta-inner{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:44px;flex-wrap:wrap}
.hm-cta-text{flex:1;min-width:260px}
.hm-cta-eye{display:inline-block;font-size:13px;font-weight:800;letter-spacing:3px;text-transform:uppercase;color:var(--accent-text);margin-bottom:14px}
.hm-cta-text h2{font-size:clamp(1.6rem,3.2vw,2.4rem);font-weight:800;color:#fff;letter-spacing:-.5px;line-height:1.15;margin:0 0 14px}
.hm-cta-text p{color:rgba(255,255,255,.72);max-width:540px;line-height:1.75;font-size:1rem;margin:0}
.hm-cta-btn{flex-shrink:0;display:inline-flex;align-items:center;gap:12px;background:linear-gradient(135deg,var(--gold-500) 0%,var(--gold-600) 100%);color:var(--btn-gold-text);font-size:1rem;font-weight:700;letter-spacing:.3px;padding:17px 36px;border-radius:12px;text-decoration:none;box-shadow:0 14px 34px rgba(var(--gold-500-rgb),.4);transition:transform .25s,box-shadow .25s}
.hm-cta-btn svg{width:20px;height:20px;transition:transform .25s}
.hm-cta-btn:hover{transform:translateY(-3px);box-shadow:0 20px 46px rgba(var(--gold-500-rgb),.55)}
.hm-cta-btn:hover svg{transform:translateX(5px)}
@media(max-width:700px){.hm-cta{padding:52px 0}.hm-cta-inner{flex-direction:column;text-align:center;align-items:stretch}.hm-cta-btn{justify-content:center}}

/* ═══ Footer ═══ */
#site-footer::after{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(var(--gold-500-rgb),.45) 50%,transparent 100%);pointer-events:none;z-index:1}
.ft-bg-overlay{position:absolute;inset:0;z-index:0}
.gp-ft-wrap{position:relative;z-index:1;max-width:820px;margin:0 auto;padding:44px 32px 0}
.gp-ft-logo{display:flex;margin-bottom:16px}
.gp-ft-logo--center{justify-content:center;padding-left:0}
.gp-ft-logo .custom-logo-link img,.gp-ft-logo img{height:120px!important;width:auto!important;max-width:320px!important;object-fit:contain;display:block;filter:brightness(0) invert(1);opacity:.93;transition:opacity .3s}
.gp-ft-logo a:hover img{opacity:1}
.gp-ft-tagline{font-style:italic;font-size:.92rem;color:rgba(255,255,255,.65);margin:0 0 16px;line-height:1.5;text-align:center}
.gp-ft-addr{font-style:normal;font-size:.9rem;color:rgba(255,255,255,.68);line-height:1.75;margin-bottom:20px;text-align:center}
.gp-ft-addr strong{display:block;font-size:1.18rem;font-weight:700;color:#fff;margin-bottom:4px;line-height:1.2}
.gp-ft-addr a{color:var(--gold-l);text-decoration:none;font-weight:500;transition:color .18s}
.gp-ft-addr a:hover{color:#fff}
.gp-ft-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:2px 0;margin-bottom:22px}
.gp-ft-nav a{color:rgba(255,255,255,.76);text-decoration:none;font-size:.88rem;font-weight:400;padding:0 16px;border-right:1px solid rgba(var(--gold-500-rgb),.36);line-height:1;transition:color .18s;white-space:nowrap}
.gp-ft-nav a:last-child{border-right:none}
.gp-ft-nav a:hover{color:var(--gold-l)}
.gp-ft-social{display:flex;justify-content:center;gap:12px;margin-bottom:32px}
.gp-ft-social-btn{width:44px;height:44px;border:2px solid rgba(var(--gold-500-rgb),.36);border-radius:9px;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.68);text-decoration:none;background:rgba(var(--navy-900-rgb),.25);transition:all .22s}
.gp-ft-social-btn:hover{background:var(--gold);border-color:var(--gold);color:var(--btn-gold-text);transform:translateY(-2px);box-shadow:0 6px 18px rgba(var(--gold-500-rgb),.35)}
.gp-ft-bar{position:relative;z-index:1;background:rgba(0,0,0,.36);margin-left:calc(-50vw + 50%);margin-right:calc(-50vw + 50%);width:100vw;padding:15px 32px;font-size:.78rem;color:rgba(255,255,255,.6);letter-spacing:.3px;box-sizing:border-box}
@media(max-width:700px){.gp-ft-wrap{padding:32px 20px 0}.gp-ft-logo--center{justify-content:center!important;padding-left:0!important;padding-right:0!important}.gp-ft-logo .custom-logo-link img,.gp-ft-logo img{height:90px!important}.gp-ft-nav a{padding:0 10px}}

/* ═══ Page templates ═══ */
/* ═══ Page hero (all pages except the homepage) ═══
   Eyebrow, title, optional subtitle and the section index, centred in a
   full-bleed image band. The fixed header and section sub-nav sit above it. */
.pg-hero{position:relative;display:flex;align-items:center;min-height:clamp(440px,58vh,600px);padding-top:var(--nav-h);overflow:hidden;background:var(--grad-navy-deep);background-size:cover;background-position:center}
body.has-subnav .pg-hero{padding-top:calc(var(--nav-h) + var(--subnav-h,52px))}
.pg-hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(to bottom,rgba(var(--navy-900-rgb),.55) 0%,rgba(var(--navy-900-rgb),.68) 55%,rgba(var(--navy-900-rgb),.88) 100%)}
.pg-hero-content{position:relative;z-index:2;width:min(100%,var(--max-w));margin-inline:auto;padding-block:clamp(40px,7vh,72px);display:flex;flex-direction:column;align-items:center;text-align:center}
.pg-hero-content h1{max-width:900px;margin:0 0 16px;font-size:clamp(2.1rem,4.4vw,3.8rem);font-weight:800;line-height:1.08;letter-spacing:-1.5px;color:#fff;text-wrap:balance;text-shadow:0 2px 16px rgba(0,0,0,.4)}
.pg-hero-content h1 em{color:var(--accent-text);font-style:normal}
.pg-hero-content>p{max-width:680px;margin:0;font-size:clamp(.98rem,1.2vw,1.08rem);line-height:1.75;color:rgba(255,255,255,.9);text-shadow:0 1px 10px rgba(0,0,0,.35)}
.pg-hero-content .ed-hero-index{align-self:stretch;max-width:1040px;margin-inline:auto;text-shadow:0 1px 8px rgba(0,0,0,.35)}
@media(max-width:768px){
  .pg-hero{min-height:clamp(360px,62svh,500px)}
  .pg-hero-content{padding-block:36px 40px}
  .pg-hero-content h1{font-size:clamp(2rem,8.6vw,2.8rem);letter-spacing:-1px}
  .pg-hero-content>p{font-size:.95rem;line-height:1.7}
}
@media(min-width:1024px){.pg-eyebrow{letter-spacing:3.4px}}
.pg-eyebrow{font-size:11px;font-weight:700;color:var(--accent-text);letter-spacing:3.5px;text-transform:uppercase;margin-bottom:14px}
/* Text laid over photographs gets a soft shadow so it holds on bright image areas. */
:is(.pg-hero,.ed-full) :is(.pg-eyebrow,.ed-eyebrow,.ed-copy p,.section-tagline,.tx-toggle){text-shadow:0 1px 8px rgba(0,0,0,.4)}
.skip-link{position:absolute;top:-60px;left:16px;background:var(--navy);color:#fff;padding:8px 16px;z-index:9999;font-size:.85rem;font-weight:700;text-decoration:none;transition:top .2s}
.skip-link:focus{top:8px}

/* ═══ Contact, careers, news ═══ */
.ct-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:56px;align-items:start}
.ct-item{display:flex;gap:14px;align-items:flex-start;margin-bottom:20px}
.ct-item-icon{width:42px;height:42px;flex-shrink:0;background:var(--navy-l);border:1px solid rgba(var(--navy-700-rgb),.15);display:flex;align-items:center;justify-content:center}
.ct-item-icon svg{width:18px;height:18px;stroke:var(--navy);fill:none;stroke-width:2}
[data-theme="dark"] .ct-item-icon{background:rgba(255,255,255,.04);border-color:rgba(var(--gold-300-rgb),.25)}
[data-theme="dark"] .ct-item-icon svg{stroke:var(--gold-300)}
.ct-social-links{display:flex;gap:10px;margin-top:10px}
.ct-social-btn{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:2px solid rgba(var(--gold-500-rgb),.42);border-radius:9px;color:var(--navy);text-decoration:none;transition:background .25s,border-color .25s,color .25s,transform .25s,box-shadow .25s}
.ct-social-btn svg{width:18px;height:18px}
.ct-social-btn:hover{background:var(--gold);border-color:var(--gold);color:var(--btn-gold-text);transform:translateY(-2px);box-shadow:0 6px 18px rgba(var(--gold-500-rgb),.35)}
[data-theme="dark"] .ct-social-btn{color:var(--ink-200)}
.ct-item-lbl{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--text-brand);margin-bottom:3px}
.ct-item-val{font-size:.9rem;color:var(--text-b)}
.ct-form-card{background:#fff;border-top:4px solid var(--navy);padding:36px 36px 40px;box-shadow:var(--shadow-sm)}
.ct-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fg{margin-bottom:14px}
.ct-form-row{margin-bottom:14px}
.ct-form-row .fg{margin-bottom:0}
.fg select{padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23555E6F' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:16px}
/* Consent: a normal sentence next to its checkbox, not a field label */
.fg-consent{margin-top:4px}
.fg.fg-consent label{display:flex;gap:10px;align-items:flex-start;text-transform:none;letter-spacing:0;font-weight:400;font-size:.88rem;line-height:1.5;color:var(--text-body)}
.fg.fg-consent input{width:auto;height:auto;padding:0;border:0;margin-top:3px;flex-shrink:0;-webkit-appearance:auto;appearance:auto}
@media(max-width:560px){
  .ct-form-card{padding:26px 20px 30px}
  .fg input,.fg textarea,.fg select{font-size:16px} /* below 16px iOS zooms the page on focus */
}
.fg label{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--text-h);margin-bottom:5px}
.fg input,.fg textarea,.fg select{width:100%;padding:11px 14px;border:1.5px solid var(--border-d);font-family:var(--font-body);font-size:.9rem;color:var(--text-h);background:#fff;outline:none;transition:border .2s;-webkit-appearance:none}
.fg input:focus,.fg textarea:focus,.fg select:focus{border-color:var(--navy);box-shadow:0 0 0 3px rgba(var(--navy-700-rgb),.06)}
.fg textarea{min-height:120px;resize:vertical}
@media(max-width:800px){.ct-grid{grid-template-columns:1fr}.ct-form-row{grid-template-columns:1fr}}
.ct-hours{margin-top:28px;padding-top:22px;border-top:1px solid var(--border)}
.ct-hours h3{font-size:.92rem;font-weight:700;color:var(--text-h);margin:0 0 12px}
.ct-hours-row{display:flex;justify-content:space-between;gap:16px;font-size:.88rem;color:var(--text-m);padding:7px 0;border-bottom:1px solid var(--border)}
.ct-hours-row:last-child{border-bottom:none}
.ct-hours-row span:last-child{color:var(--text-h);font-weight:600}
[data-theme="dark"] .ct-hours{border-color:rgba(255,255,255,.08)}
[data-theme="dark"] .ct-hours-row{border-color:rgba(255,255,255,.06)}

/* ═══ Services page ═══ */

/* ═══ Admin bar ═══ */

/* ═══ Dark mode ═══ */
[data-theme="dark"]{color-scheme: only dark}
/* Surfaces, text and accents come from the colour-system roles
   (:root[data-theme="dark"] at the top); rules below adjust components. */
/* Inverse contexts: navy or photo backgrounds in light mode switch the
   background-dependent roles to their on-navy values. */
:is(#site-footer,.section-subnav,.hero,.pg-hero,.nf-hero,.ed-full,.epc-flow-sec,.fullspec,.hm-cta,.about-final-cta,.home-market-panel-media,.news-dossier-img,.proj-card-media,.svc-final-cta,.ed-pillar-num,.purpose-pillar-num,.eca-journey-num,.pd-gateway-num,.epc-letter){
  --accent-text:var(--gold-300);
  --link:var(--ink-0);
  --link-hover:var(--gold-300);
}
/* Buttons in dark mode and on navy sections (colour system §7.2) */
:root[data-theme="dark"] :is(.btn-primary,.mob-cta-btn){background:var(--btn-primary-bg);border-color:var(--btn-primary-bg);color:var(--btn-primary-text)}
:root[data-theme="dark"] :is(.btn-primary,.mob-cta-btn):hover{background:var(--btn-primary-hover);border-color:var(--btn-primary-hover);color:var(--btn-primary-hover-text)}
:root[data-theme="dark"] :is(.btn-gold,.hm-cta-btn){color:var(--btn-gold-text)}
:root[data-theme="dark"] .btn-secondary{background:transparent;color:var(--btn-outline);border-color:var(--btn-outline)}
:root[data-theme="dark"] .btn-secondary:hover{background:var(--btn-outline);border-color:var(--btn-outline);color:var(--navy-950)}
:is(#site-footer,.hero,.pg-hero,.nf-hero,.ed-full,.epc-flow-sec,.fullspec,.hm-cta,.about-final-cta,.svc-final-cta) .btn-secondary{background:transparent;color:#fff;border-color:rgba(255,255,255,.6)}
:is(#site-footer,.hero,.pg-hero,.nf-hero,.ed-full,.epc-flow-sec,.fullspec,.hm-cta,.about-final-cta,.svc-final-cta) .btn-secondary:hover{background:#fff;border-color:#fff;color:var(--navy-900)}
:root[data-theme="dark"]{
  --bg:var(--navy-975);
  --surface:var(--navy-950);
  --surface-alt:var(--navy-925);
  --surface-soft:var(--navy-950);
  --surface-raised:var(--navy-900);
  --surface-inverse:var(--navy-900);
  --surface-inverse-deep:var(--navy-990);
  --text-heading:var(--ink-25);
  --text-body:var(--ink-300);
  --text-muted:var(--ink-400);
  --text-subtle:var(--ink-600);
  --text-brand:var(--steel-200);
  --text-on-inverse:var(--ink-0);
  --text-on-inverse-muted:var(--navy-200);
  --accent:var(--gold-500);
  --accent-strong:var(--gold-300);
  --accent-text:var(--gold-300);
  --accent-soft:var(--navy-925);
  --link:var(--steel-300);
  --link-hover:var(--gold-300);
  --border:var(--navy-800);
  --border-strong:var(--navy-700);
  --focus:var(--gold-300);
  --btn-primary-bg:var(--gold-500);
  --btn-primary-text:var(--navy-950);
  --btn-primary-hover:var(--gold-300);
  --btn-primary-hover-text:var(--navy-950);
  --btn-gold-bg:var(--gold-500);
  --btn-gold-text:var(--navy-950);
  --btn-gold-hover:var(--gold-300);
  --btn-outline:var(--ink-25);
  --success:#4ADE80;
  --success-bg:#0B2A1A;
  --warning:#FBBF24;
  --warning-bg:#2B2008;
  --error:#F87171;
  --error-bg:#2E0F14;
  --info:#8FB0DD;
  --info-bg:#0B1A3A;
  --viz-1:var(--steel-300); --viz-2:var(--gold-300); --viz-3:#5EEAD4;
  --shadow-card:0 8px 24px rgba(0,0,0,.35);
  --sky:var(--steel-300); --sky-d:var(--steel-200); --sky-l:rgba(var(--steel-500-rgb),.14);
  --navy-l:rgba(255,255,255,.04); --navy-ll:rgba(255,255,255,.02);
  --shadow-xs:0 1px 3px rgba(0,0,0,.35); --shadow-sm:0 1px 3px rgba(0,0,0,.4); --shadow-md:0 4px 20px rgba(0,0,0,.5);
  --shadow-lg:0 16px 48px rgba(0,0,0,.5); --shadow-xl:0 24px 64px rgba(0,0,0,.55);
  color-scheme: only dark;
}
[data-theme="dark"] body{background:var(--navy-975)!important;color:var(--ink-400)}

/* Base elements. Headings override the Customizer heading colour (light-mode value).
   Paragraphs take --text-body; strong sits at element specificity so a component's own
   colour (e.g. white text over a photo) wins. */
[data-theme="dark"] h1,[data-theme="dark"] h2,[data-theme="dark"] h3,
[data-theme="dark"] h4,[data-theme="dark"] h5{color:var(--ink-200)}
[data-theme="dark"] a{color:var(--link)}
[data-theme="dark"] a:hover{color:var(--link-hover)}
:where([data-theme="dark"]) strong{color:var(--ink-300)}

/* Backgrounds */
[data-theme="dark"] .bg-white,
[data-theme="dark"] section.pad.bg-white{background:var(--navy-950)!important}
[data-theme="dark"] .bg-alt,
[data-theme="dark"] section.pad.bg-alt{background:var(--navy-900)!important}
[data-theme="dark"] .pad{background:inherit}

/* Header */
[data-theme="dark"] #site-header:not(.at-home-top){
  background:rgba(var(--navy-975-rgb),.96)!important;
  border-bottom-color:rgba(var(--gold-500-rgb),.4)!important;
}

/* Section subnav */
[data-theme="dark"] .section-subnav{background:rgba(var(--navy-975-rgb),.88)!important;border-color:rgba(var(--gold-500-rgb),.4)!important}
[data-theme="dark"] .section-subnav.stuck{background:rgba(var(--navy-975-rgb),.97)!important}

/* Cards & boxes */
[data-theme="dark"] .clients{background:var(--navy-950)!important;border-color:rgba(255,255,255,.06)!important}
[data-theme="dark"] .ticker-monogram{background:var(--navy-800)!important;border-color:rgba(255,255,255,.1)!important}
[data-theme="dark"] .ticker-wrap::before{background:linear-gradient(90deg,var(--navy-950),transparent)!important}
[data-theme="dark"] .ticker-wrap::after{background:linear-gradient(90deg,transparent,var(--navy-950))!important}
[data-theme="dark"] .fp-nav{background:var(--navy-975)!important}
[data-theme="dark"] .car-benefit{background:var(--navy-900);border-color:rgba(255,255,255,.08)}
[data-theme="dark"] .car-benefit p{color:var(--ink-300)}
[data-theme="dark"] .car-benefit h4{color:var(--ink-200)}
[data-theme="dark"] .fg input,[data-theme="dark"] .fg textarea,[data-theme="dark"] .fg select{background-color:var(--navy-900)!important;border-color:rgba(255,255,255,.14)!important;color:var(--ink-200)!important}
[data-theme="dark"] .fg label{color:var(--ink-400)!important}
[data-theme="dark"] .ct-form-card{background:var(--navy-950)!important}
[data-theme="dark"] .section-title{color:var(--ink-200)}
[data-theme="dark"] .section-title::after{background:var(--gold)!important}

/* ═══ Careers — table and modal ═══ */
.car-benefits-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:36px}
.car-benefit{display:flex;flex-direction:column;background:#fff;padding:28px 24px;border:1px solid var(--border);border-radius:10px}
.car-benefit-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;background:var(--grad-navy,var(--navy-900));color:var(--gold-300);font-size:1rem;font-weight:800;letter-spacing:.04em}
.car-benefit-icon svg{width:24px;height:24px}
.car-benefit h4{font-size:1rem;font-weight:700;color:var(--text-h);margin-bottom:8px}
.car-benefit p{font-size:.9rem;color:var(--text-body);line-height:1.7;margin:0}
.car-benefit .car-benefit-cta{margin-top:auto;padding-top:16px}
@media(max-width:1024px){.car-benefits-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.car-benefits-grid{grid-template-columns:minmax(0,1fr);gap:14px}.car-benefit{padding:22px 20px}}

/* Job table */
.car-jobs-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:28px;flex-wrap:wrap;gap:16px}

.car-no-jobs{text-align:center;padding:60px 20px;background:#fff;border:1px solid var(--border)}
.car-no-jobs-icon{width:64px;height:64px;margin:0 auto 16px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(var(--navy-700-rgb),.07);color:var(--navy-900)}
.car-no-jobs-icon svg{width:30px;height:30px}
[data-theme="dark"] .car-no-jobs-icon{background:rgba(255,255,255,.06);color:var(--gold-300)}
.car-no-jobs h3{font-size:1.1rem;font-weight:700;color:var(--text-h);margin-bottom:8px}
.car-no-jobs p{color:var(--text-m);max-width:420px;margin:0 auto}

/* Application modal */
.car-modal{position:fixed;inset:0;z-index:9000;display:flex;align-items:center;justify-content:center;padding:16px}
.car-modal[hidden]{display:none}
.car-modal-backdrop{position:absolute;inset:0;background:rgba(var(--backdrop-rgb),.7);backdrop-filter:blur(3px)}
.car-modal-box{
  position:relative;z-index:1;background:#fff;
  width:100%;max-width:640px;max-height:90vh;max-height:90dvh;
  overflow-y:auto;box-shadow:0 24px 80px rgba(0,0,0,.35);
  border-top:4px solid var(--navy);
  border-bottom:4px solid var(--gold);
}
.car-modal-head{
  position:sticky;top:0;z-index:2; /* stays in view while the form scrolls */
  display:flex;align-items:flex-start;justify-content:space-between;
  padding:24px 28px;border-bottom:1px solid var(--border);
  background:var(--navy);
}
.car-modal-sub{font-size:.7rem;color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:1px;margin-bottom:4px}
.car-modal-head h3{font-size:1.05rem;font-weight:700;color:#fff;margin:0}
.car-modal-close{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#fff;cursor:pointer;padding:6px;display:flex;align-items:center;justify-content:center;transition:background .2s;flex-shrink:0;margin-top:2px}
.car-modal-close:hover{background:rgba(255,255,255,.22)}
.car-form{padding:24px 28px}
.car-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:480px){.car-form-row{grid-template-columns:1fr}}
.req{color:var(--error,var(--error))}
.car-upload-box{
  border:2px dashed var(--border-d);background:var(--ink-25);
  padding:28px 20px;text-align:center;cursor:pointer;
  transition:border-color .2s,background .2s;position:relative;
  display:flex;flex-direction:column;align-items:center;gap:8px;
}
.car-upload-box:hover,.car-upload-box.drag-over{border-color:var(--navy);background:var(--navy-l)}
.car-upload-box svg{color:var(--text-l)}
.car-upload-box span{font-size:.88rem;color:var(--text-m)}
.car-upload-box small{font-size:.75rem;color:var(--text-l)}
.car-file-name{font-size:.82rem;color:var(--navy);font-weight:600;margin-top:6px}
.car-form-footer{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:20px;padding-top:18px;border-top:1px solid var(--border)}
.car-privacy{font-size:.78rem;color:var(--text-m);flex:1;min-width:200px;margin:0}
.car-privacy a{color:var(--navy)}
.car-form-msg{margin-top:14px;padding:12px 16px;font-size:.85rem;font-weight:600;border-radius:2px}
.car-form-msg--ok{background:var(--success-bg);color:var(--success);border:1px solid #86EFAC}
.car-form-msg--err{background:var(--error-bg);color:var(--error);border:1px solid #FCA5A5}

/* Dark mode */
[data-theme="dark"] .car-benefit{background:var(--navy-925)!important}
[data-theme="dark"] .car-no-jobs{background:var(--navy-925)!important;border-color:rgba(255,255,255,.07)!important}
[data-theme="dark"] .car-modal-box{background:var(--navy-925)!important}
[data-theme="dark"] .car-form{background:var(--navy-925)}
[data-theme="dark"] .car-upload-box{background:var(--navy-900)!important;border-color:rgba(255,255,255,.12)!important}

/* ═══ About, services, sustainability, leadership ═══ */

/* .c2 contains the floated .c-img of the editorial wrap (see Classic EPC ordering) */
.c2{display:flow-root;gap:0}

/* ── Gov cards ── */

/* Dark mode */

/* ═══ Section subnav, value rows, mission pillars, craft roles ═══ */

/* ── Sticky section subnav ── */
.section-subnav{
  position:fixed;
  top:var(--nav-h);
  left:0;right:0;
  z-index:950;
  /* Solid navy so it reads as a fixed bar under the main header */
  background:linear-gradient(135deg,var(--navy-900) 0%,var(--navy-950) 100%);
  border-bottom:2px solid rgba(var(--gold-500-rgb),.5);
  overflow:hidden;
  transition:box-shadow .3s,border-color .3s;
  box-shadow:0 6px 24px rgba(var(--navy-900-rgb),.35);
}
#site-header{transition:background-color .35s ease,border-color .35s ease,box-shadow .35s ease}
/* Push the hero below both the fixed header and the fixed subnav */
.section-subnav.stuck{
  background:linear-gradient(135deg,var(--navy-900) 0%,var(--navy-950) 100%);
  border-bottom-color:var(--gold);box-shadow:0 4px 20px rgba(0,0,0,.3)}
.section-subnav-inner{
  display:flex;align-items:center;
  max-width:var(--max-w);margin:0 auto;padding:0 44px;
  overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;
}
.section-subnav-inner::-webkit-scrollbar{display:none}
/* When links continue off-screen, their edge fades (classes set in main.js). */
.section-subnav-inner.fade-end{-webkit-mask-image:linear-gradient(90deg,#000 82%,transparent);mask-image:linear-gradient(90deg,#000 82%,transparent)}
.section-subnav-inner.fade-start{-webkit-mask-image:linear-gradient(90deg,transparent,#000 18%);mask-image:linear-gradient(90deg,transparent,#000 18%)}
.section-subnav-inner.fade-start.fade-end{-webkit-mask-image:linear-gradient(90deg,transparent,#000 18%,#000 82%,transparent);mask-image:linear-gradient(90deg,transparent,#000 18%,#000 82%,transparent)}
@media(max-width:1024px){.section-subnav-inner{padding:0 28px}}
@media(max-width:680px){.section-subnav-inner{padding:0 12px}}
.section-subnav-label{
  font-size:.69rem;font-weight:700;letter-spacing:2px;
  text-transform:uppercase;color:rgba(255,255,255,.55);
  padding:0 20px 0 0;border-right:1px solid rgba(255,255,255,.12);
  margin-right:4px;white-space:nowrap;flex-shrink:0;
  display:none;
}
@media(min-width:900px){.section-subnav-label{display:block}}
.section-subnav ul{
  display:flex;list-style:none;padding:0;margin:0;
  min-width:max-content;
}
.section-subnav a{
  display:inline-block;
  color:rgba(255,255,255,.6);
  font-size:11.5px;font-weight:700;
  letter-spacing:1px;text-transform:uppercase;
  padding:13px 18px;text-decoration:none;
  border-bottom:3px solid transparent;
  margin-bottom:-3px;
  transition:all .2s;white-space:nowrap;
}
.section-subnav a:hover{color:#fff}
/* Section colour variants: accent only on the current item */
.section-subnav--services a.current{border-bottom-color:var(--gold);color:#fff}
@media(max-width:600px){.section-subnav a{padding:11px 13px;font-size:11px}}

/* ── MVV cards ── */

/* ── Craft roles ── */

/* ── Gov cards, 4 columns ── */

/* ── Services capabilities grid ── */

/* ═══ Newsroom grid ═══ */

/* Large featured card + smaller grid */

/* ═══ Our Group — partner directory ═══ */
.og-companies{background:var(--navy-25);border-top:1px solid rgba(var(--navy-900-rgb),.06)}
.og-sec-head .overline{color:var(--accent-text)}
.og-sec-head{text-align:center;max-width:680px;margin:0 auto 46px}
.og-sec-head h2{font-size:clamp(1.5rem,3vw,2.2rem);font-weight:800;color:var(--navy-900);letter-spacing:-.5px;margin:8px 0 0;line-height:1.25}
.og-head-bar{display:block;width:54px;height:3px;margin:18px auto 0;background:linear-gradient(90deg,var(--gold,var(--gold-500)),var(--gold-300));border-radius:2px}

.og-partner-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;max-width:1180px;margin:0 auto}
.og-partner-card{
  position:relative;display:flex;flex-direction:column;text-align:left;cursor:pointer;font-family:inherit;
  background:#fff;border:1px solid rgba(var(--navy-900-rgb),.09);border-radius:16px;padding:0;overflow:hidden;
  box-shadow:0 4px 18px -8px rgba(var(--navy-900-rgb),.12);
  transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s ease,border-color .3s ease;
}
.og-partner-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:4px;z-index:1;
  background:linear-gradient(90deg,var(--navy-900),var(--gold-500));
  transform:scaleX(0);transform-origin:left;transition:transform .35s ease;
}
.og-partner-card:hover::before{transform:scaleX(1)}
.og-partner-card:hover{
  transform:translateY(-6px);
  border-color:rgba(var(--gold-500-rgb),.35);
  box-shadow:0 22px 44px -18px rgba(var(--navy-900-rgb),.3);
}
/* Every logo sits on the same white plate: one height, contained, legible in both themes. */
.og-partner-logo{width:180px;height:64px;display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:20px;padding:10px 14px;background:#fff;border:1px solid rgba(var(--navy-900-rgb),.08);border-radius:10px}
.og-partner-logo img{max-width:100%;max-height:100%;object-fit:contain;will-change:transform;transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.og-partner-card:hover .og-partner-logo img{transform:scale(1.08)}
.og-partner-logo-txt{font-size:.95rem;font-weight:800;color:var(--navy-900)}
.og-partner-name{font-size:1.1rem;font-weight:800;color:var(--navy-900);line-height:1.32;margin-bottom:7px;padding-right:34px}
.og-partner-tag{font-size:.84rem;color:var(--text-b);line-height:1.55}
.og-partner-cta{
  margin-top:auto;display:inline-flex;align-items:center;gap:8px;
  font-size:.76rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--accent-text);
}
.og-partner-cta svg{width:15px;height:15px;transition:transform .25s ease}
.og-partner-card:hover .og-partner-cta svg{transform:translateX(4px)}

[data-theme="dark"] .og-companies{background:var(--navy-975)}
[data-theme="dark"] .og-sec-head h2{color:var(--ink-200)}
[data-theme="dark"] .og-partner-card{background:var(--navy-950);border-color:rgba(255,255,255,.08)}
[data-theme="dark"] [data-theme="dark"] .og-partner-name{color:var(--ink-200)}
[data-theme="dark"] .og-partner-tag{color:var(--ink-400)}
[data-theme="dark"] .og-partner-logo-txt{color:var(--ink-200)}

@media(max-width:1024px){.og-partner-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.og-partner-grid{grid-template-columns:1fr}.og-partner-name{padding-right:0}}

.og-modal-logo{
  width:150px;height:64px;flex-shrink:0;display:flex;align-items:center;justify-content:center;
  background:#fff;border:1px solid rgba(var(--navy-900-rgb),.08);
  border-radius:10px;padding:10px;
  box-shadow:0 0 0 3px rgba(var(--gold-500-rgb),.3);
}
.og-modal-logo img{max-width:100%;max-height:100%;object-fit:contain}
.cv-subhead{font-size:.85rem;font-weight:800;color:var(--navy-900);text-transform:uppercase;letter-spacing:.5px;margin:22px 0 10px}
.cv-list{margin:0;padding-left:20px;display:grid;grid-template-columns:1fr 1fr;gap:4px 20px}
.cv-list li{font-size:.85rem;color:var(--text-b);line-height:1.6}

[data-theme="dark"] .cv-subhead{color:var(--ink-200)}
[data-theme="dark"] .cv-list li{color:var(--ink-400)}

@media(max-width:560px){
  .cv-list{grid-template-columns:1fr}
}

/* ═══ SHE & Quality ═══ */

/* ═══ Section subnav states ═══ */
/* Section subnav: gold accent on the current item */
.section-subnav a.current{
  border-bottom-color:var(--gold);
  color:#fff;
  border-bottom:2px solid var(--gold);
  margin-bottom:-2px;
}
/* Dark mode: section subnav text */
[data-theme="dark"] .section-subnav a{color:rgba(255,255,255,.65)}
[data-theme="dark"] .section-subnav a:hover{color:#fff}
[data-theme="dark"] .section-subnav a.current{color:#fff;border-color:var(--gold)}

/* ═══ Core values — alternating split rows ═══ */

/* Row: accent panel + content panel */

/* Navy accent column */

/* Content column */

/* Summary grid */

/* Dark mode */
[data-theme="dark"] .cv-body{color:var(--ink-600)!important}

/* ═══ Mobile nav ═══ */

/* Overlay */
#mob-overlay.open{display:block}

/* Panel */
#mob-panel.open{transform:translateX(0);visibility:visible;box-shadow:-12px 0 60px rgba(0,0,0,.5);transition:transform .38s cubic-bezier(.4,0,.2,1)}

/* Nav list */
.mob-list{
  list-style:none;padding:6px 0;flex:1;min-height:0;
  overflow-y:auto;overflow-x:hidden;
  scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.1) transparent;
}
.mob-list::-webkit-scrollbar{width:3px}
.mob-list::-webkit-scrollbar-thumb{background:rgba(255,255,255,.1);border-radius:2px}

.mob-li{border-bottom:1px solid rgba(255,255,255,.06)}
.mob-li:last-child{border-bottom:none}

/* Row with children */
.mob-row-wrap{
  display:flex;align-items:stretch;
}
.mob-link{
  flex:1;padding:13px 20px;
  font-size:.78rem;font-weight:700;letter-spacing:1px;
  text-transform:uppercase;color:rgba(255,255,255,.7);
  text-decoration:none;display:block;
  transition:color .18s,background .18s,padding .18s;
}
.mob-link:hover,.mob-link.is-active{color:#fff;background:rgba(255,255,255,.04)}
.mob-link.is-active{border-left:3px solid var(--gold-500);padding-left:17px;color:#fff}
.mob-link-solo{padding:13px 20px;width:100%}

/* Toggle button */
.mob-toggle{
  width:46px;flex-shrink:0;background:none;
  border:none;border-left:1px solid rgba(255,255,255,.07);
  color:rgba(255,255,255,.35);cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:all .18s;
}
.mob-toggle:hover{background:rgba(255,255,255,.06);color:var(--accent-text)}
.mob-toggle svg{transition:transform .25s}
.mob-toggle[aria-expanded="true"] svg{transform:rotate(90deg);color:var(--accent-text)}

/* Children submenu */
.mob-children{
  list-style:none;padding:0;
  background:rgba(0,0,0,.3);
  border-top:1px solid rgba(255,255,255,.05);
  /* Shown once JS removes [hidden] */
}
.mob-children[hidden]{display:none}
.mob-children.mob-open{display:block;animation:mobSlide .25s ease}
@keyframes mobSlide{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}

.mob-child-li{border-bottom:1px solid rgba(255,255,255,.04)}
.mob-child-li:last-child{border-bottom:none}
.mob-child-link{
  display:flex;align-items:center;gap:8px;
  padding:10px 20px 10px 32px;
  font-size:.72rem;font-weight:600;letter-spacing:.5px;
  text-transform:uppercase;color:rgba(255,255,255,.45);
  text-decoration:none;transition:all .18s;
}
.mob-child-link::before{content:'›';color:var(--accent-text);font-size:.85rem;flex-shrink:0}
.mob-child-link:hover{color:#fff;padding-left:36px;background:rgba(255,255,255,.03)}
.mob-child-li.child-active .mob-child-link{color:var(--accent-text)}

/* Indented child items under Project Finance in the mobile accordion */
.mob-child-li--sub .mob-child-link{padding-left:48px;font-size:.66rem;color:rgba(255,255,255,.32)}
.mob-child-li--sub .mob-child-link::before{content:'—';font-size:.72rem;opacity:.7}
.mob-child-li--sub.child-active .mob-child-link{color:var(--accent-text)}

/* CTA at bottom */
.mob-cta-wrap{
  padding:16px 20px 24px;flex-shrink:0;
  background:rgba(0,0,0,.25);
  border-top:1px solid rgba(255,255,255,.08);
}
.mob-cta-btn{
  display:flex;align-items:center;justify-content:center;gap:8px;
  padding:12px 20px;
  background:var(--gold-500);color:var(--btn-gold-text);
  font-size:.75rem;font-weight:700;letter-spacing:2px;
  text-transform:uppercase;text-decoration:none;
  border-bottom:3px solid rgba(0,0,0,.2);
  transition:background .18s;width:100%;
}
.mob-cta-btn:hover{background:var(--gold-400);color:var(--btn-gold-text)}
.mob-divider{height:1px;background:rgba(255,255,255,.07);margin:14px 0}
.mob-social{display:flex;gap:10px}
.mob-social-link{
  width:32px;height:32px;background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  display:flex;align-items:center;justify-content:center;
  color:rgba(255,255,255,.6);font-size:.8rem;font-weight:700;
  text-decoration:none;transition:all .18s;
}
.mob-social-link:hover{background:var(--gold-500);border-color:var(--gold-500);color:var(--btn-gold-text)}

/* Light mode: the panel stays dark */

/* ═══ About — page sections ═══ */

/* Executive management cards */
.exec-sec{background:linear-gradient(180deg,var(--ink-25) 0%,var(--navy-50) 100%);padding:80px 0}
.exec-head{text-align:center;margin-bottom:48px}
.exec-eyebrow{display:inline-block;font-size:.69rem;font-weight:700;letter-spacing:3.5px;text-transform:uppercase;color:var(--accent-text);margin-bottom:12px}
.exec-title{font-size:clamp(1.5rem,3vw,2.2rem);font-weight:800;color:var(--navy);font-family:var(--font-head,'Georgia',serif);margin:0 0 16px;line-height:1.15}
.exec-rule{display:block;width:60px;height:3px;background:var(--gold);margin:0 auto}
.exec-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
.exec-card{position:relative;background:#fff;border:1px solid var(--ink-200);border-radius:12px;overflow:hidden;text-align:left;transition:box-shadow .28s,transform .28s,border-color .28s;display:flex;flex-direction:column}
.exec-card:hover{box-shadow:0 22px 56px rgba(var(--navy-900-rgb),.16);transform:translateY(-6px);border-color:rgba(var(--gold-500-rgb),.45)}
.exec-card-accent{position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--navy) 0%,var(--gold) 100%);transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.4,0,.2,1)}
.exec-card:hover .exec-card-accent{transform:scaleX(1)}
.exec-card-body{padding:32px 30px;display:flex;flex-direction:column;flex-grow:1}
.exec-name{font-size:1.2rem;font-weight:800;color:var(--navy);margin:0 0 10px;letter-spacing:.2px;font-family:var(--font-head,'Georgia',serif);line-height:1.25;position:relative;padding-bottom:14px}
.exec-name::after{content:'';position:absolute;left:0;bottom:0;width:36px;height:2px;background:var(--gold);transition:width .3s}
.exec-card:hover .exec-name::after{width:60px}
.exec-role{font-size:clamp(.95rem,3.6vw,1rem);color:var(--ink-600);line-height:1.6;margin:0 0 24px;flex-grow:1;font-weight:500}
.exec-bio{display:inline-flex;align-items:center;gap:8px;font-family:inherit;font-size:.7rem;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--navy);background:transparent;border:1.5px solid rgba(var(--navy-700-rgb),.22);padding:11px 20px;border-radius:6px;cursor:pointer;transition:all .22s;align-self:flex-start}
.exec-bio svg{transition:transform .2s}
.exec-bio:hover{background:var(--navy);border-color:var(--navy);color:#fff}
.exec-bio:hover svg{transform:translateX(3px)}
@media(max-width:1024px){.exec-grid{grid-template-columns:1fr 1fr 1fr;gap:20px}}
@media(max-width:760px){.exec-grid{grid-template-columns:1fr 1fr;gap:16px}.exec-sec{padding:56px 0}}
@media(max-width:460px){.exec-grid{grid-template-columns:1fr}}
[data-theme="dark"] .exec-card{background:var(--navy-900);border-color:rgba(255,255,255,.08)}
[data-theme="dark"] .exec-name{color:var(--ink-200)}
[data-theme="dark"] .exec-role{color:var(--ink-400)}
[data-theme="dark"] .exec-bio{color:var(--ink-200);border-color:rgba(255,255,255,.2)}
[data-theme="dark"] .exec-bio:hover{background:var(--gold);border-color:var(--gold);color:var(--btn-gold-text)}
[data-theme="dark"] .exec-sec{background:linear-gradient(180deg,var(--navy-975) 0%,var(--navy-950) 100%)}
[data-theme="dark"] .exec-title{color:var(--ink-200)}
[data-theme="dark"] .exec-rule{background:var(--gold)}

/* Trusted Partners: a direct child of .ed-split (see .trust-pillars-full) so it spans
   the full section width rather than the 560px body column. */
.trust-pillars-full{grid-column:1/-1;order:3;margin-top:40px;padding-top:40px;border-top:1px solid rgba(var(--navy-900-rgb),.08)}
[data-theme="dark"] .trust-pillars-full{border-top-color:rgba(255,255,255,.1)}
.trust-pillars{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.trust-pillar{position:relative;overflow:hidden;display:flex;gap:24px;align-items:flex-start;padding:38px 34px;background:#fff;border:1px solid var(--ink-200);border-radius:14px;box-shadow:0 6px 20px rgba(var(--navy-900-rgb),.05);transition:box-shadow .3s,transform .3s,border-color .3s}
.trust-pillar::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--navy) 0%,var(--gold) 100%);transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.4,0,.2,1)}
.trust-pillar:hover{box-shadow:0 22px 46px rgba(var(--navy-900-rgb),.13);transform:translateY(-4px);border-color:rgba(var(--gold-500-rgb),.3)}
.trust-pillar:hover::before{transform:scaleX(1)}
.trust-pillar-ico{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:68px;height:68px;border-radius:16px;background:var(--grad-navy);color:var(--accent-text);transition:background .3s,color .3s}
.trust-pillar-ico svg{width:32px;height:32px}
.trust-pillar:hover .trust-pillar-ico{background:linear-gradient(135deg,var(--gold-500) 0%,var(--gold-600) 100%);color:var(--btn-gold-text)}
.trust-pillar-body{flex:1;min-width:0}
.trust-pillar h4{font-size:clamp(1.12rem,3.6vw,1.3rem);font-weight:800;color:var(--navy);margin:0 0 11px;font-family:var(--font-head,'Georgia',serif)}
.trust-pillar p{font-size:clamp(.97rem,3.8vw,1.04rem);color:var(--ink-700);line-height:1.75;margin:0}
@media(max-width:900px){.trust-pillars{grid-template-columns:1fr;gap:22px}}
@media(max-width:600px){.trust-pillars-full{margin-top:30px;padding-top:30px}.trust-pillar{flex-direction:column;gap:16px;padding:30px 26px}.trust-pillar-ico{width:56px;height:56px}.trust-pillar-ico svg{width:26px;height:26px}}

/* Built with Purpose: also a direct child of .ed-split, spanning the full width
   below the image and text column; 3 columns, 1 on mobile. */
.purpose-pillars-full{grid-column:1/-1;order:3;margin-top:40px;padding-top:40px;border-top:1px solid rgba(var(--navy-900-rgb),.08)}
[data-theme="dark"] .purpose-pillars-full{border-top-color:rgba(255,255,255,.1)}
.purpose-pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.purpose-pillar{position:relative;overflow:hidden;display:flex;gap:20px;align-items:flex-start;padding:32px 28px;background:#fff;border:1px solid var(--ink-200);border-radius:14px;box-shadow:0 6px 20px rgba(var(--navy-900-rgb),.05);transition:box-shadow .3s,transform .3s,border-color .3s}
.purpose-pillar::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--navy) 0%,var(--gold) 100%);transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.4,0,.2,1)}
.purpose-pillar:hover{box-shadow:0 22px 46px rgba(var(--navy-900-rgb),.13);transform:translateY(-4px);border-color:rgba(var(--gold-500-rgb),.3)}
.purpose-pillar:hover::before{transform:scaleX(1)}
.purpose-pillar-num{flex-shrink:0;width:52px;height:52px;border-radius:50%;background:var(--grad-navy);color:var(--accent-text);display:flex;align-items:center;justify-content:center;font-family:var(--font-head,'Georgia',serif);font-size:1.15rem;font-weight:800;transition:background .3s,color .3s}
.purpose-pillar:hover .purpose-pillar-num{background:linear-gradient(135deg,var(--gold-500) 0%,var(--gold-600) 100%);color:var(--btn-gold-text)}
.purpose-pillar-body{flex:1;min-width:0}
.purpose-pillar-body h4{font-size:clamp(1.05rem,3.6vw,1.18rem);font-weight:800;color:var(--navy);margin:0 0 10px;font-family:var(--font-head,'Georgia',serif)}
.purpose-pillar-body p{font-size:clamp(.92rem,3.6vw,.98rem);color:var(--ink-600);line-height:1.7;margin:0}
@media(max-width:900px){.purpose-pillars{grid-template-columns:1fr;gap:20px}}
@media(max-width:600px){.purpose-pillars-full{margin-top:30px;padding-top:30px}.purpose-pillar{flex-direction:column;gap:14px;padding:26px 22px}.purpose-pillar-num{width:44px;height:44px;font-size:1rem}}
/* Phones: the spread itself has no side padding (edge-to-edge photo), so these
   full-width rows take the same 20px gutter as the text column. */
@media(max-width:560px){.purpose-pillars-full,.trust-pillars-full{margin-inline:20px}}
[data-theme="dark"] .purpose-pillar{background:var(--navy-900);border-color:rgba(255,255,255,.08)}
[data-theme="dark"] .purpose-pillar-body h4{color:var(--ink-200)}
[data-theme="dark"] .purpose-pillar-body p{color:var(--ink-400)}

/* Full-spectrum banner */
.fullspec{position:relative;background-size:cover;background-position:center;background-color:var(--navy-dd);padding:90px 0;background-attachment:scroll}
.fullspec-overlay{position:absolute;inset:0;background:linear-gradient(110deg,rgba(var(--navy-900-rgb),.92) 0%,rgba(var(--navy-900-rgb),.7) 50%,rgba(var(--navy-900-rgb),.4) 100%)}
.fullspec-inner{position:relative;z-index:1;display:flex;justify-content:flex-end}
.fullspec-card{max-width:560px;background:rgba(var(--navy-900-rgb),.55);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:38px}
.fullspec-label{display:inline-block;font-size:.69rem;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--accent-text);margin-bottom:14px}
.fullspec-h2{font-size:clamp(1.4rem,2.6vw,2rem);font-weight:800;color:#fff;line-height:1.25;margin-bottom:18px;font-family:var(--font-head,'Georgia',serif)}
.fullspec-card p{font-size:clamp(.98rem,3.8vw,1.05rem);color:rgba(255,255,255,.82);line-height:1.75;margin-bottom:12px}
.fullspec-card .btn{margin-top:12px}
@media(max-width:900px){.fullspec-inner{justify-content:center}.fullspec{padding:60px 0}}

/* About — Built for International Infrastructure: section buttons */
.legacy-btns{display:flex;gap:14px;flex-wrap:wrap;margin-top:22px}

/* Dark mode */
[data-theme="dark"] .trust-pillar{background:rgba(var(--gold-500-rgb),.08)}
[data-theme="dark"] .trust-pillar h4{color:var(--gold)}
[data-theme="dark"] .trust-pillar p{color:var(--ink-400)}

/* ═══ About sub-pages ═══ */

/* Mission & vision cards */
.mv-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.mv-card{background:#fff;border:1px solid var(--ink-200);border-top:4px solid var(--gold);border-radius:8px;padding:38px 34px;transition:box-shadow .2s,transform .2s}
.mv-card:hover{box-shadow:0 14px 40px rgba(var(--navy-900-rgb),.12);transform:translateY(-4px)}
.mv-ico{width:58px;height:58px;border-radius:50%;background:var(--navy-l);display:flex;align-items:center;justify-content:center;color:var(--navy);margin-bottom:20px}
.mv-ico svg{width:30px;height:30px}
.mv-title{font-size:1.3rem;font-weight:800;color:var(--navy);margin-bottom:14px;font-family:var(--font-head,'Georgia',serif)}
.mv-card p{font-size:.92rem;color:var(--ink-700);line-height:1.8;margin:0}
@media(max-width:560px){.mv-card{padding:26px 20px}.mv-point{gap:10px}}
.mv-lead{font-size:1rem!important;color:var(--navy)!important;font-weight:500;padding-bottom:20px;margin-bottom:20px!important;border-bottom:1px solid var(--ink-200)}
.mv-points{display:flex;flex-direction:column;gap:16px}
.mv-point{display:flex;gap:12px;align-items:flex-start}
.mv-point-mark{flex-shrink:0;width:26px;height:26px;border-radius:50%;background:var(--navy-l);color:var(--accent-text);display:flex;align-items:center;justify-content:center;margin-top:2px}
.mv-point h4{font-size:.92rem;font-weight:700;color:var(--navy);margin:0 0 4px}
.mv-point p{font-size:.93rem;color:var(--text-body);line-height:1.7;margin:0}
@media(max-width:760px){.mv-grid{grid-template-columns:1fr;gap:20px}}

/* Approach list */
.appr-list{display:flex;flex-direction:column;gap:18px;margin-top:22px}
.appr-item{display:flex;gap:14px;align-items:flex-start}
.appr-check{flex-shrink:0;width:30px;height:30px;border-radius:50%;background:var(--gold);color:var(--btn-gold-text);display:flex;align-items:center;justify-content:center}
.appr-item h4{font-size:.98rem;font-weight:700;color:var(--navy);margin:0 0 4px}
.appr-item p{font-size:.86rem;color:var(--ink-600);line-height:1.6;margin:0}

/* Core values grid */
.vals-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.val-card{position:relative;background:#fff;border:1px solid var(--ink-200);border-radius:8px;padding:34px 28px 28px;overflow:hidden;transition:box-shadow .2s,transform .2s,border-color .2s}
.val-card:hover{box-shadow:0 14px 40px rgba(var(--navy-900-rgb),.12);transform:translateY(-4px);border-color:var(--gold)}
.val-num{position:absolute;top:14px;right:18px;font-size:2.4rem;font-weight:900;color:var(--navy-ll);line-height:1;font-family:var(--font-head,'Georgia',serif)}
.val-ico{width:54px;height:54px;border-radius:10px;background:var(--grad-navy);display:flex;align-items:center;justify-content:center;color:#fff;margin-bottom:18px}
.val-ico svg{width:28px;height:28px}
.val-title{font-size:1.06rem;font-weight:700;color:var(--navy);margin-bottom:10px}
.val-body{font-size:.86rem;color:var(--ink-600);line-height:1.72;margin:0}
@media(max-width:900px){.vals-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.vals-grid{grid-template-columns:1fr}}

/* Dark mode */
[data-theme="dark"] .mv-card{background:var(--navy-925);border-color:rgba(255,255,255,.08)}
[data-theme="dark"] .mv-card p{color:var(--ink-400)}
[data-theme="dark"] .mv-title{color:var(--ink-200)}
[data-theme="dark"] .mv-ico{background:rgba(255,255,255,.08);color:var(--gold)}
[data-theme="dark"] .appr-item h4{color:var(--ink-200)}
[data-theme="dark"] .appr-item p{color:var(--ink-400)}
[data-theme="dark"] .mv-lead{color:var(--ink-200)!important;border-color:rgba(255,255,255,.1)}
[data-theme="dark"] .mv-point-mark{background:rgba(255,255,255,.08)}
[data-theme="dark"] .mv-point h4{color:var(--ink-200)}
[data-theme="dark"] .mv-point p{color:var(--ink-300)}
[data-theme="dark"] .val-card{background:var(--navy-925);border-color:rgba(255,255,255,.08)}
[data-theme="dark"] .val-title{color:var(--ink-200)}
[data-theme="dark"] .val-body{color:var(--ink-400)}

/* ═══ Services sub-pages ═══ */

/* EPC letter cards */
.epc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.epc-card{position:relative;overflow:hidden;background:#fff;border:1px solid var(--ink-200);border-radius:8px;padding:34px 28px;text-align:center;transition:box-shadow .25s,transform .25s,border-color .25s}
.epc-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--navy) 0%,var(--gold) 100%);transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.4,0,.2,1)}
.epc-card:hover{box-shadow:0 18px 44px rgba(var(--navy-900-rgb),.13);transform:translateY(-4px);border-color:rgba(var(--gold-500-rgb),.3)}
.epc-card:hover::before{transform:scaleX(1)}
.epc-letter{width:64px;height:64px;margin:0 auto 18px;border-radius:50%;background:var(--grad-navy);color:#fff;font-size:1.8rem;font-weight:900;display:flex;align-items:center;justify-content:center;font-family:var(--font-head,'Georgia',serif);transition:background .3s,color .3s}
.epc-card:hover .epc-letter{background:linear-gradient(135deg,var(--gold) 0%,var(--gold-d,var(--gold-700)) 100%);color:#fff}
.epc-card h3{font-size:1.1rem;font-weight:700;color:var(--navy);margin-bottom:12px}
.epc-card p{font-size:.86rem;color:var(--ink-600);line-height:1.72;margin:0}
@media(max-width:760px){.epc-grid{grid-template-columns:1fr}}
[data-theme="dark"] .epc-card{background:var(--navy-900);border-color:rgba(255,255,255,.08)}
[data-theme="dark"] .epc-card h3{color:var(--ink-200)}
[data-theme="dark"] .epc-card p{color:var(--ink-400)}

/* O&M capability cards */
.om-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.om-card{position:relative;background:#fff;border:1px solid var(--ink-200);border-left:3px solid var(--gold);border-radius:0 8px 8px 0;padding:26px 24px;transition:box-shadow .2s,transform .2s}
.om-card:hover{box-shadow:0 12px 34px rgba(var(--navy-900-rgb),.1);transform:translateX(4px)}
.om-card h3{font-size:1rem;font-weight:700;color:var(--navy);margin-bottom:10px}
.om-card p{font-size:.84rem;color:var(--ink-600);line-height:1.7;margin:0}
/* Step cards in an .appr-list share one style on every service page:
   left-aligned, gold edge, readable body size. */
.appr-list > :is(.epc-card,.om-card){text-align:left;border:1px solid var(--ink-200);border-left:3px solid var(--gold);border-radius:0 8px 8px 0;padding:26px 24px}
.appr-list > .epc-card::before{display:none}
.appr-list > :is(.epc-card,.om-card):hover{transform:translateY(-3px)}
.appr-list > :is(.epc-card,.om-card) h3{font-size:1.02rem;margin-bottom:10px}
.appr-list > :is(.epc-card,.om-card) p{font-size:.92rem;line-height:1.7}
@media(max-width:900px){.om-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.om-grid{grid-template-columns:1fr}}

/* Dark mode */
[data-theme="dark"] .epc-card,[data-theme="dark"] .om-card{background:var(--navy-925);border-color:rgba(255,255,255,.08)}
[data-theme="dark"] .epc-card h3,[data-theme="dark"] .om-card h3{color:var(--ink-200)}
[data-theme="dark"] .epc-card p,[data-theme="dark"] .om-card p{color:var(--ink-400)}

/* ═══ Sustainability sub-pages ═══ */

/* Governance pillar cards */

/* Governance closing statement band */

/* Dark mode */

/* ═══ CV / biography modal ═══ */
.cv-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:24px}
.cv-modal[hidden]{display:none}
.cv-backdrop{position:absolute;inset:0;background:rgba(var(--navy-900-rgb),.72);backdrop-filter:blur(4px);animation:cvFade .2s ease}
.cv-panel{position:relative;z-index:1;width:100%;max-width:760px;max-height:88vh;max-height:88dvh;overflow-y:auto;overscroll-behavior:contain;background:#fff;border-radius:12px;box-shadow:0 30px 80px rgba(var(--navy-900-rgb),.5);animation:cvPop .25s cubic-bezier(.2,.9,.3,1.2);-webkit-overflow-scrolling:touch}
@keyframes cvFade{from{opacity:0}to{opacity:1}}
@keyframes cvPop{from{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:none}}
/* Close stays in view while the popup scrolls: sticky first child, overlapping the
   content below it (the negative bottom margin cancels its own height). */
.cv-close{position:sticky;top:14px;z-index:10;width:42px;height:42px;margin:14px 14px -56px auto;border-radius:50%;border:none;background:rgba(var(--navy-900-rgb),.06);color:var(--navy);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .18s,color .18s,transform .18s}
.cv-close:hover{background:var(--gold);color:var(--btn-gold-text);transform:rotate(90deg)}
.cv-header{display:flex;gap:22px;align-items:center;padding:38px 40px 24px;border-bottom:1px solid var(--navy-50);background:linear-gradient(135deg,var(--ink-25) 0%,var(--navy-50) 100%);border-radius:12px 12px 0 0}
.cv-headinfo{min-width:0}
.cv-name{font-size:1.6rem;font-weight:800;color:var(--navy);margin:0 0 6px;font-family:var(--font-head,'Georgia',serif);line-height:1.15}
.cv-role{font-size:.92rem;font-weight:600;color:var(--accent-text);margin:0;letter-spacing:.3px}
.cv-body{font-size:.92rem;color:var(--text-b);line-height:1.85;margin:0;padding:28px 40px 38px}
.cv-body p{font-size:.93rem;color:var(--ink-700);line-height:1.85;margin:0 0 16px}
.cv-body p:last-child{margin-bottom:0}
body.cv-open{position:fixed;width:100%;overflow:hidden}

@media(max-width:640px){
  .cv-modal{padding:12px;align-items:center}
  .cv-panel{max-width:100%;max-height:90vh;max-height:90dvh;border-radius:16px;animation:cvPop .28s cubic-bezier(.2,.9,.3,1.1)}
  .cv-header{flex-direction:column;text-align:center;padding:38px 24px 20px;border-radius:16px 16px 0 0}
  .cv-name{font-size:1.3rem}
  .cv-body{padding:24px}
  .cv-close{background:var(--navy);color:#fff;box-shadow:0 4px 16px rgba(0,0,0,.4)}
}

/* .exec-bio is a button; keep the link look */
button.exec-bio{font-family:inherit;cursor:pointer}

[data-theme="dark"] .cv-panel{background:var(--navy-925)}
[data-theme="dark"] .cv-header{background:linear-gradient(135deg,var(--navy-975) 0%,var(--navy-925) 100%);border-color:rgba(255,255,255,.08)}
[data-theme="dark"] .cv-name{color:var(--ink-200)}
[data-theme="dark"] .cv-body p{color:var(--ink-400)}
[data-theme="dark"] .cv-close{background:rgba(255,255,255,.08);color:var(--ink-200)}

/* ═══ Careers — job cards ═══ */
.car-jobs-grid{display:flex;flex-direction:column;gap:14px}
.car-jobcard{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fff;border:1px solid var(--ink-200);border-left:4px solid var(--navy);border-radius:8px;padding:22px 26px;transition:box-shadow .22s,transform .22s,border-color .22s}
.car-jobcard:hover{box-shadow:0 12px 34px rgba(var(--navy-900-rgb),.12);transform:translateY(-2px);border-left-color:var(--gold)}
.car-jobcard-main{min-width:0;flex:1}
.car-jobcard-dept{display:inline-block;font-size:.69rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--accent-text);margin-bottom:7px}
.car-jobcard-title{font-size:1.12rem;font-weight:700;color:var(--navy);margin:0 0 10px;font-family:var(--font-head,'Georgia',serif)}
.car-jobcard-meta{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.car-jobcard-loc{display:inline-flex;align-items:center;gap:5px;font-size:.82rem;color:var(--ink-600)}
.car-jobcard-loc svg{color:var(--accent-text)}
.car-jobcard-type{font-size:.66rem;font-weight:700;letter-spacing:.8px;text-transform:uppercase;padding:4px 12px;border-radius:3px;background:rgba(var(--navy-700-rgb),.08);color:var(--navy)}
.car-jobcard-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}
.car-jobcard-pdf{display:inline-flex;align-items:center;gap:7px;font-size:.72rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--navy);border:1.5px solid rgba(var(--navy-700-rgb),.25);padding:9px 16px;border-radius:5px;text-decoration:none;transition:all .2s;white-space:nowrap}
.car-jobcard-pdf:hover{background:var(--navy);border-color:var(--navy);color:#fff}
.car-jobcard-pdf svg{flex-shrink:0}
@media(max-width:680px){
  .car-jobcard{flex-direction:column;align-items:flex-start;gap:16px}
  .car-jobcard-actions{width:100%}
  .car-jobcard-actions .btn{flex:1}
}

[data-theme="dark"] .car-jobcard{background:var(--navy-925);border-color:rgba(255,255,255,.08);border-left-color:var(--gold)}
[data-theme="dark"] .car-jobcard-title{color:var(--ink-200)}
[data-theme="dark"] .car-jobcard-loc{color:var(--ink-400)}
[data-theme="dark"] .car-jobcard-type{background:rgba(255,255,255,.08);color:var(--ink-300)}
[data-theme="dark"] .car-jobcard-pdf{color:var(--ink-200);border-color:rgba(255,255,255,.2)}
[data-theme="dark"] .car-jobcard-pdf:hover{background:var(--gold);border-color:var(--gold);color:var(--btn-gold-text)}

/* ═══ Business segments ═══
   Same cinematic pattern as Featured Projects, but contained within side margins
   so two consecutive full-width sections don't run together. */
.cinema-wrap{max-width:1800px;margin:0 auto;padding:0 clamp(16px,2.5vw,40px)}

/* ═══ Dark mode — homepage ═══ */
/* Alternating deep and raised navy surfaces separate sections */

[data-theme="dark"] .news-editorial{background:var(--navy-975);border-top-color:rgba(255,255,255,.06)}

[data-theme="dark"] .hm-intro-pillars .hm-pillar h4{color:var(--ink-200)}
[data-theme="dark"] .hm-intro-text h2{color:var(--ink-200)}
[data-theme="dark"] .hm-intro-text p{color:var(--ink-400)}

/* ═══ Sliders always run LTR ═══ */
.ticker-track,.ticker-wrap,
.clients{direction:ltr}

/* ═══ Projects page ═══ */
/* Sector filter: one segmented bar (icon, sector, count), pinned while the grid
   scrolls. Same card language as the project cards below. */
.proj-section .adv-sec-head{margin-bottom:28px}
.proj-tabs-wrap{position:sticky;top:var(--nav-h,68px);z-index:50;padding:12px 0;margin-bottom:28px;background:rgba(255,255,255,.92);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px)}
body.has-subnav .proj-tabs-wrap{top:calc(var(--nav-h,68px) + var(--subnav-h,52px))}
.proj-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:0;padding:5px;border:1px solid var(--ink-200);border-radius:14px;background:#fff;box-shadow:0 10px 30px rgba(var(--navy-900-rgb),.06)}
.proj-tab{
  display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:8px 14px;border:0;border-radius:10px;
  background:transparent;color:var(--ink-700);font-family:inherit;font-size:.86rem;font-weight:700;cursor:pointer;
  transition:background .2s,color .2s,box-shadow .2s;
}
.proj-tab + .proj-tab{position:relative}
.proj-tab + .proj-tab::before{content:'';position:absolute;left:0;top:14px;bottom:14px;width:1px;background:var(--ink-200)}
.proj-tab.is-active::before,.proj-tab.is-active + .proj-tab::before{opacity:0}
.proj-tab-ico{display:flex;width:30px;height:30px;flex-shrink:0;align-items:center;justify-content:center;border-radius:8px;background:var(--navy-25);color:var(--gold-700);transition:background .2s,color .2s}
.proj-tab-ico svg{width:17px;height:17px}
.proj-tab-count{min-width:28px;padding:3px 8px;border-radius:20px;background:var(--ink-50);color:var(--ink-600);font-size:.74rem;font-weight:800;line-height:1.2;transition:background .2s,color .2s}
.proj-tab:hover{background:var(--navy-25);color:var(--navy-900)}
.proj-tab.is-active{background:var(--navy-900);color:#fff;box-shadow:0 8px 20px rgba(var(--navy-900-rgb),.22)}
.proj-tab.is-active .proj-tab-ico{background:rgba(255,255,255,.1);color:var(--gold-300)}
.proj-tab.is-active .proj-tab-count{background:var(--gold-500);color:var(--navy-900)}
.proj-empty{text-align:center;color:var(--text-b);padding:60px 0;font-size:.95rem}
.proj-loadmore-wrap{text-align:center;margin-top:36px}
@media(max-width:860px){
  .proj-tabs-wrap{position:static;padding:0;background:none;backdrop-filter:none;-webkit-backdrop-filter:none}
  .proj-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
  .proj-tabs .proj-tab:first-child{grid-column:1 / -1}
  .proj-tab{justify-content:flex-start;min-width:0;gap:8px;min-height:44px;padding:6px 8px;font-size:.8rem}
  .proj-tab-name{min-width:0;overflow-wrap:anywhere;text-align:left;line-height:1.2}
  .proj-tab-ico{width:26px;height:26px}
  .proj-tab-count{margin-left:auto}
  .proj-tab + .proj-tab::before{display:none}
  .proj-tab:not(.is-active){background:var(--navy-25)}
  [data-theme="dark"] .proj-tab:not(.is-active){background:rgba(255,255,255,.04)}
}

[data-theme="dark"] .proj-tabs-wrap{background:rgba(var(--navy-950-rgb),.9)}
[data-theme="dark"] .proj-tabs{background:var(--navy-900);border-color:rgba(255,255,255,.08)}
[data-theme="dark"] .proj-tab{color:var(--ink-300)}
[data-theme="dark"] .proj-tab + .proj-tab::before{background:rgba(255,255,255,.08)}
[data-theme="dark"] .proj-tab-ico{background:rgba(255,255,255,.05);color:var(--gold-300)}
[data-theme="dark"] .proj-tab-count{background:rgba(255,255,255,.07);color:var(--ink-300)}
[data-theme="dark"] .proj-tab:hover{background:rgba(255,255,255,.05);color:#fff}
[data-theme="dark"] .proj-tab.is-active{background:var(--gold-500);color:var(--navy-900)}
[data-theme="dark"] .proj-tab.is-active .proj-tab-ico{background:rgba(var(--navy-900-rgb),.12);color:var(--navy-900)}
[data-theme="dark"] .proj-tab.is-active .proj-tab-count{background:var(--navy-900);color:var(--gold-300)}

.proj-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.proj-card{
  position:relative;background:#fff;border:1px solid var(--ink-200);border-radius:14px;overflow:hidden;
  transition:transform .25s,box-shadow .25s,border-color .25s;
  display:flex;flex-direction:column;justify-content:flex-start;width:100%;text-align:left;padding:0;font-family:inherit;cursor:pointer;
}
.proj-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;z-index:2;background:linear-gradient(90deg,var(--navy) 0%,var(--gold) 100%);transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.4,0,.2,1)}
.proj-card:hover::before{transform:scaleX(1)}
.proj-card:hover{transform:translateY(-6px);box-shadow:0 22px 50px rgba(var(--navy-900-rgb),.14);border-color:rgba(var(--gold-500-rgb),.3)}

.proj-card-media{height:180px;background-size:cover;background-position:center;position:relative;overflow:hidden}
.proj-card-media--empty{background:linear-gradient(150deg,var(--sky-l) 0%,var(--steel-100) 100%)}
.proj-card-image-status{position:absolute;left:14px;bottom:14px;color:var(--navy);font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:rgba(255,255,255,.8);padding:6px 9px;border-radius:5px}
/* Category badge: solid navy + gold hairline keeps it legible on any photo */
.proj-card-type{
  position:absolute;top:14px;right:14px;z-index:5;max-width:calc(100% - 28px);
  display:inline-flex;align-items:center;gap:6px;white-space:nowrap;
  background:rgba(var(--navy-900-rgb),.92);color:#fff;font-size:.66rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;
  padding:6px 12px 6px 10px;border-radius:20px;border:1px solid rgba(var(--gold-500-rgb),.45);
  box-shadow:0 4px 12px rgba(var(--navy-900-rgb),.3);
}
.proj-card-type svg{width:12px;height:12px;flex-shrink:0;color:var(--accent-text)}
.proj-card-body{flex:1;padding:22px 22px 24px;display:flex;flex-direction:column}
.proj-card-title{font-size:1.1rem;font-weight:700;color:var(--navy);margin:0 0 12px;line-height:1.35}
.proj-card-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.proj-card-loc{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;color:var(--ink-600)}
.proj-card-loc svg{color:var(--accent-text);flex-shrink:0}
/* "View Project" cue: always visible, turns gold on hover */
.proj-card-view{display:inline-flex;align-items:center;gap:6px;margin-top:auto;padding-top:16px;font-size:.8rem;font-weight:700;color:var(--navy);transition:color .2s}
.proj-card-view svg{transition:transform .25s cubic-bezier(.4,0,.2,1)}
.proj-card:hover .proj-card-view{color:var(--accent-text)}
.proj-card:hover .proj-card-view svg{transform:translateX(4px)}
@media(max-width:900px){.proj-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.proj-grid{grid-template-columns:1fr}}
[data-theme="dark"] .proj-card{background:var(--navy-900);border-color:rgba(255,255,255,.08)}
[data-theme="dark"] .proj-card-title{color:var(--ink-200)}
[data-theme="dark"] .proj-card-loc{color:var(--ink-400)}
[data-theme="dark"] .proj-card-media--empty{background:linear-gradient(150deg,var(--navy-800),var(--navy-950))}
[data-theme="dark"] .proj-card-view{color:var(--ink-200)}

/* ═══ Argan Advantage (About page) ═══ */
.adv-sec{background:var(--snow);padding:80px 0;position:relative}
.adv-sec-head{text-align:center;max-width:680px;margin:0 auto 48px;position:relative}
.adv-sec-head .overline{display:inline-block;font-size:clamp(.68rem,2vw,.72rem);font-weight:800;letter-spacing:3px;text-transform:uppercase;color:var(--accent-text);margin-bottom:16px}
.adv-sec-head h2{font-size:clamp(1.7rem,4.2vw,2.65rem);font-weight:800;color:var(--navy);margin:0 0 16px;letter-spacing:-.01em;font-family:var(--font-head,'Georgia',serif);line-height:1.14}
.adv-sec-head-rule{display:block;width:60px;height:3px;background:var(--gold);margin:0 auto 16px}
.adv-sec-head p{color:var(--text-body);font-size:1.02rem;font-weight:400;line-height:1.75;margin:0 auto;padding-top:2px;text-align:center;max-width:64ch}
.adv-sec-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:22px;position:relative}
.adv-sec-card{display:flex;flex-direction:column;align-items:flex-start;text-align:left;background:#fff;border:1px solid var(--ink-200);border-top:4px solid var(--navy);border-radius:8px;padding:28px 24px;cursor:pointer;transition:box-shadow .2s,transform .2s,border-top-color .2s;flex:1 1 300px;max-width:340px}
.adv-sec-card:hover{box-shadow:0 14px 38px rgba(var(--navy-900-rgb),.12);transform:translateY(-4px);border-top-color:var(--gold)}
.adv-sec-title{font-size:1.18rem;font-weight:800;color:var(--navy);margin:0 0 12px;line-height:1.3;font-family:var(--font-head,'Georgia',serif)}
.adv-sec-short{font-size:.82rem;color:var(--ink-600);line-height:1.65;margin:0 0 18px;flex-grow:1}
.adv-sec-more{display:inline-flex;align-items:center;gap:7px;font-size:.7rem;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--navy);margin-top:auto}
.adv-sec-more svg{transition:transform .2s}
.adv-sec-card:hover .adv-sec-more{color:var(--gold-d)}
.adv-sec-card:hover .adv-sec-more svg{transform:translateX(4px)}
@media(max-width:900px){.adv-sec-card{flex-basis:calc(50% - 22px);max-width:calc(50% - 22px)}}
@media(max-width:480px){.adv-sec-card{flex-basis:100%;max-width:100%}.adv-sec{padding:56px 0}}
[data-theme="dark"] .adv-sec{background:var(--navy-975)}
[data-theme="dark"] .adv-sec-head h2{color:var(--ink-200)}
[data-theme="dark"] .adv-sec-head p{color:var(--ink-300)}
[data-theme="dark"] .adv-sec-card{background:var(--navy-925);border-color:rgba(255,255,255,.08);border-top-color:var(--gold)}

/* Advantage popups (same behaviour as the CV modal) */
.adv-modal{position:fixed;inset:0;z-index:3000;display:flex;align-items:center;justify-content:center;padding:24px}
.adv-modal[hidden]{display:none}
.adv-modal-backdrop{position:absolute;inset:0;background:rgba(var(--backdrop-rgb),.72);backdrop-filter:blur(4px);animation:advFade .25s ease}
.adv-modal-panel{position:relative;background:#fff;border-radius:18px;max-width:680px;width:100%;max-height:86vh;overflow-y:auto;padding:48px 46px;box-shadow:0 40px 100px rgba(0,0,0,.5);animation:advPop .3s cubic-bezier(.2,.9,.3,1.1);border-top:4px solid var(--gold)}
.adv-modal-close{position:absolute;top:18px;right:18px;width:40px;height:40px;border-radius:50%;border:1px solid var(--ink-200);background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--navy);transition:all .2s}
.adv-modal-close svg{width:18px;height:18px}
.adv-modal-close:hover{background:var(--navy);color:#fff;border-color:var(--navy);transform:rotate(90deg)}
.adv-modal-title{font-size:1.6rem;font-weight:800;color:var(--navy);margin:0 0 20px;line-height:1.25;font-family:var(--font-head,'Georgia',serif);padding-bottom:18px;border-bottom:2px solid var(--snow)}
.adv-modal-body p{font-size:.98rem;line-height:1.85;color:var(--ink-700);margin:0}
@keyframes advFade{from{opacity:0}to{opacity:1}}
@keyframes advPop{from{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:none}}
body.adv-open{position:fixed;width:100%;overflow:hidden}
[data-theme="dark"] .adv-modal-panel{background:var(--navy-900);border-top-color:var(--gold)}
[data-theme="dark"] .adv-modal-title{color:var(--ink-200);border-bottom-color:rgba(255,255,255,.1)}
[data-theme="dark"] .adv-modal-body p{color:var(--ink-400)}
[data-theme="dark"] .adv-modal-close{background:var(--navy-925);border-color:rgba(255,255,255,.12);color:var(--ink-200)}
[data-theme="dark"] .adv-sec-title{color:var(--ink-200)}
[data-theme="dark"] .adv-sec-short{color:var(--ink-400)}
[data-theme="dark"] .adv-sec-more{color:var(--ink-300)}

/* ═══ SHE & Quality — certifications band ═══ */

/* ═══ Business segments — content sections ═══ */
.bizseg{padding:clamp(48px,5vw,72px) 0;background:#fff}
.bizseg--alt{background:var(--snow)}
.bizseg-head{display:flex;align-items:center;gap:22px;margin-bottom:36px;padding-bottom:24px;border-bottom:2px solid var(--ink-200)}
.bizseg-ico{flex-shrink:0;width:64px;height:64px;border-radius:14px;background:linear-gradient(140deg,var(--navy),var(--navy-deep,var(--navy-900)));display:flex;align-items:center;justify-content:center;color:var(--gold-300);font-size:1.3rem;font-weight:800;letter-spacing:.02em;font-variant-numeric:tabular-nums;box-shadow:0 10px 26px rgba(var(--navy-900-rgb),.22)}
.bizseg-num{display:block;font-size:.72rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--accent-text);margin-bottom:5px}
.bizseg-title{font-size:clamp(1.3rem,2.4vw,1.85rem);font-weight:800;color:var(--navy);margin:0;line-height:1.2;font-family:var(--font-head,'Georgia',serif)}
[data-theme="dark"] .bizseg{background:var(--navy-975)}
[data-theme="dark"] .bizseg--alt{background:var(--navy-925)}
[data-theme="dark"] .bizseg-head{border-bottom-color:rgba(255,255,255,.1)}
[data-theme="dark"] .bizseg-title{color:var(--ink-200)}

/* ═══ Services — card grid ═══ */
.svc-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:18px}
.svc-card{min-width:0;display:flex;flex-direction:column;align-items:flex-start;background:#fff;border:1px solid var(--ink-200);border-top:4px solid var(--navy);border-radius:12px;padding:30px 28px;text-decoration:none;transition:transform .25s,box-shadow .25s,border-top-color .25s}
.svc-card:hover{transform:translateY(-6px);box-shadow:0 22px 50px rgba(var(--navy-900-rgb),.13);border-top-color:var(--gold)}
.svc-card-ico{width:54px;height:54px;border-radius:12px;background:linear-gradient(140deg,rgba(var(--navy-700-rgb),.08),rgba(var(--gold-500-rgb),.1));display:flex;align-items:center;justify-content:center;color:var(--navy);margin-bottom:18px;transition:all .25s}
.svc-card:hover .svc-card-ico{background:linear-gradient(140deg,var(--navy),var(--navy-deep,var(--navy-900)));color:var(--accent-text)}
.svc-card-ico svg{width:26px;height:26px}
.svc-card-title{font-size:1.15rem;font-weight:800;color:var(--navy);margin:0 0 10px;font-family:var(--font-head,'Georgia',serif)}
.svc-card-desc{font-size:.88rem;color:var(--ink-600);line-height:1.65;margin:0 0 18px;flex-grow:1}
.svc-card-more{display:inline-flex;align-items:center;gap:7px;font-size:.72rem;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--navy);margin-top:auto}
.svc-card-more svg{transition:transform .2s}
.svc-card:hover .svc-card-more{color:var(--gold-d)}
.svc-card:hover .svc-card-more svg{transform:translateX(4px)}
[data-theme="dark"] .svc-card{background:var(--navy-900);border-color:rgba(255,255,255,.08)}
[data-theme="dark"] .svc-card-title{color:var(--ink-200)}
[data-theme="dark"] .svc-card-desc{color:var(--ink-400)}
[data-theme="dark"] .svc-card-more{color:var(--ink-300)}

/* ═══ Service content blocks ═══ */
.svcb-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:20px}
.svcb-card{flex:1 1 22%;min-width:240px;display:flex;flex-direction:column;align-items:flex-start;text-align:left;background:#fff;border:1px solid var(--ink-200);border-top:4px solid var(--navy);border-radius:10px;padding:28px 26px;cursor:pointer;transition:box-shadow .25s,transform .25s,border-top-color .25s}
.svcb-card:hover{box-shadow:0 16px 42px rgba(var(--navy-900-rgb),.13);transform:translateY(-5px);border-top-color:var(--gold)}
.svcb-ico{width:60px;height:60px;border-radius:14px;background:linear-gradient(140deg,rgba(var(--navy-700-rgb),.08),rgba(var(--gold-500-rgb),.1));display:flex;align-items:center;justify-content:center;color:var(--navy);margin-bottom:18px;transition:all .25s}
.svcb-card:hover .svcb-ico{background:linear-gradient(140deg,var(--navy),var(--navy-deep,var(--navy-900)));color:var(--gold-300)}
.svcb-ico svg{width:28px;height:28px}
.svcb-ico--num{font-size:1.05rem;font-weight:800;letter-spacing:.04em;font-variant-numeric:tabular-nums}
.svcb-title{font-size:1.12rem;font-weight:800;color:var(--navy);margin:0 0 10px;font-family:var(--font-head,'Georgia',serif)}
.svcb-short{font-size:.86rem;color:var(--ink-600);line-height:1.65;margin:0 0 18px;flex-grow:1}
.svcb-more{display:inline-flex;align-items:center;gap:7px;font-size:.72rem;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--navy);margin-top:auto}
.svcb-more svg{transition:transform .2s}
.svcb-card:hover .svcb-more{color:var(--gold-d)}
.svcb-card:hover .svcb-more svg{transform:translateX(4px)}
@media(max-width:900px){.svcb-grid>.svcb-card{flex:1 1 calc(50% - 10px)}}
@media(max-width:560px){.svcb-grid>.svcb-card{flex-basis:100%}}
[data-theme="dark"] .svcb-card{background:var(--navy-900);border-color:rgba(255,255,255,.08)}
[data-theme="dark"] .svcb-title{color:var(--ink-200)}
[data-theme="dark"] .svcb-short{color:var(--ink-400)}
[data-theme="dark"] .svcb-more{color:var(--ink-300)}
/* Popups */
.svcb-modal{position:fixed;inset:0;z-index:3000;display:flex;align-items:center;justify-content:center;padding:24px}
.svcb-modal[hidden]{display:none}
.svcb-modal-backdrop{position:absolute;inset:0;background:rgba(var(--backdrop-rgb),.72);backdrop-filter:blur(4px);animation:advFade .25s ease}
.svcb-modal-panel{position:relative;background:#fff;border-radius:18px;max-width:680px;width:100%;max-height:86vh;overflow-y:auto;padding:48px 46px;box-shadow:0 40px 100px rgba(0,0,0,.5);animation:advPop .3s cubic-bezier(.2,.9,.3,1.1);border-top:4px solid var(--gold)}
.svcb-modal-close{position:absolute;top:18px;right:18px;width:40px;height:40px;border-radius:50%;border:1px solid var(--ink-200);background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--navy);transition:all .2s;z-index:5}
.svcb-modal-close svg{width:18px;height:18px}
.svcb-modal-close:hover{background:var(--navy);color:#fff;border-color:var(--navy);transform:rotate(90deg)}
.svcb-modal-title{font-size:1.55rem;font-weight:800;color:var(--navy);margin:0 0 20px;line-height:1.25;font-family:var(--font-head,'Georgia',serif);padding-bottom:18px;border-bottom:2px solid var(--snow)}
.svcb-modal-body p{font-size:.98rem;line-height:1.85;color:var(--ink-700);margin:0}
body.svcb-open{position:fixed;width:100%;overflow:hidden}
[data-theme="dark"] .svcb-modal-panel{background:var(--navy-900);border-top-color:var(--gold)}
[data-theme="dark"] .svcb-modal-title{color:var(--ink-200);border-bottom-color:rgba(255,255,255,.1)}
[data-theme="dark"] .svcb-modal-body p{color:var(--ink-400)}
[data-theme="dark"] .svcb-modal-close{background:var(--navy-925);border-color:rgba(255,255,255,.12);color:var(--ink-200)}

/* ═══ Sustainability — priority cards ═══ */
.sus-priority-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;margin-top:8px;
}
.sus-priority-card{
  position:relative;background:#fff;border:1px solid var(--ink-200);border-radius:12px;
  padding:30px 26px;overflow:hidden;transition:transform .25s,box-shadow .25s,border-color .25s;
  display:flex;flex-direction:column;min-width:0;
}
.sus-priority-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--navy),var(--gold));
  transform:scaleX(0);transform-origin:left;transition:transform .3s ease;
}
.sus-priority-card:hover::before{transform:scaleX(1)}
.sus-priority-card:hover{transform:translateY(-6px);box-shadow:0 18px 44px rgba(var(--navy-900-rgb),.12);border-color:var(--gold)}
.sus-priority-ico{
  width:60px;height:60px;min-width:60px;border-radius:14px;background:var(--grad-navy);
  display:flex;align-items:center;justify-content:center;color:#fff;margin-bottom:18px;flex-shrink:0;
}
.sus-priority-ico svg{width:28px;height:28px}
.sus-priority-eyebrow{
  font-size:.68rem;font-weight:800;letter-spacing:1.6px;text-transform:uppercase;color:var(--accent-text);margin-bottom:8px;
}
.sus-priority-card h4{font-size:1.02rem;font-weight:800;color:var(--navy);margin:0 0 12px;line-height:1.3;font-family:var(--font-head,'Georgia',serif)}
.sus-priority-card p{font-size:.86rem;color:var(--ink-600);line-height:1.7;margin:0 0 14px;flex-grow:1}
.sus-priority-tag{
  font-size:.72rem;font-weight:700;color:var(--navy);letter-spacing:.4px;
  padding-top:14px;border-top:1px solid var(--ink-50);margin-top:auto;
}
@media(max-width:1100px){.sus-priority-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){
  .sus-priority-grid{grid-template-columns:1fr;gap:18px}
  .sus-priority-card{padding:26px 22px}
}
[data-theme="dark"] .sus-priority-card{background:var(--navy-900);border-color:rgba(255,255,255,.08)}
[data-theme="dark"] .sus-priority-card h4{color:var(--ink-200)}
[data-theme="dark"] .sus-priority-card p{color:var(--ink-400)}
[data-theme="dark"] .sus-priority-tag{color:var(--ink-300);border-top-color:rgba(255,255,255,.08)}

/* ═══ Governance ═══ */

/* ═══ Careers center ═══ */
.btn-gold{border-color:var(--gold);display:inline-flex;align-items:center;gap:9px;background:var(--gold);color:var(--btn-gold-text);font-weight:700;font-size:.9rem;padding:15px 32px;border-radius:8px;text-decoration:none;transition:transform .2s,box-shadow .2s,background .2s}
.btn-gold:hover{border-color:var(--gold-l);color:var(--btn-gold-text);transform:translateY(-2px);box-shadow:0 14px 34px rgba(var(--gold-500-rgb),.4);background:var(--gold-l)}

/* ═══ Single post ═══ */

/* ═══ News archive (arx-nc = news card) ═══ */

/* Breadcrumb */
.arx-news-crumb{background:#fff;border-bottom:1px solid var(--border)}
.arx-news-crumb-inner{display:flex;align-items:center;gap:8px;padding:10px 0;font-size:.78rem;color:var(--ink-600);flex-wrap:wrap}
.arx-news-crumb-inner a{color:var(--navy);text-decoration:none;font-weight:600}
.arx-news-crumb-inner a:hover{color:var(--accent-text)}
.arx-news-crumb-inner span{color:var(--ink-400)}

.arx-news-section{padding:52px 0 80px;background:var(--bg-alt)}

/* Grid */
.arx-news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
@media(max-width:1024px){.arx-news-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:580px){.arx-news-grid{grid-template-columns:1fr;gap:20px}}

/* Card */
.arx-nc{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 12px rgba(var(--navy-900-rgb),.07);transition:transform .22s,box-shadow .22s;display:flex;flex-direction:column}
.arx-nc:hover{transform:translateY(-5px);box-shadow:0 12px 36px rgba(var(--navy-900-rgb),.14)}

/* Image wrapper */
.arx-nc-img-wrap{display:block;overflow:hidden;position:relative;background:var(--sky-l)}
.arx-nc-img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.arx-nc:hover .arx-nc-img-wrap img{transform:scale(1.05)}
.arx-nc-nothumb{height:200px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--sky-l),var(--steel-100))}
.arx-nc-nothumb span{font-size:2.5rem;font-weight:900;color:var(--sky);opacity:.4}
.arx-nc-cat-badge{position:absolute;top:14px;left:14px;background:var(--gold);color:#000;font-size:.69rem;font-weight:800;letter-spacing:1px;text-transform:uppercase;padding:3px 9px;border-radius:2px}

/* Body */
.arx-nc-body{padding:22px 24px 26px;display:flex;flex-direction:column;flex:1}
.arx-nc-meta{display:flex;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap}
.arx-nc-cat{font-size:.68rem;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--accent-text)}
.arx-nc-date{font-size:.74rem;color:var(--ink-400)}
.arx-nc-title{font-size:1rem;font-weight:700;color:var(--navy);line-height:1.4;margin:0 0 10px}
.arx-nc-title a{color:inherit;text-decoration:none;transition:color .2s}
.arx-nc-title a:hover{color:var(--accent-text)}
.arx-nc-exc{font-size:.87rem;color:var(--ink-600);line-height:1.65;flex:1;margin:0 0 16px}
.arx-nc-cta{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-weight:700;color:var(--navy);text-decoration:none;letter-spacing:.3px;transition:color .2s;margin-top:auto}
.arx-nc-cta:hover{color:var(--accent-text)}
.arx-nc-cta svg{transition:transform .2s}
.arx-nc-cta:hover svg{transform:translateX(4px)}

/* Pagination */
.arx-news-pag{margin-top:52px;display:flex;justify-content:center}
.arx-news-pag .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 14px;border-radius:6px;border:1.5px solid var(--ink-200);color:var(--ink-700);font-weight:600;font-size:.85rem;text-decoration:none;transition:all .15s}
.arx-news-pag .page-numbers:hover,.arx-news-pag .page-numbers.current{background:var(--navy);border-color:var(--navy);color:#fff}

/* Empty state */
.arx-news-empty{text-align:center;padding:80px 20px;color:var(--ink-600)}
.arx-news-empty-icon{font-size:3rem;margin-bottom:16px}
.arx-news-empty h3{color:var(--navy);margin-bottom:10px}
.arx-news-empty p{margin-bottom:24px}

/* Dark mode */
[data-theme="dark"] .arx-nc{background:var(--navy-900);box-shadow:0 2px 12px rgba(0,0,0,.3)}
[data-theme="dark"] .arx-nc-title{color:var(--ink-200)}
[data-theme="dark"] .arx-nc-title a{color:var(--ink-200)}
[data-theme="dark"] .arx-nc-exc{color:var(--ink-400)}
[data-theme="dark"] .arx-news-crumb{background:var(--navy-950);border-color:rgba(255,255,255,.07)}
[data-theme="dark"] .arx-news-section{background:var(--navy-975)}

/* ═══ Article (arx-art) ═══ */

/* Dark mode */

/* ═══ Safety dashboard — OSHA incident rates ═══ */
.sdash-sec{
  padding:100px 24px;
  background:var(--navy-25);
  color:var(--navy-900);
}
@media(max-width:860px){.sdash-sec{padding:64px 20px}}
@media(max-width:560px){.sdash-sec{padding:48px 16px}}

.sdash-head{text-align:center;max-width:720px;margin:0 auto 52px}
.sdash-head h2{
  font-size:clamp(1.7rem,4.2vw,2.65rem);font-weight:800;letter-spacing:-.01em;
  color:var(--navy-900);line-height:1.14;font-family:var(--font-head);
}
.sdash-head-bar{width:60px;height:4px;margin:18px auto;background:linear-gradient(90deg,var(--gold,var(--gold-500)),var(--gold-300));border-radius:2px}
.sdash-head p{font-size:18px;color:rgba(var(--navy-900-rgb),.7);margin-top:6px}
@media(max-width:560px){
  .sdash-head p{font-size:14px}
}

/* ── Row 1: metric cards ── */
.sdash-cards{
  display:grid;grid-template-columns:repeat(4,1fr);gap:20px;
  max-width:1200px;margin:0 auto 52px;
}
@media(max-width:960px){.sdash-cards{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.sdash-cards{grid-template-columns:1fr}}

.sdash-card{
  background:#fff;
  border:1px solid rgba(var(--navy-900-rgb),.12);
  border-radius:12px;padding:32px;
  box-shadow:0 2px 10px rgba(var(--navy-900-rgb),.05);
  transition:background .25s ease,transform .25s ease,box-shadow .25s ease;
  animation:sdashCardIn .6s ease both;animation-delay:var(--stagger,0s);
}
.sdash-card:hover{
  background:#fff;
  transform:translateY(-4px);
  box-shadow:0 10px 28px rgba(var(--navy-900-rgb),.14);
}
@keyframes sdashCardIn{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.sdash-card{animation:none}}

.sdash-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.sdash-card-icon{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:rgba(var(--navy-700-rgb),.07);color:var(--navy-900)}
.sdash-card-icon svg{width:24px;height:24px}
[data-theme="dark"] .sdash-card-icon{background:rgba(255,255,255,.06);color:var(--gold-300)}
.sdash-card-trend{font-size:13px;font-weight:700;letter-spacing:.2px;white-space:nowrap}
.sdash-card-val{font-size:clamp(40px,5vw,64px);font-weight:800;color:var(--navy-900);line-height:1;letter-spacing:-1px}
.sdash-card-lbl{font-size:15px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--navy-900);margin-top:10px}
.sdash-card-full{font-size:12px;color:var(--text-muted);margin-top:4px;line-height:1.4}
.sdash-card-bench{font-size:12.5px;color:rgba(var(--navy-900-rgb),.7);margin-top:14px;padding-top:14px;border-top:1px solid rgba(var(--navy-900-rgb),.12)}
.sdash-card-status{font-size:11.5px;font-weight:700;letter-spacing:.4px;color:var(--success);margin-top:6px}

/* ── Row 2: chart, donut, actions ── */
.sdash-row2{
  display:grid;grid-template-columns:1.5fr 1fr;gap:24px;
  max-width:1200px;margin:0 auto 32px;align-items:start;
}
@media(max-width:960px){.sdash-row2{grid-template-columns:1fr}}

.sdash-panel{
  background:#fff;border:1px solid rgba(var(--navy-900-rgb),.1);
  border-radius:12px;padding:24px;
  box-shadow:0 2px 10px rgba(var(--navy-900-rgb),.04);
}
.sdash-panel+.sdash-panel{margin-top:20px}
.sdash-panel h3{font-size:18px;font-weight:700;color:var(--navy-900);margin-bottom:20px}
.sdash-trend-panel h3{font-size:20px}
.sdash-empty{color:rgba(var(--navy-900-rgb),.45);font-size:13px;font-style:italic;text-align:center;padding:24px 0}
.sdash-col{display:flex;flex-direction:column}

/* Trend chart */
.sdash-chart-wrap{width:100%}
.sdash-svg{width:100%;height:220px;display:block;overflow:visible}
.sdash-grid{stroke:rgba(var(--navy-900-rgb),.1);stroke-width:1}
.sdash-target-line{stroke:var(--error);stroke-width:1.5;stroke-dasharray:5,4}
.sdash-line{stroke-linecap:round;stroke-linejoin:round}
.sdash-x-labels{display:flex;justify-content:space-between;margin-top:8px;padding:0 2px}
.sdash-x-labels span{font-size:10.5px;color:var(--text-muted);flex:1;text-align:center}
.sdash-chart-legend{display:flex;flex-wrap:wrap;gap:16px;margin-top:18px;padding-top:16px;border-top:1px solid rgba(var(--navy-900-rgb),.1)}
.sdash-legend-item{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:rgba(var(--navy-900-rgb),.85)}
.sdash-legend-item i{width:10px;height:10px;border-radius:3px;display:inline-block;flex-shrink:0}
.sdash-legend-item b{color:var(--navy-900);font-weight:700;margin-left:2px}
.sdash-legend-target i{background:none;border-top:2px dashed var(--error);width:12px;height:0;border-radius:0}

/* Donut centre keeps its navy fill for contrast against the ring */
.sdash-donut-wrap{display:flex;justify-content:center;margin-bottom:18px}
.sdash-donut{
  width:160px;height:160px;border-radius:50%;position:relative;
  display:flex;align-items:center;justify-content:center;
  animation:sdashDonutIn 1s ease both;
  box-shadow:0 2px 12px rgba(var(--navy-900-rgb),.1);
}
@keyframes sdashDonutIn{from{opacity:0;transform:scale(.7) rotate(-90deg)}to{opacity:1;transform:scale(1) rotate(0)}}
.sdash-donut-center{
  width:100px;height:100px;border-radius:50%;background:var(--navy-900);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
}
.sdash-donut-center span{font-size:11px;color:rgba(255,255,255,.7);margin-top:2px;text-transform:uppercase;letter-spacing:.5px}
.sdash-donut-legend{display:flex;flex-direction:column;gap:8px}
.sdash-donut-legend .sdash-legend-item b{margin-left:auto}

/* Corrective actions */
.sdash-action{margin-bottom:16px}
.sdash-action:last-child{margin-bottom:0}
.sdash-action-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px;gap:10px}
.sdash-action-name{font-size:13.5px;color:var(--navy-900);font-weight:600}
.sdash-action-status{font-size:11.5px;font-weight:700;white-space:nowrap;letter-spacing:.2px}
.sdash-progress-track{height:8px;border-radius:4px;background:rgba(var(--navy-900-rgb),.08);overflow:hidden}
.sdash-progress-fill{height:100%;border-radius:4px}

/* Compliance status bar */
.sdash-compliance{
  display:flex;flex-wrap:wrap;max-width:1200px;margin:32px auto 0;
  background:#fff;border:1px solid rgba(var(--navy-900-rgb),.1);border-radius:8px;padding:16px 24px;
  box-shadow:0 2px 10px rgba(var(--navy-900-rgb),.04);
}
.sdash-compliance-item{
  flex:1;min-width:180px;display:flex;flex-direction:column;gap:4px;
  padding:8px 20px;border-left:1px solid rgba(var(--navy-900-rgb),.1);
}
.sdash-compliance-item:first-child{border-left:none}
.sdash-compliance-lbl{font-size:11.5px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-weight:700}
.sdash-compliance-val{font-size:14px;color:var(--navy-900);font-weight:600}
.sdash-compliance-status{font-size:12px;font-weight:700;color:var(--success);letter-spacing:.3px}
@media(max-width:768px){
  .sdash-compliance{flex-direction:column}
  .sdash-compliance-item{border-left:none;border-top:1px solid rgba(var(--navy-900-rgb),.1);padding:14px 4px}
  .sdash-compliance-item:first-child{border-top:none}
}

.sdash-note{
  text-align:center;font-size:12px;color:var(--text-muted);font-style:italic;
  margin:20px auto 0;max-width:1200px;
}

/* Mobile type scale */
@media(max-width:560px){
  .sdash-card{padding:22px}
  .sdash-card-val{font-size:38px}
  .sdash-card-lbl{font-size:12px}
  .sdash-panel{padding:18px}
  .sdash-panel h3{font-size:15px}
}

/* ── Dark mode ── */
[data-theme="dark"] .sdash-sec{background:var(--navy-975);color:var(--ink-200)}
[data-theme="dark"] .sdash-head h2{color:var(--ink-200)}
[data-theme="dark"] .sdash-head p{color:var(--ink-400)}
[data-theme="dark"] .sdash-card{background:var(--navy-950);border-color:rgba(255,255,255,.1);box-shadow:0 2px 10px rgba(0,0,0,.3)}
[data-theme="dark"] .sdash-card:hover{background:var(--navy-900);box-shadow:0 10px 28px rgba(0,0,0,.4)}
[data-theme="dark"] .sdash-card-val{color:var(--ink-200)}
[data-theme="dark"] .sdash-card-lbl{color:var(--ink-200)}
[data-theme="dark"] .sdash-card-full{color:var(--ink-400)}
[data-theme="dark"] .sdash-card-bench{color:var(--ink-400);border-color:rgba(255,255,255,.1)}
[data-theme="dark"] .sdash-panel{background:var(--navy-950);border-color:rgba(255,255,255,.1);box-shadow:0 2px 10px rgba(0,0,0,.3)}
[data-theme="dark"] .sdash-panel h3{color:var(--ink-200)}
[data-theme="dark"] .sdash-empty{color:var(--ink-600)}
[data-theme="dark"] .sdash-grid{stroke:rgba(255,255,255,.1)}
[data-theme="dark"] .sdash-x-labels span{color:var(--ink-400)}
[data-theme="dark"] .sdash-chart-legend{border-color:rgba(255,255,255,.1)}
[data-theme="dark"] .sdash-legend-item{color:var(--ink-300)}
[data-theme="dark"] .sdash-legend-item b{color:var(--ink-200)}
[data-theme="dark"] .sdash-action-name{color:var(--ink-200)}
[data-theme="dark"] .sdash-progress-track{background:rgba(255,255,255,.1)}
[data-theme="dark"] .sdash-compliance{background:var(--navy-950);border-color:rgba(255,255,255,.1);box-shadow:0 2px 10px rgba(0,0,0,.3)}
[data-theme="dark"] .sdash-compliance-item{border-color:rgba(255,255,255,.1)}
[data-theme="dark"] .sdash-compliance-lbl{color:var(--ink-400)}
[data-theme="dark"] .sdash-compliance-val{color:var(--ink-200)}
[data-theme="dark"] .sdash-note{color:var(--text-muted)}

/* Dark mode: the navy logo is inverted to white in every header state */
[data-theme="dark"] #site-header .site-logo img,
[data-theme="dark"] #site-header .custom-logo-link img,
[data-theme="dark"] #site-header .hdr-logo-link img,
[data-theme="dark"] #site-header.solid-header .site-logo img,
[data-theme="dark"] #site-header.solid-header .custom-logo-link img,
[data-theme="dark"] #site-header:not(.at-home-top) .site-logo img,
[data-theme="dark"] #site-header:not(.at-home-top) .custom-logo-link img{
  filter: brightness(0) invert(1) !important;
  opacity: .95;
}


/* Spec bar */

/* Body content */

/* ═══ Project popup (reuses the .cv-modal structure) ═══ */
.proj-modal-panel{padding:0}
.proj-modal-panel .cv-close{
  background:rgba(255,255,255,.9);color:var(--navy-900);
  box-shadow:0 4px 16px rgba(0,0,0,.25);z-index:10;
}
.proj-modal-hero{position:relative;overflow:hidden;border-radius:12px 12px 0 0}
.proj-modal-img{
  width:100%;height:340px;background-size:cover;background-position:center;
  background-color:var(--navy-950);transition:transform 6s ease;
}
.proj-modal-panel:hover .proj-modal-img{transform:scale(1.04)}
@media(min-width:640px){
  .proj-modal-img{height:420px}
}
.proj-modal-img--empty{
  background-image:linear-gradient(135deg,var(--navy-950) 0%,var(--navy-925) 50%,var(--navy-900) 100%)!important;
}
/* Diagonal texture on the no-photo gradient */
.proj-modal-img--empty::after{
  content:'';position:absolute;inset:0;opacity:.06;
  background-image:repeating-linear-gradient(45deg,#fff 0 2px,transparent 2px 40px);
}
.proj-modal-scrim{
  position:absolute;inset:0;pointer-events:none;
  /* Short scrim at the bottom only, so the photo is not tinted */
  background:linear-gradient(to top,rgba(var(--navy-900-rgb),.92) 0%,rgba(var(--navy-900-rgb),.6) 24%,rgba(var(--navy-900-rgb),0) 50%);
}
.proj-modal-hero-content{
  position:absolute;left:0;right:0;bottom:0;padding:28px 32px 24px;z-index:1;
}
.proj-modal-type{
  display:inline-block;font-size:.7rem;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;
}
/* Category chip on the photo — the same look as the badge on the project cards */
.proj-modal-hero-content .proj-modal-type{
  margin-bottom:12px;padding:6px 12px;border-radius:20px;
  background:rgba(var(--navy-900-rgb),.88);border:1px solid rgba(var(--gold-500-rgb),.45);color:var(--gold-300);
}
.proj-modal-title{
  color:#fff!important;margin:0!important;
  text-shadow:0 2px 12px rgba(0,0,0,.4);
  font-size:clamp(1.3rem,2.6vw,1.75rem)!important;
}
@media(max-width:640px){
  .proj-modal-hero-content{padding:20px 20px 18px}
}
.proj-modal-spec{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:14px;
  margin:20px 32px 0;padding:16px 18px;background:var(--ink-25);border-radius:10px;
}
.proj-modal-spec div{display:flex;flex-direction:column;gap:2px}
.proj-modal-spec span{font-size:.66rem;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:var(--ink-400)}
.proj-modal-spec strong{font-size:.88rem;font-weight:700;color:var(--navy-900)}
.proj-modal-spec strong.gold{color:var(--accent-text)}
.proj-modal-body{
  padding:24px 32px 34px;
  max-width:none;margin:0; /* same width as the spec box above */
}
.proj-modal-body p{margin-bottom:16px;line-height:1.85;color:var(--text-b)}
.proj-modal-body h3,.proj-modal-body h4{color:var(--navy-900);font-weight:800;margin:22px 0 10px}
.proj-modal-body ul{margin:0 0 16px;padding-left:0;list-style:none;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:6px 20px}
.proj-modal-body li{position:relative;padding-left:20px;font-size:.9rem;color:var(--text-b)}
.proj-modal-body li::before{
  content:'';position:absolute;left:0;top:8px;width:7px;height:7px;
  background:var(--gold,var(--gold-500));transform:rotate(45deg);
}

@media(max-width:640px){
  .proj-modal-img{height:240px}
  .proj-modal-spec{margin:16px 20px 0;grid-template-columns:1fr 1fr}
  .proj-modal-body{padding:20px}
  .proj-modal-body ul{grid-template-columns:1fr}
}

[data-theme="dark"] .proj-modal-spec{background:var(--navy-900)}
[data-theme="dark"] .proj-modal-spec strong{color:var(--ink-200)}
[data-theme="dark"] .proj-modal-body h3,
[data-theme="dark"] .proj-modal-body h4{color:var(--ink-200)}

/* ═══ 404 page ═══ */
.nf-hero{
  min-height:70vh;display:flex;align-items:center;padding:calc(var(--nav-h,68px) + 40px) 0 60px;
  background:linear-gradient(160deg,var(--navy-900) 0%,var(--navy-900) 100%);
}
.nf-hero .wrap{text-align:center;max-width:760px}
.nf-code{
  font-family:var(--font-head);font-weight:800;font-size:clamp(4.5rem,12vw,7rem);line-height:1;
  color:rgba(255,255,255,.08);letter-spacing:-4px;margin-bottom:-1.2rem;
}
.nf-title{
  color:#fff;font-family:var(--font-head);font-weight:800;font-size:clamp(1.5rem,3.2vw,2.1rem);
  margin-bottom:14px;
}
.nf-sub{color:rgba(255,255,255,.65);font-size:.95rem;line-height:1.7;max-width:520px;margin:0 auto 32px}

.nf-search-trigger{margin-bottom:36px}
.nf-search-btn{
  display:inline-flex;align-items:center;gap:10px;padding:13px 26px;border-radius:30px;
  background:rgba(255,255,255,.08);border:1.5px solid rgba(255,255,255,.18);color:#fff;
  font-size:.9rem;font-weight:700;cursor:pointer;transition:background .2s,border-color .2s;
}
.nf-search-btn:hover{background:rgba(255,255,255,.14);border-color:var(--gold,var(--gold-500))}

.nf-links-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:36px;text-align:left;
}
.nf-link-card{
  display:flex;align-items:center;gap:10px;padding:16px 18px;border-radius:12px;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);text-decoration:none;
  transition:background .2s,transform .2s,border-color .2s;
}
.nf-link-card:hover{background:rgba(255,255,255,.1);border-color:var(--gold,var(--gold-500));transform:translateY(-2px)}
.nf-link-icon{flex-shrink:0;width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:rgba(var(--gold-500-rgb),.14);color:var(--gold-300)}
.nf-link-icon svg{width:20px;height:20px}
.nf-link-label{flex:1;color:#fff;font-weight:700;font-size:.86rem}
.nf-link-arrow{color:rgba(255,255,255,.4);flex-shrink:0}

.nf-home-link{background:transparent;border-color:rgba(255,255,255,.3);color:#fff}
.nf-home-link:hover{border-color:var(--gold,var(--gold-500));color:var(--accent-text)}

@media(max-width:640px){
  .nf-links-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:420px){
  .nf-links-grid{grid-template-columns:1fr}
}

.nf-projects-h{
  text-align:center;font-family:var(--font-head);font-weight:800;font-size:1.3rem;
  color:var(--navy-900);margin-bottom:28px;
}
.nf-projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media(max-width:768px){
  .nf-projects-grid{grid-template-columns:1fr}
}

[data-theme="dark"] .nf-projects-h{color:var(--ink-200)}

/* ═══ Careers — job requirements PDF popup ═══ */
.jobpdf-modal-panel{max-width:900px;padding:0;display:flex;flex-direction:column;max-height:88vh;max-height:88dvh}
.jobpdf-modal-head{
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  padding:24px 60px 20px 28px;border-bottom:1px solid var(--navy-50);flex-shrink:0;
}
.jobpdf-modal-head .cv-name{font-size:1.15rem;margin:0}
.jobpdf-download{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;font-size:.85rem;padding:9px 16px}
.jobpdf-modal-body{flex:1;min-height:60vh;background:var(--ink-600)}
.jobpdf-modal-body iframe{width:100%;height:100%;min-height:60vh;border:none;display:block}

@media(max-width:640px){
  .jobpdf-modal-head{padding:18px 50px 16px 18px}
  .jobpdf-modal-body,.jobpdf-modal-body iframe{min-height:50vh}
}

[data-theme="dark"] .jobpdf-modal-head{border-color:rgba(255,255,255,.08)}

/* Job count */
.car-jobs-num{color:var(--accent-text);font-weight:900}

/* ═══ Shared content components ═══ */

/* Body copy under a section heading */
.section-copy{color:var(--ink-700);font-size:1.02rem;line-height:1.85;margin:0 0 18px}
.section-copy:last-of-type{margin-bottom:0}
[data-theme="dark"] .section-copy{color:var(--ink-400)}

/* Closing tagline, centred by default */
.section-tagline{margin-top:18px;font-weight:700;color:var(--navy);font-size:1.02rem;text-align:center}
[data-theme="dark"] .section-tagline{color:var(--ink-200)}

/* Intro band directly under a hero, for pages without a photo */

/* Text-only CTA link */
.cta-link{
  display:inline-flex;align-items:center;gap:6px;color:var(--gold-d,var(--gold-700));
  font-weight:800;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;
  text-decoration:none;border-bottom:1.5px solid rgba(var(--gold-500-rgb),.4);
  padding-bottom:2px;transition:border-color .2s,color .2s;
}
.cta-link:hover{color:var(--navy);border-color:var(--navy)}
[data-theme="dark"] .cta-link{color:var(--gold)}
[data-theme="dark"] .cta-link:hover{color:#fff;border-color:#fff}

/* Horizontal step-flow diagrams */
/* Numbered process (Asset Integrity decision framework): one row of equal steps
   joined by arrows; a vertical timeline on smaller screens. */
.flow-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(var(--steps,5),minmax(0,1fr));gap:22px;counter-reset:flow}
.flow-step{
  position:relative;counter-increment:flow;background:#fff;border:1px solid rgba(var(--gold-500-rgb),.35);
  border-radius:10px;padding:20px 18px;text-align:left;box-shadow:var(--shadow-xs,0 1px 2px rgba(var(--ink-900-rgb),.03));
}
.flow-step::before{content:counter(flow,decimal-leading-zero);display:block;font-size:.72rem;font-weight:800;letter-spacing:.14em;color:var(--text-muted);margin-bottom:8px}
.flow-step:not(:last-child)::after{content:'→';position:absolute;top:50%;right:-17px;transform:translateY(-50%);color:var(--accent-text);font-size:1rem;line-height:1}
[data-theme="dark"] .flow-step{background:var(--navy-925);border-color:rgba(var(--gold-500-rgb),.25)}
.flow-step-label{color:var(--accent-text);font-weight:800;letter-spacing:.08em;font-size:.85rem;margin-bottom:8px}
.flow-step-desc{font-size:.86rem;color:var(--text-body);line-height:1.6;margin:0}
.flow-steps-note{max-width:820px;margin:30px auto 0;text-align:center;color:var(--text-body);font-size:1.02rem;line-height:1.85}
@media(max-width:1024px){
  .flow-steps{grid-template-columns:minmax(0,1fr);gap:14px}
  .flow-step{display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:14px;padding:18px 18px 18px 16px}
  .flow-step::before{grid-row:1 / span 2;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0;
    background:var(--grad-navy,var(--navy-900));color:var(--gold-300);letter-spacing:.04em}
  .flow-step:not(:last-child)::after{content:'';top:auto;bottom:-15px;left:35px;right:auto;transform:none;width:2px;height:16px;background:rgba(var(--gold-500-rgb),.55)}
  .flow-steps-note{text-align:left}
}

/* ── Project Development — gateway timeline ── */
.pd-gateway{position:relative;display:grid;grid-template-columns:repeat(6,1fr);gap:16px;margin-top:40px}
.pd-gateway-line{position:absolute;top:32px;left:8.33%;right:8.33%;height:2px;z-index:0;
  background:linear-gradient(90deg,rgba(var(--gold-500-rgb),0) 0%,var(--gold) 12%,var(--gold) 88%,rgba(var(--gold-500-rgb),0) 100%);
}
.pd-gateway-item{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center}
.pd-gateway-num{
  width:64px;height:64px;flex-shrink:0;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-family:var(--font-head,'Georgia',serif);font-weight:800;font-size:1.15rem;color:#fff;
  background:linear-gradient(135deg,var(--navy) 0%,var(--navy-700) 100%);border:3px solid var(--gold);
  box-shadow:0 6px 16px rgba(var(--navy-900-rgb),.18);margin-bottom:18px;transition:transform .25s ease,box-shadow .25s ease;
}
.pd-gateway-item:hover .pd-gateway-num{transform:translateY(-4px) scale(1.05);box-shadow:0 10px 24px rgba(var(--navy-900-rgb),.26)}
.pd-gateway-item--final .pd-gateway-num{background:linear-gradient(135deg,var(--gold) 0%,var(--gold-400) 100%);color:var(--navy);border-color:var(--navy)}
.pd-gateway-title{font-weight:800;color:var(--heading-ink);font-size:.9rem;letter-spacing:.06em;text-transform:uppercase;margin:0 0 10px}
.pd-gateway-desc{font-size:.84rem;color:var(--body-muted);line-height:1.7;margin:0}
.pd-gateway-text{min-width:0}
@media(max-width:900px){
  .pd-gateway{grid-template-columns:repeat(3,1fr);row-gap:36px}
  .pd-gateway-line{display:none}
}
@media(max-width:600px){
  .pd-gateway{display:flex;flex-direction:column;grid-template-columns:none;gap:0;margin-top:34px}
  .pd-gateway-item{flex-direction:row;align-items:flex-start;text-align:left;gap:18px;position:relative;padding-bottom:32px}
  .pd-gateway-item::before{content:'';position:absolute;left:31px;top:64px;bottom:0;width:2px;
    background:linear-gradient(180deg,var(--gold) 0%,rgba(var(--gold-500-rgb),.15) 100%)}
  .pd-gateway-item:last-child::before{display:none}
  .pd-gateway-num{margin:0}
  .pd-gateway-text{flex:1;padding-top:10px}
  .pd-gateway-title,.pd-gateway-desc{text-align:left}
  .pd-gateway-desc{font-size:.92rem}
}

/* ── ECA-Backed Finance — ECA Advantage journey ──
   Same visual language as .pd-gateway but a separate component (7 single-label
   steps), so the Project Development page is unaffected. */
.eca-journey{position:relative;display:grid;grid-template-columns:repeat(7,1fr);gap:14px;margin-top:40px}
.eca-journey-line{position:absolute;top:26px;left:7%;right:7%;height:2px;z-index:0;
  background:linear-gradient(90deg,rgba(var(--gold-500-rgb),0) 0%,var(--gold) 10%,var(--gold) 90%,rgba(var(--gold-500-rgb),0) 100%);
}
.eca-journey-item{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center}
.eca-journey-num{
  width:52px;height:52px;flex-shrink:0;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-family:var(--font-head,'Georgia',serif);font-weight:800;font-size:.95rem;color:#fff;
  background:linear-gradient(135deg,var(--navy) 0%,var(--navy-700) 100%);border:3px solid var(--gold);
  box-shadow:0 6px 16px rgba(var(--navy-900-rgb),.18);margin-bottom:14px;transition:transform .25s ease,box-shadow .25s ease;
}
.eca-journey-item:hover .eca-journey-num{transform:translateY(-4px) scale(1.05);box-shadow:0 10px 24px rgba(var(--navy-900-rgb),.26)}
.eca-journey-item--final .eca-journey-num{background:linear-gradient(135deg,var(--gold) 0%,var(--gold-400) 100%);color:var(--navy);border-color:var(--navy)}
.eca-journey-title{font-weight:800;color:var(--heading-ink);font-size:.8rem;letter-spacing:.04em;text-transform:uppercase;margin:0;line-height:1.4}
@media(max-width:900px){
  .eca-journey{grid-template-columns:repeat(4,1fr);row-gap:32px}
  .eca-journey-line{display:none}
}
@media(max-width:600px){
  .eca-journey{display:flex;flex-direction:column;grid-template-columns:none;gap:0;margin-top:34px}
  /* phones: a compact numbered timeline */
  .eca-journey-item{flex-direction:row;align-items:center;text-align:left;gap:14px;position:relative;padding-bottom:14px}
  .eca-journey-item::before{content:'';position:absolute;left:19px;top:40px;bottom:0;width:2px;
    background:linear-gradient(180deg,var(--gold) 0%,rgba(var(--gold-500-rgb),.15) 100%)}
  .eca-journey-item:last-child::before{display:none}
  .eca-journey-num{margin:0;width:40px;height:40px;font-size:.82rem;border-width:2px}
  .eca-journey-title{text-align:left;padding-top:0;font-size:.84rem}
}

/* ── About — numbered pillar list ── */

/* ── About — EPC lifecycle strip ── */
.epc-flow-sec{padding:clamp(64px,9vw,104px) 0;background:var(--grad-navy-deep,var(--navy-900))}
.epc-flow-sec .overline{color:var(--accent-text)}
.epc-flow-sec .section-title{color:#fff}
.epc-flow{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:0;max-width:980px;margin:0 auto}
.epc-flow-step{display:flex;flex-direction:column;align-items:center;gap:14px;min-width:112px}
.epc-flow-num{width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.06);border:1px solid rgba(var(--gold-500-rgb),.5);color:var(--accent-text);font-weight:800;font-size:1.1rem;display:flex;align-items:center;justify-content:center}
.epc-flow-label{font-size:clamp(.82rem,3vw,.9rem);font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#fff;text-align:center}
.epc-flow-arrow{flex:1 1 32px;min-width:24px;height:1px;background:repeating-linear-gradient(90deg,var(--gold) 0 6px,transparent 6px 11px);margin:0 8px 30px;opacity:.7}
@media(max-width:760px){
  /* phones: a compact vertical sequence — number beside the label */
  .epc-flow{flex-direction:column;align-items:stretch;flex-wrap:nowrap;max-width:320px}
  .epc-flow-step{flex-direction:row;gap:16px;min-width:0}
  .epc-flow-num{width:42px;height:42px;font-size:.95rem;flex-shrink:0}
  .epc-flow-label{text-align:left}
  .epc-flow-arrow{width:1px;height:16px;min-width:0;flex:none;margin:4px 0 4px 21px;background:repeating-linear-gradient(180deg,var(--gold) 0 4px,transparent 4px 8px)}
}

/* ── About — final CTA band ── */
.about-final-cta{position:relative;background-size:cover;background-position:center;padding:130px 0}
.about-final-cta-overlay{position:absolute;inset:0;background:linear-gradient(160deg,rgba(var(--navy-900-rgb),.92) 0%,rgba(var(--navy-900-rgb),.84) 100%)}
.about-final-cta-inner{position:relative;z-index:1;text-align:center;max-width:720px;margin:0 auto}
.ed-eyebrow-cta{display:block;text-align:center}
.about-final-cta-inner h2{font-family:var(--font-head,'Georgia',serif);font-size:clamp(2.1rem,4.4vw,3rem);font-weight:800;color:#fff;margin-bottom:16px;line-height:1.15;letter-spacing:-.01em}
.about-final-cta-inner p{color:rgba(255,255,255,.8);font-size:clamp(1rem,3.4vw,1.1rem);line-height:1.75;margin-bottom:32px}
.about-final-cta-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
@media(max-width:600px){.about-final-cta{padding:80px 0}.about-final-cta-btns{flex-direction:column;align-items:stretch}.about-final-cta-btns .btn{justify-content:center}}

/* ═══ Editorial system — image+copy spreads and full-bleed sections ═══ */

/* ── Section rhythm ── */
.ed-section{padding:112px 0}
.ed-alt-bg{background:var(--bg-alt)}
[data-theme="dark"] .ed-alt-bg{background:var(--navy-950)}

/* ── Whitespace separator ── */
.ed-gap{height:64px}
@media(max-width:1024px){.ed-gap{height:52px}}
@media(max-width:760px){.ed-gap{height:38px}}
/* Between two coloured bands a white gap reads as a glitch: the bands' own padding
   gives the rhythm, so the gap collapses there. */
:is(.ed-alt-bg,.bizseg--alt,.ed-full) + .ed-gap:has(+ :is(.ed-alt-bg,.bizseg--alt,.ed-full)){display:none}
/* Phones: a full-bleed photo that opens a band starts at the band's top edge. */
@media(max-width:560px){
  .ed-split.ed-alt-bg:not(.ed-split--stacked){padding-top:0}
}

@media(max-width:1024px){.ed-section{padding:86px 0}}
@media(max-width:760px){.ed-section{padding:64px 0}}

.ed-eyebrow{display:inline-block;font-size:clamp(.68rem,2vw,.72rem);font-weight:800;letter-spacing:3px;text-transform:uppercase;color:var(--accent-text);margin-bottom:16px}
.ed-title{font-family:var(--font-head,'Georgia',serif);font-weight:800;color:var(--navy);line-height:1.14;margin:0 0 22px;font-size:clamp(1.7rem,4.2vw,2.65rem);letter-spacing:-.01em}
.ed-title-lt{color:#fff}
.ed-copy p{font-size:clamp(1rem,3.6vw,1.08rem);line-height:1.8;color:var(--ink-700);margin:0 0 16px}
.ed-copy p:last-child{margin-bottom:0}
.ed-copy-lt p{color:rgba(255,255,255,.86)}
[data-theme="dark"] .ed-title{color:var(--navy-50)}
[data-theme="dark"] .ed-copy p{color:var(--ink-400)}
.ed-split .section-tagline,.ed-full-card .section-tagline{text-align:left}

/* ── Large image / placeholder (argan_ed_img) ── */
.ed-split-media{overflow:hidden;border-radius:10px}
.ed-split-media img,.ed-img-placeholder{width:100%;height:100%;min-height:360px;object-fit:cover;display:block;border-radius:10px;box-shadow:var(--shadow-md);transition:transform .7s cubic-bezier(.2,.7,.3,1)}
.ed-split-media:hover img{transform:scale(1.035)}
@media(max-width:560px){.ed-split-media{border-radius:0}}
.ed-img-placeholder{background:var(--grad-navy);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.62);font-size:.82rem;text-align:center;padding:24px}

/* ── Market capability checklist, full width below an .ed-split ── */
.bizseg-caps-full{margin-top:52px;padding-top:40px;border-top:1px solid var(--ink-200)}
.bizseg-caps-full h4{font-size:.78rem;font-weight:800;letter-spacing:1.6px;text-transform:uppercase;color:var(--navy);margin:0 0 22px}
.bizseg-caps-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:14px 36px}
.bizseg-caps-grid li{display:flex;align-items:flex-start;gap:10px;font-size:.9rem;color:var(--ink-700);line-height:1.55}
.bizseg-caps-grid li svg{flex-shrink:0;color:var(--accent-text);margin-top:3px}
[data-theme="dark"] .bizseg-caps-full{border-top-color:rgba(255,255,255,.1)}
[data-theme="dark"] .bizseg-caps-full h4{color:var(--ink-200)}
[data-theme="dark"] .bizseg-caps-grid li{color:var(--ink-400)}
@media(max-width:1024px){.bizseg-caps-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.bizseg-caps-grid{grid-template-columns:1fr}.bizseg-caps-full{margin-top:36px;padding-top:28px}}

/* ── ed-split: asymmetric image+copy spread ── */
.ed-split{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:64px;align-items:center;max-width:var(--max-w);margin:0 auto;padding:0 44px}
.ed-split[data-img-side="right"]{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
.ed-split[data-img-side="right"] .ed-split-media{order:2}
.ed-split[data-img-side="right"] .ed-split-body{order:1}
.ed-split-media{align-self:stretch}
.ed-split-media img,.ed-split-media .ed-img-placeholder{height:560px}
.ed-split-body{max-width:560px}
[data-theme="dark"] .ed-split-body{color:var(--ink-200)}

@media(max-width:1200px){
  .ed-split{gap:44px}
  .ed-split-media img,.ed-split-media .ed-img-placeholder{height:480px}
}
@media(max-width:1024px){
  .ed-split,.ed-split[data-img-side="right"]{grid-template-columns:minmax(0,1fr)}
  .ed-split{gap:34px;padding:0 32px}
  .ed-split .btn{white-space:normal;text-align:center}
  .ed-split[data-img-side="right"] .ed-split-media,.ed-split[data-img-side="right"] .ed-split-body{order:initial}
  .ed-split-media img,.ed-split-media .ed-img-placeholder{height:440px}
  .ed-split-body{max-width:none}
}
@media(max-width:760px){
  .ed-split{padding:0 24px;gap:26px}
  .ed-split-media img,.ed-split-media .ed-img-placeholder{height:340px;border-radius:8px}
}
@media(max-width:560px){
  /* Edge-to-edge image on mobile */
  .ed-split{padding:0}
  .ed-split-body{padding:0 20px}
  .ed-split-media img,.ed-split-media .ed-img-placeholder{height:300px;border-radius:0;box-shadow:none}
}
/* A spread on the alternate background is a full-width band with its own vertical
   padding; consecutive bands join into one (the second drops its top padding). */
.ed-split.ed-alt-bg{padding-top:96px;padding-bottom:96px;box-shadow:0 0 0 100vmax var(--bg-alt);clip-path:inset(0 -100vmax)}
[data-theme="dark"] .ed-split.ed-alt-bg{box-shadow:0 0 0 100vmax var(--navy-950)}
.ed-split.ed-alt-bg+.ed-split.ed-alt-bg{padding-top:0}
@media(max-width:1024px){.ed-split.ed-alt-bg{padding-top:72px;padding-bottom:72px}}
@media(max-width:760px){.ed-split.ed-alt-bg{padding-top:52px;padding-bottom:52px}}

/* ed-split--stacked: extra content sits under the image, so a long text
   column never leaves empty space beside it. Phones keep reading order. */
.ed-split--stacked{align-items:start;row-gap:32px}
.ed-split--stacked .ed-split-media{grid-column:1;grid-row:1}
.ed-split--stacked .ed-split-body{grid-column:2;grid-row:1 / span 2}
.ed-split--stacked .ed-split-under{grid-column:1;grid-row:2}
.ed-split--stacked .ed-split-media img,.ed-split--stacked .ed-split-media .ed-img-placeholder{height:440px}
@media(max-width:1024px){
  .ed-split--stacked .ed-split-media,.ed-split--stacked .ed-split-body,.ed-split--stacked .ed-split-under{grid-column:auto;grid-row:auto}
}
@media(max-width:560px){.ed-split--stacked .ed-split-under{padding:0 20px}}

.appr-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.appr-card{background:var(--surface);border:1px solid var(--border);border-top:3px solid var(--gold);border-radius:10px;padding:22px 22px 24px;box-shadow:var(--shadow-card)}
.appr-card .appr-check{margin-bottom:14px}
.appr-card h4{font-size:1rem;font-weight:700;color:var(--text-h);margin:0 0 8px}
.appr-card p{font-size:.92rem;color:var(--text-body);line-height:1.7;margin:0}
@media(max-width:640px){.appr-cards{grid-template-columns:1fr}}

/* ── ed-pillars: numbered pillar cards ── */
.ed-pillars{display:flex;flex-direction:column;gap:16px;margin-top:28px}
.ed-pillar{display:flex;gap:18px;align-items:flex-start;background:#fff;border:1px solid var(--ink-200);border-radius:10px;padding:22px;box-shadow:0 4px 16px rgba(var(--navy-900-rgb),.04);transition:box-shadow .25s,transform .25s,border-color .25s}
.ed-pillar:hover{box-shadow:0 14px 30px rgba(var(--navy-900-rgb),.09);transform:translateY(-2px);border-color:rgba(var(--gold-500-rgb),.35)}
.ed-pillar-num{flex-shrink:0;width:40px;height:40px;border-radius:50%;background:var(--grad-navy);color:var(--accent-text);display:flex;align-items:center;justify-content:center;font-family:var(--font-head,'Georgia',serif);font-size:1.02rem;font-weight:800}
.ed-pillar h4{font-size:clamp(1rem,3.6vw,1.05rem);font-weight:700;color:var(--navy);margin:0 0 6px}
.ed-pillar p{font-size:clamp(.94rem,3.6vw,1rem);color:var(--ink-600);line-height:1.72;margin:0}
[data-theme="dark"] .ed-pillar{background:var(--navy-900);border-color:rgba(255,255,255,.08)}
[data-theme="dark"] .ed-pillar h4{color:var(--ink-200)}
[data-theme="dark"] .ed-pillar p{color:var(--ink-400)}
@media(max-width:560px){
  /* phones: a full-width numbered list instead of narrow side-by-side cards */
  .ed-pillars{gap:0;margin-top:22px}
  .ed-pillar{display:block;padding:18px 0 6px;background:none;border:0;border-top:1px solid var(--border);border-radius:0;box-shadow:none}
  .ed-pillar:hover{transform:none;box-shadow:none}
  .ed-pillar-num{width:auto;height:auto;margin-bottom:6px;background:none;box-shadow:none;border:0;color:var(--gold-700);font-size:.78rem;font-weight:800;letter-spacing:.14em;justify-content:flex-start}
  [data-theme="dark"] .ed-pillar{background:none;border-color:rgba(255,255,255,.1)}
  [data-theme="dark"] .ed-pillar-num{color:var(--gold-300)}
}

/* ── ed-full: full-bleed photo with overlaid copy card ── */
.ed-full{position:relative;background-size:cover;background-position:center;min-height:clamp(560px,72vh,780px);display:flex;align-items:flex-end;background-attachment:scroll}
.ed-full-scrim{position:absolute;inset:0;background:linear-gradient(0deg,rgba(var(--navy-900-rgb),.94) 0%,rgba(var(--navy-900-rgb),.8) 48%,rgba(var(--navy-900-rgb),.35) 100%)}
.ed-full-inner{position:relative;z-index:1;width:100%;padding-bottom:72px}
.ed-full-card{max-width:640px}
.ed-full-card .ed-copy p{margin-bottom:14px}
@media(max-width:1024px){
  .ed-full{min-height:clamp(480px,68vh,640px)}
  .ed-full-inner{padding-bottom:56px}
}
@media(max-width:760px){
  .ed-full{min-height:420px}
  .ed-full-inner{padding-top:160px;padding-bottom:44px}
  .ed-full-scrim{background:linear-gradient(0deg,rgba(var(--navy-900-rgb),.94) 0%,rgba(var(--navy-900-rgb),.84) 60%,rgba(var(--navy-900-rgb),.7) 100%)}
  .ed-full-card{max-width:none}
}

/* ── Hero index: icon links to the page's sections (argan_hero_index()).
   Desktop: one or two balanced rows (--index-cols); phones: two columns. ── */
.ed-hero-index{display:grid;grid-template-columns:repeat(var(--index-cols,4),minmax(0,1fr));gap:0 28px;width:100%;margin-top:36px;text-align:left}
.ed-hero-index-item{display:flex;flex-direction:column;gap:10px;padding:16px 0 6px;border-top:1px solid rgba(255,255,255,.24);color:rgba(255,255,255,.9);text-decoration:none;transition:border-color .2s,color .2s}
.ed-hero-index-item:hover{color:#fff;border-top-color:var(--gold-300)}
.ed-hero-index-ico{display:flex;align-items:center;justify-content:center;width:38px;height:38px;flex-shrink:0;border:1px solid rgba(var(--gold-300-rgb),.45);border-radius:50%;color:var(--gold-300);background:rgba(var(--navy-975-rgb),.25);transition:background .2s,border-color .2s,color .2s}
.ed-hero-index-ico svg{width:19px;height:19px}
.ed-hero-index-item:hover .ed-hero-index-ico{background:var(--gold-300);border-color:var(--gold-300);color:var(--navy-900)}
.ed-hero-index-label{font-size:.84rem;font-weight:700;line-height:1.35;text-wrap:balance}
@media(max-width:760px){
  .ed-hero-index{grid-template-columns:1fr 1fr;gap:0 18px;margin-top:26px}
  .ed-hero-index-item{flex-direction:row;align-items:center;gap:10px;padding:11px 0}
  .ed-hero-index-ico{width:32px;height:32px}
  .ed-hero-index-ico svg{width:16px;height:16px}
  .ed-hero-index-label{font-size:.8rem}
}

/* ── Buttons, About pages only ── */
body.is-about-page .btn{border-radius:6px;padding:14px 30px;font-size:12.5px;letter-spacing:1.6px;box-shadow:none;transition:transform .22s,box-shadow .22s,background .22s,color .22s,border-color .22s}
body.is-about-page .btn:hover{transform:translateY(-2px)}
body.is-about-page .btn-primary{box-shadow:0 10px 24px rgba(var(--navy-900-rgb),.18)}
body.is-about-page .btn-primary:hover{box-shadow:0 14px 30px rgba(var(--gold-500-rgb),.3)}
body.is-about-page .btn-secondary{border-width:1.5px}
body.is-about-page .btn-secondary:hover{box-shadow:0 10px 24px rgba(var(--navy-900-rgb),.14)}
body.is-about-page .btn-gold:hover{box-shadow:0 14px 30px rgba(var(--gold-500-rgb),.35)}
body.is-about-page .btn-white:hover{box-shadow:0 10px 24px rgba(0,0,0,.18)}

/* ═══ Customizer rules (values from the inline --t-* tokens) ═══ */
body{text-align:left;
  background:#fff!important;font-weight:400;overflow-x:hidden;opacity:0;transition:opacity .3s ease,background-color .3s ease,color .3s ease;font-family:var(--t-fb);font-size:var(--t-fs);line-height:var(--t-lh);color:var(--t-body_c)}
h1,h2,h3,h4,h5,h6{font-family:var(--t-fh);color:var(--t-head_c)}
a{text-decoration:none;transition:color .2s;color:var(--t-lnk)}a:hover{color:var(--t-lnk_h)}

/* Header */
#site-header{background:var(--t-hdr_bg);border-bottom-color:var(--t-hdr_bd);height:var(--t-hh)}
/* Off-canvas menu below the header. Closed: moved off-screen and hidden (no shadow
   bleeding onto the page, links not reachable by keyboard). Scrolls when taller than
   the screen. */
#mob-panel{
  position:fixed;top:var(--t-hh);right:0;z-index:1060;
  width:min(320px,88vw);height:calc(100vh - var(--t-hh));height:calc(100dvh - var(--t-hh));
  display:flex;flex-direction:column;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;
  background:var(--navy-975);border-left:1px solid rgba(var(--gold-500-rgb),.2);
  transform:translateX(105%);visibility:hidden;
  transition:transform .38s cubic-bezier(.4,0,.2,1),visibility 0s linear .38s}
#mob-overlay{
  display:none;position:fixed;inset:0;z-index:1050;
  background:rgba(var(--backdrop-rgb),.65);
  backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);top:var(--t-hh)}
#primary-nav>li>a{display:flex;align-items:center;gap:4px;height:100%;padding:0 12px;font-size:12.5px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;border-bottom:3px solid transparent;margin-bottom:-3px;transition:color .2s,border-color .2s;white-space:nowrap;text-decoration:none;background:transparent;color:var(--t-nav_c)}
#primary-nav>li>a:hover,#primary-nav>li.current-menu-item>a,#primary-nav>li.current-menu-parent>a,#primary-nav>li.current-menu-ancestor>a{color:var(--t-nav_ac);border-bottom-color:var(--t-nav_ac)}
#primary-nav>li>a::before{background:var(--t-nav_ac)}

/* Dropdown */
.sub-menu{display:none;position:absolute;top:var(--nav-h);left:0;width:max-content;min-width:220px;max-width:280px;border-top:3px solid var(--navy);border-bottom:2px solid var(--gold);padding:4px 0;z-index:9999;box-shadow:0 12px 40px rgba(var(--navy-700-rgb),.18);list-style:none;background:var(--t-drop_bg);border-top-color:var(--t-drop_bd)}
.sub-menu li a{display:block;padding:10px 18px;font-size:12px;font-weight:500;letter-spacing:.4px;text-transform:uppercase;border-left:3px solid transparent;border-bottom:1px solid var(--border);transition:all .15s;text-decoration:none;color:var(--t-drop_c)}
.sub-menu li a:hover{padding-left:22px;color:var(--t-drop_hv);background:var(--t-navy_l_css);border-left-color:var(--t-drop_hv)}

/* Hero */
.hero-slide::after{content:'';position:absolute;inset:0;background:var(--t-hero_ov)}
.hero-body h1{font-size:clamp(2.4rem,6vw,4.8rem);font-weight:700;letter-spacing:-1.5px;line-height:1.05;margin-bottom:14px;text-shadow:0 2px 20px rgba(0,0,0,.3);color:var(--t-hero_h1)}
.hero-body h1 em{display:block;font-style:normal;color:var(--t-hero_em)}
.hero-sub{font-size:clamp(.95rem,1.8vw,1.15rem);margin-bottom:32px;line-height:1.65;max-width:600px;margin-left:auto;margin-right:auto;color:var(--t-hero_sb)}
.hero-dot.active{width:44px;background:var(--t-hero_da)}
.hero-proof-num{font-size:1.7rem;font-weight:700;line-height:1;display:block;font-family:var(--font-head);color:var(--t-hero_pn)}

/* Buttons */
.btn-primary{background:var(--t-btn1bg);color:var(--t-btn1c);border-color:var(--t-btn1bg);box-shadow:0 3px 0 var(--t-btnsd)}
.btn-primary:hover{box-shadow:0 3px 0 var(--navy-d);transform:translateY(-1px);background:var(--t-btn1hv);border-color:var(--t-btn1hv);color:var(--btn-gold-text)}
.btn-secondary{background:var(--t-btn2bg);color:var(--t-btn2c);border-color:var(--t-btn2c)}
.btn-secondary:hover{background:var(--t-btn2hv);border-color:var(--t-btn2hv);color:#fff}
.btn-submit{color:#fff;border:none;padding:13px 32px;width:100%;font-family:var(--font-body);font-weight:700;font-size:12.5px;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;transition:background .2s;background:var(--t-btn1bg);box-shadow:0 3px 0 var(--t-btnsd)}
.btn-submit:hover{box-shadow:0 3px 0 var(--navy-d);background:var(--t-btn1hv)}

/* Advantage */
.advantage{background:linear-gradient(135deg,var(--t-adv_bg) 0%,var(--t-adv_bg_d12) 100%)}

/* News cards */

/* Page hero */

/* Section decorations */
.overline{font-size:13px;font-weight:800;letter-spacing:3px;text-transform:uppercase;display:block;margin-bottom:12px;color:var(--accent-text)}
.section-title::after{content:'';display:block;width:40px;height:3px;margin-top:12px;background:var(--t-navy)}
.ticker-monogram{width:36px;height:36px;background:var(--bg-alt);border:1px solid var(--border);border-radius:4px;display:flex;align-items:center;justify-content:center;font-family:var(--font-head);font-size:12px;font-weight:700;color:var(--t-navy)}

/* Safety dashboard */
.sdash-donut-center strong{font-size:24px;font-weight:800;line-height:1;color:var(--t-icy)}

/* Footer */
#site-footer{position:relative;overflow:hidden;text-align:center;font-family:var(--font-body);box-shadow:inset 0 8px 24px -8px rgba(0,0,0,.45);background:linear-gradient(180deg,var(--t-ft_t1) 0%,var(--t-ft_t2) 100%);color:var(--t-ft_c)}

/* Jobs */
.job-card{border-left-color:var(--t-navy)}
.job-apply{color:var(--t-navy);border-bottom-color:var(--t-navy)}
.job-apply:hover{color:var(--accent-text);border-color:var(--t-gold)}

/* Dark header links; over the homepage hero (.at-home-top) they stay white. */
[data-theme="dark"] #site-header:not(.at-home-top) #primary-nav>li>a{color:var(--ink-400) !important}
[data-theme="dark"] #site-header:not(.at-home-top) #primary-nav>li>a:hover,
[data-theme="dark"] #site-header:not(.at-home-top) #primary-nav>li.current-menu-item>a,
[data-theme="dark"] #site-header:not(.at-home-top) #primary-nav>li.current-menu-parent>a,
[data-theme="dark"] #site-header:not(.at-home-top) #primary-nav>li.current-menu-ancestor>a{color:#fff !important;border-bottom-color:var(--gold) !important}
[data-theme="dark"] .sub-menu{background:var(--navy-900) !important;border-top-color:rgba(255,255,255,.12) !important}
[data-theme="dark"] .sub-menu li a{border-color:rgba(255,255,255,.06)!important;color:var(--ink-400) !important}
[data-theme="dark"] .sub-menu li a:hover{color:#fff !important;background:rgba(255,255,255,.05) !important}
[data-theme="dark"] .mob-row{color:var(--ink-200) !important}
[data-theme="dark"] .fp-nav{background:var(--navy-975) !important}

/* ═══ Title-only page heroes ═══ */
/* The hero paragraph is moved below the hero by the shared JS. */

/* ═══ Layout refinements ═══ */

/* Two-column sections: media and copy share a top edge */
.argan-section-who .c2 > div,
.argan-section-international .c2 > div,
.argan-section-approach .c2 > div,
.argan-service-page .c2 > div,
.argan-group-page .c2 > div,
.argan-sustainability-page .c2 > div,
.argan-careers-page .c2 > div{min-width:0}

/* Compact overview intro */

/* Mission: balanced media/text approach section */
.argan-mission-page .mv-grid{align-items:stretch}
.argan-mission-page .mv-card{height:100%;display:flex;flex-direction:column}
.argan-mission-page .mv-card p{flex:0 0 auto}
.argan-section-approach{background:var(--snow)}
.argan-section-approach .c2{align-items:stretch}

/* Core values: intro band and equal-height cards */
.argan-values-page .vals-grid{align-items:stretch;gap:20px}
.argan-values-page .val-card{height:100%;display:flex;flex-direction:column;border-top:4px solid var(--navy);border-radius:0 0 8px 8px;padding:30px 26px 26px}
.argan-values-page .val-body{flex:1}

/* Market capability sections */
.argan-market-page .bizseg-title::after{content:"";position:absolute;left:0;bottom:0;width:52px;height:3px;background:var(--gold)}

/* Services, Group and Sustainability editorial images */

/* Contact: balanced form and info columns */
.argan-contact-page .ct-info,.argan-contact-page .ct-form-wrap{min-width:0}
.argan-contact-page .ct-form-card{height:100%}
@media(max-width:560px){
  .argan-values-page .vals-grid{gap:14px}
  .argan-values-page .val-card{padding:26px 22px 24px}
  .argan-market-page .bizseg-head{gap:14px}
  .argan-market-page .bizseg-ico{width:52px;height:52px}
  .argan-market-page .bizseg-title{font-size:1.28rem}
  .argan-contact-page .ct-grid{grid-template-columns:1fr;gap:28px}
}

/* ═══ Home — Our Markets ═══ */

/* ═══ Internal page hero and ordering ═══ */

.argan-section-who .c2,
.argan-section-international .c2,
.argan-section-approach .c2,
.argan-service-page .c2,
.argan-group-page .c2,
.argan-sustainability-page .c2,
.argan-careers-page .c2{
  align-items:center;
  grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);
  gap:clamp(30px,5vw,76px);
}
.argan-section-who .c2>div,
.argan-section-international .c2>div,
.argan-section-approach .c2>div,
.argan-service-page .c2>div,
.argan-group-page .c2>div,
.argan-sustainability-page .c2>div,
.argan-careers-page .c2>div{min-width:0}
.argan-section-who p,
.argan-section-international p,
.argan-section-approach p,
.argan-service-page .c2 p,
.argan-group-page .c2 p,
.argan-sustainability-page .c2 p,
.argan-careers-page .c2 p{max-width:68ch;line-height:1.82}

body.argan-who-page .exec-head,
body.argan-who-page .adv-sec-head{max-width:820px}
body.argan-who-page .exec-title,
body.argan-who-page .adv-sec-head h2{max-width:780px;text-wrap:balance}
body.argan-who-page .adv-sec-grid{align-items:stretch}
body.argan-who-page .adv-sec-card{min-height:210px}
.argan-market-page .bizseg .wrap{max-width:1180px}
.argan-market-page .bizseg-head{border-bottom:0;padding-bottom:0;display:flex;align-items:flex-start;gap:16px;margin-bottom:24px;border:0}
.argan-market-page .bizseg-head>div{min-width:0}
.argan-market-page .bizseg-title{position:relative;margin:0;padding-bottom:14px;line-height:1.15}

.argan-service-root .svc-cards,
body.page-template-page-services .svc-cards{align-items:stretch}
.argan-service-page .svcb-grid{align-items:stretch}
.argan-service-page .svcb-card{min-width:0;min-height:230px;display:flex;flex-direction:column;align-items:flex-start}
.argan-service-page .svcb-more{margin-top:auto}

.argan-projects-page .proj-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:clamp(16px,2vw,26px)}
.argan-projects-page .proj-card{min-width:0;height:100%}
.argan-projects-page .proj-card-media{width:100%;height:clamp(190px,17vw,250px);min-height:0}
.argan-projects-page .proj-card-title{line-height:1.32;text-wrap:balance}

.argan-careers-page .car-benefits-grid{align-items:stretch}

.argan-careers-page .car-benefit{height:100%;min-width:0}
.argan-contact-page .ct-grid{gap:clamp(28px,5vw,64px);align-items:stretch}
.argan-contact-page .ct-info,
.argan-contact-page .ct-form-wrap{min-width:0}
@media(max-width:1024px){.argan-projects-page .proj-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:860px){
  .argan-section-who .c2,
  .argan-section-international .c2,
  .argan-section-approach .c2,
  .argan-service-page .c2,
  .argan-group-page .c2,
  .argan-sustainability-page .c2,
  .argan-careers-page .c2{grid-template-columns:1fr;gap:30px}
}
@media(max-width:560px){
  .argan-projects-page .proj-grid{grid-template-columns:1fr;gap:14px}
  .argan-projects-page .proj-card-media{height:clamp(190px,55vw,290px)}
  .bizseg{padding:0 0 48px}
  .argan-market-page .bizseg-head{gap:12px;margin-bottom:20px}
  .argan-market-page .bizseg-title{font-size:1.22rem}
  .argan-service-page .svcb-card{min-height:0}
}

/* ═══ Home hero ═══ */
.hero--home{height:clamp(620px,78vh,820px);min-height:620px;align-items:center;justify-content:flex-start;padding-top:var(--nav-h)}
.hero--home .hero-slide::after{background:linear-gradient(90deg,rgba(var(--navy-950-rgb),.8) 0%,rgba(var(--navy-950-rgb),.52) 42%,rgba(var(--navy-950-rgb),.18) 76%,rgba(var(--navy-950-rgb),.34) 100%)}
.hero--home .hero-body{max-width:1180px;width:100%;margin:0 auto;padding:0 clamp(28px,7vw,96px);text-align:left}
.hero--home .hero-badge{margin-bottom:20px;letter-spacing:2.8px}
.hero--home .hero-badge b{font-weight:700}
.hero--home .hero-body h1{max-width:720px;margin-bottom:16px;font-size:clamp(2.7rem,5.6vw,5.3rem);line-height:1.02;letter-spacing:-2px}
.hero--home .hero-sub{max-width:510px;margin:0 0 27px;font-size:clamp(.95rem,1.35vw,1.1rem);line-height:1.6}
.hero--home .hero-btns{justify-content:flex-start}
.hero--home .hero-btns .btn{padding:12px 23px!important}
.hero--home .hero-proof{justify-content:flex-start;gap:0;max-width:580px;margin-top:31px;padding-top:17px;border-top-color:rgba(255,255,255,.24)}
.hero--home .hero-proof-item{min-width:125px;text-align:left;padding-right:18px;margin-right:18px;border-right:1px solid rgba(255,255,255,.2)}
.hero--home .hero-proof-item:last-child{border-right:0;margin-right:0}
.hero--home .hero-proof-num{font-size:1.45rem}
.hero--home .hero-proof-lbl{font-size:10.5px;letter-spacing:1.1px}
.hero--home .hero-dots{left:auto;right:clamp(24px,5vw,72px);bottom:31px;transform:none}
.hero--home .hero-dot{width:22px;height:3px}
.hero--home .hero-dot.active{width:38px;background:var(--gold)}
.hero--home .hero-scroll-cue{left:clamp(28px,7vw,96px);transform:none}
.hero--home .hero-scroll-cue svg{width:20px;height:20px}
@media(max-width:700px){.hero--home{height:clamp(560px,82svh,720px);min-height:560px;align-items:flex-end;padding-top:var(--nav-h);padding-bottom:72px}.hero--home .hero-slide::after{background:linear-gradient(180deg,rgba(var(--navy-950-rgb),.2) 12%,rgba(var(--navy-950-rgb),.42) 42%,rgba(var(--navy-950-rgb),.88) 100%)}.hero--home .hero-body{padding:0 20px;margin:0;text-align:left}.hero--home .hero-badge{font-size:10.5px;letter-spacing:2px;padding:5px 11px;margin-bottom:15px}.hero--home .hero-body h1{font-size:clamp(2.15rem,10vw,3.1rem);letter-spacing:-1px;line-height:1.04;margin-bottom:12px}.hero--home .hero-sub{font-size:.87rem;line-height:1.5;margin-bottom:19px;max-width:360px}.hero--home .hero-btns{gap:8px}.hero--home .hero-btns .btn{font-size:10.5px!important;letter-spacing:.8px!important;padding:10px 12px!important}.hero--home .hero-proof{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 15px;max-width:360px;margin-top:24px;padding-top:13px}.hero--home .hero-proof-item{min-width:0;padding:0;margin:0;border:0}.hero--home .hero-proof-num{font-size:1.15rem}.hero--home .hero-proof-lbl{font-size:10.5px;letter-spacing:.8px}.hero--home .hero-arrow{display:none}.hero--home .hero-dots{right:20px;bottom:20px;gap:5px}.hero--home .hero-dot{width:16px}.hero--home .hero-dot.active{width:28px}.hero--home .hero-scroll-cue{display:none}}
@media(prefers-reduced-motion:reduce){.hero--home .hero-slide{transition:none}}

/* Size by available viewport height */
@media (min-width:701px){
  .hero--home{height:100vh;height:100svh;min-height:560px;max-height:none;margin-bottom:0!important}
}
@media (min-width:701px) and (max-height:820px){
  .hero--home{min-height:560px}
  .hero--home .hero-body h1{font-size:clamp(2.35rem,5.1vw,4.35rem)}
  .hero--home .hero-sub{margin-bottom:20px}
  .hero--home .hero-proof{margin-top:24px;padding-top:13px}
  .hero--home .hero-proof-num{font-size:1.25rem}
}
@media (min-width:1600px) and (min-height:900px){
  .hero--home .hero-body{max-width:1360px}
  .hero--home .hero-body h1{max-width:800px}
}

/* Hero proof metrics */
.hero--home .hero-proof--metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;max-width:650px;align-items:start}
.hero--home .hero-proof--metrics .hero-proof-item{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:start;column-gap:9px;min-width:0;text-align:left;padding:0 16px;margin:0;border-right:1px solid rgba(255,255,255,.2)}
.hero--home .hero-proof--metrics .hero-proof-item:first-child{padding-left:0}
.hero--home .hero-proof--metrics .hero-proof-item:last-child{border-right:0;padding-right:0}
.hero--home .hero-proof-icon{display:flex;align-items:center;justify-content:center;width:21px;height:21px;color:var(--accent-text);margin-top:1px}
.hero--home .hero-proof-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}
.hero--home .hero-proof-copy{display:flex;flex-direction:column;min-width:0}
.hero--home .hero-proof--metrics .hero-proof-num{font-size:1.35rem;line-height:1.05;white-space:nowrap}
.hero--home .hero-proof--metrics .hero-proof-lbl{margin-top:4px;font-size:10.5px;line-height:1.25;letter-spacing:1px;white-space:nowrap}
@media(max-width:700px){.hero--home .hero-proof--metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;max-width:360px}.hero--home .hero-proof--metrics .hero-proof-item{grid-template-columns:20px minmax(0,1fr);column-gap:7px;padding:0;border-right:0}.hero--home .hero-proof--metrics .hero-proof-item:first-child{padding-left:0}.hero--home .hero-proof-icon,.hero--home .hero-proof-icon svg{width:18px;height:18px}.hero--home .hero-proof--metrics .hero-proof-num{font-size:1.1rem}.hero--home .hero-proof--metrics .hero-proof-lbl{margin-top:3px;font-size:10px;letter-spacing:.7px}}

/* ═══ About classic refinements ═══ */.page-template-page-about-root .exec-sec{padding:clamp(68px,8vw,108px) 0}.page-template-page-about-root .exec-head{max-width:680px;margin:0 auto 36px;text-align:center}.page-template-page-about-root .exec-grid{align-items:stretch}.page-template-page-about-root .exec-card{min-height:100%;display:flex}.page-template-page-about-root .exec-card-body{display:flex;flex:1;flex-direction:column}.page-template-page-about-root .exec-bio{margin-top:auto}.page-template-page-about-root .adv-sec{padding:clamp(68px,8vw,108px) 0}.page-template-page-about-root .adv-sec-head{max-width:720px;margin-bottom:34px}.page-template-page-about-root .adv-sec-grid{align-items:stretch}.page-template-page-about-root .adv-sec-card{min-height:220px;height:100%;display:flex;flex-direction:column;text-align:left}.page-template-page-about-root .adv-sec-more{margin-top:auto}.page-template-page-about-root .fullspec-card{max-width:610px}.page-template-page-about-root .legacy-btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
@media(max-width:768px){.page-template-page-about-root .exec-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.page-template-page-about-root .exec-card{min-height:166px}.page-template-page-about-root .exec-card-body{padding:19px 16px}.page-template-page-about-root .adv-sec-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.page-template-page-about-root .adv-sec-card{min-height:190px;padding:20px 17px}.page-template-page-about-root .fullspec-card{margin:0 18px}.page-template-page-about-root .legacy-btns .btn{width:100%;justify-content:center}}
@media(max-width:460px){.page-template-page-about-root .exec-grid,.page-template-page-about-root .adv-sec-grid{grid-template-columns:1fr}.page-template-page-about-root .exec-card{min-height:138px}.page-template-page-about-root .adv-sec-card{min-height:155px}}

/* ═══ Internal pages — shared layout refinements ═══ */
/* Loaded after the page-specific rules. */

/* Split sections use the editorial float wrap: the photo floats at a natural
   size and the copy flows around it, so no blank space is left. */
body:not(.home) .c2{
  display:flow-root!important;
  gap:0!important;
}
body:not(.home) .c2>div{min-width:0}
body:not(.home) .c2 p{max-width:68ch;line-height:1.82}

/* Text-only two-column sections (.c2-text) keep the grid */
body:not(.home) .c2.c2-text{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  align-items:start!important;
  gap:clamp(28px,5vw,64px)!important;
}
@media(max-width:860px){
  body:not(.home) .c2.c2-text{grid-template-columns:1fr!important;gap:30px!important}
}

/* Service cards */
body.page-template-page-services .svc-cards{align-items:stretch}


/* ═══ About page ordering ═══ */

body.argan-page-about{
  --about-content-width:1180px;
}

/* Hero on a single left axis */

/* Overview band on the same axis */

/* Two-column rhythm */
body.argan-page-about section.pad>.wrap{
  width:min(var(--about-content-width),calc(100% - 72px));
  margin-inline:auto;
}
body.argan-page-about section.pad.bg-white,
body.argan-page-about section.pad.bg-alt{
  padding-block:clamp(64px,7vw,104px);
}
/* Image + copy wrap: .c-img is first in the DOM and floats (right in .c2,
   left in .c2.rev) so the copy flows around it and continues full-width. */
body.argan-page-about section.pad .c2{
  display:flow-root!important; /* clearfix for the float */
  gap:0!important;
}
body.argan-page-about section.pad .c2 .section-title{margin-top:0}
body.argan-page-about section.pad .c2 p{
  max-width:66ch;
  margin-bottom:1.1em;
  line-height:1.82;
}
body.argan-page-about section.pad .c2 p:last-child{margin-bottom:0}
body.argan-page-about section.pad .section-title{
  max-width:19ch;
  margin-bottom:18px;
  line-height:1.13;
  text-wrap:balance;
}

/* Leadership card grid */
body.argan-page-about .exec-sec{
  padding-block:clamp(64px,7vw,100px);
}
body.argan-page-about .exec-sec>.wrap,
body.argan-page-about .adv-sec>.wrap{
  width:min(var(--about-content-width),calc(100% - 72px));
  margin-inline:auto;
}
body.argan-page-about .exec-head{
  max-width:720px;
  margin-left:auto;
  margin-right:auto;
  margin-bottom:30px;
}
body.argan-page-about .exec-title{
  max-width:22ch;
  margin-left:auto;
  margin-right:auto;
  line-height:1.12;
  text-wrap:balance;
}
body.argan-page-about .exec-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  align-items:stretch;
}
body.argan-page-about .exec-card{
  min-width:0;
  min-height:190px;
  height:100%;
}
body.argan-page-about .exec-card-body{
  min-height:190px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  padding:24px 20px 20px;
}
body.argan-page-about .exec-name,
body.argan-page-about .exec-role{
  overflow-wrap:anywhere;
}
body.argan-page-about .exec-bio{margin-top:auto}

/* Advantage */
body.argan-page-about .adv-sec{
  padding-block:clamp(64px,7vw,100px);
}
body.argan-page-about .adv-sec-head{
  max-width:760px;
  margin-left:auto;
  margin-right:auto;
  margin-bottom:30px;
}
body.argan-page-about .adv-sec-head h2{
  max-width:22ch;
  margin-left:auto;
  margin-right:auto;
  line-height:1.12;
  text-wrap:balance;
}
body.argan-page-about .adv-sec-head p{max-width:62ch;margin-left:auto;margin-right:auto;line-height:1.78}
body.argan-page-about .adv-sec-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  align-items:stretch;
}
body.argan-page-about .adv-sec-card{
  min-width:0;
  min-height:220px;
  height:100%;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  padding:25px 21px 22px;
  text-align:left;
}
body.argan-page-about .adv-sec-title,
body.argan-page-about .adv-sec-short{overflow-wrap:anywhere}
body.argan-page-about .adv-sec-more{margin-top:auto}

/* Trusted Partners and Legacy */
body.argan-page-about section.pad.bg-white .c2,
body.argan-page-about section.pad.bg-alt .c2{align-items:start!important}
body.argan-page-about .trust-pillars{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-block:24px;
}
body.argan-page-about .trust-pillar{min-width:0}
body.argan-page-about .trust-pillar p{font-size:.92rem;line-height:1.75}
body.argan-page-about .fullspec-inner{
  width:min(var(--about-content-width),calc(100% - 72px));
  margin-inline:auto;
}
body.argan-page-about .fullspec-card{
  width:min(700px,100%);
  margin-left:0;
  margin-right:auto;
}
body.argan-page-about .legacy-btns{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:26px;
}

@media(max-width:1024px){
  body.argan-page-about .exec-grid,
body.argan-page-about .adv-sec-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:860px){
  body.argan-page-about section.pad>.wrap,
body.argan-page-about .exec-sec>.wrap,
body.argan-page-about .adv-sec>.wrap,
body.argan-page-about .fullspec-inner{width:calc(100% - 36px)}
  /* Below 860px the photo sits full-width above its copy. The float rules key off
     .c2:not(.rev) and .c2.rev, which outrank a plain ".c2 .c-img" even here, so
     both variants are named to win the !important tie on specificity. */
  body.argan-page-about .trust-pillars{grid-template-columns:1fr;gap:16px}
}

/* Phones: storytelling photo bleeds edge to edge */

@media(max-width:560px){
  body.argan-page-about section.pad.bg-white,
body.argan-page-about section.pad.bg-alt,
body.argan-page-about .exec-sec,
body.argan-page-about .adv-sec{padding-block:60px}
  body.argan-page-about section.pad .section-title{max-width:100%;font-size:clamp(1.7rem,8vw,2.2rem);line-height:1.18}
  body.argan-page-about section.pad .c2 p{font-size:clamp(1rem,4vw,1.06rem);line-height:1.75}
  body.argan-page-about .adv-sec-grid{grid-template-columns:1fr;gap:14px}
  /* leadership stays a compact two-column directory on phones */
  body.argan-page-about .exec-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  body.argan-page-about .exec-card,
body.argan-page-about .exec-card-body{min-height:0}
  body.argan-page-about .exec-card-body{padding:21px 18px 19px}
  body.argan-page-about .adv-sec-card{min-height:170px;padding:21px 18px 19px}
  body.argan-page-about .fullspec-card{width:100%;margin:0}
  body.argan-page-about .legacy-btns{display:grid;grid-template-columns:1fr;gap:10px}
  body.argan-page-about .legacy-btns .btn{width:100%;justify-content:center}
}

/* ═══ Home market navigator ═══ */

/* Light and dark surfaces matching the neighbouring sections */



/* ═══ Home featured projects ═══ */
.fp-outer{background:var(--navy-25)}
.fp-proofboard{--proof-ink:var(--text-heading);--proof-muted:var(--text-muted);--proof-border:var(--border);--proof-surface:var(--surface-raised);--proof-soft:var(--surface-soft);--proof-gold:var(--accent-text);max-width:1240px;margin:0 auto;padding:clamp(28px,5vw,64px);background:var(--proof-soft);border:1px solid var(--proof-border);border-radius:22px;box-shadow:0 18px 50px rgba(var(--navy-950-rgb),.08)}
[data-theme="dark"] .fp-outer{background:var(--navy-950)}
[data-theme="dark"] .fp-proofboard{box-shadow:0 18px 50px rgba(0,0,0,.24)}
.fp-proofboard-head{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:34px}
.fp-proofboard-copy{max-width:670px}
.fp-proofboard-copy .fp-label{margin-bottom:11px}
.fp-proofboard-copy h2{margin:0;color:var(--proof-ink);font:800 clamp(30px,4.5vw,58px)/1.02 var(--font-head,inherit);letter-spacing:-.035em}
.fp-proofboard-copy p{max-width:600px;margin:16px 0 0;color:var(--proof-muted);font-size:14px;line-height:1.75}
.fp-proofboard-all{align-self:flex-start;margin-top:4px;color:var(--proof-ink);font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;white-space:nowrap;border-bottom:1px solid var(--proof-gold);padding-bottom:8px}
.fp-proofboard-all span{color:var(--proof-gold);font-size:16px;margin-left:5px}
.fp-proofboard-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px;padding:13px 0;border-top:1px solid var(--proof-border);border-bottom:1px solid var(--proof-border)}
.fp-proofboard-filters{display:flex;flex-wrap:wrap;gap:8px}
.fp-proof-filter{border:1px solid var(--proof-border);background:var(--proof-surface);color:var(--proof-muted);border-radius:4px;padding:9px 13px;font:800 10px/1.2 inherit;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:.2s ease}
.fp-proof-filter:hover,.fp-proof-filter:focus-visible{border-color:var(--proof-gold);color:var(--proof-ink);outline:none}
.fp-proof-filter.is-active{background:var(--proof-ink);border-color:var(--proof-ink);color:#fff}
[data-theme="dark"] .fp-proof-filter.is-active{background:var(--proof-gold);border-color:var(--proof-gold);color:var(--navy-950)}
.fp-proofboard-count{color:var(--proof-muted);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}
.fp-proofboard-count b{color:var(--proof-ink);font-size:16px;margin-right:5px}
.fp-proofboard-viewport{overflow:hidden;position:relative}
.fp-proofboard-grid{display:flex;gap:18px;direction:ltr;transition:transform .55s cubic-bezier(.22,.61,.36,1);will-change:transform}
.fp-proof-card{flex:0 0 calc((100% - 36px)/3);display:flex;flex-direction:column;min-width:0;background:var(--proof-surface);border:1px solid var(--proof-border);border-radius:12px;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease}
.fp-proof-card--lead{flex:0 0 calc((100% - 36px)/3)}
.fp-proofboard-controls{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:18px;color:var(--proof-muted);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.fp-proofboard-controls button{width:36px;height:36px;border:1px solid var(--proof-border);border-radius:3px;background:var(--proof-surface);color:var(--proof-ink);font-size:17px;line-height:1;cursor:pointer;transition:.2s ease}
.fp-proofboard-controls button:hover:not(:disabled),.fp-proofboard-controls button:focus-visible{border-color:var(--proof-gold);color:var(--proof-gold);outline:none}
.fp-proofboard-controls button:disabled{opacity:.3;cursor:not-allowed}
.fp-proofboard-controls b{color:var(--proof-ink);font-size:14px}
.fp-proof-card[hidden]{display:none!important}
.fp-proof-card.is-filtered-out{display:none!important}
.fp-proof-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(var(--navy-950-rgb),.12)}
[data-theme="dark"] .fp-proof-card:hover{box-shadow:0 14px 30px rgba(0,0,0,.25)}
.fp-proof-media{position:relative;aspect-ratio:16/10;min-height:0;background:var(--ink-200);overflow:hidden}
.fp-proof-card--lead .fp-proof-media{aspect-ratio:16/9}
.fp-proof-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(var(--navy-950-rgb),.06) 30%,rgba(var(--navy-950-rgb),.5));pointer-events:none}
.fp-proof-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center center;transition:transform .5s ease}
.fp-proof-card:hover .fp-proof-media img{transform:scale(1.025)}
.fp-proof-badge{position:absolute;z-index:1;top:14px;left:14px;padding:6px 8px;background:rgba(var(--navy-950-rgb),.78);color:#fff;font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;border-radius:2px}
[data-theme="dark"] .fp-proof-badge{background:rgba(0,0,0,.66)}
.fp-proof-index{position:absolute;z-index:1;right:15px;bottom:13px;color:#fff;font-size:16px;font-weight:800;letter-spacing:.04em;text-shadow:0 2px 8px rgba(0,0,0,.4)}
.fp-proof-index i{font-style:normal;font-size:11px;opacity:.72}
.fp-proof-body{display:flex;flex:1;flex-direction:column;padding:18px 18px 20px;color:var(--proof-ink)}
.fp-proof-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;color:var(--proof-gold);font-size:10.5px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.fp-proof-meta span:last-child{color:var(--proof-muted);font-size:10.5px}
.fp-proof-body h3{margin:0 0 14px;color:var(--proof-ink);font:800 clamp(21px,2.4vw,31px)/1.1 var(--font-head,inherit);letter-spacing:-.02em}
.fp-proof-card:not(.fp-proof-card--lead) .fp-proof-body h3{font-size:22px}
.fp-proof-specs{display:flex;flex-wrap:wrap;gap:15px;margin:0 0 14px;padding:11px 0;border-top:1px solid var(--proof-border);border-bottom:1px solid var(--proof-border)}
.fp-proof-specs span{display:flex;flex-direction:column;gap:3px}
.fp-proof-specs b{color:var(--proof-ink);font-size:12px;line-height:1.1}
.fp-proof-specs small{color:var(--proof-muted);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase}
.fp-proof-body p{margin:0 0 20px;color:var(--proof-muted);font-size:12px;line-height:1.65}
.fp-proof-link{display:inline-flex;align-items:center;gap:7px;align-self:flex-start;margin-top:auto;color:var(--proof-ink);font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid var(--proof-gold);padding-bottom:6px}
.fp-proof-link span{color:var(--proof-gold);font-size:15px;line-height:1}
@media (max-width:900px){.fp-proofboard{padding:26px 18px;border-radius:16px}.fp-proofboard-head{align-items:flex-start;flex-direction:column;gap:14px;margin-bottom:22px}.fp-proofboard-copy h2{font-size:34px}.fp-proofboard-copy p{font-size:12px;line-height:1.6;margin-top:11px}.fp-proofboard-all{align-self:flex-start}.fp-proofboard-toolbar{align-items:flex-start;flex-direction:column;gap:11px;margin-bottom:18px}.fp-proofboard-filters{gap:6px}.fp-proof-filter{padding:8px 9px;font-size:10.5px}.fp-proofboard-count{align-self:flex-end;font-size:10.5px}.fp-proofboard-viewport{overflow:visible}.fp-proofboard-grid{display:flex;gap:12px;overflow-x:auto;overflow-y:hidden;padding:2px 0 12px;scroll-snap-type:x mandatory;scroll-padding-inline:2px;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain;transform:none!important;transition:none;will-change:auto}.fp-proofboard-grid::-webkit-scrollbar{height:4px}.fp-proofboard-grid::-webkit-scrollbar-thumb{background:var(--proof-gold);border-radius:4px}.fp-proof-card,.fp-proof-card--lead{flex:0 0 min(82%,340px);grid-column:auto;grid-row:auto;display:flex;flex-direction:column;min-height:0;scroll-snap-align:start}.fp-proof-card--lead .fp-proof-media,.fp-proof-media{flex:0 0 auto;aspect-ratio:16 / 10;min-height:0}.fp-proof-body{min-width:0;padding:16px 16px 18px;flex:1}.fp-proof-meta{align-items:flex-start;flex-direction:column;gap:3px;margin-bottom:8px}.fp-proof-meta span:last-child{display:none}.fp-proof-body h3,.fp-proof-card:not(.fp-proof-card--lead) .fp-proof-body h3{font-size:19px;margin-bottom:9px}.fp-proof-specs{gap:7px;margin-bottom:9px;padding:7px 0}.fp-proof-specs b{font-size:11px}.fp-proof-specs small{font-size:10.5px}.fp-proof-body p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin-bottom:11px;font-size:11px;line-height:1.4}.fp-proof-link{font-size:10.5px;padding-bottom:5px}.fp-proof-link span{font-size:12px}.fp-proofboard-controls{display:none}}
@media (max-width:560px){.fp-proofboard{padding:22px 16px;border-radius:13px}.fp-proofboard-copy h2{font-size:29px}.fp-proofboard-copy p{font-size:11px;line-height:1.55}.fp-proofboard-toolbar{margin-bottom:15px}.fp-proofboard-filters{width:100%;display:flex;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.fp-proofboard-filters::-webkit-scrollbar{display:none}.fp-proof-filter{flex:0 0 auto;padding:8px 12px;font-size:10.5px}.fp-proofboard-count{font-size:10.5px}.fp-proof-body{padding:14px 14px 16px}.fp-proof-body h3,.fp-proof-card:not(.fp-proof-card--lead) .fp-proof-body h3{font-size:17px;line-height:1.12;margin-bottom:8px}.fp-proof-specs{gap:5px}.fp-proof-specs b{font-size:10.5px}.fp-proof-specs small{font-size:10px}.fp-proof-body p{font-size:12px;-webkit-line-clamp:2;margin-bottom:10px}.fp-proof-link{font-size:10.5px}.fp-proof-meta{font-size:10.5px}.fp-proofboard-controls{display:none}}
@media (prefers-reduced-motion:reduce){.fp-proof-card,.fp-proof-media img,.fp-proof-filter{transition:none}}

/* Desktop: three cards per slide; mobile keeps the horizontal strip */
@media (min-width:901px){.fp-proofboard-viewport{overflow:hidden}.fp-proofboard-grid{display:flex;gap:18px;transform:translateX(0)}.fp-proof-card,.fp-proof-card--lead{flex:0 0 calc((100% - 36px)/3);grid-column:auto}}

/* ═══ Admin bar hidden on the front end ═══ */
html{direction:ltr;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;overflow-x:hidden;-webkit-font-smoothing:antialiased;scrollbar-gutter:stable;margin-top:0!important;padding-top:0!important}

/* ═══ Section pages: solid navbar ═══ */
/* Solid white navbar in every state, including at-home-top */
.is-about-page #site-header,
.is-about-page #site-header.at-home-top,
.is-about-page #site-header.scrolled,
.is-services-page:where(.argan-page-services) #site-header,
.is-services-page:where(.argan-page-services) #site-header.at-home-top,
.is-sustain-page #site-header,
.is-sustain-page #site-header.at-home-top {
  background: rgba(255,255,255,.98) !important;
  border-bottom: 3px solid var(--navy) !important;
  box-shadow: 0 2px 20px rgba(0,0,0,.1) !important;
}
/* Logo never inverted */
.is-about-page #site-header .site-logo img,
.is-about-page #site-header .hdr-logo-link img,
.is-about-page #site-header .custom-logo-link img,
.is-services-page:where(.argan-page-services) #site-header .site-logo img,
.is-services-page:where(.argan-page-services) #site-header .hdr-logo-link img,
.is-sustain-page #site-header .site-logo img,
.is-sustain-page #site-header .hdr-logo-link img { filter: none !important; }
/* Nav links always navy */
.is-about-page #site-header #primary-nav > li > a,
.is-services-page:where(.argan-page-services) #site-header #primary-nav > li > a,
.is-sustain-page #site-header #primary-nav > li > a { color: var(--text-h) !important; }
.is-about-page #site-header #primary-nav > li > a:hover,
.is-services-page:where(.argan-page-services) #site-header #primary-nav > li > a:hover,
.is-sustain-page #site-header #primary-nav > li > a:hover { color: var(--navy) !important; border-bottom-color: var(--navy) !important; }
/* Controls */
.is-about-page #site-header .hamburger span,
.is-services-page:where(.argan-page-services) #site-header .hamburger span,
.is-sustain-page #site-header .hamburger span { background: var(--navy) !important; }
.is-about-page #site-header .btn-icon-hdr,
.is-services-page:where(.argan-page-services) #site-header .btn-icon-hdr,
.is-sustain-page #site-header .btn-icon-hdr { color: var(--text-m) !important; }

/* ═══ "Read the Full Story" blocks (argan_copy_block, main.js) ═══ */

/* Contact form result messages */
.form-success{background:var(--success-bg);border-left:3px solid var(--success);color:var(--text-h)}
.form-error{margin-bottom:18px;padding:14px 18px;border-radius:4px;background:var(--error-bg);border-left:3px solid var(--error);color:var(--text-h);font-size:.9rem;line-height:1.5}
.form-error a{color:inherit;font-weight:700}
/* Projects popup: note shown when a project has no photo */
.proj-modal-image-status{color:var(--text-muted);font-size:.82rem;letter-spacing:.04em}

/* ═══ Touch targets ═══
   Small controls keep their look; an invisible ::after extends the tappable area
   to about 44px on touch screens. */
@media (hover:none), (max-width:800px){
  .hero-dot::after{content:'';position:absolute;inset:-20px -4px}
}

/* ═══ Generic page body (page.php, e.g. Terms) ═══ */
.page-prose{max-width:820px;margin:0 auto;color:var(--text-body);font-size:1.02rem;line-height:1.85}
.page-prose h2{font-size:clamp(1.45rem,2.4vw,1.85rem);line-height:1.25;color:var(--text-heading);margin:0 0 18px}
.page-prose h3{font-size:1.12rem;line-height:1.35;color:var(--text-heading);margin:36px 0 10px}
.page-prose p{margin:0 0 16px}
.page-prose ul,.page-prose ol{margin:0 0 18px;padding-left:1.3em}
.page-prose li{margin-bottom:6px}
.page-prose a{color:var(--link);text-decoration:underline;text-underline-offset:3px}
.page-prose-empty{color:var(--text-muted)}
/* ═══ Corporate Governance — pillar cards (details expand in place, main.js) ═══ */
.gov-cards{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;max-width:1000px;margin-inline:auto}
.gov-card{background:#fff;border:1px solid var(--ink-200);border-radius:12px;padding:24px 28px 20px;box-shadow:0 6px 20px rgba(var(--navy-900-rgb),.05);transition:box-shadow .25s,border-color .25s}
.gov-card:hover{box-shadow:0 18px 40px rgba(var(--navy-900-rgb),.1);border-color:rgba(var(--gold-500-rgb),.3)}
.gov-card-topline{display:flex;align-items:flex-start;gap:18px}
.gov-icon{flex-shrink:0;width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--grad-navy,var(--navy-900));color:var(--gold-300)}
.gov-icon svg{width:24px;height:24px}
.gov-card-heading{min-width:0}
.gov-card h4{margin:2px 0 4px;font-size:clamp(1.02rem,1.4vw,1.16rem);line-height:1.35;color:var(--text-heading)}
.gov-card-sub{margin:0;font-size:.92rem;line-height:1.55;color:var(--text-muted)}
.gov-card-detail{margin:18px 0 0 66px;color:var(--text-body);font-size:.96rem;line-height:1.8}
.gov-card-detail p{margin:0 0 12px}
.gov-card-tagline{margin:8px 0 0 66px;text-align:left}
.gov-card-toggle{display:inline-flex;align-items:center;gap:8px;margin:12px 0 0 66px;padding:0;border:0;background:none;color:var(--accent-text);font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.gov-card-toggle-mark{font-size:1.1rem;line-height:1;transition:transform .2s}
.gov-card-toggle[aria-expanded="true"] .gov-card-toggle-mark{transform:rotate(45deg)}
@media(max-width:560px){
  .gov-card{padding:20px 18px 16px}
  .gov-card-topline{gap:14px}
  .gov-icon{width:42px;height:42px}
  .gov-card-detail,.gov-card-tagline,.gov-card-toggle{margin-left:0}
}
[data-theme="dark"] .gov-card{background:var(--navy-900);border-color:rgba(255,255,255,.08)}
[data-theme="dark"] .gov-card h4{color:var(--ink-200)}
[data-theme="dark"] .gov-card-sub,[data-theme="dark"] .gov-card-detail{color:var(--ink-300)}
[data-theme="dark"] .gov-card-toggle{color:var(--gold-300)}
.ct-success-icon{width:56px;height:56px;margin:0 auto 10px;color:var(--success)}
.ct-success-icon svg{width:100%;height:100%}
@media(max-width:360px){body.argan-page-about .exec-grid{grid-template-columns:1fr}}
.exec-bio{white-space:nowrap}
@media(max-width:560px){.exec-bio{padding:10px 14px;letter-spacing:.8px}}
.gov-card-tagline{font-size:.98rem;line-height:1.5}

/* ═══ Closing contact band (argan_contact_band) ═══ */
.svc-final-cta{position:relative;isolation:isolate;padding:clamp(64px,8vw,104px) 0;background:var(--navy-900) center/cover no-repeat;text-align:center}
.svc-final-cta::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(160deg,rgba(var(--navy-900-rgb),.92) 0%,rgba(var(--navy-950-rgb),.86) 55%,rgba(var(--navy-975-rgb),.9) 100%)}
.svc-final-cta .wrap{max-width:680px}
.svc-final-cta h2{color:#fff;margin:0 0 14px;font-size:clamp(1.6rem,3.4vw,2.3rem);line-height:1.2}
.svc-final-cta p{color:rgba(255,255,255,.78);margin:0 0 28px;line-height:1.75}

/* Short highlighted statement under a section's copy (EPC project controls) */
.industry-note{margin-top:26px;padding:18px 22px;border-left:3px solid var(--gold);background:var(--surface-alt);border-radius:0 8px 8px 0}
.industry-note p{margin:0;font-size:.98rem;line-height:1.7;color:var(--text-heading);font-weight:600}
[data-theme="dark"] .industry-note{background:rgba(255,255,255,.04)}
[data-theme="dark"] .industry-note p{color:var(--ink-200)}
.appr-list > .epc-card--wide{grid-column:1 / -1}
/* ═══ President's message — a letter on a parchment scroll, key figures apart ═══
   Section: white flowing into the cool grey of the next section. Letter: a
   parchment sheet between two rolls with a letterhead, the handwritten message and
   the signature; ivory-gold parchment (the site's gold family) in light mode, deep
   navy in dark mode. It unrolls
   on first view and its handwriting scrolls inside (main.js). */
.msg-section{
  --msg-paper:var(--gold-50);--msg-ink:var(--navy-900);--msg-accent:var(--gold-700);
  --msg-rule:rgba(var(--gold-700-rgb,128,101,22),.32);--msg-shadow:rgba(var(--navy-900-rgb),.16);
  background:linear-gradient(180deg,#fff 0%,var(--navy-25) 100%);
  overflow-x:clip;
}
[data-theme="dark"] .msg-section{
  --msg-paper:#1F3470;--msg-ink:var(--ink-100);--msg-accent:var(--gold-300);
  --msg-rule:rgba(var(--gold-300-rgb),.28);--msg-shadow:rgba(0,0,0,.55);
  background:var(--navy-950);
}
.msg-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:clamp(40px,6vw,88px);align-items:center}
.msg-layout--solo{grid-template-columns:minmax(0,1fr);max-width:820px}
/* Parchment sheet between two rolls: the top edge rolled back into a slim roll,
   the bottom edge rolled forward into a fuller one, each ending on the right in
   the paper's spiral. The paper and rolls are rendered images (images/letter/,
   light and dark sets); the rolls use border-image so their ends keep their
   shape at any width. */
.msg-letter{position:relative;filter:drop-shadow(0 24px 26px var(--msg-shadow)) drop-shadow(0 3px 5px var(--msg-shadow))}
.msg-sheet{
  position:relative;z-index:1;margin:-10px 16px -16px 12px;
  padding:clamp(46px,4.8vw,58px) clamp(30px,4vw,56px) clamp(52px,5vw,62px);
  background:url('images/letter/sheet-light.webp') center/100% 100% no-repeat,var(--msg-paper);
  transition:opacity .9s ease,transform .9s cubic-bezier(.2,.8,.2,1);
}
.msg-roll{position:relative;z-index:2;display:block;border-style:solid;transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.msg-roll--top{height:22px;border-width:0 14px 0 11px;border-image:url('images/letter/roll-top-light.webp') 0 28 0 22 fill / 0 14px 0 11px stretch}
.msg-roll--bottom{height:38px;border-width:0 24px 0 19px;border-image:url('images/letter/roll-bottom-light.webp') 0 48 0 38 fill / 0 24px 0 19px stretch}
[data-theme="dark"] .msg-sheet{background:url('images/letter/sheet-dark.webp') center/100% 100% no-repeat,var(--msg-paper)}
[data-theme="dark"] .msg-roll--top{border-image-source:url('images/letter/roll-top-dark.webp')}
[data-theme="dark"] .msg-roll--bottom{border-image-source:url('images/letter/roll-bottom-dark.webp')}

.msg-letter.is-pending .msg-sheet{opacity:0;transform:scaleY(.04)}
.msg-letter.is-pending .msg-roll--top{transform:translateY(160px)}
.msg-letter.is-pending .msg-roll--bottom{transform:translateY(-160px)}

/* Letterhead */
.msg-letterhead{display:flex;flex-direction:column;align-items:center;gap:14px;margin-bottom:clamp(14px,1.8vw,20px)}
.msg-letterhead-logo{height:34px;width:auto;opacity:.92}
[data-theme="dark"] .msg-letterhead-logo{filter:brightness(0) invert(1);opacity:.88}
.msg-letterhead::after{content:'';width:min(220px,50%);height:1px;background:linear-gradient(90deg,transparent,var(--msg-accent),transparent);opacity:.55;order:1}
.msg-letterhead .msg-eyebrow{order:2;margin:0}
.msg-eyebrow{
  margin:0 0 clamp(14px,1.8vw,20px);font-family:var(--font-head);font-size:.74rem;font-weight:700;line-height:1.4;
  letter-spacing:.28em;text-transform:uppercase;text-align:center;color:var(--msg-accent);
}
[data-theme="dark"] .msg-eyebrow{color:var(--msg-accent)}
.msg-scroll{
  height:clamp(300px,30vw,360px);overflow-y:auto;overscroll-behavior:contain;scroll-behavior:auto;
  padding:14px 14px 40px 2px;
  -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 28px,#000 calc(100% - 56px),transparent 100%);
          mask-image:linear-gradient(to bottom,transparent 0,#000 28px,#000 calc(100% - 56px),transparent 100%);
}
/* The scrollbar stays hidden while the letter drifts; it shows, slim, only while
   the reader hovers (mouse) or scrolls by touch, wheel or keys (.is-scrolling). */
.msg-scroll::-webkit-scrollbar{width:3px}
/* The thumb is painted with the box's own colour (Chromium repaints scrollbar
   parts on a colour change, not on :hover selectors); the text sets its own. */
.msg-scroll{color:transparent;transition:color .35s ease}
.msg-scroll::-webkit-scrollbar-thumb{border-radius:3px;box-shadow:inset 0 0 0 4px}
.msg-scroll::-webkit-scrollbar-track{background:transparent;margin:40px 0}
.msg-scroll.is-scrolling{color:rgba(var(--gold-500-rgb),.5)}
@media(hover:hover){.msg-scroll:hover{color:rgba(var(--gold-500-rgb),.5)}}
/* Firefox has no ::-webkit-scrollbar; the standard properties are set for it only,
   because Chromium ignores the 3px ::-webkit-scrollbar once they are present. */
@supports (-moz-appearance:none){
  .msg-scroll{scrollbar-width:thin;scrollbar-color:transparent transparent}
  .msg-scroll.is-scrolling{scrollbar-color:rgba(var(--gold-500-rgb),.45) transparent}
  @media(hover:hover){.msg-scroll:hover{scrollbar-color:rgba(var(--gold-500-rgb),.45) transparent}}
}
.msg-scroll:focus-visible{outline:2px solid rgba(var(--gold-500-rgb),.7);outline-offset:6px;border-radius:2px}
.msg-manuscript{font-family:'La Belle Aurore','Segoe Script',cursive;transition:opacity .6s ease}
/* Stored message HTML carries inline font styles; the letter's hand wins over them. */
.msg-manuscript,.msg-manuscript *{font-family:'La Belle Aurore','Segoe Script',cursive!important;font-weight:400!important}
.msg-manuscript span:not(.msg-dropcap){font-size:inherit!important}
.msg-scroll.is-rewinding .msg-manuscript{opacity:0}
.msg-manuscript p{font-weight:400;font-size:clamp(1.3rem,1.75vw,1.55rem);line-height:1.6;letter-spacing:.01em;color:var(--msg-ink);margin:0 0 14px}
.msg-manuscript p:last-child{margin-bottom:0}
.msg-dropcap{float:none;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;padding:0}
.msg-signature{display:flex;flex-direction:column;align-items:flex-end;gap:2px;margin-top:14px;padding-top:16px;border-top:1px solid var(--msg-rule)}
.msg-flourish{width:min(200px,60%);height:20px;margin:-4px -6px 2px 0;fill:none;stroke:var(--msg-accent);stroke-width:1.6;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:0;transition:stroke-dashoffset 1.6s ease .9s}
.msg-letter.is-pending .msg-flourish{stroke-dashoffset:1}
.msg-sign{font-family:'Homemade Apple','La Belle Aurore',cursive;font-size:clamp(1.5rem,2.1vw,1.85rem);font-weight:400;line-height:1.2;word-spacing:.22em;color:var(--msg-ink)}
.msg-role{font-family:var(--font-head);font-size:.72rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-600)}
[data-theme="dark"] .msg-role{color:var(--ink-400)}
/* Key figures: their own column */
.msg-facts .overline{display:block;margin-bottom:22px}
[data-theme="dark"] .msg-facts .overline{color:var(--gold-300)}
.msg-figures{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0;border-top:1px solid var(--msg-rule)}
.msg-fig{display:flex;flex-direction:column;gap:8px;padding:24px 20px 24px 0;border-bottom:1px solid var(--msg-rule)}
.msg-fig:nth-child(even){padding:24px 0 24px 22px;border-left:1px solid var(--msg-rule)}
.msg-fig-num{order:1;margin:0;display:flex;align-items:baseline;gap:4px}
.msg-fig-count{font-family:var(--font-head);font-size:clamp(2.2rem,3.4vw,2.9rem);font-weight:300;line-height:1;letter-spacing:-.02em;color:var(--navy-900)}
.msg-fig-sfx{font-family:var(--font-head);font-size:1rem;font-weight:700;color:var(--gold-700)}
.msg-fig-lbl{order:2;font-family:var(--font-head);font-size:.72rem;font-weight:700;line-height:1.4;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-600)}
[data-theme="dark"] .msg-fig-count{color:var(--ink-100)}
[data-theme="dark"] .msg-fig-sfx{color:var(--gold-300)}
[data-theme="dark"] .msg-fig-lbl{color:var(--ink-400)}
@media(max-width:900px){
  .msg-layout{grid-template-columns:minmax(0,1fr);gap:48px}
  .msg-letter{max-width:680px;margin-inline:auto;width:100%}
}
@media(max-width:640px){
  .msg-roll--top{height:18px}
  .msg-roll--bottom{height:30px}
  .msg-sheet{margin:-8px 10px -12px 8px;padding:40px 20px 46px}
  .msg-letterhead-logo{height:28px}
  .msg-eyebrow{font-size:.7rem;letter-spacing:.14em}
  .msg-scroll{height:340px;padding-right:10px}
  .msg-fig{padding:18px 14px 18px 0}
  .msg-fig:nth-child(even){padding:18px 0 18px 16px}
  .msg-fig-count{font-size:2rem}
}
@media(prefers-reduced-motion:reduce){.msg-manuscript,.msg-sheet,.msg-roll,.msg-flourish{transition:none}}

/* ═══ Services landing — one full-width band per service ═══
   Wide image beside the heading and copy (sides alternate), then the three
   pillars side by side. Stacks to one column on phones. */
.svc-band{padding:clamp(56px,7vw,96px) 0;background:#fff}
.svc-band--alt{background:var(--navy-25)}
.svc-band-head{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(28px,4.5vw,64px);align-items:center}
.svc-band-head--flip .svc-band-media{order:2}
.svc-band-media{position:relative;min-height:340px;height:100%;border-radius:14px;overflow:hidden;box-shadow:0 24px 50px -24px rgba(var(--navy-900-rgb),.35)}
.svc-band-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.svc-band-num{position:absolute;left:18px;bottom:14px;font-family:var(--font-head);font-size:clamp(2.6rem,5vw,4rem);font-weight:800;line-height:1;color:#fff;text-shadow:0 4px 18px rgba(0,0,0,.45);letter-spacing:-.02em}
.svc-band-body .ed-title{margin-bottom:14px}
.svc-band-link{margin-top:22px;max-width:100%;white-space:normal;text-align:left}
.svc-pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:clamp(28px,3.6vw,44px)}
.svc-pillar{position:relative;padding:26px 24px 24px;background:#fff;border:1px solid var(--ink-200);border-radius:12px;transition:transform .25s,box-shadow .25s,border-color .25s}
.svc-band:not(.svc-band--alt) .svc-pillar{background:var(--navy-25);border-color:transparent}
.svc-pillar:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(var(--navy-900-rgb),.1);border-color:rgba(var(--gold-500-rgb),.35)}
.svc-pillar-ico{display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin-bottom:16px;border-radius:12px;background:var(--navy-900);color:var(--gold-300)}
.svc-pillar-ico svg{width:22px;height:22px}
.svc-pillar h3{margin:0 0 8px;font-size:1.04rem;line-height:1.35;color:var(--text-heading)}
.svc-pillar p{margin:0;font-size:.9rem;line-height:1.7;color:var(--text-body)}
@media(max-width:980px){.svc-pillars{grid-template-columns:1fr 1fr}.svc-pillars .svc-pillar:last-child:nth-child(odd){grid-column:1 / -1}}
@media(max-width:760px){
  .svc-band-head{grid-template-columns:minmax(0,1fr)}
  .svc-band-head--flip .svc-band-media{order:0}
  .svc-band-media{min-height:0;height:auto;aspect-ratio:16/10}
  .svc-pillars{grid-template-columns:minmax(0,1fr)}
  .svc-pillars .svc-pillar:last-child:nth-child(odd){grid-column:auto}
}
[data-theme="dark"] .svc-band{background:var(--navy-950)}
[data-theme="dark"] .svc-band--alt{background:var(--navy-975)}
[data-theme="dark"] .svc-pillar,[data-theme="dark"] .svc-band:not(.svc-band--alt) .svc-pillar{background:var(--navy-900);border-color:rgba(255,255,255,.08)}
[data-theme="dark"] .svc-pillar h3{color:var(--ink-200)}
[data-theme="dark"] .svc-pillar p{color:var(--ink-300)}
[data-theme="dark"] .svc-pillar-ico{background:rgba(var(--gold-300-rgb),.12)}

/* ═══════════════════════════════════════════════════════════════════════
   OCTOBER 3 UPDATE — home markets/pillars/OSHA summary, Mission & Vision
   sections, Core Values principles, market segment units.
   Colours come from the existing tokens (navy / gold / sky), light and dark.
   ═══════════════════════════════════════════════════════════════════════ */

/* Home · market navigator: description under the title, no numbering */

/* Home · intro pillars: sky icon, gold on hover */
.hm-pillar-icon-sq{background:rgba(var(--steel-500-rgb),.12);color:var(--sky);border:1px solid rgba(var(--steel-500-rgb),.28)}
.hm-pillar:hover .hm-pillar-icon-sq{background:var(--gold);color:var(--navy-900);border-color:var(--gold)}

/* Home · OSHA summary: the four cards link to the full dashboard */
.sdash-sec--summary{padding:88px 24px}
.sdash-sec--summary .sdash-cards{margin-bottom:36px}
a.sdash-card{display:block;text-decoration:none;color:inherit}
a.sdash-card:hover,a.sdash-card:focus-visible{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--gold)}
.sdash-more{text-align:center;margin:0}
.sdash-more .btn{display:inline-flex;align-items:center;gap:10px}
@media(max-width:860px){.sdash-sec--summary{padding:60px 20px}}

/* Core Values · principles: name tabs, content opens beneath */
.pr-tabs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;max-width:1180px;margin:0 auto 26px}
.pr-tab{appearance:none;cursor:pointer;position:relative;border:1px solid var(--border-strong);background:var(--surface);color:var(--text-heading);font-family:var(--font-body);font-weight:700;font-size:.92rem;line-height:1.3;text-align:center;padding:17px 12px;border-radius:4px;transition:background .2s,color .2s,border-color .2s,box-shadow .2s}
.pr-tab:hover{border-color:var(--gold);color:var(--accent-text)}
.pr-tab:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.pr-tab.is-active{background:var(--navy-900);color:#fff;border-color:var(--navy-900);box-shadow:inset 0 -4px 0 var(--gold)}
.pr-tab.is-active::after{content:"";position:absolute;left:50%;bottom:-17px;width:14px;height:14px;background:var(--gold);transform:translateX(-50%) rotate(45deg);z-index:2}
[data-theme="dark"] .pr-tab.is-active{background:var(--gold-500);color:var(--navy-900);border-color:var(--gold-500);box-shadow:none}
/* Markets · one coherent unit per segment: header image, copy, Why box, capabilities card */
.mseg{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden;box-shadow:var(--shadow-md)}
.mseg-body{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(300px,1fr)}
.mseg-main{padding:clamp(24px,3.4vw,44px);min-width:0}
.mseg-copy p{margin:0 0 18px;font-size:1.02rem;line-height:1.85;color:var(--text-body)}
.mseg-copy p:first-child{font-size:1.08rem;color:var(--text-heading)}
.mseg-copy p:last-child{margin-bottom:0}
.mseg-why{margin-top:30px;padding:22px 26px;background:var(--accent-soft);border-left:4px solid var(--gold);border-radius:0 6px 6px 0}
.mseg-why h3{margin:0 0 10px;font-size:.76rem;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--accent-text)}
.mseg-why p{margin:0;font-size:.98rem;line-height:1.8;color:var(--text-body)}
.mseg-caps{padding:clamp(24px,3.4vw,40px);background:var(--surface-alt);border-left:1px solid var(--border);min-width:0}
.mseg-caps h3{margin:0 0 20px;padding-bottom:14px;border-bottom:3px solid var(--navy-900);font-size:.78rem;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--text-heading)}
[data-theme="dark"] .mseg-caps h3{border-bottom-color:var(--gold-500)}
.mseg-caps ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.mseg-caps li{display:flex;align-items:flex-start;gap:11px;font-size:.93rem;line-height:1.5;color:var(--text-body)}
.mseg-caps li svg{flex:0 0 auto;margin-top:3px;color:var(--accent-text)}
@media(max-width:960px){.mseg-body{grid-template-columns:1fr}.mseg-caps{border-left:0;border-top:1px solid var(--border)}}
@media(max-width:560px){.mseg{border-radius:0;border-left:0;border-right:0}}

/* ═══ OCTOBER 3 · ROUND 2 — institutional re-composition ═══ */


/* Core Values · principle sheet: navy identity side + reading side, step controls */
.pr-panels{max-width:1180px;margin:0 auto}
.pr-panel{display:grid;grid-template-columns:minmax(240px,300px) minmax(0,1fr);background:var(--surface);border:1px solid var(--border);border-top:0;border-radius:0 0 10px 10px;overflow:hidden;box-shadow:var(--shadow-md)}
.pr-js .pr-panel:not(.is-active){display:none}
.pr-js .pr-panel.is-active{animation:prIn .35s ease both}
@keyframes prIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.pr-panel-side{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:28px;padding:34px 32px;background:var(--grad-navy-deep);color:#fff;overflow:hidden;border-top:4px solid var(--gold)}
.pr-panel-no{position:absolute;right:-6px;top:-16px;font-family:var(--font-head);font-weight:800;font-size:9rem;line-height:1;color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.2);pointer-events:none}
.pr-panel-ico{position:relative;width:62px;height:62px;border-radius:8px;border:1px solid rgba(var(--gold-300-rgb),.5);color:var(--gold-300);display:flex;align-items:center;justify-content:center}
.pr-panel-ico svg{width:30px;height:30px}
.pr-panel-of{position:relative;font-size:.72rem;font-weight:800;letter-spacing:2.6px;text-transform:uppercase;color:rgba(255,255,255,.72)}
.pr-panel-main{padding:clamp(28px,4vw,52px);display:flex;flex-direction:column;border-top:4px solid var(--gold)}
.pr-panel h3{margin:0 0 20px;font-family:var(--font-head);font-size:clamp(1.5rem,3vw,2.15rem);font-weight:800;line-height:1.2;color:var(--text-heading)}
.pr-panel p{margin:0;font-size:1.1rem;line-height:1.9;color:var(--text-body)}
.pr-panel-nav{display:none;margin-top:auto;padding-top:34px;gap:12px}
.pr-js .pr-panel-nav{display:flex}
.pr-step{appearance:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border:1px solid var(--border-strong);border-radius:4px;background:transparent;color:var(--text-heading);font-family:var(--font-body);font-weight:700;font-size:.8rem;letter-spacing:1.4px;text-transform:uppercase;transition:background .2s,color .2s,border-color .2s}
.pr-step:last-child{margin-left:auto}
.pr-step:hover{border-color:var(--gold);color:var(--accent-text)}
.pr-step:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.pr-tab{overflow:hidden}
.pr-tab::before{content:"";position:absolute;left:0;top:0;width:100%;height:3px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}
.pr-tab:hover::before,.pr-tab.is-active::before{transform:scaleX(1)}
.pr-tab.is-active::after{display:none}
@media(max-width:900px){.pr-panel{grid-template-columns:1fr;border-radius:6px}.pr-panel-side{flex-direction:row;align-items:center;padding:22px 24px}.pr-panel-no{font-size:6rem;top:-8px}.pr-panel-ico{width:50px;height:50px}.pr-panel-ico svg{width:24px;height:24px}}
@media(prefers-reduced-motion:reduce){.pr-js .pr-panel.is-active{animation:none}.pr-tab::before{transition:none}}


/* Markets · segment header: navy title panel beside a 16:10-class image */
.mseg-head{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);min-height:clamp(260px,28vw,380px);background:var(--navy-900)}
.mseg-head-txt{position:relative;display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(24px,3.4vw,46px);background:var(--grad-navy-deep);overflow:hidden;border-bottom:4px solid var(--gold)}
.mseg-no{position:absolute;right:14px;top:-8px;font-family:var(--font-head);font-weight:800;font-size:8rem;line-height:1;color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.14)}
.mseg-eyebrow{position:relative;display:block;margin-bottom:10px;font-size:.74rem;font-weight:800;letter-spacing:3px;text-transform:uppercase;color:var(--gold-300)}
.mseg-title{position:relative;margin:0;font-family:var(--font-head);font-weight:800;font-size:clamp(1.35rem,2.5vw,2rem);line-height:1.2;color:#fff}
.mseg-head-img{background:var(--grad-navy-deep) center/cover no-repeat;border-bottom:4px solid var(--gold)}
@media(max-width:860px){.mseg-head{grid-template-columns:1fr}.mseg-head-img{order:-1;aspect-ratio:3/2;min-height:0;border-bottom:0}.mseg-head-txt{min-height:0}.mseg-no{font-size:5.5rem}}


/* Home · Market navigator — light split stage, market bar beneath */
.home-market-navigator{background:var(--surface-alt);padding:96px 0 108px;border-top:1px solid var(--border)}
.home-market-navigator-head{display:block;margin-bottom:40px}
.home-market-navigator-eyebrow{display:block;margin-bottom:12px;color:var(--accent-text);font-size:11px;font-weight:800;letter-spacing:2.7px;text-transform:uppercase}
.home-market-navigator-head h2{margin:0;color:var(--text-heading);font-size:clamp(2rem,4vw,3.2rem);line-height:1.08;letter-spacing:-1px}
.home-market-navigator-head>div>p{max-width:640px;margin:16px 0 0;color:var(--text-body);font-size:1.02rem;line-height:1.8}
.home-market-navigator-shell{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--border);border-radius:6px;overflow:hidden;background:var(--surface);box-shadow:var(--shadow-md)}
.home-market-rail{display:contents}
.home-market-rail-label{display:none}
.home-market-stage{grid-row:2;grid-column:1/-1;min-width:0}
.home-market-panel{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);min-height:clamp(480px,40vw,540px)}
.home-market-panel[hidden]{display:none}
.home-market-panel-media{order:2;position:relative;overflow:hidden;background:var(--navy-900) center/cover no-repeat}
.home-market-panel-media:after{content:"";position:absolute;inset:auto 0 0 0;height:34%;background:linear-gradient(0deg,rgba(var(--navy-950-rgb),.55),transparent)}
.home-market-panel-content{order:1;display:flex;flex-direction:column;justify-content:center;padding:clamp(32px,4vw,60px);border-left:4px solid var(--gold)}
.home-market-panel-kicker{display:block;margin-bottom:14px;color:var(--accent-text);font-size:11px;font-weight:800;letter-spacing:2.6px;text-transform:uppercase}
.home-market-panel h3{margin:0 0 16px;color:var(--text-heading);font-size:clamp(1.8rem,3.2vw,2.6rem);line-height:1.1;letter-spacing:-.6px;font-weight:800}
.home-market-panel-desc{margin:0;color:var(--text-body);font-size:1.04rem;line-height:1.8}
.home-market-capabilities{display:grid;gap:10px;margin:24px 0 28px;padding-top:22px;border-top:1px solid var(--border)}
.home-market-capabilities span{position:relative;padding-left:20px;color:var(--text-heading);font-size:.94rem;font-weight:600;line-height:1.4}
.home-market-capabilities span:before{content:"";position:absolute;left:0;top:.5em;width:8px;height:8px;background:var(--gold-500)}
.home-market-panel-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px}
.home-market-panel-actions .btn{display:inline-flex;align-items:center;gap:9px}
.home-market-text-link{color:var(--accent-text);font-size:11px;font-weight:800;letter-spacing:1.6px;text-transform:uppercase;text-decoration:none}
.home-market-text-link:hover,.home-market-text-link:focus-visible{color:var(--text-heading)}
.home-market-tab{grid-row:1;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:22px clamp(16px,2vw,28px);background:var(--surface-alt);color:var(--text-body);border:0;border-bottom:1px solid var(--border);border-left:1px solid var(--border);box-shadow:inset 0 4px 0 transparent;font:inherit;font-weight:700;font-size:.95rem;line-height:1.3;text-align:left;cursor:pointer;transition:background .2s,color .2s,box-shadow .2s}
.home-market-tab:first-of-type{border-left:0}
.home-market-tab:hover,.home-market-tab:focus-visible{background:var(--surface);color:var(--text-heading)}
.home-market-tab:focus-visible{outline:2px solid var(--focus);outline-offset:-4px}
.home-market-tab.is-active{background:var(--surface);color:var(--text-heading);box-shadow:inset 0 4px 0 var(--gold-500)}
.home-market-tab-arrow{flex:0 0 auto;font-size:18px;color:var(--text-muted,var(--text-body));transition:transform .2s,color .2s}
.home-market-tab.is-active .home-market-tab-arrow,.home-market-tab:hover .home-market-tab-arrow{color:var(--accent-text);transform:translate(3px,-3px)}
@media(max-width:900px){
  .home-market-navigator-shell{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-market-tab:nth-of-type(3){border-left:0}
  .home-market-tab:nth-of-type(n+3){grid-row:2}
  .home-market-stage{grid-row:3}
  .home-market-panel{grid-template-columns:1fr;min-height:0}
  .home-market-panel-media{order:0;aspect-ratio:3/2}
  .home-market-panel-content{order:1;border-left:0;border-top:4px solid var(--gold)}
}
@media(max-width:620px){
  .home-market-navigator{padding:62px 0 70px}
  .home-market-navigator-shell{border-radius:0;margin:0 -20px;border-left:0;border-right:0}
  .home-market-tab{padding:18px 16px;font-size:.85rem}
}




/* Core Values · principle tabs on tablet / phone: wrap into a grid, never clip the name */
.pr-tab{min-height:56px;display:flex;align-items:center;justify-content:center;overflow-wrap:anywhere;hyphens:auto}
@media(max-width:900px){.pr-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.pr-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pr-tab{padding:14px 10px;font-size:.88rem}}


/* ═══════════════════════════════════════════════════════════════════════
   OCTOBER 5 — ONE TEXT SYSTEM FOR THE WHOLE SITE
   Image + copy sections: the image floats on its side and the copy runs
   beside it; opened copy continues beside the image, then wraps under it
   across the full content width. One "Full Overview" toggle everywhere.
   ═══════════════════════════════════════════════════════════════════════ */

/* Toggle: printed for every argan_copy_block(); folded copy only once JS runs */
.tx-toggle{display:none}
.js .tx-toggle{display:inline-flex;align-items:center;gap:10px;margin-top:8px;padding:11px 20px;border:1px solid var(--navy-900);border-radius:4px;background:transparent;color:var(--navy-900);font-family:var(--font-body);font-weight:800;font-size:.76rem;letter-spacing:2px;text-transform:uppercase;line-height:1;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.js .tx-toggle:hover{background:var(--navy-900);color:#fff}
.tx-toggle:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
.tx-toggle svg{transition:transform .25s ease}
.tx-toggle[aria-expanded="true"] svg{transform:rotate(180deg)}
.js[data-theme="dark"] .tx-toggle{border-color:var(--gold-500);color:var(--gold-300)}
[data-theme="dark"] .tx-toggle:hover{background:var(--gold-500)!important;color:var(--navy-900)!important}
/* on photographs / navy bands */
.js :is(.ed-full,.pg-hero,.fullspec,.about-final-cta,.svc-final-cta) .tx-toggle{border-color:rgba(255,255,255,.7);color:#fff}
.js :is(.ed-full,.pg-hero,.fullspec,.about-final-cta,.svc-final-cta) .tx-toggle:hover{background:#fff;color:var(--navy-900)}
.js [data-tx]:not(.is-open) .tx-more{display:none}
[data-tx].is-open .tx-more{animation:txIn .4s ease both}
@keyframes txIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){[data-tx].is-open .tx-more{animation:none}.tx-toggle svg{transition:none}}
.tx-more p{margin:0 0 16px}
.tx-runin{color:var(--text-heading);font-weight:700}

/* Image + copy spread (.ed-split and the services bands share it) */
.ed-split{display:flow-root}
.ed-split>.ed-split-media{float:left;width:52%;margin:0 clamp(32px,4.4vw,64px) 22px 0;aspect-ratio:3/2;align-self:auto;border-radius:6px;overflow:hidden;box-shadow:var(--shadow-lg);border-bottom:4px solid var(--gold);background:var(--grad-navy-deep)}
.ed-split[data-img-side="right"]>.ed-split-media{float:right;margin:0 0 22px clamp(32px,4.4vw,64px)}
.ed-split>.ed-split-media img,.ed-split>.ed-split-media .ed-img-placeholder{width:100%;height:100%!important;min-height:0;object-fit:cover;border-radius:0;box-shadow:none}
.ed-split>.ed-split-body{max-width:none}
.ed-split .ed-copy p,.ed-split .tx-more p{font-size:1.04rem;line-height:1.85}
.ed-split .ed-copy>p:first-child,.ed-split .tx-block>p:first-child{font-size:clamp(1.06rem,1.6vw,1.16rem);color:var(--text-heading)}
.ed-split .section-tagline{clear:none}
.ed-split .btn{margin-top:6px}
@media(max-width:900px){
  .ed-split>.ed-split-media,.ed-split[data-img-side="right"]>.ed-split-media{float:none;width:100%;margin:0 0 28px}
}
@media(max-width:560px){.ed-split>.ed-split-media,.ed-split[data-img-side="right"]>.ed-split-media{border-radius:0;box-shadow:none}}

.svc-band-head{display:flow-root}
.svc-band-head>.svc-band-media{float:left;width:52%;min-height:0;height:auto;aspect-ratio:3/2;margin:0 clamp(32px,4.4vw,64px) 22px 0;border-radius:6px;border-bottom:4px solid var(--gold)}
.svc-band-head--flip>.svc-band-media{float:right;margin:0 0 22px clamp(32px,4.4vw,64px)}
@media(max-width:900px){.svc-band-head>.svc-band-media,.svc-band-head--flip>.svc-band-media{float:none;width:100%;margin:0 0 28px}}

/* Mission & Vision · approach: spread then the five tabs, full width */
.mv-approach{padding:clamp(56px,7vw,112px) 0}
.mv-approach-tabs{margin-top:clamp(36px,4.5vw,60px)}
.pr-tabs{grid-template-columns:repeat(var(--pr-n,6),minmax(0,1fr))}
.tx-runin::after{content:" \2014"}
@media(max-width:900px){.pr-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.pr-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Services subnav · Project Finance with its two sub-pages in a connected capsule */
.section-subnav .ssn-group{display:flex;align-items:center}
.section-subnav .ssn-group>a{padding-right:4px}
.ssn-brace{display:block;width:16px;height:16px;color:var(--gold-300);flex:0 0 auto}
.ssn-brace svg{display:block;width:100%;height:100%}
.section-subnav .ssn-sub{display:flex;flex-direction:row;align-items:center;gap:0;margin:0 0 0 4px;padding:0;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(255,255,255,.06);list-style:none;white-space:nowrap}
.section-subnav .ssn-sub li+li{border-left:1px solid rgba(255,255,255,.2)}
.section-subnav .ssn-sub a{display:block;padding:7px 14px;margin:0;border:0;border-radius:999px;font-size:10.5px;letter-spacing:.9px;line-height:1.2;color:rgba(255,255,255,.7)}
.section-subnav .ssn-sub a:hover{color:#fff;background:rgba(255,255,255,.1)}
.section-subnav .ssn-sub a.current{color:var(--navy-900);background:var(--gold-300);border:0}
.section-subnav .ssn-group.is-group-active>a{color:#fff}
@media(max-width:600px){.section-subnav .ssn-sub a{font-size:9.5px;padding:6px 10px}}

/* Asset Integrity · Integrity Decision Framework — an interlocking decision chain */
.dchain{list-style:none;margin:clamp(34px,4vw,52px) 0 0;padding:0;display:grid;grid-template-columns:repeat(var(--n,5),minmax(0,1fr));gap:0 4px}
.dchain-step{min-width:0}
.dchain-head{position:relative;display:flex;flex-direction:column;justify-content:center;gap:5px;min-height:96px;padding:16px 34px 16px 42px;color:#fff;
  background:var(--navy-900);background:color-mix(in srgb,var(--navy-900) calc(40% + var(--i,0) * 15%),var(--steel-500,#3D6FB4));
  clip-path:polygon(0 0,calc(100% - 22px) 0,100% 50%,calc(100% - 22px) 100%,0 100%,22px 50%);transition:filter .25s}
.dchain-step:first-child .dchain-head{clip-path:polygon(0 0,calc(100% - 22px) 0,100% 50%,calc(100% - 22px) 100%,0 100%);padding-left:26px}
.dchain-step:hover .dchain-head{filter:brightness(1.14)}
.dchain-no{font-family:var(--font-head);font-weight:800;font-size:.78rem;letter-spacing:2px;color:var(--gold-300)}
.dchain-label{font-family:var(--font-head);font-weight:800;font-size:clamp(.92rem,1.35vw,1.1rem);letter-spacing:2.4px;text-transform:uppercase;line-height:1.15}
.dchain-desc{margin:0;padding:22px 20px 0 8px;font-size:.97rem;line-height:1.75;color:var(--text-body);border-left:2px solid transparent;transition:border-color .25s,color .25s}
.dchain-step:hover .dchain-desc{color:var(--text-heading);border-left-color:var(--gold)}
.dchain-note{margin:clamp(34px,4vw,48px) 0 0;padding:22px 26px;background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--gold);border-radius:0 6px 6px 0;font-size:1.04rem;line-height:1.8;color:var(--text-heading);font-weight:500}
[data-theme="dark"] .dchain-head{background:color-mix(in srgb,var(--gold-600,#A4831B) calc(var(--i,0) * 16%),var(--navy-700,#1F3470))}
@media(max-width:1024px){
  .dchain{grid-template-columns:1fr;gap:0}
  .dchain-step{position:relative;padding:0 0 26px 64px}
  .dchain-step::before{content:"";position:absolute;left:23px;top:48px;bottom:0;width:2px;background:var(--gold);opacity:.6}
  .dchain-step:last-child::before{display:none}
  .dchain-head,.dchain-step:first-child .dchain-head{position:static;min-height:48px;padding:0;background:none;clip-path:none;color:var(--text-heading);justify-content:center}
  .dchain-no{position:absolute;left:0;top:0;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.9rem;color:#fff;background:var(--navy-900);background:color-mix(in srgb,var(--navy-900) calc(40% + var(--i,0) * 15%),var(--steel-500,#3D6FB4))}
  .dchain-desc{padding:8px 0 0;border-left:0}
}
/* While the copy is folded, keep the whole column (lead, tagline, buttons) beside
   the image; once opened, the text flows under the image across the full width. */
.js .ed-split>.ed-split-body:has([data-tx]:not(.is-open)),
.js .svc-band-head>.svc-band-body:has([data-tx]:not(.is-open)){display:flow-root}


/* ═══ OCTOBER 5 · ROUND 2 — justified composition (js/text-fit.js) ═══ */
.ed-split.is-fit{display:grid;grid-template-columns:52% minmax(0,1fr);column-gap:clamp(32px,4.4vw,64px);align-items:start}
.ed-split.is-fit[data-img-side="right"]{grid-template-columns:minmax(0,1fr) 52%}
.ed-split.is-fit>.ed-split-media,.ed-split.is-fit[data-img-side="right"]>.ed-split-media{float:none;width:auto;margin:0;aspect-ratio:auto;transition:height .35s ease}
.ed-split.is-fit[data-img-side="right"]>.ed-split-media{grid-column:2;grid-row:1}
.ed-split.is-fit[data-img-side="right"]>.ed-split-body{grid-column:1;grid-row:1}
.ed-split.is-fit>.ed-split-body{display:flow-root}
.ed-split.is-fit.is-short>.ed-split-body{align-self:center}
.tx-below{grid-column:1/-1;padding-top:clamp(26px,3vw,38px)}
.tx-below:empty{display:none}
.tx-below>p{margin:0 0 16px;font-size:1.04rem;line-height:1.85;color:var(--text-body)}
.tx-below>.tx-toggle{margin-top:6px}
.tx-below>.section-tagline{margin-top:22px}
.tx-below>.btn,.tx-below>a.btn{margin-top:18px}
@media(prefers-reduced-motion:reduce){.ed-split.is-fit>.ed-split-media{transition:none}}

/* Justified body copy (cards and narrow columns stay ragged-right) */
:is(.ed-split-body,.svc-band-body,.ed-full-card,.mseg-copy,.mseg-why,.pr-panel-main,.stmt-copy,.tx-below,.fullspec) p,
.ed-copy p,.tx-more p{text-align:justify;-webkit-hyphens:auto;hyphens:auto;text-justify:inter-word}
.section-tagline{text-align:left;hyphens:manual}

/* Space under the toggle before a section with the alternate background */
.ed-split:not(.ed-alt-bg):has(+ .ed-split.ed-alt-bg){padding-bottom:clamp(56px,7vw,104px)}

/* Market segment: the capabilities card sets the height; Why Argan closes the column on its line */
.mseg-main{display:flex;flex-direction:column}
.mseg-main>.mseg-why{margin-top:auto}
.mseg-copy{margin-bottom:28px}
.mseg-copy .tx-toggle{margin-top:4px}
.mseg-body>.tx-below{grid-column:1/-1;padding:0 clamp(24px,3.4vw,44px) clamp(24px,3.4vw,40px);border-top:1px solid var(--border)}
.mseg-body>.tx-below:not(:empty){padding-top:clamp(22px,2.6vw,32px)}
.mseg-body>.tx-below>p{font-size:1.02rem}

/* Text-over-photo family (.ed-full, .fullspec): the earlier gold text link and a smooth height reveal */
.js :is(.ed-full,.fullspec) [data-tx] .tx-more{display:grid!important;grid-template-rows:0fr;transition:grid-template-rows .38s ease}
.js :is(.ed-full,.fullspec) [data-tx].is-open .tx-more{grid-template-rows:1fr;animation:none}
:is(.ed-full,.fullspec) .tx-more>.tx-more-in{overflow:hidden;min-height:0}
.js :is(.ed-full,.fullspec) .tx-toggle{display:inline-flex;align-items:center;gap:7px;margin-top:12px;padding:0;border:0;border-radius:0;background:transparent!important;color:var(--gold-300)!important;font-size:.84rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.js :is(.ed-full,.fullspec) .tx-toggle:hover{color:#fff!important}
@media(prefers-reduced-motion:reduce){.js :is(.ed-full,.fullspec) [data-tx] .tx-more{transition:none}}

/* Decision chain · label-only variant (ECA: seven stages, no descriptions) */
.dchain--labels .dchain-head{min-height:84px;padding:14px 24px 14px 32px}
.dchain--labels .dchain-step:first-child .dchain-head{padding-left:22px}
.dchain--labels .dchain-label{font-size:clamp(.8rem,1.05vw,.92rem);letter-spacing:.2px;line-height:1.25;text-transform:none}
.dchain--labels .dchain-step:last-child .dchain-head{box-shadow:inset 0 -4px 0 var(--gold)}
@media(max-width:1024px){.dchain--labels .dchain-step{padding-bottom:16px}.dchain--labels .dchain-label{font-size:.9rem}}

/* Tab sheets shared by every former card grid */
.pr-wrap{text-align:left}
.pr-panel-letter{font-family:var(--font-head);font-size:1.7rem;font-weight:800;line-height:1;color:var(--gold-300)}
.pr-panel-ico svg{width:30px;height:30px}
.pr-panel-eye{display:block;margin:0 0 10px;font-size:.72rem;font-weight:800;letter-spacing:2.4px;text-transform:uppercase;color:var(--accent-text)}
.pr-panel p+p{margin-top:16px}
.pr-panel .pr-panel-tag{margin-top:20px;padding-left:16px;border-left:3px solid var(--gold);font-size:.98rem;font-weight:600;color:var(--text-heading)}

/* Statement layout — text sections without an image: heading left, justified copy right */
.stmt{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,5vw,72px);align-items:start;text-align:left}
.stmt-head .ed-title{margin-bottom:0}
.stmt-head{position:relative;padding-top:18px}
.stmt-head::before{content:"";position:absolute;left:0;top:0;width:56px;height:3px;background:var(--gold)}
.stmt-copy .ed-copy>p:first-child,.stmt-copy .tx-block>p:first-child,.stmt-intro{font-size:clamp(1.06rem,1.6vw,1.16rem);color:var(--text-heading)}
.stmt-copy p{text-align:justify;-webkit-hyphens:auto;hyphens:auto}
.stmt-copy .section-tagline{margin-top:20px}
.stmt~h4{margin-top:clamp(28px,3vw,40px)!important}
.stmt~.pr-wrap,.stmt~.dchain{margin-top:clamp(40px,5vw,64px)}
@media(max-width:900px){.stmt{grid-template-columns:1fr;gap:20px}}
@media(max-width:1024px){
  .dchain--labels .dchain-head,.dchain--labels .dchain-step:first-child .dchain-head{min-height:48px;padding:0!important;box-shadow:none!important}
  .dchain--labels .dchain-step{padding-bottom:18px}
  .dchain--labels .dchain-step::before{top:48px}
  .dchain .dchain-step:last-child .dchain-head{box-shadow:none}
}
@media(max-width:600px){.stmt-copy p,.tx-below>p,.ed-copy p,.tx-more p,.pr-panel p{text-align:left}}

/* ═══ OCTOBER 6 — final round ═══ */
/* One line of space between the image and the text that continues under it */
.ed-split.is-fit{row-gap:0}
.tx-below{padding-top:1.85em}
.mseg-body>.tx-below:not(:empty){padding-top:1.85em}
.ed-split.is-fit .tx-below>p{font-size:1.04rem}
.stmt~.tx-below--stmt{margin-left:0!important;padding-top:1.85em}
.tx-below--stmt:empty{display:none}
.stmt+.car-jobs-header{margin-top:clamp(28px,3vw,40px)}
.pr-panel .pr-panel-cta{margin-top:24px}
.pr-panel .pr-panel-cta .btn{display:inline-flex;align-items:center;gap:10px}

/* Capability index — names left, the chosen capability in full right (replaces card popups) */
.cx{display:grid;grid-template-columns:minmax(260px,4fr) minmax(0,8fr);border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--surface);box-shadow:var(--shadow-md);text-align:left}
.cx-list{list-style:none;margin:0;padding:0;background:var(--surface-alt);border-right:1px solid var(--border)}
.cx-tab{appearance:none;cursor:pointer;display:grid;grid-template-columns:34px minmax(0,1fr) 16px;align-items:center;gap:12px;width:100%;padding:17px 22px;border:0;border-bottom:1px solid var(--border);border-left:4px solid transparent;background:transparent;font-family:var(--font-head);font-weight:700;font-size:.95rem;line-height:1.3;color:var(--text-heading);text-align:left;transition:background .2s,border-color .2s}
.cx-tab:hover{background:var(--surface)}
.cx-tab:focus-visible{outline:2px solid var(--focus);outline-offset:-3px}
.cx-tab.is-active{background:var(--surface);border-left-color:var(--gold)}
.cx-n{font-weight:800;font-size:.78rem;letter-spacing:1.5px;color:var(--accent-text)}
.cx-arrow{width:16px;height:16px;color:var(--border-strong);transition:transform .2s,color .2s}
.cx-tab.is-active .cx-arrow,.cx-tab:hover .cx-arrow{color:var(--gold);transform:translateX(2px)}
.cx-panels{min-width:0}
.cx-panel{padding:clamp(28px,4vw,52px)}
.cx-panel+.cx-panel{border-top:1px solid var(--border)}
.cx-js .cx-panel:not(.is-active){display:none}
.cx-js .cx-panel.is-active{animation:prIn .35s ease both}
.cx-panel-top{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.cx-ico{width:52px;height:52px;flex:0 0 auto;border-radius:8px;background:var(--navy-900);color:var(--gold-300);display:flex;align-items:center;justify-content:center}
.cx-ico svg{width:26px;height:26px}
.cx-ico b{font-family:var(--font-head);font-size:1rem;font-weight:800;color:var(--gold-300)}
.cx-of{font-size:.72rem;font-weight:800;letter-spacing:2.4px;text-transform:uppercase;color:var(--accent-text)}
.cx-panel h3{margin:0 0 16px;font-family:var(--font-head);font-weight:800;font-size:clamp(1.4rem,2.6vw,1.9rem);line-height:1.2;color:var(--text-heading)}
.cx-panel p{margin:0 0 14px;font-size:1.04rem;line-height:1.85;color:var(--text-body);text-align:justify;-webkit-hyphens:auto;hyphens:auto}
.cx-panel h3+p:not(.cx-sub),.cx-panel .cx-sub+p{font-size:1.12rem;color:var(--text-heading)}
.cx-caps-h{margin:24px 0 12px;font-size:.76rem;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--text-heading)}
.cx-caps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 28px}
.cx-caps li{display:flex;gap:10px;align-items:flex-start;font-size:.95rem;line-height:1.5;color:var(--text-body)}
.cx-caps li svg{flex:0 0 auto;margin-top:4px;color:var(--accent-text)}
[data-theme="dark"] .cx-ico{background:var(--navy-700,#1F3470)}
@media(max-width:900px){
  .cx{grid-template-columns:1fr}
  .cx-list{border-right:0}
  .cx-tab{padding:14px 16px}
  .cx-js .cx-panel.is-active{border-top:4px solid var(--gold)}
  .cx-caps{grid-template-columns:1fr}
}
@media(max-width:600px){.cx{border-radius:0;border-left:0;border-right:0;margin:0 -20px}.cx-panel p{text-align:left}}
@media(prefers-reduced-motion:reduce){.cx-js .cx-panel.is-active{animation:none}}

/* Decision chain on tablet / phone: the same interlocking chain as on desktop,
   swiped sideways (one stage in view, the next one peeking), description under each stage */
@media(max-width:1024px){
  .dchain,.dchain.dchain--labels{display:grid!important;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:min(78%,340px);gap:0 4px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:0 0 6px;margin-right:-20px;padding-right:20px;scroll-padding-left:0}
  .dchain::-webkit-scrollbar{display:none}
  .dchain.dchain--labels{grid-auto-columns:min(46%,210px)}
  .dchain .dchain-step,.dchain--labels .dchain-step{position:relative;scroll-snap-align:start;padding:0!important;margin:0}
  .dchain .dchain-step::before{display:none!important}
  .dchain .dchain-head,.dchain .dchain-step:first-child .dchain-head{position:relative!important;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:5px;min-height:92px;padding:16px 34px 16px 40px!important;color:#fff;
    background:color-mix(in srgb,var(--navy-900) calc(40% + var(--i,0) * 15%),var(--steel-500,#3D6FB4))!important;
    clip-path:polygon(0 0,calc(100% - 22px) 0,100% 50%,calc(100% - 22px) 100%,0 100%,22px 50%)!important;border-radius:0;box-shadow:none}
  .dchain .dchain-step:first-child .dchain-head{clip-path:polygon(0 0,calc(100% - 22px) 0,100% 50%,calc(100% - 22px) 100%,0 100%)!important;padding-left:24px!important}
  .dchain--labels .dchain-head,.dchain--labels .dchain-step:first-child .dchain-head{min-height:80px;padding:12px 28px 12px 34px!important}
  .dchain--labels .dchain-step:first-child .dchain-head{padding-left:20px!important}
  .dchain .dchain-no{position:static!important;width:auto;height:auto;border-radius:0;display:block;background:none!important;font-size:.76rem;letter-spacing:2px;color:var(--gold-300)!important}
  .dchain .dchain-head .dchain-label{display:block!important;font-size:1rem;letter-spacing:2px;color:#fff}
  .dchain--labels .dchain-head .dchain-label{font-size:.88rem;letter-spacing:.2px}
  .dchain .dchain-step:last-child .dchain-head{box-shadow:inset 0 -4px 0 var(--gold)!important}
  .dchain .dchain-desc{padding:16px 22px 0 6px;border-left:0;text-align:left;font-size:.95rem}
}
.dchain-hint{display:none}
@media(max-width:1024px){.dchain-hint{display:flex;align-items:center;gap:8px;margin:14px 0 0;font-size:.72rem;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--accent-text)}}

/* Projects · final touches */
.proj-card-media{aspect-ratio:4/3;height:auto}
.proj-card-media--empty,.proj-modal-img--empty{display:flex;align-items:center;justify-content:center;background:var(--grad-navy-deep)!important}
.proj-card-mark{width:44%;max-width:180px;height:auto;filter:brightness(0) invert(1);opacity:.32}
.proj-card-meta{min-height:1.5em}
.proj-card-loc--muted{color:var(--text-muted,var(--text-body))}
.proj-card-view{color:var(--accent-text);font-size:.74rem;font-weight:800;letter-spacing:1.6px;text-transform:uppercase}
.proj-loadmore-wrap{display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:clamp(32px,4vw,48px)}
.proj-count{margin:0;font-size:.74rem;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--text-muted,var(--text-body))}
.proj-more-btn{display:inline-flex!important}
.proj-modal-spec{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}
.proj-modal-spec>div{padding:14px 0;border-bottom:1px solid var(--border)}
.proj-modal-spec>div:nth-child(odd){padding-right:20px}
.proj-modal-spec>div:nth-child(even){padding-left:20px;border-left:1px solid var(--border)}
.proj-modal-body p{text-align:justify;-webkit-hyphens:auto;hyphens:auto}
.proj-modal-cta{margin-top:24px!important;text-align:left!important}
.proj-modal-cta .btn{display:inline-flex;align-items:center;gap:10px}
@media(max-width:600px){.proj-modal-spec{grid-template-columns:1fr}.proj-modal-spec>div:nth-child(even){padding-left:0;border-left:0}}

/* CV popup (Leadership) — navy header with gold rule, readable justified body */
.cv-panel:not(.proj-modal-panel) .cv-name{position:relative;padding-bottom:14px}
.cv-panel:not(.proj-modal-panel) .cv-name::after{content:"";position:absolute;left:0;bottom:0;width:56px;height:3px;background:var(--gold)}
.cv-body p{text-align:justify;-webkit-hyphens:auto;hyphens:auto;line-height:1.85}
.proj-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px}
.proj-card-year{font-size:.8rem;font-weight:700;letter-spacing:1px;color:var(--accent-text)}
.proj-card-loc+.proj-card-year::before{content:"";display:inline-block;width:4px;height:4px;margin:0 12px 2px 0;border-radius:50%;background:var(--border-strong);vertical-align:middle}

.cx-sub{margin:-6px 0 18px!important;font-size:1rem!important;font-weight:600;color:var(--accent-text)!important;text-align:left!important}
.cx-tagline{margin:22px 0 0!important;padding-left:16px;border-left:3px solid var(--gold);font-weight:700;color:var(--text-heading)!important;text-align:left!important}

/* EPCM · Core Controls register */
.ctrl-reg{display:grid;grid-template-columns:minmax(200px,3fr) minmax(0,9fr);margin-top:clamp(32px,4vw,48px);border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--surface);box-shadow:var(--shadow-md)}
.ctrl-reg-head{display:flex;flex-direction:column;justify-content:center;gap:6px;padding:28px;background:var(--grad-navy-deep);color:#fff;border-right:4px solid var(--gold)}
.ctrl-reg-count{font-family:var(--font-head);font-weight:800;font-size:3rem;line-height:1;color:var(--gold-300)}
.ctrl-reg-head h3{margin:0;font-size:.82rem;font-weight:800;letter-spacing:2.4px;text-transform:uppercase;color:#fff}
.ctrl-reg-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.ctrl-reg-list li{position:relative;display:flex;flex-direction:column;gap:8px;padding:22px 20px;border-left:1px solid var(--border);border-bottom:1px solid var(--border);transition:background .2s}
.ctrl-reg-list li:nth-child(4n+1){border-left:0}
.ctrl-reg-list li:nth-last-child(-n+4){border-bottom:0}
.ctrl-reg-list li:hover{background:var(--surface-alt)}
.ctrl-reg-ico{width:36px;height:36px;border-radius:6px;background:var(--accent-soft);color:var(--accent-text);display:flex;align-items:center;justify-content:center}
.ctrl-reg-ico svg{width:20px;height:20px}
.ctrl-reg-n{font-size:.7rem;font-weight:800;letter-spacing:1.6px;color:var(--accent-text)}
.ctrl-reg-t{font-family:var(--font-head);font-weight:700;font-size:.98rem;line-height:1.3;color:var(--text-heading)}
@media(max-width:1024px){.ctrl-reg{grid-template-columns:1fr}.ctrl-reg-head{flex-direction:row;align-items:center;gap:16px;border-right:0;border-bottom:4px solid var(--gold);padding:20px 24px}.ctrl-reg-count{font-size:2.2rem}.ctrl-reg-list{grid-template-columns:repeat(2,minmax(0,1fr))}.ctrl-reg-list li:nth-child(4n+1){border-left:1px solid var(--border)}.ctrl-reg-list li:nth-child(2n+1){border-left:0}.ctrl-reg-list li:nth-last-child(-n+4){border-bottom:1px solid var(--border)}.ctrl-reg-list li:nth-last-child(-n+2){border-bottom:0}}
.ctrl-reg+.industry-note{margin-top:24px}

/* Section taglines read as a lede under the heading: fixed in place, never moved by the toggle */
.section-tagline.ed-lede{margin:-6px 0 22px!important;padding:2px 0 2px 16px;border-left:3px solid var(--gold);font-family:var(--font-head);font-weight:700;font-size:clamp(.98rem,1.4vw,1.06rem);line-height:1.55;color:var(--text-heading);text-align:left}
.stmt-head .section-tagline.ed-lede{margin:18px 0 0!important}
[data-theme="dark"] .section-tagline.ed-lede{color:var(--gold-300)}

/* Our Group · partner network — logo band, equal cards, profile link pinned to the base */
.og-partner-grid{align-items:stretch}
.og-partner-card{display:flex;flex-direction:column;height:100%;text-align:left}
.og-partner-logo{width:100%;height:116px;margin:0 0 22px;padding:22px 34px;border:0;border-bottom:1px solid var(--border);border-radius:0;background:#fff}
.og-partner-logo img{max-height:64px}
.og-partner-name,.og-partner-tag{padding-left:28px;padding-right:28px}
.og-partner-name{font-family:var(--font-head);font-size:1.12rem}
.og-partner-tag{color:var(--text-body)}
[data-theme="dark"] .og-partner-logo{background:#fff}

/* Careers · open positions as a register */
.jobs-reg{margin-top:clamp(32px,4vw,48px);border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--surface);box-shadow:var(--shadow-md)}
.jobs-reg-head,.jobs-reg-row{display:grid;grid-template-columns:72px minmax(0,4fr) minmax(0,2fr) minmax(0,1.3fr) 310px;align-items:center;column-gap:20px}
.jobs-reg-head{padding:0 28px 0 0;background:var(--grad-navy-deep);color:rgba(255,255,255,.7);font-size:.7rem;font-weight:800;letter-spacing:2px;text-transform:uppercase;border-bottom:4px solid var(--gold)}
.jobs-reg-total{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:14px 0;background:rgba(0,0,0,.2);color:#fff}
.jobs-reg-total b{font-family:var(--font-head);font-size:1.6rem;line-height:1;color:var(--gold-300)}
.jobs-reg-total span{font-size:.52rem;letter-spacing:1px;text-align:center;line-height:1.2;padding:0 4px}
.jobs-reg-row{padding:22px 28px 22px 0;border-bottom:1px solid var(--border);border-left:4px solid transparent;transition:background .2s,border-color .2s}
.jobs-reg-row:last-child{border-bottom:0}
.jobs-reg-row:hover{background:var(--surface-alt);border-left-color:var(--gold)}
.jobs-reg-n{justify-self:center;align-self:center;font-family:var(--font-head);font-weight:800;font-size:.86rem;letter-spacing:1.5px;color:var(--accent-text)}
.jobs-reg-dept{display:block;margin-bottom:4px;font-size:.7rem;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--accent-text)}
.jobs-reg-title{margin:0;font-family:var(--font-head);font-weight:800;font-size:1.2rem;line-height:1.25;color:var(--text-heading)}
.jobs-reg-loc{display:flex;align-items:center;gap:8px;font-size:.95rem;color:var(--text-body)}
.jobs-reg-loc svg{flex:0 0 auto;color:var(--accent-text)}
.jobs-reg-type span{display:inline-block;padding:6px 12px;border:1px solid var(--border-strong);border-radius:3px;font-size:.74rem;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;color:var(--text-heading)}
.jobs-reg-act{display:flex;align-items:center;justify-content:flex-end;gap:14px}
.jobs-reg-act .btn{display:inline-flex;align-items:center;gap:10px}
.jobs-reg-pdf{appearance:none;cursor:pointer;display:inline-flex;align-items:center;gap:7px;padding:0;border:0;background:none;font-size:.74rem;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;color:var(--accent-text)}
@media(max-width:960px){
  .jobs-reg-head{grid-template-columns:auto 1fr;padding:0 20px 0 0}
  .jobs-reg-head>span{display:none}
  .jobs-reg-head::after{content:"Position · Location · Employment";align-self:center}
  .jobs-reg-row{grid-template-columns:52px minmax(0,1fr);row-gap:10px;padding:20px 20px 20px 0}
  .jobs-reg-pos,.jobs-reg-loc,.jobs-reg-type,.jobs-reg-act{grid-column:2}
  .jobs-reg-act{justify-content:flex-start;flex-wrap:wrap;margin-top:6px}
}
@media(max-width:600px){.jobs-reg{border-radius:0;border-left:0;border-right:0;margin-left:-20px;margin-right:-20px}}
.jobs-reg .jobs-reg-row.car-jobcard{margin:0;border-radius:0;box-shadow:none;border-top:0;border-right:0;background:transparent;transform:none}
.jobs-reg .jobs-reg-row.car-jobcard:hover{background:var(--surface-alt)}
@media(max-width:960px){.jobs-reg-n{align-self:start;padding-top:4px}}

/* Hub pages (Services, Markets) — a dossier per page: image, summary, what it covers, strengths */
.hub-dos-card{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);grid-template-areas:"fig body" "list list" "str str";column-gap:clamp(32px,4.4vw,64px);row-gap:0;align-items:start}
.hub-dos-card[data-img-side="right"]{grid-template-columns:minmax(0,7fr) minmax(0,5fr);grid-template-areas:"body fig" "list list" "str str"}
.hub-dos-fig{grid-area:fig;margin:0;position:relative;border-radius:6px;overflow:hidden;box-shadow:var(--shadow-lg);background:var(--navy-900)}
.hub-dos-fig img,.hub-dos-fig .ed-img-placeholder{display:block;width:100%;aspect-ratio:4/3;height:auto;min-height:0;object-fit:cover;border-radius:0;box-shadow:none}
.hub-dos-fig figcaption{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background:var(--navy-900);border-top:3px solid var(--gold);color:#fff;font-size:.72rem;font-weight:800;letter-spacing:2.6px;text-transform:uppercase}
.hub-dos-fig figcaption b{color:var(--gold-300)}
.hub-dos-body{grid-area:body;min-width:0}
.hub-dos-body .ed-copy p{text-align:justify;-webkit-hyphens:auto;hyphens:auto}
.hub-dos-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.hub-dos-links .btn{display:inline-flex;align-items:center;gap:10px}
.hub-dos-list{grid-area:list;margin-top:clamp(32px,4vw,48px);border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--surface)}
.hub-dos-list h3{margin:0;padding:14px 22px;background:var(--grad-navy-deep);border-bottom:3px solid var(--gold);font-size:.74rem;font-weight:800;letter-spacing:2.4px;text-transform:uppercase;color:#fff}
.hub-dos-list ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.hub-dos-list li{display:flex;gap:12px;align-items:flex-start;padding:16px 20px;border-left:1px solid var(--border);border-bottom:1px solid var(--border);font-family:var(--font-head);font-weight:700;font-size:.92rem;line-height:1.35;color:var(--text-heading)}
.hub-dos-list li:nth-child(4n+1){border-left:0}
.hub-dos-n{flex:0 0 auto;font-size:.72rem;font-weight:800;letter-spacing:1.4px;color:var(--accent-text);padding-top:2px}
.hub-dos-str{grid-area:str;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,40px);margin-top:clamp(28px,3.5vw,40px)}
.hub-dos-str>div{padding-top:18px;border-top:3px solid var(--navy-900)}
.hub-dos-str-ico{display:inline-flex;width:38px;height:38px;border-radius:6px;align-items:center;justify-content:center;background:var(--accent-soft);color:var(--accent-text);margin-bottom:10px}
.hub-dos-str-ico svg{width:20px;height:20px}
.hub-dos-str h4{margin:0 0 8px;font-family:var(--font-head);font-size:1.02rem;font-weight:800;color:var(--text-heading)}
.hub-dos-str p{margin:0;font-size:.95rem;line-height:1.75;color:var(--text-body)}
[data-theme="dark"] .hub-dos-str>div{border-top-color:var(--border-strong)}
/* the lifecycle chain links to each summary */
.dchain--links .dchain-head{text-decoration:none;cursor:pointer}
.dchain--links .dchain-head:hover{filter:brightness(1.18)}
@media(max-width:1024px){.hub-dos-list ul{grid-template-columns:repeat(2,minmax(0,1fr))}.hub-dos-list li:nth-child(4n+1){border-left:1px solid var(--border)}.hub-dos-list li:nth-child(2n+1){border-left:0}}
@media(max-width:900px){
  .hub-dos-card,.hub-dos-card[data-img-side="right"]{grid-template-columns:1fr;grid-template-areas:"fig" "body" "list" "str";row-gap:26px}
  .hub-dos-list,.hub-dos-str{margin-top:0}
  .hub-dos-str{grid-template-columns:1fr}
}
@media(max-width:560px){.hub-dos-list ul{grid-template-columns:1fr}.hub-dos-list li{border-left:0!important}}

/* Markets overview · four tiles at a glance */
.mkt-hub-index{padding-bottom:0}
.mkt-hub-tiles{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
.mkt-hub-tile{position:relative;display:flex;flex-direction:column;justify-content:flex-end;gap:6px;min-height:240px;padding:24px;overflow:hidden;background:var(--grad-navy-deep) center/cover no-repeat;color:#fff;text-decoration:none;border-bottom:4px solid var(--gold);transition:transform .3s}
.mkt-hub-tile::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(var(--navy-950-rgb),.15) 0%,rgba(var(--navy-950-rgb),.9) 100%);transition:background .3s}
.mkt-hub-tile:hover::before{background:linear-gradient(180deg,rgba(var(--navy-950-rgb),.35) 0%,rgba(var(--navy-950-rgb),.95) 100%)}
.mkt-hub-tile>span{position:relative}
.mkt-hub-tile-n{font-family:var(--font-head);font-weight:800;font-size:.8rem;letter-spacing:2px;color:var(--gold-300)}
.mkt-hub-tile-t{font-family:var(--font-head);font-weight:800;font-size:1.25rem;line-height:1.2}
.mkt-hub-tile-c{font-size:.72rem;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.75)}
.mkt-hub-tiles li:first-child .mkt-hub-tile{border-radius:6px 0 0 6px}
.mkt-hub-tiles li:last-child .mkt-hub-tile{border-radius:0 6px 6px 0}
@media(max-width:900px){.mkt-hub-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.mkt-hub-tile{min-height:180px}.mkt-hub-tiles li .mkt-hub-tile{border-radius:0!important}}
@media(max-width:480px){.mkt-hub-tiles{grid-template-columns:1fr}}
.hub-dos-list ul{background:var(--surface-alt)}
.hub-dos-list li{background:var(--surface)}
.hub-dos-card{align-items:center}
.hub-dos-card>.hub-dos-list,.hub-dos-card>.hub-dos-str{align-self:start}
.ed-split-body>.ed-copy+.btn,.ed-split-body>.ed-copy+a,.tx-below>.tx-toggle+.btn,.tx-below>.tx-toggle+a{margin-top:22px!important}


/* ═══ Our Group · partner grid: one lead company, two, then three ═══ */
.og-partner-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:22px;max-width:1180px}
.og-partner-card{height:auto;min-width:0}
.og-tier-lead{grid-column:span 6}
.og-tier-mid{grid-column:span 3}
.og-tier-std{grid-column:span 2}
.og-partner-logo{width:100%;height:116px;margin:0;padding:22px 34px;border:0;border-bottom:1px solid var(--border);border-radius:0;background:#fff;flex:0 0 auto}
.og-partner-info{display:flex;flex-direction:column;flex:1;gap:8px;padding:24px 28px 26px}
.og-partner-name{padding:0;font-family:var(--font-head);font-size:1.12rem;font-weight:800;line-height:1.3;color:var(--navy-900)}
.og-partner-tag{padding:0;font-size:.84rem;line-height:1.55;color:var(--text-body)}
.og-partner-excerpt{font-size:.92rem;line-height:1.7;color:var(--text-body);text-align:justify;hyphens:auto}
.og-partner-cta{margin-top:auto;padding-top:14px}
.og-tier-lead{display:grid;grid-template-columns:minmax(240px,5fr) minmax(0,7fr);min-height:300px;box-shadow:var(--shadow-lg)}
.og-tier-lead::before{transform:scaleX(1);height:5px;background:var(--gold)}
.og-tier-lead .og-partner-logo{height:auto;min-height:260px;padding:40px;border-bottom:0;border-right:4px solid var(--gold)}
.og-tier-lead .og-partner-logo img{max-height:110px}
.og-tier-lead .og-partner-logo-txt{font-family:var(--font-head);font-size:1.5rem;line-height:1.25;text-align:center;color:var(--navy-900)}
.og-tier-lead .og-partner-info{position:relative;justify-content:center;gap:12px;padding:clamp(30px,4vw,56px)}
.og-tier-lead .og-partner-name{font-size:clamp(1.6rem,2.8vw,2.3rem)}
.og-tier-lead .og-partner-tag{font-size:.74rem;font-weight:800;letter-spacing:2.6px;text-transform:uppercase;color:var(--accent-text)}
.og-tier-lead .og-partner-excerpt{font-size:1rem}
.og-tier-mid .og-partner-logo{height:132px}
.og-tier-mid .og-partner-name{font-size:1.25rem}
.og-tier-std .og-partner-logo{height:104px;padding:18px 28px}
.og-tier-std .og-partner-info{padding:20px 24px 24px}
[data-theme="dark"] .og-partner-name{color:var(--ink-200)}
@media(max-width:1024px){
  .og-tier-lead{grid-template-columns:1fr}
  .og-tier-lead .og-partner-logo{min-height:150px;border-right:0;border-bottom:4px solid var(--gold)}
  .og-tier-std{grid-column:span 3}
  .og-tier-std:last-child:nth-child(even){grid-column:span 6}
}
@media(max-width:640px){
  .og-partner-grid{gap:16px}
  .og-tier-mid,.og-tier-std,.og-tier-std:last-child:nth-child(even){grid-column:span 6}
  .og-partner-excerpt{text-align:left}
}

/* ═══ Popups · centred panel with one close button and a previous / next bar ═══ */
.cv-backdrop{background:rgba(var(--navy-900-rgb),.7);backdrop-filter:blur(4px)}
.cv-panel .cv-close{width:42px;height:42px;margin:14px 14px -56px auto;border:1px solid rgba(var(--navy-900-rgb),.14);border-radius:50%;background:#fff;color:var(--navy-900);box-shadow:0 4px 14px rgba(var(--navy-900-rgb),.28)}
.cv-panel .cv-close:hover{background:var(--gold);border-color:var(--gold);color:var(--btn-gold-text);transform:rotate(90deg)}
[data-theme="dark"] .cv-panel .cv-close{background:var(--navy-900);border-color:rgba(255,255,255,.22);color:#fff}
[data-theme="dark"] .cv-panel .cv-close:hover{background:var(--gold);border-color:var(--gold);color:var(--btn-gold-text)}
.cv-pager{position:sticky;bottom:0;z-index:5;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--border);background:var(--surface);box-shadow:0 -10px 24px -16px rgba(var(--navy-900-rgb),.35)}
.cv-pager-btn{appearance:none;display:grid;column-gap:14px;align-items:center;padding:16px 24px;border:0;background:transparent;color:var(--text-heading);font-family:inherit;cursor:pointer;transition:background .2s}
.cv-pager-prev{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"a s" "a t";text-align:left}
.cv-pager-next{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"s a" "t a";text-align:right;border-left:1px solid var(--border)}
.cv-pager-btn:hover{background:var(--surface-alt)}
.cv-pager-btn small{grid-area:s;font-size:.66rem;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--accent-text)}
.cv-pager-btn span{grid-area:t;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-family:var(--font-head);font-weight:700;font-size:.92rem;line-height:1.35}
.cv-pager-btn svg{grid-area:a;color:var(--accent-text);transition:transform .2s}
.cv-pager-prev svg{transform:scaleX(-1)}
.cv-pager-next:hover svg{transform:translateX(3px)}
.cv-pager-prev:hover svg{transform:scaleX(-1) translateX(3px)}
[data-theme="dark"] .cv-pager{background:var(--navy-925);border-color:rgba(255,255,255,.1)}
[data-theme="dark"] .cv-pager-btn{color:var(--ink-200)}
@media(max-width:640px){
  .cv-pager-btn{padding:13px 16px}
  .cv-pager-btn span{font-size:.84rem}
}

/* ═══ Round 39 · clean labels, uniform market cards, one image-on-open pattern ═══ */
/* markers that replaced the numbers */
.cx-n,.hub-dos-n{display:inline-block;width:8px;height:8px;margin-top:.45em;background:var(--gold-500)}
.cx-tab{grid-template-columns:12px minmax(0,1fr) 16px}
.cx-list{list-style:none}
.hub-dos-n{padding:0;flex:0 0 8px}
.dchain-no,.pr-panel-no{display:none!important}
.jobs-reg-row::before{content:"";justify-self:center;align-self:center;width:8px;height:8px;background:var(--gold-500)}
@media(max-width:960px){.jobs-reg-row::before{align-self:start;margin-top:.5em}}
.jobs-reg-head{grid-template-columns:72px minmax(0,4fr) minmax(0,2fr) minmax(0,1.3fr) 310px}

/* every market segment card is built the same way */
@media(min-width:961px){
  .mseg-head{height:clamp(300px,26vw,360px);min-height:0}
  .mseg-body{min-height:560px}
}
.mseg-head-img{position:relative;overflow:hidden}
.mseg-head-img::before{content:"";position:absolute;inset:0;background:inherit;transition:transform .8s cubic-bezier(.2,.7,.3,1)}

/* opening "Full Overview" gives the picture the same slow, slight zoom on every page */
.hub-dos-fig img{transition:transform .8s cubic-bezier(.2,.7,.3,1)}
.hub-dos-card:has([data-tx].is-open) .hub-dos-fig img,
.ed-split:has([data-tx].is-open) .ed-split-media img,
.stmt:has([data-tx].is-open) img{transform:scale(1.045)}
.mseg:has([data-tx].is-open) .mseg-head-img::before{transform:scale(1.06)}
@media(prefers-reduced-motion:reduce){.hub-dos-fig img,.mseg-head-img::before{transition:none}}

/* one justified text system */
:where(.ed-section :is(p,li):not(.section-tagline):not(.ed-lede):not(.cx-tagline):not(.pr-panel-tag):not(.dchain-hint),
.mseg :is(p,li),.hub-dos :is(p,li),.cx-panel p,.pr-panel p,.fp-proof-body p),.og-partner-excerpt{text-align:justify;text-justify:inter-word;-webkit-hyphens:auto;hyphens:auto}
@media(max-width:600px){:where(.ed-section :is(p,li),.mseg :is(p,li),.hub-dos :is(p,li),.cx-panel p,.pr-panel p){text-align:left}}

/* page heroes stay short on phones */
@media(max-width:700px){
  .pg-hero{min-height:0}
  .pg-hero-content{padding-block:26px 28px}
  .pg-hero-content h1{margin-bottom:10px;font-size:clamp(1.75rem,7.6vw,2.3rem)}
  .pg-hero-content>p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;font-size:.92rem;line-height:1.6}
  .pg-hero .ed-hero-index{display:flex;gap:8px;margin-top:18px;padding-bottom:4px;overflow-x:auto;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent)}
  .pg-hero .ed-hero-index::-webkit-scrollbar{display:none}
  .pg-hero .ed-hero-index-item{flex:0 0 auto;flex-direction:row;align-items:center;gap:8px;padding:7px 14px 7px 8px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(var(--navy-975-rgb),.35)}
  .pg-hero .ed-hero-index-ico{width:26px;height:26px}
  .pg-hero .ed-hero-index-ico svg{width:14px;height:14px}
  .pg-hero .ed-hero-index-label{font-size:.76rem;white-space:nowrap}
}
.car-no-jobs p{text-align:center}
.section-subnav--services .ssn-group>a,.section-subnav--services>.section-subnav-inner>ul>li>a{padding-left:12px;padding-right:12px;letter-spacing:.8px}
.section-subnav .ssn-sub a{padding:7px 11px;font-size:10px}
.section-subnav--services .section-subnav-label{padding-right:14px}
.section-subnav--services .section-subnav-label{display:none}

/* ═══ Mobile menu · follows the theme: white in light mode, the dark surface in dark mode ═══ */
#mob-panel{background:var(--surface);border-left:1px solid var(--border);box-shadow:-12px 0 40px rgba(var(--navy-900-rgb),.18)}
#mob-panel .mob-li{border-bottom-color:var(--border)}
#mob-panel .mob-link{color:var(--text-heading)}
#mob-panel .mob-link:hover{background:var(--surface-alt);color:var(--accent-text)}
#mob-panel .mob-link.is-active{background:var(--surface-alt);color:var(--accent-text);border-left-color:var(--gold-500)}
#mob-panel .mob-toggle{border-left-color:var(--border);color:var(--text-body)}
#mob-panel .mob-toggle:hover{background:var(--surface-alt);color:var(--accent-text)}
#mob-panel .mob-children{background:var(--surface-alt);border-top-color:var(--border)}
#mob-panel .mob-child-li{border-bottom-color:var(--border)}
#mob-panel .mob-child-link{color:var(--text-body)}
#mob-panel .mob-child-link:hover{color:var(--accent-text);background:transparent}
#mob-panel .mob-child-li--sub .mob-child-link{color:var(--text-body);opacity:.85}
#mob-panel .mob-cta-wrap{background:var(--surface-alt);border-top-color:var(--border)}
#mob-panel .mob-divider{background:var(--border)}
#mob-panel .mob-social-link{background:var(--surface);border-color:var(--border);color:var(--text-heading)}
#mob-panel .mob-social-link:hover{background:var(--gold-500);border-color:var(--gold-500);color:var(--btn-gold-text)}
#mob-panel .mob-list{scrollbar-color:var(--border-strong) transparent}
#mob-panel .mob-list::-webkit-scrollbar-thumb{background:var(--border-strong)}
