/* Oxford Machine Guarding — advanced industrial design layer
   Built to extend the core CSS without external dependencies. */

:root {
  --omg-ink: #06131f;
  --omg-ink-2: #0a2030;
  --omg-ink-3: #102b3d;
  --omg-paper: #f7f9fb;
  --omg-white: #fff;
  --omg-surface: #eef3f6;
  --omg-line: #d5dfe6;
  --omg-line-dark: rgba(255,255,255,.14);
  --omg-muted: #5b6d7b;
  --omg-cyan: #43d5ff;
  --omg-blue: #1274c0;
  --omg-yellow: #ffc400;
  --omg-yellow-2: #ffd84c;
  --omg-green: #60e1b3;
  --omg-shadow: 0 26px 80px rgba(5,18,29,.16);
  --omg-shadow-deep: 0 38px 110px rgba(0,8,15,.34);
  --omg-radius: 18px;
  --omg-radius-sm: 10px;
  --omg-header-h: 84px;
}

html { scroll-behavior: smooth; scroll-padding-top: 130px; }
body.advanced-site {
  background: var(--omg-paper);
  color: var(--omg-ink);
  overflow-x: clip;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
body.advanced-site::selection { background: var(--omg-yellow); color: var(--omg-ink); }
.advanced-site .shell { width: min(1440px, calc(100% - 80px)); }
.advanced-site h1,.advanced-site h2,.advanced-site h3,.advanced-site strong { letter-spacing: -.035em; }
.advanced-site p { text-wrap: pretty; }
.advanced-site a { text-underline-offset: 4px; }
.advanced-site .section { position: relative; }
.advanced-site .section-white { background: #fff; }
.advanced-site .section-light { background: #edf2f5; }
.advanced-site .section-ink { background: var(--omg-ink); }
.advanced-site .section-blueprint { background: #092236; }
.photo-picture { display: contents; }
.photo-picture img { width: 100%; height: 100%; object-fit: cover; }

.reading-progress { position: fixed; z-index: 1000; inset: 0 0 auto; height: 3px; pointer-events: none; }
.reading-progress span { display: block; width: 0; height: 100%; background: linear-gradient(90deg,var(--omg-yellow),var(--omg-cyan)); box-shadow: 0 0 18px rgba(67,213,255,.6); }

.status-dot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--omg-green); box-shadow: 0 0 0 5px rgba(96,225,179,.11); margin-right: 8px; vertical-align: 1px; }
.advanced-site .utility-bar { background: #020c13; border-bottom: 1px solid rgba(255,255,255,.08); }
.advanced-site .utility-inner { min-height: 34px; font-size: 11px; letter-spacing: .045em; color: #a9bdca; }
.advanced-site .utility-phone { color: #fff; font-weight: 800; }
.advanced-site .utility-phone svg { stroke: var(--omg-yellow); }
.advanced-site .utility-parent strong { color: #fff; }

.advanced-site .site-header { position: sticky; top: 0; z-index: 900; height: var(--omg-header-h); background: rgba(255,255,255,.96); border-bottom: 1px solid rgba(6,19,31,.10); box-shadow: 0 1px 0 rgba(255,255,255,.7); backdrop-filter: blur(18px) saturate(1.3); transition: height .3s ease, box-shadow .3s ease, background .3s ease; }
.advanced-site .site-header.is-scrolled { height: 72px; box-shadow: 0 14px 40px rgba(6,19,31,.10); background: rgba(255,255,255,.985); }
.advanced-site .header-inner { height: 100%; position: relative; gap: 25px; }
.advanced-site .brand { flex: 0 0 auto; }
.advanced-site .brand img { width: 244px; height: auto; transition: width .3s ease; }
.advanced-site .site-header.is-scrolled .brand img { width: 216px; }
.advanced-site .mega-navigation { flex: 1 1 auto; align-self: stretch; }
.advanced-site .mega-navigation > ul { height: 100%; display: flex; align-items: stretch; justify-content: center; gap: 3px; }
.advanced-site .mega-navigation > ul > li { position: static; display: flex; align-items: stretch; }
.advanced-site .mega-navigation > ul > li > a,
.advanced-site .nav-trigger { display: flex; align-items: center; gap: 6px; border: 0; background: none; color: #122638; padding: 0 11px; font: inherit; font-size: 13px; font-weight: 850; letter-spacing: -.015em; cursor: pointer; white-space: nowrap; position: relative; }
.advanced-site .mega-navigation > ul > li > a::after,
.advanced-site .nav-trigger::after { content:""; position:absolute; left:11px; right:11px; bottom:0; height:3px; transform:scaleX(0); transform-origin:left; background:var(--omg-yellow); transition:transform .2s ease; }
.advanced-site .mega-navigation > ul > li > a:hover::after,
.advanced-site .mega-navigation > ul > li > a:focus-visible::after,
.advanced-site .has-mega.is-open > .nav-trigger::after { transform:scaleX(1); }
.advanced-site .nav-trigger svg { width: 12px; height: 12px; fill:none; stroke:currentColor; stroke-width:1.8; transition:transform .2s ease; }
.advanced-site .has-mega.is-open > .nav-trigger svg { transform: rotate(180deg); }
.advanced-site .nav-more { display:none !important; }

.advanced-site .mega-panel { position:absolute; left:50%; top:calc(100% + 1px); width:min(1280px,calc(100vw - 60px)); transform:translate(-50%,-12px); display:grid; grid-template-columns:minmax(290px,.72fr) 1.8fr; background:#fff; border:1px solid rgba(6,19,31,.10); box-shadow:0 35px 90px rgba(3,16,26,.22); opacity:0; visibility:hidden; pointer-events:none; transition:opacity .18s ease,transform .22s ease,visibility 0s linear .22s; overflow:hidden; }
.advanced-site .has-mega.is-open > .mega-panel { opacity:1; visibility:visible; pointer-events:auto; transform:translate(-50%,0); transition-delay:0s; }
.advanced-site .mega-panel::before { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(90deg,transparent 39%,rgba(6,19,31,.035) 39%,rgba(6,19,31,.035) calc(39% + 1px),transparent calc(39% + 1px)); }
.advanced-site .mega-feature { padding:42px; background:linear-gradient(145deg,#071724,#0b2b40); color:#fff; position:relative; overflow:hidden; }
.advanced-site .mega-feature::after { content:""; position:absolute; width:290px; height:290px; border:1px solid rgba(67,213,255,.18); border-radius:50%; right:-130px; bottom:-150px; box-shadow:0 0 0 42px rgba(67,213,255,.03),0 0 0 82px rgba(67,213,255,.02); }
.advanced-site .mega-kicker { display:block; color:var(--omg-cyan); text-transform:uppercase; font-size:10px; letter-spacing:.18em; font-weight:900; margin-bottom:16px; }
.advanced-site .mega-feature h2 { font-size:clamp(24px,2vw,34px); line-height:1.03; margin:0 0 14px; max-width:400px; }
.advanced-site .mega-feature p { color:#afc1cc; font-size:14px; line-height:1.65; margin:0 0 25px; }
.advanced-site .mega-feature-link { position:relative; z-index:1; display:inline-flex; gap:16px; align-items:center; color:#fff; font-weight:850; font-size:13px; text-decoration:none; }
.advanced-site .mega-feature-link span { color:var(--omg-yellow); }
.advanced-site .mega-links { padding:30px; display:grid; gap:5px; align-content:center; background:#fff; }
.advanced-site .mega-links.two-columns { grid-template-columns:1fr 1fr; }
.advanced-site .mega-links a { padding:15px 16px; text-decoration:none; border:1px solid transparent; display:flex; flex-direction:column; gap:4px; color:var(--omg-ink); transition:.18s ease; }
.advanced-site .mega-links a:hover,.advanced-site .mega-links a:focus-visible { background:#f2f6f8; border-color:#dbe4e9; transform:translateX(3px); }
.advanced-site .mega-links strong { font-size:14px; font-weight:900; }
.advanced-site .mega-links span { font-size:11px; color:#647784; line-height:1.4; }
.advanced-site .compact-mega { grid-template-columns:minmax(280px,.65fr) 1.7fr; }
.advanced-site .mini-mega { width:700px; grid-template-columns:1fr; left:auto; right:0; transform:translateY(-12px); }
.advanced-site .has-mega.is-open > .mini-mega { transform:translateY(0); }
.advanced-site .mini-mega .mega-links { grid-template-columns:1fr 1fr; }

.advanced-site .header-actions { flex:0 0 auto; gap:10px; }
.advanced-site .search-button { border-color:#d4dfe5; border-radius:9px; width:43px; height:43px; }
.advanced-site .button { border-radius:7px; min-height:48px; font-weight:900; letter-spacing:-.02em; box-shadow:none; transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border .18s ease; }
.advanced-site .button:hover { transform:translateY(-2px); }
.advanced-site .button-primary { background:var(--omg-yellow); color:#07131d; border-color:var(--omg-yellow); box-shadow:0 13px 30px rgba(255,196,0,.18); }
.advanced-site .button-primary:hover { background:var(--omg-yellow-2); box-shadow:0 18px 36px rgba(255,196,0,.25); }
.advanced-site .button-dark { background:var(--omg-ink); border-color:var(--omg-ink); color:#fff; }
.advanced-site .button-light { background:#fff; border-color:#fff; color:var(--omg-ink); }
.advanced-site .button-ghost { background:rgba(255,255,255,.05); color:#fff; border:1px solid rgba(255,255,255,.30); backdrop-filter:blur(10px); }
.advanced-site .button-ghost:hover { border-color:rgba(255,255,255,.75); background:rgba(255,255,255,.11); }
.advanced-site .button-arrow { gap:30px; }
.advanced-site .button-arrow span { font-size:17px; }

/* Homepage hero */
.advanced-hero { min-height:calc(100vh - 118px); background:var(--omg-ink); color:#fff; position:relative; display:flex; flex-direction:column; overflow:hidden; isolation:isolate; }
.advanced-hero-media,.advanced-hero-media picture,.advanced-hero-media img { position:absolute; inset:0; width:100%; height:100%; }
.advanced-hero-media img { object-position:center 47%; transform:scale(1.015); animation:heroDrift 16s ease-in-out infinite alternate; }
@keyframes heroDrift { to { transform:scale(1.07) translate3d(-.4%,.2%,0); } }
.hero-shade { position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,rgba(3,13,21,.98) 0%,rgba(3,17,27,.94) 38%,rgba(5,20,31,.56) 66%,rgba(4,16,26,.58) 100%),linear-gradient(0deg,rgba(3,14,22,.92) 0%,transparent 40%); }
.hero-tech-grid { position:absolute; inset:0; z-index:2; opacity:.23; pointer-events:none; background-image:linear-gradient(rgba(104,215,255,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(104,215,255,.09) 1px,transparent 1px); background-size:72px 72px; mask-image:linear-gradient(90deg,#000 0,rgba(0,0,0,.65) 52%,transparent 100%); }
.advanced-hero-layout { position:relative; z-index:3; flex:1; display:grid; grid-template-columns:minmax(0,1.1fr) minmax(380px,.62fr); gap:8vw; align-items:center; padding:clamp(70px,8vh,118px) 0 90px; }
.advanced-hero-copy { max-width:840px; }
.hero-classification { display:flex; gap:20px; color:#8ba5b4; text-transform:uppercase; letter-spacing:.15em; font-size:9px; font-weight:800; margin-bottom:36px; }
.hero-classification span+span { border-left:1px solid rgba(255,255,255,.22); padding-left:20px; }
.advanced-hero .eyebrow { color:var(--omg-cyan); margin-bottom:22px; }
.advanced-hero h1 { font-size:clamp(64px,6.2vw,112px); line-height:.86; letter-spacing:-.065em; margin:0 0 35px; max-width:980px; text-wrap:balance; }
.advanced-hero h1 span { color:var(--omg-yellow); }
.advanced-hero .hero-lead { max-width:700px; font-size:clamp(18px,1.35vw,24px); line-height:1.52; color:#c1d0d8; margin:0; }
.advanced-hero .hero-actions { margin-top:34px; }
.hero-assurance { display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin-top:48px; border-top:1px solid rgba(255,255,255,.18); border-bottom:1px solid rgba(255,255,255,.18); }
.hero-assurance span { display:flex; align-items:center; gap:12px; padding:17px 16px 17px 0; color:#aebfc8; font-size:12px; }
.hero-assurance span+span { border-left:1px solid rgba(255,255,255,.13); padding-left:20px; }
.hero-assurance strong { color:var(--omg-yellow); font-size:10px; letter-spacing:.12em; }
.hero-system-card { align-self:center; background:rgba(5,18,28,.84); border:1px solid rgba(255,255,255,.16); box-shadow:var(--omg-shadow-deep); backdrop-filter:blur(16px); padding:12px; position:relative; }
.hero-system-card::before,.hero-system-card::after { content:""; position:absolute; width:26px; height:26px; border-color:var(--omg-cyan); opacity:.5; }
.hero-system-card::before { top:-1px; left:-1px; border-top:1px solid; border-left:1px solid; }
.hero-system-card::after { right:-1px; bottom:-1px; border-right:1px solid; border-bottom:1px solid; }
.system-card-top { display:flex; justify-content:space-between; align-items:center; padding:9px 8px 15px; font-size:9px; text-transform:uppercase; letter-spacing:.15em; color:#8fa7b5; }
.live-indicator { display:flex; align-items:center; gap:8px; }
.live-indicator i { display:block; width:6px; height:6px; border-radius:50%; background:var(--omg-green); box-shadow:0 0 0 5px rgba(96,225,179,.12); }
.system-card-visual { height:clamp(280px,35vh,470px); overflow:hidden; position:relative; }
.system-card-visual img { filter:saturate(.85) contrast(1.03); transition:transform .8s cubic-bezier(.2,.8,.2,1); }
.hero-system-card:hover .system-card-visual img { transform:scale(1.045); }
.system-card-visual::after { content:""; position:absolute; inset:0; border:1px solid rgba(255,255,255,.16); box-shadow:inset 0 0 70px rgba(2,13,20,.22); }
.system-readout { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:rgba(255,255,255,.11); margin-top:1px; }
.system-readout div { background:#0b1d2a; padding:17px; }
.system-readout small { display:block; text-transform:uppercase; letter-spacing:.14em; color:#7193a7; font-size:8px; margin-bottom:6px; }
.system-readout strong { font-size:13px; color:#fff; letter-spacing:-.02em; }
.system-card-footer { display:flex; align-items:center; justify-content:space-between; padding:15px 8px 6px; color:#8aa0ad; font-size:8px; text-transform:uppercase; letter-spacing:.1em; }
.system-card-footer i { flex:1; height:1px; background:rgba(255,255,255,.2); margin:0 8px; }
.hero-metrics { position:relative; z-index:4; border-top:1px solid rgba(255,255,255,.13); background:rgba(3,15,24,.86); backdrop-filter:blur(15px); }
.metric-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.metric-grid > div { padding:21px 28px; border-left:1px solid rgba(255,255,255,.11); }
.metric-grid > div:last-child { border-right:1px solid rgba(255,255,255,.11); }
.metric-grid small { display:block; text-transform:uppercase; letter-spacing:.16em; color:#718c9b; font-size:8px; margin-bottom:6px; }
.metric-grid strong { font-size:14px; color:#fff; }

/* Shared advanced section heading */
.advanced-site .wide-heading { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(280px,.55fr); gap:8vw; align-items:end; margin-bottom:54px; }
.advanced-site .wide-heading > div:last-child p,.advanced-site .wide-heading > p { color:#647784; line-height:1.75; }
.advanced-site .section-heading-light > div:last-child p,.advanced-site .section-heading-light > p { color:#a9bbc6; }
.advanced-site .section-heading h2 { font-size:clamp(42px,4vw,70px); line-height:.98; max-width:850px; margin:0; }
.advanced-site .eyebrow { letter-spacing:.17em; font-size:10px; font-weight:950; }

/* Intro manifesto */
.intro-manifesto { padding:130px 0; }
.split-intro { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1fr); gap:10vw; align-items:start; }
.sticky-intro { position:sticky; top:125px; }
.split-intro h2,.about-manifesto h2,.compliance-principle h2 { font-size:clamp(42px,4.6vw,76px); line-height:.98; margin:12px 0 0; max-width:820px; }
.large-copy { font-size:clamp(23px,2vw,34px); line-height:1.35; font-weight:700; color:#203747; letter-spacing:-.035em; }
.intro-detail > p:not(.large-copy) { color:#627583; line-height:1.8; font-size:17px; max-width:760px; }
.intro-facts { margin-top:55px; border-top:1px solid var(--omg-line); }
.intro-facts article { display:grid; grid-template-columns:100px 1fr; column-gap:30px; padding:27px 0; border-bottom:1px solid var(--omg-line); }
.intro-facts article span { grid-row:1/3; font-size:10px; font-weight:900; color:var(--omg-blue); text-transform:uppercase; letter-spacing:.16em; padding-top:4px; }
.intro-facts article strong { font-size:19px; }
.intro-facts article p { margin:7px 0 0; color:#647683; line-height:1.6; }

/* Cinematic solution stage */
.solutions-stage { padding:125px 0 135px; overflow:hidden; }
.cinematic-grid { display:grid; grid-template-columns:1.15fr .72fr; grid-template-rows:360px 360px 390px; gap:18px; }
.cinematic-card { position:relative; display:block; overflow:hidden; color:#fff; background:#102431; text-decoration:none; min-height:0; }
.cinematic-card-large { grid-row:span 2; }
.cinematic-card-wide { grid-column:1/-1; }
.cinematic-card img { transition:transform .8s cubic-bezier(.2,.8,.2,1),filter .6s ease; filter:saturate(.85) contrast(1.05); }
.cinematic-card::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(1,11,18,.93) 0%,rgba(1,12,20,.45) 47%,rgba(2,13,21,.05) 78%); transition:background .4s ease; }
.cinematic-card:hover img { transform:scale(1.045); filter:saturate(1) contrast(1.02); }
.cinematic-card:hover::after { background:linear-gradient(0deg,rgba(1,11,18,.96) 0%,rgba(1,12,20,.38) 55%,rgba(2,13,21,0) 85%); }
.cinematic-overlay { position:absolute; z-index:2; left:35px; right:35px; bottom:31px; }
.cinematic-overlay span { display:block; color:var(--omg-yellow); text-transform:uppercase; letter-spacing:.16em; font-size:9px; font-weight:900; margin-bottom:9px; }
.cinematic-overlay h3 { font-size:clamp(30px,2.8vw,50px); line-height:1; margin:0 0 10px; }
.cinematic-card:not(.cinematic-card-large):not(.cinematic-card-wide) .cinematic-overlay h3 { font-size:30px; }
.cinematic-overlay p { max-width:660px; color:#c4d0d7; font-size:14px; line-height:1.6; margin:0 0 15px; }
.cinematic-overlay em { font-style:normal; font-weight:900; font-size:12px; border-bottom:1px solid rgba(255,255,255,.4); padding-bottom:4px; }

/* Interactive anatomy */
.anatomy-section { padding:125px 0 135px; }
.anatomy-layout { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(330px,.65fr); gap:0; box-shadow:var(--omg-shadow); background:#fff; min-height:690px; }
.anatomy-visual { position:relative; overflow:hidden; min-height:690px; background:#0a1b27; }
.anatomy-visual img { object-position:center; filter:saturate(.75) contrast(1.07) brightness(.8); }
.anatomy-visual::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(90deg,rgba(5,18,28,.18),transparent 60%),radial-gradient(circle at 50% 50%,transparent 20%,rgba(3,15,23,.24)); }
.hotspot { position:absolute; z-index:4; width:50px; height:50px; border:1px solid rgba(255,255,255,.9); border-radius:50%; background:rgba(6,19,31,.76); color:#fff; font-weight:950; cursor:pointer; display:grid; place-items:center; backdrop-filter:blur(8px); transition:transform .18s ease,background .18s ease,border .18s ease; box-shadow:0 10px 25px rgba(0,0,0,.28); }
.hotspot::before { content:""; position:absolute; inset:-10px; border:1px solid rgba(255,196,0,.55); border-radius:50%; opacity:0; transform:scale(.7); transition:.25s ease; }
.hotspot:hover,.hotspot.is-active { background:var(--omg-yellow); color:var(--omg-ink); border-color:var(--omg-yellow); transform:scale(1.08); }
.hotspot.is-active::before { opacity:1; transform:scale(1); animation:hotspotPulse 2s infinite; }
@keyframes hotspotPulse { 50% { transform:scale(1.22); opacity:.15; } }
.hotspot-1 { left:13%; top:57%; }.hotspot-2 { left:36%; top:39%; }.hotspot-3 { right:21%; bottom:17%; }.hotspot-4 { right:9%; top:35%; }.hotspot-5 { left:60%; top:18%; }
.anatomy-coordinates { position:absolute; z-index:3; top:25px; left:25px; display:flex; gap:5px; }
.anatomy-coordinates span { background:rgba(3,15,23,.78); color:#9ab2c0; font-size:8px; letter-spacing:.16em; padding:8px 10px; border:1px solid rgba(255,255,255,.12); }
.anatomy-panel { padding:46px 42px 35px; display:flex; flex-direction:column; background:#fff; }
.anatomy-panel-head { display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid var(--omg-line); padding-bottom:21px; margin-bottom:38px; }
.anatomy-panel-head span { text-transform:uppercase; letter-spacing:.17em; font-size:9px; color:#6b7c88; font-weight:900; }
.anatomy-panel-head strong { font-size:34px; color:var(--omg-yellow); }
.anatomy-panel .eyebrow { color:var(--omg-blue); }
.anatomy-panel h3 { font-size:clamp(36px,3vw,52px); line-height:1; margin:12px 0 20px; }
.anatomy-panel > p:not(.eyebrow) { color:#5e707d; font-size:16px; line-height:1.75; }
.anatomy-panel ul { list-style:none; padding:0; margin:22px 0 30px; }
.anatomy-panel li { padding:13px 0 13px 22px; border-top:1px solid var(--omg-line); position:relative; color:#304654; font-size:13px; }
.anatomy-panel li:last-child { border-bottom:1px solid var(--omg-line); }
.anatomy-panel li::before { content:""; width:6px; height:6px; background:var(--omg-yellow); position:absolute; left:0; top:19px; }
.anatomy-index { display:flex; margin-top:auto; padding-top:28px; gap:7px; }
.anatomy-index button { width:38px; height:38px; border:1px solid var(--omg-line); background:#fff; font-size:10px; font-weight:900; cursor:pointer; transition:.18s ease; }
.anatomy-index button:hover,.anatomy-index button.is-active { background:var(--omg-ink); color:#fff; border-color:var(--omg-ink); }

/* Safety systems horizontal rail */
.systems-section { padding:125px 0; overflow:hidden; }
.systems-rail { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(290px,1fr); gap:15px; overflow-x:auto; scroll-snap-type:x mandatory; padding:0 0 28px; scrollbar-width:thin; scrollbar-color:#91a2ad transparent; cursor:grab; }
.systems-rail.is-dragging { cursor:grabbing; user-select:none; scroll-snap-type:none; }
.system-tile { scroll-snap-align:start; display:flex; min-height:540px; flex-direction:column; padding:12px 12px 28px; border:1px solid var(--omg-line); background:#fff; text-decoration:none; color:var(--omg-ink); transition:transform .25s ease,box-shadow .25s ease,border .25s ease; }
.system-tile:hover { transform:translateY(-8px); box-shadow:var(--omg-shadow); border-color:transparent; }
.system-tile picture,.system-tile img { display:block; height:270px; }
.system-tile img { filter:saturate(.78); transition:.45s ease; }
.system-tile:hover img { filter:saturate(1); transform:scale(1.025); }
.system-tile > span { margin:22px 16px 10px; color:var(--omg-blue); font-size:9px; letter-spacing:.15em; font-weight:900; }
.system-tile h3 { font-size:27px; line-height:1.02; margin:0 16px 12px; }
.system-tile p { color:#677985; line-height:1.65; margin:0 16px; }

/* Process lab */
.process-lab { padding:125px 0; color:#fff; overflow:hidden; }
.process-lab::before { content:""; position:absolute; inset:0; opacity:.24; background:linear-gradient(90deg,transparent 49.95%,rgba(87,211,255,.18) 50%,transparent 50.05%),linear-gradient(rgba(87,211,255,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(87,211,255,.09) 1px,transparent 1px); background-size:100% 100%,64px 64px,64px 64px; }
.process-lab-grid { position:relative; display:grid; grid-template-columns:minmax(0,.75fr) minmax(0,1.1fr); gap:10vw; }
.process-copy { position:sticky; top:130px; align-self:start; }
.process-copy h2 { font-size:clamp(46px,4.5vw,76px); line-height:.96; margin:15px 0 25px; }
.process-copy > p:not(.eyebrow) { color:#b5c7d1; line-height:1.75; font-size:17px; max-width:600px; }
.process-copy .button { margin-top:25px; }
.process-timeline { list-style:none; padding:0; margin:0; }
.process-timeline li { display:grid; grid-template-columns:70px 1fr; gap:30px; padding:30px 0; border-top:1px solid rgba(255,255,255,.17); position:relative; }
.process-timeline li:last-child { border-bottom:1px solid rgba(255,255,255,.17); }
.process-timeline li::before { content:""; position:absolute; left:69px; top:0; bottom:0; width:1px; background:rgba(255,255,255,.10); }
.process-timeline span { color:var(--omg-yellow); font-size:11px; letter-spacing:.15em; font-weight:900; padding-top:5px; }
.process-timeline h3 { font-size:29px; margin:0 0 8px; }
.process-timeline p { color:#aebfc9; margin:0; line-height:1.65; }

/* Project section */
.project-section { padding:125px 0 135px; }
.project-grid { display:grid; grid-template-columns:1.2fr .65fr; grid-template-rows:340px 340px; gap:16px; }
.project-card { position:relative; overflow:hidden; color:#fff; text-decoration:none; background:#0d2130; }
.project-card-feature { grid-row:1/3; }
.project-card::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(2,13,21,.95),rgba(3,15,24,.12) 70%); }
.project-card img { transition:transform .75s cubic-bezier(.2,.8,.2,1),filter .5s ease; filter:saturate(.75); }
.project-card:hover img { transform:scale(1.045); filter:saturate(1); }
.project-card-copy { position:absolute; z-index:2; inset:auto 32px 29px; }
.project-card-copy > span { color:var(--omg-yellow); font-size:9px; text-transform:uppercase; letter-spacing:.14em; font-weight:900; }
.project-card-copy h3 { font-size:clamp(26px,2.7vw,48px); line-height:1.02; margin:10px 0 18px; }
.project-card:not(.project-card-feature) h3 { font-size:28px; }
.project-card-copy dl { display:grid; gap:7px; margin:0 0 20px; }
.project-card-copy dl div { display:grid; grid-template-columns:80px 1fr; gap:15px; font-size:12px; }
.project-card-copy dt { color:#7fdcf8; text-transform:uppercase; letter-spacing:.12em; font-size:8px; }
.project-card-copy dd { margin:0; color:#c0cdd4; }
.project-card-copy em { font-style:normal; font-size:12px; font-weight:900; }

/* Industries */
.industry-stage { padding:125px 0; }
.industry-stage-grid { display:grid; grid-template-columns:minmax(0,.72fr) minmax(0,1fr); gap:10vw; align-items:start; }
.industry-stage-copy { position:sticky; top:130px; }
.industry-stage-copy h2 { font-size:clamp(45px,4.7vw,78px); line-height:.97; margin:15px 0 25px; }
.industry-stage-copy > p:not(.eyebrow) { color:#60727e; line-height:1.75; font-size:17px; }
.industry-stage-copy .button { margin-top:25px; }
.industry-list { border-top:1px solid #cbd6dc; }
.industry-list a { display:grid; grid-template-columns:65px 1fr auto; gap:20px; align-items:center; min-height:102px; padding:18px 0; border-bottom:1px solid #cbd6dc; text-decoration:none; color:var(--omg-ink); transition:padding .2s ease,background .2s ease; }
.industry-list a:hover { padding-left:18px; padding-right:18px; background:#fff; }
.industry-list span { color:var(--omg-blue); font-size:10px; font-weight:900; letter-spacing:.14em; }
.industry-list strong { font-size:clamp(21px,2vw,30px); }
.industry-list em { font-style:normal; color:#667986; font-size:12px; white-space:nowrap; }

/* Evidence and knowledge */
.evidence-section { padding:125px 0; color:#fff; }
.evidence-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.82fr); gap:8vw; align-items:center; }
.evidence-photo { position:relative; height:650px; overflow:hidden; }
.evidence-photo img { filter:saturate(.62) contrast(1.08); }
.evidence-photo::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(4,17,26,.6),transparent 45%); }
.evidence-photo-label { position:absolute; z-index:2; left:24px; right:24px; bottom:24px; display:flex; justify-content:space-between; align-items:end; padding:17px 19px; background:rgba(4,17,26,.78); border:1px solid rgba(255,255,255,.17); backdrop-filter:blur(10px); }
.evidence-photo-label span { font-size:8px; letter-spacing:.15em; text-transform:uppercase; color:var(--omg-cyan); }
.evidence-photo-label strong { font-size:12px; }
.evidence-copy h2 { font-size:clamp(45px,4.5vw,73px); line-height:.97; margin:15px 0 25px; }
.evidence-copy > p:not(.eyebrow):not(.evidence-note) { color:#b4c5ce; line-height:1.75; font-size:17px; }
.evidence-links { margin-top:37px; border-top:1px solid rgba(255,255,255,.18); }
.evidence-links a { display:flex; justify-content:space-between; align-items:center; padding:19px 0; color:#fff; text-decoration:none; border-bottom:1px solid rgba(255,255,255,.18); font-weight:850; }
.evidence-links a em { color:var(--omg-yellow); font-style:normal; transition:transform .2s ease; }
.evidence-links a:hover em { transform:translateX(6px); }
.evidence-note { color:#718c9b; font-size:11px; line-height:1.6; margin-top:25px; }
.knowledge-stage { padding:125px 0; }
.knowledge-grid-modern { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--omg-line); border-left:1px solid var(--omg-line); }
.knowledge-grid-modern a { min-height:360px; display:flex; flex-direction:column; padding:30px; border-right:1px solid var(--omg-line); border-bottom:1px solid var(--omg-line); text-decoration:none; color:var(--omg-ink); transition:background .2s ease,transform .2s ease; }
.knowledge-grid-modern a:hover { background:var(--omg-ink); color:#fff; transform:translateY(-5px); box-shadow:0 20px 50px rgba(6,19,31,.16); }
.knowledge-grid-modern span { color:var(--omg-blue); font-size:9px; text-transform:uppercase; letter-spacing:.13em; font-weight:900; }
.knowledge-grid-modern h3 { font-size:27px; line-height:1.06; margin:42px 0 15px; }
.knowledge-grid-modern p { color:#657783; line-height:1.65; }
.knowledge-grid-modern a:hover p { color:#b5c6cf; }
.knowledge-grid-modern em { margin-top:auto; font-style:normal; font-weight:900; font-size:11px; color:var(--omg-blue); }
.knowledge-grid-modern a:hover em { color:var(--omg-yellow); }
.faq-modern { display:grid; grid-template-columns:minmax(230px,.52fr) minmax(0,1fr); gap:8vw; margin-top:100px; padding-top:70px; border-top:1px solid var(--omg-line); }
.faq-modern h2 { font-size:clamp(42px,4vw,65px); line-height:1; margin:12px 0 25px; }
.modern-faq details { border-top:1px solid var(--omg-line); }
.modern-faq details:last-child { border-bottom:1px solid var(--omg-line); }
.modern-faq summary { list-style:none; cursor:pointer; display:flex; justify-content:space-between; gap:20px; padding:24px 0; font-weight:850; font-size:18px; }
.modern-faq summary::-webkit-details-marker { display:none; }
.modern-faq summary span { width:28px; height:28px; display:grid; place-items:center; border:1px solid #b9c7cf; border-radius:50%; color:var(--omg-blue); transition:transform .2s ease; flex:0 0 auto; }
.modern-faq details[open] summary span { transform:rotate(45deg); background:var(--omg-yellow); color:var(--omg-ink); border-color:var(--omg-yellow); }
.modern-faq details p { margin:-5px 50px 25px 0; color:#5d707d; line-height:1.75; }

/* ======================================================================
   Shared advanced page architecture
   ====================================================================== */
.advanced-site .eyebrow {
  margin: 0 0 14px;
  color: var(--omg-blue);
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .18em;
  line-height: 1.4;
  text-transform: uppercase;
}
.advanced-site .eyebrow-light { color: var(--omg-cyan); }
.advanced-site .large-copy {
  color: var(--omg-ink);
  font-size: clamp(22px, 2.3vw, 34px);
  font-weight: 760;
  letter-spacing: -.035em;
  line-height: 1.24;
}
.advanced-site .text-link {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  color: var(--omg-ink);
  font-size: 13px;
  font-weight: 900;
  text-decoration: none;
}
.advanced-site .text-link span { color: var(--omg-blue); transition: transform .2s ease; }
.advanced-site .text-link:hover span { transform: translateX(5px); }
.advanced-site .text-link-light { color: #fff; }
.advanced-site .text-link-light span { color: var(--omg-yellow); }
.advanced-site .section-heading {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 70px;
  margin-bottom: 55px;
}
.advanced-site .section-heading h2 {
  max-width: 920px;
  margin: 0;
  font-size: clamp(40px, 4.5vw, 74px);
  line-height: .98;
}
.advanced-site .section-heading > p,
.advanced-site .section-heading > div:last-child:not(:first-child) {
  max-width: 470px;
  color: var(--omg-muted);
  line-height: 1.7;
}
.advanced-site .section-heading-light h2 { color: #fff; }
.advanced-site .section-heading-light > p { color: #aebfca; }
.advanced-site .wide-heading { align-items: end; }
.advanced-site .split-intro {
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
  gap: clamp(55px, 9vw, 145px);
  align-items: start;
}
.advanced-site .split-intro h2 {
  margin: 0;
  font-size: clamp(43px, 4.6vw, 77px);
  line-height: .98;
}
.advanced-site .split-intro > div:last-child > p:not(.large-copy) {
  color: var(--omg-muted);
  font-size: 16px;
  line-height: 1.75;
}
.advanced-site .mini-process {
  display: flex;
  align-items: center;
  gap: 13px;
  margin-top: 38px;
  color: #607482;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.advanced-site .mini-process i { width: 26px; height: 1px; background: #b9c8d1; }
.advanced-site .breadcrumbs { margin-bottom: 30px; }
.advanced-site .breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; }
.advanced-site .breadcrumbs li { display: flex; align-items: center; gap: 8px; color: rgba(255,255,255,.58); font-size: 10px; font-weight: 760; letter-spacing: .08em; text-transform: uppercase; }
.advanced-site .breadcrumbs li:not(:last-child)::after { content: "/"; color: var(--omg-yellow); }
.advanced-site .breadcrumbs a { color: #fff; text-decoration: none; }
.advanced-site .breadcrumbs a:hover { color: var(--omg-yellow); }
.advanced-site .hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.advanced-site .detail-hero-shade {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(90deg, rgba(2,12,19,.96) 0%, rgba(4,18,29,.92) 42%, rgba(4,18,29,.48) 72%, rgba(3,14,23,.55) 100%),
              linear-gradient(0deg, rgba(2,11,18,.85), transparent 45%);
}
.advanced-site .technical-corners { position: absolute; inset: 16px; pointer-events: none; }
.advanced-site .technical-corners i { position: absolute; width: 34px; height: 34px; border-color: var(--omg-yellow); opacity: .82; }
.advanced-site .technical-corners i:nth-child(1) { left: 0; top: 0; border-left: 2px solid; border-top: 2px solid; }
.advanced-site .technical-corners i:nth-child(2) { right: 0; top: 0; border-right: 2px solid; border-top: 2px solid; }
.advanced-site .technical-corners i:nth-child(3) { left: 0; bottom: 0; border-left: 2px solid; border-bottom: 2px solid; }
.advanced-site .technical-corners i:nth-child(4) { right: 0; bottom: 0; border-right: 2px solid; border-bottom: 2px solid; }

/* Category and listing heroes */
.advanced-category-hero {
  min-height: 690px;
  display: grid;
  align-items: end;
  isolation: isolate;
  background: var(--omg-ink);
}
.advanced-category-hero .category-hero-media,
.advanced-category-hero .category-hero-media picture,
.advanced-category-hero .category-hero-media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.advanced-category-hero .category-hero-media img { object-position: center; filter: saturate(.72) contrast(1.08); }
.advanced-category-hero .category-hero-content {
  position: relative;
  z-index: 3;
  padding-top: 110px;
  padding-bottom: 90px;
}
.advanced-category-hero h1 {
  max-width: 1120px;
  margin: 0;
  color: #fff;
  font-size: clamp(55px, 6.4vw, 105px);
  line-height: .92;
  letter-spacing: -.065em;
}
.advanced-category-hero .category-hero-content > p:not(.eyebrow) {
  max-width: 760px;
  margin-top: 25px;
  color: #c0d1da;
  font-size: clamp(17px, 1.4vw, 21px);
  line-height: 1.62;
}
.category-manifesto { padding: 115px 0; }
.category-manifesto .large-copy { margin-top: 0; }
.catalogue-section { padding: 120px 0 135px; }
.catalogue-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.catalogue-card {
  min-height: 600px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid #d4dfe5;
  background: #fff;
  color: var(--omg-ink);
  text-decoration: none;
  transition: transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s ease, border-color .3s ease;
}
.catalogue-card:hover { transform: translateY(-9px); border-color: transparent; box-shadow: var(--omg-shadow); }
.catalogue-media { position: relative; height: 330px; overflow: hidden; background: #102533; }
.catalogue-media picture,.catalogue-media img { display: block; width: 100%; height: 100%; }
.catalogue-media img { filter: saturate(.75) contrast(1.04); transition: transform .75s cubic-bezier(.2,.8,.2,1), filter .45s ease; }
.catalogue-card:hover .catalogue-media img { transform: scale(1.055); filter: saturate(1); }
.catalogue-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(4,17,27,.35), transparent 58%); }
.catalogue-media > span {
  position: absolute;
  z-index: 2;
  top: 18px;
  left: 18px;
  min-width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.42);
  background: rgba(4,17,27,.65);
  color: #fff;
  font-size: 10px;
  font-weight: 900;
  backdrop-filter: blur(8px);
}
.catalogue-body { flex: 1; display: flex; flex-direction: column; padding: 30px; }
.catalogue-body small { color: var(--omg-blue); font-size: 9px; font-weight: 950; letter-spacing: .14em; text-transform: uppercase; }
.catalogue-body h2 { margin: 18px 0 13px; font-size: clamp(27px, 2.2vw, 36px); line-height: 1.02; }
.catalogue-body p { margin: 0; color: #627581; line-height: 1.68; }
.catalogue-body em { display: flex; justify-content: space-between; align-items: center; margin-top: auto; padding-top: 28px; color: var(--omg-ink); font-size: 12px; font-style: normal; font-weight: 900; }
.catalogue-body em span { color: var(--omg-blue); font-size: 18px; transition: transform .2s ease; }
.catalogue-card:hover .catalogue-body em span { transform: translateX(6px); }
.category-closing { padding: 115px 0; color: #fff; }
.category-closing-grid { display: grid; grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr); gap: 9vw; align-items: start; }
.category-closing h2 { margin: 0; font-size: clamp(46px, 4.8vw, 78px); line-height: .97; }
.category-closing p:not(.eyebrow) { color: #aebfca; font-size: 17px; line-height: 1.75; }
.category-closing .mini-process { color: #afc2ce; }
.category-closing .mini-process i { background: rgba(255,255,255,.25); }

/* Advanced detail heroes and service/product pages */
.advanced-detail-hero {
  min-height: 720px;
  display: grid;
  align-items: center;
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background: var(--omg-ink);
  color: #fff;
}
.advanced-detail-hero .detail-hero-image,
.advanced-detail-hero .detail-hero-image picture,
.advanced-detail-hero .detail-hero-image img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.advanced-detail-hero .detail-hero-image img { filter: saturate(.7) contrast(1.08); }
.advanced-detail-grid {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(290px, .52fr);
  gap: clamp(65px, 10vw, 155px);
  align-items: end;
  padding-top: 90px;
  padding-bottom: 90px;
}
.detail-hero-copy h1 {
  max-width: 940px;
  margin: 0;
  color: #fff;
  font-size: clamp(54px, 6.2vw, 99px);
  line-height: .92;
  letter-spacing: -.065em;
}
.detail-hero-copy > p:not(.eyebrow) {
  max-width: 780px;
  margin-top: 24px;
  color: #c2d3dc;
  font-size: clamp(17px, 1.45vw, 21px);
  line-height: 1.65;
}
.detail-spec-card {
  padding: 28px;
  border: 1px solid rgba(255,255,255,.22);
  background: rgba(3,16,25,.74);
  backdrop-filter: blur(14px);
  box-shadow: 0 28px 60px rgba(0,0,0,.22);
}
.detail-spec-card > span { display: block; color: var(--omg-cyan); font-size: 9px; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.detail-spec-card > strong { display: block; margin: 15px 0 28px; color: #fff; font-size: 24px; line-height: 1.12; }
.detail-spec-card dl { margin: 0; }
.detail-spec-card dl > div { display: grid; grid-template-columns: 85px 1fr; gap: 20px; padding: 14px 0; border-top: 1px solid rgba(255,255,255,.16); }
.detail-spec-card dt { color: #718c9b; font-size: 8px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.detail-spec-card dd { margin: 0; color: #dce7ec; font-size: 12px; font-weight: 760; }
.detail-intro-section { padding: 110px 0; }
.detail-intro-grid { display: grid; grid-template-columns: minmax(0,.72fr) minmax(0,1.28fr); gap: 9vw; align-items: start; }
.detail-intro-grid h2 { margin: 0; font-size: clamp(43px,4.6vw,75px); line-height: .98; }
.detail-intro-grid > div:last-child > p:not(.large-copy) { color: var(--omg-muted); font-size: 16px; line-height: 1.75; }
.decision-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--omg-line); }
.decision-list li { display: grid; grid-template-columns: 64px 1fr; gap: 25px; padding: 25px 0; border-bottom: 1px solid var(--omg-line); }
.decision-list span { color: var(--omg-blue); font-size: 10px; font-weight: 900; letter-spacing: .14em; }
.decision-list h3 { margin: 0 0 8px; font-size: 25px; }
.decision-list p { margin: 0; color: #627480; line-height: 1.65; }
.detail-photo-band { padding: 120px 0; color: #fff; }
.detail-photo-grid { display: grid; grid-template-columns: minmax(0,1.08fr) minmax(0,.82fr); gap: 8vw; align-items: center; }
.detail-photo { position: relative; height: 650px; overflow: hidden; box-shadow: var(--omg-shadow-deep); }
.detail-photo picture,.detail-photo img { display: block; width: 100%; height: 100%; }
.detail-photo img { filter: saturate(.74) contrast(1.07); }
.detail-considerations h2 { margin: 12px 0 28px; font-size: clamp(44px, 4.2vw, 68px); line-height: .98; }
.line-list { list-style: none; padding: 0; margin: 0 0 30px; border-top: 1px solid rgba(255,255,255,.18); }
.line-list li { position: relative; padding: 17px 0 17px 26px; border-bottom: 1px solid rgba(255,255,255,.18); color: #c3d1d8; font-size: 14px; line-height: 1.45; }
.line-list li::before { content: ""; position: absolute; left: 0; top: 23px; width: 7px; height: 7px; background: var(--omg-yellow); }
.section-white .line-list,.section-light .line-list { border-color: var(--omg-line); }
.section-white .line-list li,.section-light .line-list li { color: #435966; border-color: var(--omg-line); }
.deliverable-layout { display: grid; grid-template-columns: minmax(0,.75fr) minmax(0,1.25fr); gap: 9vw; align-items: start; }
.deliverable-layout h2 { margin: 0 0 22px; font-size: clamp(43px,4.5vw,72px); line-height: .98; }
.deliverable-layout > div > p:not(.eyebrow) { color: var(--omg-muted); line-height: 1.72; }
.advanced-tick-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--omg-line); }
.advanced-tick-list li { display: grid; grid-template-columns: 30px 1fr; align-items: center; gap: 15px; padding: 19px 0; border-bottom: 1px solid var(--omg-line); color: #304653; font-size: 15px; font-weight: 700; }
.advanced-tick-list svg { width: 22px; height: 22px; padding: 4px; border-radius: 50%; background: var(--omg-yellow); fill: none; stroke: var(--omg-ink); stroke-width: 2.3; }
.section-ink .advanced-tick-list { border-color: rgba(255,255,255,.18); }
.section-ink .advanced-tick-list li { color: #c8d4da; border-color: rgba(255,255,255,.18); }
.related-panel { padding: 115px 0 125px; }
.related-links-modern { display: grid; grid-template-columns: repeat(4,1fr); border-left: 1px solid var(--omg-line); border-top: 1px solid var(--omg-line); }
.related-links-modern a { min-height: 170px; display: flex; flex-direction: column; justify-content: space-between; padding: 25px; border-right: 1px solid var(--omg-line); border-bottom: 1px solid var(--omg-line); color: var(--omg-ink); text-decoration: none; transition: background .22s ease, color .22s ease, transform .22s ease; }
.related-links-modern a:hover { background: var(--omg-ink); color: #fff; transform: translateY(-4px); }
.related-links-modern span { max-width: 220px; font-size: 21px; font-weight: 850; line-height: 1.08; }
.related-links-modern em { align-self: end; color: var(--omg-blue); font-size: 20px; font-style: normal; }
.related-links-modern a:hover em { color: var(--omg-yellow); }
.detail-faq { margin-top: 90px; }

/* Upgrade retained solution / service detail templates */
.page-detail .page-hero.detail-hero {
  min-height: 690px;
  background: var(--omg-ink);
}
.page-detail .page-hero-grid,.page-detail .detail-hero-grid { position: relative; z-index: 3; padding-block: 86px; }
.page-detail .page-hero h1,.page-detail .detail-hero h1 { color: #fff; font-size: clamp(52px,5.7vw,92px); line-height: .94; letter-spacing: -.06em; }
.page-detail .detail-lead { color: #c2d1da; font-size: 19px; line-height: 1.65; }
.page-detail .detail-hero-media { height: 500px; overflow: hidden; border: 1px solid rgba(255,255,255,.22); box-shadow: var(--omg-shadow-deep); }
.page-detail .answer-section { padding: 65px 0; background: linear-gradient(100deg,var(--omg-yellow),#ffdc64); }
.page-detail .answer-grid { display: grid; grid-template-columns: minmax(0,.72fr) minmax(0,1.28fr); gap: 8vw; align-items: start; }
.page-detail .answer-label { font-size: 10px; font-weight: 950; letter-spacing: .16em; text-transform: uppercase; }
.page-detail .answer-grid p:last-child { margin: 0; font-size: clamp(22px,2.4vw,34px); font-weight: 750; line-height: 1.28; }
.page-detail .two-col-content h2,.page-detail .deliverable-grid h2 { font-size: clamp(42px,4.2vw,68px); line-height: 1; }
.page-detail .option-grid { gap: 14px; border: 0; background: transparent; }
.page-detail .option-grid > div { min-height: 235px; border: 1px solid var(--omg-line); padding: 30px; transition: transform .2s ease,box-shadow .2s ease; }
.page-detail .option-grid > div:hover { transform: translateY(-5px); box-shadow: var(--omg-shadow); }
.page-detail .method-grid article { min-height: 360px; }
.page-detail .faq-layout { display: grid; grid-template-columns: .55fr 1fr; gap: 8vw; align-items: start; }
.page-detail .faq-layout h2 { font-size: clamp(42px,4.2vw,68px); line-height: 1; }

/* Project index */
.project-intro { padding: 110px 0; }
.project-list-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.project-list-card { display: grid; grid-template-rows: 410px 1fr; min-height: 690px; overflow: hidden; border: 1px solid var(--omg-line); background: #fff; color: var(--omg-ink); text-decoration: none; transition: transform .3s ease,box-shadow .3s ease; }
.project-list-card:hover { transform: translateY(-8px); box-shadow: var(--omg-shadow); }
.project-list-card > picture,.project-list-card > picture img { display: block; width: 100%; height: 100%; }
.project-list-card > picture { overflow: hidden; }
.project-list-card img { filter: saturate(.75); transition: transform .7s ease,filter .4s ease; }
.project-list-card:hover img { transform: scale(1.045); filter: saturate(1); }
.project-list-card > div { display: flex; flex-direction: column; padding: 32px; }
.project-list-card span { color: var(--omg-blue); font-size: 9px; font-weight: 950; letter-spacing: .13em; text-transform: uppercase; }
.project-list-card h2 { margin: 18px 0 14px; font-size: clamp(31px,3vw,46px); line-height: 1.02; }
.project-list-card p { color: #617480; line-height: 1.7; }
.project-list-card em { margin-top: auto; color: var(--omg-ink); font-size: 12px; font-style: normal; font-weight: 900; }
.project-method { display: grid; grid-template-columns: minmax(0,.7fr) minmax(0,1.3fr); gap: 9vw; align-items: start; }
.project-method h2 { margin: 0; font-size: clamp(45px,4.6vw,75px); line-height: .98; }
.project-method p,.project-method li { color: #b4c4cc; }
.project-method .advanced-tick-list li { color: #c4d0d6; }

/* Individual project profiles */
.project-hero {
  min-height: 790px;
  position: relative;
  display: grid;
  align-items: end;
  overflow: hidden;
  isolation: isolate;
  background: var(--omg-ink);
  color: #fff;
}
.project-hero-media,.project-hero-media picture,.project-hero-media img { position: absolute; inset: 0; width: 100%; height: 100%; }
.project-hero-media img { filter: saturate(.68) contrast(1.08); }
.project-hero-content { position: relative; z-index: 3; padding-top: 110px; padding-bottom: 80px; }
.project-hero h1 { max-width: 1200px; margin: 0; color: #fff; font-size: clamp(55px,6.2vw,99px); line-height: .93; letter-spacing: -.065em; }
.project-hero-content > p:not(.eyebrow) { max-width: 800px; color: #c3d2da; font-size: 19px; line-height: 1.65; }
.project-disclaimer { display: inline-flex; margin-top: 26px; padding: 12px 15px; border: 1px solid rgba(255,255,255,.2); background: rgba(3,15,24,.66); color: #a8bbc6; font-size: 9px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; backdrop-filter: blur(8px); }
.project-story-grid { display: grid; grid-template-columns: 260px minmax(0,800px); justify-content: center; gap: 8vw; align-items: start; }
.project-index { position: sticky; top: 120px; display: grid; gap: 6px; padding: 24px; border: 1px solid var(--omg-line); background: #f4f7f9; }
.project-index span { margin-bottom: 8px; color: var(--omg-blue); font-size: 9px; font-weight: 950; letter-spacing: .14em; text-transform: uppercase; }
.project-index a { padding: 11px 0; border-bottom: 1px solid var(--omg-line); color: #425966; font-size: 12px; font-weight: 800; text-decoration: none; }
.project-index a:hover { color: var(--omg-blue); }
.project-story > section { margin-bottom: 70px; padding-bottom: 70px; border-bottom: 1px solid var(--omg-line); }
.project-story > section:last-child { margin: 0; border: 0; }
.project-story h2 { margin: 0 0 25px; font-size: clamp(41px,4vw,64px); line-height: 1; }
.project-story p:not(.eyebrow) { color: #506571; font-size: 17px; line-height: 1.8; }
.decision-card-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.decision-card-grid article { min-height: 310px; padding: 30px; border: 1px solid var(--omg-line); background: #fff; }
.decision-card-grid span { color: var(--omg-blue); font-size: 10px; font-weight: 950; letter-spacing: .15em; }
.decision-card-grid h3 { margin: 55px 0 14px; font-size: 27px; line-height: 1.05; }
.decision-card-grid p { color: #60727e; line-height: 1.65; }
.project-result { padding: 120px 0; color: #fff; }
.project-result-grid { display: grid; grid-template-columns: minmax(0,.72fr) minmax(0,1.28fr); gap: 9vw; align-items: start; }
.project-result h2 { margin: 0; font-size: clamp(46px,4.7vw,77px); line-height: .98; }
.project-result p:not(.eyebrow) { color: #b7c7cf; font-size: 18px; line-height: 1.75; }
.project-result .advanced-tick-list { margin-top: 30px; }
.project-next { display: grid; grid-template-columns: minmax(0,.7fr) minmax(0,1.3fr); gap: 9vw; align-items: start; }
.project-next h2 { margin: 0; font-size: clamp(43px,4.5vw,72px); line-height: .98; }
.related-project-links { border-top: 1px solid var(--omg-line); }
.related-project-links a { display: flex; justify-content: space-between; gap: 30px; padding: 20px 0; border-bottom: 1px solid var(--omg-line); color: var(--omg-ink); font-weight: 850; text-decoration: none; }
.related-project-links a span:last-child { color: var(--omg-blue); }

/* Knowledge centre */
.knowledge-intro { padding: 105px 0 85px; }
.knowledge-filter-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 42px; }
.knowledge-filter-bar button { min-height: 42px; padding: 0 18px; border: 1px solid #c8d5dc; background: transparent; color: #405662; font: inherit; font-size: 11px; font-weight: 900; cursor: pointer; transition: .18s ease; }
.knowledge-filter-bar button:hover,.knowledge-filter-bar button.is-active { border-color: var(--omg-ink); background: var(--omg-ink); color: #fff; }
.knowledge-card-grid-modern { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 15px; }
.knowledge-card-modern { min-height: 390px; display: flex; flex-direction: column; padding: 31px; border: 1px solid #cfdae0; background: #fff; color: var(--omg-ink); text-decoration: none; transition: transform .25s ease,box-shadow .25s ease,background .25s ease,color .25s ease; }
.knowledge-card-modern:hover { transform: translateY(-7px); border-color: transparent; background: var(--omg-ink); color: #fff; box-shadow: var(--omg-shadow); }
.knowledge-card-modern > span { color: var(--omg-blue); font-size: 9px; font-weight: 950; letter-spacing: .13em; text-transform: uppercase; }
.knowledge-card-modern h2 { margin: 48px 0 17px; font-size: clamp(27px,2.35vw,38px); line-height: 1.04; }
.knowledge-card-modern p { color: #627581; line-height: 1.7; }
.knowledge-card-modern:hover p { color: #b9c8d0; }
.knowledge-card-modern em { display: flex; justify-content: space-between; margin-top: auto; padding-top: 30px; color: var(--omg-blue); font-size: 11px; font-style: normal; font-weight: 900; }
.knowledge-card-modern:hover em { color: var(--omg-yellow); }
.knowledge-card-modern[hidden] { display: none; }
.knowledge-caution { padding: 100px 0; color: #fff; }
.knowledge-caution-grid { display: grid; grid-template-columns: minmax(0,.7fr) minmax(0,1.3fr); gap: 9vw; }
.knowledge-caution h2 { margin: 0; font-size: clamp(45px,4.6vw,75px); line-height: .98; }
.knowledge-caution p:not(.eyebrow) { color: #b6c5cd; font-size: 17px; line-height: 1.75; }
.search-inline { display: flex; align-items: center; gap: 12px; width: min(620px,100%); margin-top: 28px; padding: 10px 14px; border: 1px solid #cbd6dc; background: #fff; }
.search-inline svg { width: 19px; fill: none; stroke: var(--omg-blue); stroke-width: 1.8; }
.search-inline input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; color: var(--omg-ink); font: inherit; }

/* Technical articles */
.technical-article { background: #fff; }
.modern-article-hero {
  min-height: 690px;
  position: relative;
  display: grid;
  align-items: end;
  overflow: hidden;
  isolation: isolate;
  background: var(--omg-ink);
  color: #fff;
}
.modern-article-hero .article-hero-media,
.modern-article-hero .article-hero-media picture,
.modern-article-hero .article-hero-media img { position: absolute; inset: 0; width: 100%; height: 100%; }
.modern-article-hero .article-hero-media img { filter: saturate(.55) contrast(1.1); }
.modern-article-hero .detail-hero-shade { background: linear-gradient(90deg,rgba(3,14,22,.98),rgba(4,20,31,.92) 55%,rgba(3,15,24,.45)); }
.article-hero-content { position: relative; z-index: 3; padding-top: 100px; padding-bottom: 80px; }
.article-number { display: inline-grid; place-items: center; width: 48px; height: 48px; margin-bottom: 26px; border: 1px solid rgba(255,255,255,.35); color: var(--omg-yellow); font-size: 10px; font-weight: 900; }
.modern-article-hero h1 { max-width: 1140px; margin: 0; color: #fff; font-size: clamp(50px,5.9vw,92px); line-height: .94; letter-spacing: -.06em; }
.modern-article-hero .article-hero-content > p:not(.eyebrow) { max-width: 820px; color: #c1d1da; font-size: 19px; line-height: 1.7; }
.article-meta-modern { display: flex; flex-wrap: wrap; gap: 22px; margin-top: 30px; color: #91a8b5; font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.article-answer { padding: 44px 0; background: linear-gradient(100deg,var(--omg-yellow),#ffe277); }
.article-answer .shell { display: grid; grid-template-columns: 190px minmax(0,900px); gap: 50px; align-items: start; }
.article-answer strong { font-size: 10px; letter-spacing: .15em; text-transform: uppercase; }
.article-answer p { margin: 0; font-size: clamp(22px,2.25vw,33px); font-weight: 750; line-height: 1.3; }
.modern-article-body { padding: 105px 0 120px; }
.modern-article-layout { display: grid; grid-template-columns: 270px minmax(0,820px); gap: 8vw; justify-content: center; align-items: start; }
.modern-toc { position: sticky; top: 115px; display: grid; gap: 5px; padding: 25px; border: 1px solid var(--omg-line); background: #f3f6f8; }
.modern-toc > span { margin-bottom: 9px; color: var(--omg-blue); font-size: 9px; font-weight: 950; letter-spacing: .15em; text-transform: uppercase; }
.modern-toc a { padding: 10px 0; border-bottom: 1px solid var(--omg-line); color: #425864; font-size: 12px; font-weight: 780; text-decoration: none; }
.modern-toc a:hover { color: var(--omg-blue); }
.toc-cta { margin-top: 15px; padding: 18px; background: var(--omg-ink); color: #fff; }
.toc-cta strong { display: block; margin-bottom: 6px; font-size: 14px; }
.toc-cta p { margin: 0 0 13px; color: #aebfc9; font-size: 11px; line-height: 1.5; }
.toc-cta a { border: 0; color: var(--omg-yellow); }
.modern-article-layout > div:last-child > section { padding-bottom: 56px; margin-bottom: 56px; border-bottom: 1px solid var(--omg-line); }
.modern-article-layout > div:last-child > section:last-child { border: 0; }
.modern-article-layout h2 { margin-top: 0; font-size: clamp(37px,3.8vw,58px); line-height: 1; }
.modern-article-layout h3 { margin-top: 35px; font-size: 27px; }
.modern-article-layout p,.modern-article-layout li { color: #465d69; font-size: 17px; line-height: 1.82; }
.modern-article-layout ul,.modern-article-layout ol { padding-left: 24px; }
.article-caveat { padding: 24px 26px; border-left: 4px solid var(--omg-yellow); background: #f0f4f6; }
.article-caveat strong { display: block; margin-bottom: 8px; color: var(--omg-ink); }
.article-caveat p { margin: 0; font-size: 14px; }
.article-faq { padding-top: 20px; }
.article-faq .modern-faq { margin-top: 0; }

/* Contact page and secure enquiry UI */
.advanced-contact-hero {
  min-height: 650px;
  position: relative;
  display: grid;
  align-items: end;
  overflow: hidden;
  isolation: isolate;
  background: var(--omg-ink);
  color: #fff;
}
.contact-hero-photo,.contact-hero-photo picture,.contact-hero-photo img { position: absolute; inset: 0; width: 100%; height: 100%; }
.contact-hero-photo img { filter: saturate(.6) contrast(1.08); }
.contact-intro { position: relative; z-index: 3; max-width: 1050px; padding-top: 100px; padding-bottom: 85px; }
.advanced-contact-hero h1 { margin: 0; color: #fff; font-size: clamp(56px,6.6vw,105px); line-height: .92; letter-spacing: -.065em; }
.advanced-contact-hero .contact-intro > p:not(.eyebrow) { max-width: 760px; color: #c2d1da; font-size: 19px; line-height: 1.7; }
.contact-methods { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 30px; }
.contact-methods a,.contact-methods span { display: flex; align-items: center; gap: 11px; padding: 13px 16px; border: 1px solid rgba(255,255,255,.22); background: rgba(4,18,28,.7); color: #fff; font-size: 12px; font-weight: 800; text-decoration: none; backdrop-filter: blur(8px); }
.contact-methods svg { width: 18px; fill: none; stroke: var(--omg-yellow); stroke-width: 1.8; }
.contact-page-grid { display: grid; grid-template-columns: minmax(280px,.62fr) minmax(0,1.38fr); gap: clamp(50px,8vw,125px); align-items: start; }
.contact-route { position: sticky; top: 120px; }
.contact-route h2 { margin: 0 0 25px; font-size: clamp(40px,4.2vw,65px); line-height: 1; }
.contact-route > p { color: var(--omg-muted); line-height: 1.75; }
.contact-response { margin-top: 35px; padding: 22px; border-left: 4px solid var(--omg-yellow); background: #eef3f6; }
.contact-response strong { display: block; margin-bottom: 8px; }
.contact-response p { margin: 0; color: #536975; font-size: 13px; line-height: 1.65; }
.advanced-form-card { overflow: hidden; border: 1px solid var(--omg-line); background: #fff; box-shadow: var(--omg-shadow); }
.form-head { padding: 35px 38px 28px; border-bottom: 1px solid var(--omg-line); background: #f6f8fa; }
.form-head h2 { margin: 7px 0 10px; font-size: clamp(35px,3.4vw,52px); line-height: 1; }
.form-head p { margin: 0; color: #60727e; }
.form-progress { display: grid; grid-template-columns: repeat(3,1fr); border-bottom: 1px solid var(--omg-line); }
.form-progress span { position: relative; padding: 14px 18px; border-right: 1px solid var(--omg-line); color: #70838f; font-size: 8px; font-weight: 950; letter-spacing: .13em; text-transform: uppercase; }
.form-progress span:last-child { border-right: 0; }
.form-progress span:first-child { color: var(--omg-ink); background: #fff9df; }
.advanced-contact-form { padding: 36px 38px 40px; }
.advanced-contact-form .form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.advanced-contact-form label { display: grid; gap: 8px; color: var(--omg-ink); font-size: 12px; font-weight: 850; }
.advanced-contact-form input,.advanced-contact-form select,.advanced-contact-form textarea {
  width: 100%;
  min-height: 52px;
  border: 1px solid #bfcdd5;
  border-radius: 0;
  background: #fff;
  color: var(--omg-ink);
  padding: 13px 14px;
  font: inherit;
  transition: border .18s ease,box-shadow .18s ease;
}
.advanced-contact-form textarea { min-height: 190px; resize: vertical; }
.advanced-contact-form input:focus,.advanced-contact-form select:focus,.advanced-contact-form textarea:focus { border-color: var(--omg-blue); outline: 0; box-shadow: 0 0 0 4px rgba(18,116,192,.12); }
.advanced-contact-form [aria-invalid="true"] { border-color: #b82c2c; box-shadow: 0 0 0 3px rgba(184,44,44,.1); }
.field-error { min-height: 16px; color: #a32323; font-size: 11px; font-weight: 700; }
.file-upload { position: relative; display: grid; place-items: center; min-height: 145px; padding: 22px; border: 1px dashed #9eb2bd; background: #f5f8fa; text-align: center; cursor: pointer; }
.file-upload:hover { border-color: var(--omg-blue); background: #eff6fa; }
.file-upload input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.file-upload strong { display: block; font-size: 15px; }
.file-upload span { margin-top: 6px; color: #6c7e89; font-size: 11px; }
.file-list { display: grid; gap: 7px; margin-top: 10px; }
.file-list span { display: flex; justify-content: space-between; gap: 20px; padding: 9px 12px; background: #eef3f6; color: #435966; font-size: 11px; }
.check-label { display: grid !important; grid-template-columns: 22px 1fr; align-items: start; gap: 11px !important; font-weight: 650 !important; line-height: 1.55; }
.check-label input { width: 19px; min-height: 19px; margin-top: 2px; }
.form-submit-row { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 20px; margin-top: 10px; padding-top: 25px; border-top: 1px solid var(--omg-line); }
.form-submit-row p { max-width: 420px; margin: 0; color: #657985; font-size: 11px; line-height: 1.55; }
.form-status { margin-top: 18px; padding: 13px 15px; border-left: 3px solid var(--omg-blue); background: #eef5f8; color: #314b59; font-size: 13px; line-height: 1.55; }
.form-status.is-error { border-color: #b82c2c; background: #fff0f0; color: #8b1f1f; }
.form-status.is-success { border-color: #238360; background: #ecfaf5; color: #145e43; }
.honeypot { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.contact-prep-modern { display: grid; grid-template-columns: minmax(0,.64fr) minmax(0,1.36fr); gap: 9vw; align-items: start; }
.contact-prep-modern h2 { margin: 0; font-size: clamp(43px,4.4vw,72px); line-height: .98; }
.prep-grid-modern { display: grid; grid-template-columns: repeat(2,1fr); gap: 14px; }
.prep-grid-modern article { min-height: 230px; padding: 28px; border: 1px solid var(--omg-line); background: #fff; }
.prep-grid-modern span { color: var(--omg-blue); font-size: 10px; font-weight: 950; letter-spacing: .14em; }
.prep-grid-modern h3 { margin: 44px 0 12px; font-size: 24px; }
.prep-grid-modern p { color: #617480; font-size: 13px; line-height: 1.65; }

/* Process */
.process-stages { padding: 120px 0; }
.process-step-modern { display: grid; grid-template-columns: 110px minmax(0,.86fr) minmax(0,1.14fr); gap: 45px; align-items: center; padding: 35px 0; border-top: 1px solid var(--omg-line); }
.process-step-modern:last-child { border-bottom: 1px solid var(--omg-line); }
.process-step-number { color: var(--omg-blue); font-size: 12px; font-weight: 950; letter-spacing: .15em; }
.process-step-copy h2 { margin: 0 0 12px; font-size: clamp(31px,3.2vw,48px); line-height: 1; }
.process-step-copy p { margin: 0; color: #5f737f; line-height: 1.7; }
.process-step-photo { height: 290px; overflow: hidden; }
.process-step-photo picture,.process-step-photo img { display: block; width: 100%; height: 100%; }
.process-step-photo img { filter: saturate(.72); transition: transform .6s ease,filter .4s ease; }
.process-step-modern:hover .process-step-photo img { transform: scale(1.035); filter: saturate(1); }
.process-responsibility { padding: 115px 0; color: #fff; }
.responsibility-grid { display: grid; grid-template-columns: minmax(0,.7fr) minmax(0,1.3fr); gap: 9vw; align-items: start; }
.responsibility-grid h2 { margin: 0; font-size: clamp(46px,4.7vw,78px); line-height: .98; }
.responsibility-grid > div:last-child > p { color: #b3c3cc; font-size: 17px; line-height: 1.75; }

/* About */
.about-manifesto { display: grid; grid-template-columns: minmax(0,.68fr) minmax(0,1.32fr); gap: 9vw; align-items: start; }
.about-manifesto h2 { margin: 0; font-size: clamp(45px,4.7vw,77px); line-height: .98; }
.about-manifesto p { color: var(--omg-muted); font-size: 17px; line-height: 1.8; }
.about-pillars { padding: 110px 0; }
.pillar-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 15px; }
.pillar-grid article { min-height: 360px; padding: 32px; border: 1px solid var(--omg-line); background: #fff; }
.pillar-grid span { color: var(--omg-blue); font-size: 10px; font-weight: 950; letter-spacing: .15em; }
.pillar-grid h3 { margin: 70px 0 16px; font-size: 31px; line-height: 1.03; }
.pillar-grid p { color: #617480; line-height: 1.7; }
.group-section { padding: 115px 0; color: #fff; }
.group-grid { display: grid; grid-template-columns: minmax(0,.7fr) minmax(0,1.3fr); gap: 9vw; }
.group-grid h2 { margin: 0; font-size: clamp(45px,4.7vw,77px); line-height: .98; }
.group-grid p { color: #b3c4cc; font-size: 18px; line-height: 1.78; }
.about-capability { padding: 115px 0; }
.capability-spectrum { display: grid; grid-template-columns: repeat(5,1fr); border-left: 1px solid var(--omg-line); border-top: 1px solid var(--omg-line); }
.capability-spectrum article { min-height: 270px; padding: 27px; border-right: 1px solid var(--omg-line); border-bottom: 1px solid var(--omg-line); }
.capability-spectrum span { color: var(--omg-blue); font-size: 9px; font-weight: 950; letter-spacing: .14em; }
.capability-spectrum h3 { margin: 52px 0 13px; font-size: 24px; }
.capability-spectrum p { color: #617480; font-size: 13px; line-height: 1.65; }

/* Compliance hub and technical standards */
.compliance-principle { display: grid; grid-template-columns: minmax(0,.72fr) minmax(0,1.28fr); gap: 9vw; align-items: start; }
.compliance-principle h2 { margin: 0; font-size: clamp(44px,4.7vw,76px); line-height: .98; }
.compliance-principle p { color: var(--omg-muted); font-size: 17px; line-height: 1.8; }
.compliance-card-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px; }
.compliance-card { min-height: 360px; display: flex; flex-direction: column; padding: 32px; border: 1px solid var(--omg-line); background: #fff; color: var(--omg-ink); text-decoration: none; transition: transform .24s ease,box-shadow .24s ease,background .24s ease,color .24s ease; }
.compliance-card:hover { transform: translateY(-6px); background: var(--omg-ink); color: #fff; box-shadow: var(--omg-shadow); }
.compliance-card span { color: var(--omg-blue); font-size: 10px; font-weight: 950; letter-spacing: .14em; }
.compliance-card h2 { margin: 50px 0 15px; font-size: clamp(31px,3vw,45px); line-height: 1.02; }
.compliance-card p { color: #617480; line-height: 1.7; }
.compliance-card:hover p { color: #b7c6ce; }
.compliance-card em { margin-top: auto; color: var(--omg-blue); font-size: 12px; font-style: normal; font-weight: 900; }
.compliance-card:hover em { color: var(--omg-yellow); }
.official-sources { padding: 105px 0; color: #fff; }
.official-source-grid { display: grid; grid-template-columns: minmax(0,.64fr) minmax(0,1.36fr); gap: 9vw; }
.official-source-grid h2 { margin: 0; font-size: clamp(44px,4.6vw,74px); line-height: .98; }
.official-link-list { border-top: 1px solid rgba(255,255,255,.18); }
.official-link-list a { display: flex; justify-content: space-between; gap: 30px; padding: 21px 0; border-bottom: 1px solid rgba(255,255,255,.18); color: #fff; text-decoration: none; }
.official-link-list a span { color: #aebfc9; }
.official-link-list a em { color: var(--omg-yellow); font-style: normal; }
.standards-logic { padding: 105px 0; }
.standards-map { border-top: 1px solid var(--omg-line); }
.standard-row { display: grid; grid-template-columns: 155px minmax(190px,.55fr) minmax(0,1.45fr); gap: 35px; align-items: start; padding: 30px 0; border-bottom: 1px solid var(--omg-line); }
.standard-row > span { color: var(--omg-blue); font-size: 10px; font-weight: 950; letter-spacing: .11em; }
.standard-row h2 { margin: 0; font-size: 28px; line-height: 1.05; }
.standard-row p { margin: 0; color: #617480; line-height: 1.72; }
.source-notes { padding: 100px 0; }
.source-notes > .shell { display: grid; grid-template-columns: minmax(0,.62fr) minmax(0,1.38fr); gap: 8vw; }
.source-notes h2 { margin: 0; font-size: clamp(42px,4.3vw,68px); line-height: .99; }
.source-link-grid { display: grid; gap: 8px; }
.source-link-grid a { display: grid; gap: 6px; padding: 19px 21px; border: 1px solid var(--omg-line); color: var(--omg-ink); text-decoration: none; transition: background .2s ease,border .2s ease; }
.source-link-grid a:hover { border-color: var(--omg-ink); background: var(--omg-ink); color: #fff; }
.source-link-grid span { color: #687b87; font-size: 12px; }
.source-link-grid a:hover span { color: #b3c3cb; }
.source-date { grid-column: 2; color: #6a7e89; font-size: 11px; line-height: 1.6; }
.validation-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,.88fr); gap: 8vw; align-items: center; }
.validation-grid > div:first-child { height: 620px; overflow: hidden; }
.validation-grid > div:first-child picture,.validation-grid > div:first-child img { display: block; width: 100%; height: 100%; }
.validation-grid h2 { margin: 12px 0 28px; font-size: clamp(43px,4.3vw,68px); line-height: .99; }
.validation-chain { display: grid; grid-template-columns: repeat(4,1fr); border-left: 1px solid var(--omg-line); border-top: 1px solid var(--omg-line); }
.validation-chain article { min-height: 260px; padding: 27px; border-right: 1px solid var(--omg-line); border-bottom: 1px solid var(--omg-line); }
.validation-chain span,.document-grid span { color: var(--omg-blue); font-size: 10px; font-weight: 950; letter-spacing: .15em; }
.validation-chain h3 { margin: 55px 0 13px; font-size: 25px; }
.validation-chain p { color: #617480; line-height: 1.65; }
.documentation-pack { display: grid; grid-template-columns: minmax(0,.55fr) minmax(0,1.45fr); gap: 8vw; align-items: start; }
.documentation-pack h2 { margin: 0; font-size: clamp(43px,4.3vw,68px); line-height: .99; }
.document-grid { display: grid; grid-template-columns: repeat(5,1fr); border-left: 1px solid var(--omg-line); border-top: 1px solid var(--omg-line); }
.document-grid article { min-height: 250px; padding: 24px; border-right: 1px solid var(--omg-line); border-bottom: 1px solid var(--omg-line); }
.document-grid h3 { margin: 45px 0 12px; font-size: 22px; }
.document-grid p { color: #60737f; font-size: 12px; line-height: 1.6; }
.ce-market-grid { display: grid; grid-template-columns: minmax(0,.7fr) minmax(0,1.3fr); gap: 9vw; align-items: start; }
.ce-market-grid h2 { margin: 0 0 25px; font-size: clamp(43px,4.4vw,70px); line-height: .99; }
.ce-market-grid > div:first-child p { color: #b3c4cc; font-size: 17px; line-height: 1.75; }
.market-cards { display: grid; gap: 10px; }
.market-cards article { padding: 27px; border: 1px solid rgba(255,255,255,.18); }
.market-cards span { color: var(--omg-yellow); font-size: 10px; font-weight: 950; letter-spacing: .15em; }
.market-cards h3 { margin: 18px 0 10px; color: #fff; font-size: 27px; }
.market-cards p { margin: 0; color: #aebfc8; line-height: 1.65; }

/* Human sitemap */
.compact-hero { min-height: 510px; position: relative; overflow: hidden; display: grid; align-items: end; background: var(--omg-ink); color: #fff; }
.compact-hero::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 78% 20%,rgba(67,213,255,.14),transparent 32%),linear-gradient(120deg,#051521,#0b2c40); }
.compact-hero-inner { position: relative; z-index: 1; padding-top: 100px; padding-bottom: 72px; }
.compact-hero h1 { margin: 0; color: #fff; font-size: clamp(52px,6vw,90px); line-height: .94; }
.compact-hero p:not(.eyebrow) { max-width: 760px; color: #bed0d9; font-size: 18px; line-height: 1.7; }
.html-sitemap { display: grid; grid-template-columns: repeat(3,1fr); gap: 15px; }
.html-sitemap section { padding: 27px; border: 1px solid var(--omg-line); background: #fff; }
.html-sitemap h2 { font-size: 27px; }
.html-sitemap ul { list-style: none; padding: 0; }
.html-sitemap li { border-top: 1px solid var(--omg-line); }
.html-sitemap a { display: block; padding: 12px 0; color: #405662; font-size: 13px; font-weight: 760; text-decoration: none; }
.html-sitemap a:hover { color: var(--omg-blue); }

/* Search overlay and page */
.site-search { width: min(840px,calc(100% - 30px)); max-height: min(780px,calc(100vh - 30px)); padding: 0; border: 0; background: transparent; color: var(--omg-ink); }
.site-search::backdrop { background: rgba(1,9,15,.78); backdrop-filter: blur(8px); }
.search-panel { padding: clamp(28px,5vw,55px); background: #fff; box-shadow: 0 40px 120px rgba(0,0,0,.45); }
.search-head { display: flex; justify-content: space-between; gap: 35px; align-items: start; margin-bottom: 28px; }
.search-head h2 { margin: 0; font-size: clamp(36px,4.2vw,60px); line-height: 1; }
.search-head button { width: 44px; height: 44px; border: 1px solid var(--omg-line); background: #fff; color: var(--omg-ink); font-size: 27px; cursor: pointer; }
.search-panel > label { display: block; margin-bottom: 8px; font-size: 12px; font-weight: 850; }
.search-panel > input { width: 100%; min-height: 58px; border: 1px solid #b9c8d0; padding: 14px 16px; color: var(--omg-ink); font: inherit; }
.search-panel > input:focus { border-color: var(--omg-blue); outline: 0; box-shadow: 0 0 0 4px rgba(18,116,192,.12); }
.search-results { max-height: 410px; overflow: auto; margin-top: 18px; }
.search-result { display: grid; grid-template-columns: 1fr auto; gap: 24px; padding: 18px 2px; border-bottom: 1px solid var(--omg-line); color: var(--omg-ink); text-decoration: none; }
.search-result > span { display: grid; gap: 6px; }
.search-result strong { font-size: 15px; }
.search-result > span > span { color: #637682; font-size: 12px; line-height: 1.55; }
.search-result em { color: var(--omg-blue); font-style: normal; }
.search-result:hover strong { color: var(--omg-blue); }
.search-empty { color: #657985; }

/* Advanced global CTA */
.advanced-cta {
  position: relative;
  min-height: 430px;
  display: grid;
  align-items: center;
  overflow: hidden;
  isolation: isolate;
  background: var(--omg-ink);
  color: #fff;
}
.advanced-cta .cta-photo,.advanced-cta .cta-photo picture,.advanced-cta .cta-photo img { position: absolute; inset: 0 0 0 auto; width: 55%; height: 100%; }
.advanced-cta .cta-photo img { filter: saturate(.56) contrast(1.08); }
.advanced-cta::before { content: ""; position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg,#06131f 0%,#06131f 47%,rgba(6,19,31,.88) 65%,rgba(6,19,31,.45)); }
.advanced-cta::after { content: ""; position: absolute; z-index: 1; inset: 0; pointer-events: none; background-image: linear-gradient(rgba(67,213,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(67,213,255,.08) 1px,transparent 1px); background-size: 64px 64px; mask-image: linear-gradient(90deg,#000,transparent 65%); }
.advanced-cta .cta-band-grid { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 70px; align-items: end; padding-top: 85px; padding-bottom: 85px; }
.advanced-cta h2 { max-width: 900px; margin: 0 0 15px; color: #fff; font-size: clamp(45px,4.8vw,78px); line-height: .97; }
.advanced-cta p:not(.eyebrow) { max-width: 680px; color: #b6c6cf; font-size: 16px; line-height: 1.7; }
.cta-band-actions { display: grid; gap: 15px; min-width: 260px; }
.cta-phone-link { display: flex; align-items: center; gap: 13px; color: #fff; text-decoration: none; }
.cta-phone-link svg { width: 22px; fill: none; stroke: var(--omg-yellow); stroke-width: 1.8; }
.cta-phone-link span { display: grid; gap: 2px; }
.cta-phone-link small { color: #8ca4b1; font-size: 9px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.cta-phone-link strong { font-size: 20px; }

/* Premium footer */
.advanced-site .site-footer { padding: 90px 0 0; border-top: 4px solid var(--omg-yellow); background: #020b11; color: #fff; }
.advanced-site .footer-grid { display: grid; grid-template-columns: minmax(260px,1.35fr) repeat(4,minmax(120px,.65fr)) minmax(220px,1fr); gap: 45px; }
.advanced-site .footer-brand img { width: min(270px,100%); height: auto; }
.advanced-site .footer-brand > p { max-width: 390px; color: #91a7b3; line-height: 1.7; }
.advanced-site .footer-group { color: #fff !important; font-weight: 800; }
.footer-trust { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 23px; }
.footer-trust span { padding: 8px 10px; border: 1px solid rgba(255,255,255,.14); color: #9fb1bb; font-size: 8px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.advanced-site .site-footer h2 { margin: 5px 0 20px; color: var(--omg-cyan); font-size: 10px; letter-spacing: .16em; text-transform: uppercase; }
.advanced-site .site-footer ul { list-style: none; margin: 0; padding: 0; }
.advanced-site .site-footer li { margin-bottom: 11px; }
.advanced-site .site-footer a { color: #c0cdd4; font-size: 12px; text-decoration: none; }
.advanced-site .site-footer a:hover { color: var(--omg-yellow); }
.footer-contact address { color: #91a7b3; font-size: 12px; font-style: normal; line-height: 1.6; }
.footer-phone { display: flex; align-items: center; gap: 9px; margin-top: 17px; color: #fff !important; font-size: 18px !important; font-weight: 900; }
.footer-phone svg { width: 18px; fill: none; stroke: var(--omg-yellow); stroke-width: 1.8; }
.footer-email { display: block; margin-top: 11px; overflow-wrap: anywhere; }
.footer-contact p { color: #718995; font-size: 11px; line-height: 1.55; }
.advanced-site .footer-bottom { display: flex; justify-content: space-between; gap: 30px; align-items: center; margin-top: 70px; padding: 24px 0; border-top: 1px solid rgba(255,255,255,.13); color: #728893; font-size: 10px; }
.advanced-site .footer-bottom nav { display: flex; flex-wrap: wrap; gap: 20px; }
.advanced-site .footer-bottom a { font-size: 10px; }

/* Floating call action */
.advanced-site .floating-call-button {
  position: fixed;
  z-index: 850;
  right: 22px;
  bottom: 22px;
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 62px;
  padding: 7px 20px 7px 7px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 999px;
  background: rgba(5,18,29,.96);
  color: #fff;
  text-decoration: none;
  box-shadow: 0 18px 50px rgba(0,0,0,.28);
  backdrop-filter: blur(12px);
  transition: transform .2s ease,box-shadow .2s ease,background .2s ease;
}
.advanced-site .floating-call-button:hover { transform: translateY(-4px); background: #071b29; box-shadow: 0 24px 60px rgba(0,0,0,.36); }
.advanced-site .floating-call-button:focus-visible { outline: 3px solid var(--omg-yellow); outline-offset: 4px; }
.advanced-site .floating-call-icon { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 50%; background: var(--omg-yellow); }
.advanced-site .floating-call-icon svg { width: 20px; fill: none; stroke: var(--omg-ink); stroke-width: 1.8; }
.advanced-site .floating-call-text { display: grid; gap: 1px; }
.advanced-site .floating-call-text small { color: #9eb2be; font-size: 8px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.advanced-site .floating-call-text strong { color: #fff; font-size: 16px; letter-spacing: -.015em; }

/* Reveal motion */
.js .advanced-site .reveal { opacity: 0; transform: translateY(28px); transition: opacity .75s ease,transform .75s cubic-bezier(.2,.8,.2,1); }
.js .advanced-site .reveal.reveal-delay { transition-delay: .14s; }
.js .advanced-site .reveal.is-visible { opacity: 1; transform: none; }

/* ======================================================================
   Responsive behaviour
   ====================================================================== */
@media (max-width: 1280px) {
  .advanced-site .shell { width: min(100% - 52px, 1320px); }
  .advanced-site .brand img { width: 215px; }
  .advanced-site .site-header.is-scrolled .brand img { width: 195px; }
  .advanced-site .mega-navigation > ul > li > a,.advanced-site .nav-trigger { padding-inline: 8px; font-size: 12px; }
  .advanced-site .mega-navigation > ul > li > a::after,.advanced-site .nav-trigger::after { left: 8px; right: 8px; }
  .advanced-site .nav-more { display: flex !important; }
  .advanced-site .mega-navigation > ul > li:nth-last-child(3),
  .advanced-site .mega-navigation > ul > li:nth-last-child(2) { display: none; }
  .advanced-site .header-actions .button { display: none; }
  .catalogue-grid { grid-template-columns: repeat(2,1fr); }
  .related-links-modern { grid-template-columns: repeat(2,1fr); }
  .knowledge-card-grid-modern { grid-template-columns: repeat(2,1fr); }
  .document-grid { grid-template-columns: repeat(3,1fr); }
  .advanced-site .footer-grid { grid-template-columns: minmax(240px,1.4fr) repeat(3,1fr); }
  .advanced-site .footer-grid > div:nth-child(5),.advanced-site .footer-contact { margin-top: 15px; }
}

@media (max-width: 1040px) {
  :root { --omg-header-h: 74px; }
  .advanced-site .shell { width: min(100% - 42px, 980px); }
  .advanced-site .utility-parent { display: none; }
  .advanced-site .site-header,.advanced-site .site-header.is-scrolled { height: var(--omg-header-h); }
  .advanced-site .brand img,.advanced-site .site-header.is-scrolled .brand img { width: 218px; }
  .advanced-site .nav-toggle { display: grid; place-content: center; gap: 5px; width: 44px; height: 44px; margin-left: auto; border: 1px solid #d3dee4; background: #fff; }
  .advanced-site .nav-toggle span:not(.sr-only) { display: block; width: 20px; height: 2px; background: var(--omg-ink); transition: transform .2s ease,opacity .2s ease; }
  .advanced-site .nav-toggle[aria-expanded="true"] span:not(.sr-only):nth-of-type(2) { transform: translateY(7px) rotate(45deg); }
  .advanced-site .nav-toggle[aria-expanded="true"] span:not(.sr-only):nth-of-type(3) { opacity: 0; }
  .advanced-site .nav-toggle[aria-expanded="true"] span:not(.sr-only):nth-of-type(4) { transform: translateY(-7px) rotate(-45deg); }
  .advanced-site .mega-navigation {
    position: fixed;
    inset: calc(34px + var(--omg-header-h)) 0 auto;
    max-height: calc(100vh - 108px);
    overflow: auto;
    visibility: hidden;
    opacity: 0;
    transform: translateY(-10px);
    background: #fff;
    border-top: 1px solid var(--omg-line);
    box-shadow: 0 25px 70px rgba(3,16,26,.22);
    transition: .2s ease;
  }
  .advanced-site .mega-navigation.is-open { visibility: visible; opacity: 1; transform: none; }
  .advanced-site .mega-navigation > ul { height: auto; display: block; padding: 12px 21px 24px; }
  .advanced-site .mega-navigation > ul > li,
  .advanced-site .mega-navigation > ul > li:nth-last-child(3),
  .advanced-site .mega-navigation > ul > li:nth-last-child(2),
  .advanced-site .nav-more { display: block !important; border-bottom: 1px solid var(--omg-line); }
  .advanced-site .mega-navigation > ul > li > a,.advanced-site .nav-trigger { width: 100%; min-height: 58px; justify-content: space-between; padding: 0; font-size: 16px; }
  .advanced-site .mega-navigation > ul > li > a::after,.advanced-site .nav-trigger::after { display: none; }
  .advanced-site .mega-panel,.advanced-site .compact-mega,.advanced-site .mini-mega {
    position: static;
    width: 100%;
    display: none;
    grid-template-columns: 1fr;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
    box-shadow: none;
    border: 0;
    border-top: 1px solid var(--omg-line);
  }
  .advanced-site .has-mega.is-open > .mega-panel { display: grid; transform: none; }
  .advanced-site .mega-feature { display: none; }
  .advanced-site .mega-links,.advanced-site .mega-links.two-columns,.advanced-site .mini-mega .mega-links { grid-template-columns: 1fr 1fr; padding: 12px 0 18px; }
  .advanced-site .mega-links a { padding: 13px 12px; }
  .advanced-site .header-actions { margin-left: 0; }
  .advanced-site .header-actions .search-button { display: grid; }
  .advanced-hero { min-height: auto; }
  .advanced-hero-layout { grid-template-columns: 1fr; padding-top: 100px; padding-bottom: 75px; }
  .hero-system-card { max-width: 650px; }
  .metric-grid { grid-template-columns: repeat(2,1fr); }
  .intro-manifesto-grid,.process-lab-grid,.industry-stage-grid,.evidence-grid { grid-template-columns: 1fr; }
  .intro-manifesto-copy,.process-copy,.industry-stage-copy { position: static; }
  .cinematic-grid { grid-template-columns: 1fr 1fr; }
  .cinematic-card-large { grid-row: auto; }
  .anatomy-layout { grid-template-columns: 1fr; }
  .anatomy-visual { min-height: 620px; }
  .anatomy-panel { min-height: 530px; }
  .project-grid { grid-template-columns: 1fr 1fr; grid-template-rows: 520px 330px; }
  .project-card-feature { grid-column: 1/-1; grid-row: auto; }
  .evidence-photo { height: 620px; }
  .knowledge-grid-modern { grid-template-columns: repeat(2,1fr); }
  .faq-modern { grid-template-columns: 1fr; gap: 35px; }
  .advanced-category-hero,.advanced-detail-hero { min-height: 650px; }
  .advanced-detail-grid { grid-template-columns: 1fr; gap: 35px; }
  .detail-spec-card { max-width: 520px; }
  .detail-photo-grid,.validation-grid { grid-template-columns: 1fr; }
  .detail-photo,.validation-grid > div:first-child { height: 580px; }
  .category-closing-grid,.project-result-grid,.project-next,.knowledge-caution-grid,.contact-prep-modern,.responsibility-grid,.about-manifesto,.group-grid,.compliance-principle,.official-source-grid,.ce-market-grid,.documentation-pack { grid-template-columns: 1fr; gap: 50px; }
  .source-notes > .shell { grid-template-columns: 1fr; }
  .source-date { grid-column: auto; }
  .project-story-grid,.modern-article-layout { grid-template-columns: 1fr; }
  .project-index,.modern-toc,.contact-route { position: static; }
  .project-index,.modern-toc { grid-template-columns: repeat(3,1fr); }
  .project-index > span,.modern-toc > span,.toc-cta { grid-column: 1/-1; }
  .contact-page-grid { grid-template-columns: 1fr; }
  .process-step-modern { grid-template-columns: 80px 1fr; }
  .process-step-photo { grid-column: 2; }
  .capability-spectrum { grid-template-columns: repeat(3,1fr); }
  .document-grid { grid-template-columns: repeat(3,1fr); }
  .advanced-cta .cta-band-grid { grid-template-columns: 1fr; }
  .cta-band-actions { width: max-content; }
  .advanced-site .footer-grid { grid-template-columns: repeat(3,1fr); }
  .advanced-site .footer-brand { grid-column: 1/-1; }
}

@media (max-width: 760px) {
  html { scroll-padding-top: 96px; }
  .advanced-site .shell { width: min(100% - 30px, 700px); }
  .advanced-site .utility-message { max-width: 54vw; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .advanced-site .utility-inner { font-size: 9px; }
  .advanced-site .utility-phone span { font-size: 11px; }
  .advanced-site .brand img,.advanced-site .site-header.is-scrolled .brand img { width: 188px; }
  .advanced-site .header-inner { gap: 8px; }
  .advanced-site .search-button { width: 40px; height: 40px; }
  .advanced-site .mega-navigation { inset-top: 108px; }
  .advanced-site .mega-links,.advanced-site .mega-links.two-columns,.advanced-site .mini-mega .mega-links { grid-template-columns: 1fr; }
  .advanced-site .section { padding-top: 82px; padding-bottom: 82px; }
  .advanced-site .section-heading { display: block; margin-bottom: 38px; }
  .advanced-site .section-heading > p,.advanced-site .section-heading > div:last-child:not(:first-child) { margin-top: 18px; }
  .advanced-site .split-intro,.detail-intro-grid,.deliverable-layout,.page-detail .answer-grid,.page-detail .two-col-content,.page-detail .deliverable-grid,.page-detail .faq-layout,.project-method { grid-template-columns: 1fr; gap: 36px; }
  .advanced-site .mini-process { flex-wrap: wrap; }
  .advanced-site .mini-process i { width: 15px; }
  .advanced-hero { min-height: auto; }
  .advanced-hero-layout { padding-top: 76px; padding-bottom: 55px; }
  .advanced-hero-copy h1 { font-size: clamp(50px,15vw,76px); }
  .hero-classification { font-size: 7px; }
  .hero-lead { font-size: 17px; }
  .hero-actions { align-items: stretch; flex-direction: column; }
  .hero-actions .button { width: 100%; }
  .hero-assurance { grid-template-columns: 1fr; }
  .hero-system-card { display: none; }
  .metric-grid { grid-template-columns: 1fr 1fr; }
  .metric-grid > div { min-height: 92px; padding: 17px; }
  .metric-grid strong { font-size: 14px; }
  .intro-manifesto-copy h2,.process-copy h2,.industry-stage-copy h2,.evidence-copy h2 { font-size: 48px; }
  .manifesto-list article { grid-template-columns: 48px 1fr; }
  .cinematic-grid { grid-template-columns: 1fr; grid-auto-rows: 440px; }
  .cinematic-card-large,.cinematic-card-wide { grid-column: auto; }
  .cinematic-overlay { left: 22px; right: 22px; bottom: 24px; }
  .anatomy-section { padding-block: 82px; }
  .anatomy-visual { min-height: 510px; }
  .hotspot { width: 42px; height: 42px; }
  .anatomy-panel { padding: 32px 25px; min-height: 510px; }
  .anatomy-coordinates { display: none; }
  .systems-rail { grid-auto-columns: 84vw; }
  .system-tile { min-height: 500px; }
  .process-timeline li { grid-template-columns: 46px 1fr; gap: 20px; }
  .process-timeline li::before { left: 45px; }
  .project-grid { display: grid; grid-template-columns: 1fr; grid-template-rows: repeat(3,420px); }
  .project-card-feature { grid-column: auto; }
  .industry-list a { grid-template-columns: 44px 1fr; }
  .industry-list em { display: none; }
  .evidence-photo { height: 500px; }
  .knowledge-grid-modern { grid-template-columns: 1fr; }
  .knowledge-grid-modern a { min-height: 300px; }
  .advanced-category-hero { min-height: 610px; }
  .advanced-category-hero .category-hero-content { padding-top: 80px; padding-bottom: 60px; }
  .advanced-category-hero h1 { font-size: clamp(49px,14vw,76px); }
  .catalogue-grid,.project-list-grid,.knowledge-card-grid-modern,.compliance-card-grid { grid-template-columns: 1fr; }
  .catalogue-card { min-height: 560px; }
  .catalogue-media { height: 310px; }
  .advanced-detail-hero { min-height: 660px; }
  .advanced-detail-grid { padding-top: 74px; padding-bottom: 55px; }
  .detail-hero-copy h1 { font-size: clamp(48px,14vw,74px); }
  .detail-spec-card { display: none; }
  .detail-photo,.validation-grid > div:first-child { height: 480px; }
  .related-links-modern { grid-template-columns: 1fr; }
  .related-links-modern a { min-height: 120px; }
  .page-detail .detail-hero-grid,.page-detail .page-hero-grid { grid-template-columns: 1fr; }
  .page-detail .detail-hero-media { height: 370px; }
  .page-detail .option-grid { grid-template-columns: 1fr; }
  .page-detail .method-grid { grid-template-columns: 1fr; }
  .project-list-card { grid-template-rows: 330px 1fr; min-height: 610px; }
  .project-hero { min-height: 700px; }
  .project-hero h1 { font-size: clamp(48px,13vw,76px); }
  .project-index,.modern-toc { grid-template-columns: 1fr; }
  .decision-card-grid { grid-template-columns: 1fr; }
  .knowledge-filter-bar { overflow-x: auto; flex-wrap: nowrap; padding-bottom: 8px; }
  .knowledge-filter-bar button { flex: 0 0 auto; }
  .modern-article-hero { min-height: 660px; }
  .modern-article-hero h1 { font-size: clamp(44px,12.6vw,70px); }
  .article-answer .shell { grid-template-columns: 1fr; gap: 13px; }
  .modern-article-body { padding-block: 80px; }
  .modern-article-layout p,.modern-article-layout li { font-size: 16px; }
  .advanced-contact-hero { min-height: 620px; }
  .advanced-contact-hero h1 { font-size: clamp(50px,14vw,76px); }
  .advanced-contact-form .form-grid { grid-template-columns: 1fr; }
  .form-span { grid-column: auto; }
  .form-head,.advanced-contact-form { padding-inline: 24px; }
  .form-progress span { padding-inline: 8px; font-size: 7px; }
  .prep-grid-modern { grid-template-columns: 1fr; }
  .process-step-modern { grid-template-columns: 45px 1fr; gap: 18px; }
  .process-step-photo { grid-column: 1/-1; height: 260px; }
  .pillar-grid,.capability-spectrum { grid-template-columns: 1fr; }
  .standard-row { grid-template-columns: 1fr; gap: 9px; }
  .validation-chain,.document-grid { grid-template-columns: 1fr; }
  .html-sitemap { grid-template-columns: 1fr; }
  .advanced-cta .cta-photo { width: 100%; opacity: .3; }
  .advanced-cta::before { background: rgba(6,19,31,.88); }
  .advanced-cta .cta-band-grid { padding-block: 70px; }
  .cta-band-actions { width: 100%; min-width: 0; }
  .advanced-cta .button { width: 100%; }
  .advanced-site .footer-grid { grid-template-columns: 1fr 1fr; gap: 35px 25px; }
  .advanced-site .footer-brand,.advanced-site .footer-contact { grid-column: 1/-1; }
  .advanced-site .footer-bottom { align-items: flex-start; flex-direction: column; margin-top: 50px; }
  .advanced-site .floating-call-button { right: 15px; bottom: 15px; width: 58px; height: 58px; min-height: 58px; padding: 5px; justify-content: center; }
  .advanced-site .floating-call-icon { width: 48px; height: 48px; }
  .advanced-site .floating-call-text { display: none; }
  .site-search { width: calc(100% - 16px); }
  .search-panel { padding: 25px 20px; }
}

@media (max-width: 480px) {
  .advanced-site .shell { width: calc(100% - 24px); }
  .advanced-site .utility-message { display: none; }
  .advanced-site .utility-inner { justify-content: flex-end; }
  .advanced-site .brand img,.advanced-site .site-header.is-scrolled .brand img { width: 166px; }
  .advanced-site .header-actions { display: none; }
  .advanced-site .nav-toggle { margin-left: auto; }
  .advanced-site .mega-navigation { inset-top: 108px; }
  .advanced-hero-copy h1 { font-size: 49px; }
  .metric-grid { grid-template-columns: 1fr; }
  .cinematic-grid { grid-auto-rows: 400px; }
  .anatomy-visual { min-height: 430px; }
  .hotspot { width: 36px; height: 36px; font-size: 11px; }
  .anatomy-panel h3 { font-size: 39px; }
  .project-grid { grid-template-rows: repeat(3,380px); }
  .advanced-category-hero h1,.detail-hero-copy h1,.project-hero h1,.modern-article-hero h1,.advanced-contact-hero h1 { font-size: 46px; }
  .catalogue-media { height: 270px; }
  .catalogue-body { padding: 24px; }
  .project-list-card { grid-template-rows: 280px 1fr; }
  .contact-methods { display: grid; }
  .form-submit-row { align-items: stretch; flex-direction: column; }
  .form-submit-row .button { width: 100%; }
  .advanced-site .footer-grid { grid-template-columns: 1fr; }
  .advanced-site .footer-brand,.advanced-site .footer-contact { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *,*::before,*::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
  .js .advanced-site .reveal { opacity: 1; transform: none; }
}

@media print {
  .utility-bar,.site-header,.reading-progress,.floating-call-button,.advanced-cta,.site-footer,.site-search,.hero-actions,.knowledge-filter-bar { display: none !important; }
  body.advanced-site { background: #fff; color: #000; }
  .advanced-site .section { padding: 35px 0; }
  .advanced-category-hero,.advanced-detail-hero,.project-hero,.modern-article-hero,.advanced-contact-hero { min-height: 0; color: #000; background: #fff; }
  .category-hero-media,.detail-hero-image,.project-hero-media,.article-hero-media,.contact-hero-photo,.detail-hero-shade,.hero-tech-grid { display: none !important; }
  .advanced-category-hero h1,.detail-hero-copy h1,.project-hero h1,.modern-article-hero h1,.advanced-contact-hero h1 { color: #000; font-size: 42px; }
  a { color: #000 !important; }
}

/* Final interaction and layout refinements */
.advanced-hero h1 { color: #fff; }
.button-full { width: 100%; }
.knowledge-filter-bar > div { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.knowledge-filter-bar > div > span { margin-right: 6px; color: #6c7f8a; font-size: 9px; font-weight: 950; letter-spacing: .14em; text-transform: uppercase; }
.knowledge-filter-bar > .search-inline { width: auto; margin: 0 0 0 auto; padding-inline: 18px; cursor: pointer; }
.form-progress { display: flex; align-items: center; padding: 14px 38px; }
.form-progress i { flex: 1; height: 1px; background: var(--omg-line); }
.form-progress span { flex: 0 0 auto; border: 0; background: transparent !important; padding: 0 10px; }
.file-upload svg { width: 30px; height: 30px; margin-bottom: 12px; fill: none; stroke: var(--omg-blue); stroke-width: 1.7; }
.file-upload.is-dragover { border-color: var(--omg-blue); background: #e8f4fa; box-shadow: inset 0 0 0 2px rgba(18,116,192,.12); }

@media (max-width: 1040px) {
  .advanced-site .site-header:not(.is-scrolled) .mega-navigation { top: calc(34px + var(--omg-header-h)); bottom: auto; }
  .advanced-site .site-header.is-scrolled .mega-navigation { top: var(--omg-header-h); bottom: auto; }
}
@media (max-width: 760px) {
  .knowledge-filter-bar { align-items: stretch; flex-direction: column; }
  .knowledge-filter-bar > div { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 8px; }
  .knowledge-filter-bar > .search-inline { width: 100%; margin-left: 0; justify-content: center; }
  .form-progress { padding-inline: 22px; }
  .form-progress span { padding-inline: 6px; }
}

/* Mobile contact layout: constrain intrinsic grid sizing and long contact data */
.advanced-contact-hero { grid-template-columns: minmax(0, 1fr); }
.contact-page-grid,
.contact-page-grid > *,
.contact-intro,
.advanced-form-card,
.advanced-contact-form,
.advanced-contact-form .form-grid { min-width: 0; }
.contact-methods a,
.contact-methods span { min-width: 0; }
.contact-methods strong { min-width: 0; overflow-wrap: anywhere; word-break: break-word; }

@media (max-width: 760px) {
  .advanced-contact-hero .contact-page-grid {
    width: calc(100% - 30px) !important;
    max-width: calc(100% - 30px) !important;
    margin-inline: auto !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .advanced-contact-hero .contact-intro,
  .advanced-contact-hero .advanced-form-card,
  .advanced-contact-hero .advanced-contact-form { width: 100%; max-width: 100%; }
  .advanced-contact-hero .contact-methods,
  .advanced-contact-hero .contact-methods a,
  .advanced-contact-hero .contact-methods span { width: 100%; max-width: 100%; }
}

@media (max-width: 480px) {
  .advanced-contact-hero .contact-page-grid {
    width: calc(100% - 24px) !important;
    max-width: calc(100% - 24px) !important;
  }
}

/* Contact method content hierarchy */
.contact-methods > a,
.contact-methods > span { display: flex; align-items: center; }
.contact-methods > a > span:not(.mail-symbol),
.contact-methods > span > span:not(.mail-symbol) {
  min-width: 0;
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  backdrop-filter: none;
}
.contact-methods small {
  color: #aebfca;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .11em;
  line-height: 1.25;
  text-transform: uppercase;
}
.contact-methods strong { color: #fff; font-size: 12px; line-height: 1.35; }
.contact-methods svg { flex: 0 0 18px; }
.contact-methods .mail-symbol {
  width: 18px;
  min-width: 18px;
  height: 18px;
  flex: 0 0 18px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--omg-yellow);
  font-size: 16px;
  font-weight: 950;
  backdrop-filter: none;
}

@media (max-width: 760px) {
  .advanced-site .floating-call-button { transition: opacity .2s ease, transform .2s ease, box-shadow .2s ease; }
  .advanced-site.contact-form-in-view .floating-call-button {
    opacity: 0;
    pointer-events: none;
    transform: translateY(14px);
  }
}

/* Hero overlays are visual only and must never block controls or links. */
.advanced-site .detail-hero-shade,
.advanced-site .contact-hero-photo,
.advanced-site .category-hero-media,
.advanced-site .detail-hero-image,
.advanced-site .project-hero-media,
.advanced-site .article-hero-media { pointer-events: none; }
.advanced-contact-hero .contact-page-grid { position: relative; z-index: 3; }

/* Resolve legacy nth-of-type rules so the mobile close control forms a clear X. */
@media (max-width: 1040px) {
  .advanced-site .nav-toggle span:not(.sr-only) { margin: 0; }
  .advanced-site .nav-toggle[aria-expanded="true"] span:not(.sr-only):nth-of-type(2) {
    opacity: 1 !important;
    transform: translateY(7px) rotate(45deg) !important;
  }
  .advanced-site .nav-toggle[aria-expanded="true"] span:not(.sr-only):nth-of-type(3) {
    opacity: 0 !important;
    transform: none !important;
  }
  .advanced-site .nav-toggle[aria-expanded="true"] span:not(.sr-only):nth-of-type(4) {
    opacity: 1 !important;
    transform: translateY(-7px) rotate(-45deg) !important;
  }
}


/* ======================================================================
   Production refinement layer — 7 August 2026
   Viewport-safe hero, professional header, consistent rhythm and AA states.
   ====================================================================== */
:root {
  --omg-utility-h: 34px;
  --omg-header-h: 78px;
  --omg-viewport-h: 100svh;
  --omg-section-space: clamp(5.25rem, 8vw, 8rem);
  --omg-gutter: clamp(1.25rem, 3vw, 3.25rem);
  --omg-shell: 1440px;
  --omg-focus: #ffc400;
}
@supports (height: 100dvh) { :root { --omg-viewport-h: 100dvh; } }
html { scroll-padding-top: calc(var(--omg-header-h) + 20px); }
body.advanced-site {
  font-synthesis: none;
  overflow-wrap: break-word;
  padding-bottom: env(safe-area-inset-bottom, 0px);
}
.advanced-site .shell {
  width: min(var(--omg-shell), calc(100% - (var(--omg-gutter) * 2)));
}
.advanced-site .section {
  padding-block: var(--omg-section-space);
}
.advanced-site main > .section:not(:first-child),
.advanced-site main > section:not(.advanced-hero):not(.hero-metrics) {
  content-visibility: auto;
  contain-intrinsic-size: auto 900px;
}
.advanced-site :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible {
  outline: 3px solid var(--omg-focus);
  outline-offset: 4px;
  box-shadow: 0 0 0 2px #06131f;
}
.advanced-site .utility-bar { min-height: var(--omg-utility-h); padding-top: env(safe-area-inset-top, 0px); }
.advanced-site .utility-inner { min-height: var(--omg-utility-h); }
.advanced-site .site-header,
.advanced-site .site-header.is-scrolled {
  height: var(--omg-header-h);
  transform: translate3d(0,0,0);
  transition: transform .28s cubic-bezier(.2,.8,.2,1), box-shadow .25s ease, background .25s ease;
  will-change: transform;
}
.advanced-site .site-header.is-hidden { transform: translate3d(0,calc(-100% - 2px),0); }
.advanced-site .site-header:focus-within,
.advanced-site.nav-open .site-header { transform: translate3d(0,0,0); }
.advanced-site .header-inner { gap: clamp(16px,2vw,30px); }
.advanced-site .brand { display:flex; align-items:center; min-width:0; }
.advanced-site .brand img,
.advanced-site .site-header.is-scrolled .brand img { width: clamp(214px,17vw,268px); }
.advanced-site .mega-navigation > ul > li > a,
.advanced-site .nav-trigger { min-height: 44px; }
.advanced-site .nav-trigger.is-current,
.advanced-site .mega-navigation > ul > li > a[aria-current="page"] { color: var(--omg-blue); }
.advanced-site .nav-trigger.is-current::after,
.advanced-site .mega-navigation > ul > li > a[aria-current="page"]::after { transform: scaleX(1); }
.advanced-site .nav-scrim {
  position: fixed;
  inset: 0;
  z-index: 850;
  border: 0;
  padding: 0;
  background: rgba(1,10,16,.56);
  backdrop-filter: blur(4px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .2s ease, visibility .2s ease;
}
.advanced-site.nav-open { overflow: hidden; }
.advanced-site.nav-open .nav-scrim { opacity:1; visibility:visible; pointer-events:auto; }

/* Viewport-safe home hero. It uses visualViewport pixels when JavaScript is available,
   then 100dvh/100svh as progressive fallbacks. */
.advanced-hero.hero-viewport {
  height: clamp(600px, calc(var(--omg-live-viewport, var(--omg-viewport-h)) - var(--omg-utility-h) - var(--omg-header-h) - env(safe-area-inset-top, 0px)), 920px);
  min-height: 0;
  max-height: 920px;
  display: grid;
  grid-template-rows: minmax(0,1fr);
}
.advanced-hero.hero-viewport .advanced-hero-media,
.advanced-hero.hero-viewport .advanced-hero-media picture,
.advanced-hero.hero-viewport .advanced-hero-media img { width:100%; height:100%; }
.advanced-hero.hero-viewport .advanced-hero-media img {
  object-position: 62% 54%;
  transform: scale(1.01);
  animation: heroDrift 18s ease-in-out infinite alternate;
}
.advanced-hero.hero-viewport .hero-shade {
  background:
    linear-gradient(90deg,rgba(2,11,18,.98) 0%,rgba(3,15,24,.94) 42%,rgba(3,16,26,.52) 72%,rgba(3,15,24,.35) 100%),
    linear-gradient(0deg,rgba(2,11,18,.84) 0%,transparent 45%);
}
.advanced-hero.hero-viewport .advanced-hero-layout {
  min-height: 0;
  height: 100%;
  padding-block: clamp(28px,5.5vh,58px) max(34px,env(safe-area-inset-bottom,0px));
  gap: clamp(42px,6vw,92px);
  grid-template-columns: minmax(0,1.15fr) minmax(340px,.55fr);
  align-items: center;
}
.advanced-hero.hero-viewport .advanced-hero-copy { max-width: 840px; }
.advanced-hero.hero-viewport .hero-classification { margin-bottom: clamp(14px,2.6vh,26px); }
.advanced-hero.hero-viewport .eyebrow { margin-bottom: clamp(10px,1.8vh,17px); }
.advanced-hero.hero-viewport h1 {
  font-size: clamp(3.8rem, min(6.6vw,10.8vh), 6.75rem);
  line-height: .88;
  margin-bottom: clamp(18px,3.2vh,30px);
}
.advanced-hero.hero-viewport .hero-lead {
  max-width: 650px;
  font-size: clamp(1.05rem,1.3vw,1.35rem);
  line-height: 1.48;
}
.advanced-hero.hero-viewport .hero-actions { margin-top: clamp(20px,3.2vh,31px); }
.advanced-hero.hero-viewport .hero-assurance { margin-top: clamp(22px,3.8vh,38px); }
.advanced-hero.hero-viewport .hero-assurance span { padding-block: clamp(11px,1.8vh,16px); }
.advanced-hero.hero-viewport .hero-system-card { width: min(100%,480px); justify-self:end; padding:10px; }
.advanced-hero.hero-viewport .system-card-visual { height: clamp(220px,31vh,365px); }
.advanced-hero.hero-viewport .system-readout div { padding: 13px 15px; }
.advanced-hero.hero-viewport .system-card-footer { padding-block: 12px 4px; }
.hero-scroll-cue {
  position:absolute;
  z-index:5;
  left:50%;
  bottom:max(15px,env(safe-area-inset-bottom,0px));
  translate:-50% 0;
  display:flex;
  align-items:center;
  gap:12px;
  color:#d6e0e6;
  font-size:9px;
  font-weight:900;
  letter-spacing:.15em;
  text-transform:uppercase;
  text-decoration:none;
}
.hero-scroll-cue i { width:28px; height:1px; background:var(--omg-yellow); position:relative; }
.hero-scroll-cue i::after { content:""; position:absolute; right:0; top:-2px; width:5px; height:5px; border-right:1px solid var(--omg-yellow); border-bottom:1px solid var(--omg-yellow); transform:rotate(45deg); }
.trust-rail { position:relative; z-index:4; background:#04111a; border-top:1px solid rgba(255,255,255,.11); }
.trust-rail .metric-grid > div { min-height:76px; display:flex; flex-direction:column; justify-content:center; padding-block:15px; }

/* More disciplined section rhythm and fold density. */
.advanced-site .wide-heading { margin-bottom: clamp(34px,4.5vw,58px); }
.intro-manifesto,.solutions-stage,.anatomy-section { padding-block: var(--omg-section-space); }
.cinematic-grid { grid-template-rows: clamp(310px,28vw,390px) clamp(310px,28vw,390px) clamp(330px,30vw,410px); }
.cinematic-card { border-radius: 2px; }
.cinematic-card:focus-visible { outline-offset: 5px; }
.cinematic-card .cinematic-overlay em,
.project-card-copy em { display:inline-flex; align-items:center; gap:8px; }
.cinematic-card .cinematic-overlay em::after,
.project-card-copy em::after { content:""; width:0; height:1px; background:currentColor; transition:width .22s ease; }
.cinematic-card:hover .cinematic-overlay em::after,
.cinematic-card:focus-visible .cinematic-overlay em::after,
.project-card:hover .project-card-copy em::after,
.project-card:focus-visible .project-card-copy em::after { width:22px; }
.photo-image { background:#dbe3e7; }
.photo-image { transition: opacity .35s ease, transform .75s cubic-bezier(.2,.8,.2,1), filter .6s ease; }
.photo-image:not(.is-loaded) { opacity:.7; }
.photo-image.is-loaded { opacity:1; }

@media (max-width: 1280px) {
  .advanced-hero.hero-viewport .advanced-hero-layout { grid-template-columns:minmax(0,1fr) minmax(320px,.5fr); gap:42px; }
  .advanced-hero.hero-viewport h1 { font-size: clamp(3.7rem,6.2vw,5.7rem); }
}
@media (max-width: 1040px) {
  :root { --omg-header-h: 72px; }
  .advanced-site .site-header,.advanced-site .site-header.is-scrolled { height:var(--omg-header-h); }
  .advanced-site .brand img,.advanced-site .site-header.is-scrolled .brand img { width:220px; }
  .advanced-site .mega-navigation {
    z-index: 910;
    top: calc(var(--omg-header-h) + env(safe-area-inset-top,0px)) !important;
    max-height: calc(var(--omg-live-viewport,var(--omg-viewport-h)) - var(--omg-header-h) - env(safe-area-inset-top,0px));
    padding-bottom: env(safe-area-inset-bottom,0px);
    transform: translateY(-12px) scale(.99);
    transform-origin: top center;
  }
  .advanced-site .mega-navigation.is-open { transform:none; }
  .advanced-site .mega-navigation > ul { padding-bottom: max(28px,env(safe-area-inset-bottom,0px)); }
  .advanced-site .nav-toggle { border-radius:2px; }
  .advanced-hero.hero-viewport {
    height: clamp(560px, calc(var(--omg-live-viewport,var(--omg-viewport-h)) - var(--omg-utility-h) - var(--omg-header-h) - env(safe-area-inset-top,0px)), 760px);
  }
  .advanced-hero.hero-viewport .advanced-hero-layout { grid-template-columns:1fr; padding-block:clamp(30px,5vh,48px); }
  .advanced-hero.hero-viewport .advanced-hero-copy { max-width:760px; }
  .advanced-hero.hero-viewport .hero-system-card { display:none; }
  .advanced-hero.hero-viewport h1 { font-size:clamp(3.5rem,min(9vw,10vh),5.4rem); }
  .hero-scroll-cue { display:none; }
}
@media (max-width: 760px) {
  :root { --omg-utility-h: 34px; --omg-header-h: 70px; --omg-section-space: clamp(4.5rem,18vw,5.5rem); }
  .advanced-site .shell { width:min(100% - 30px,700px); }
  .advanced-site .site-header,.advanced-site .site-header.is-scrolled { height:var(--omg-header-h); }
  .advanced-site .brand img,.advanced-site .site-header.is-scrolled .brand img { width:min(192px,54vw); }
  .advanced-hero.hero-viewport {
    height: clamp(550px, calc(var(--omg-live-viewport,var(--omg-viewport-h)) - var(--omg-utility-h) - var(--omg-header-h) - env(safe-area-inset-top,0px)), 780px);
    max-height:none;
  }
  .advanced-hero.hero-viewport .advanced-hero-media img { object-position:68% 53%; animation:none; }
  .advanced-hero.hero-viewport .hero-shade { background:linear-gradient(90deg,rgba(2,11,18,.93),rgba(2,11,18,.72)),linear-gradient(0deg,rgba(2,11,18,.88),transparent 65%); }
  .advanced-hero.hero-viewport .advanced-hero-layout { padding-block:clamp(25px,4vh,38px) max(24px,env(safe-area-inset-bottom,0px)); align-items:center; }
  .advanced-hero.hero-viewport .hero-classification { margin-bottom:14px; font-size:7px; }
  .advanced-hero.hero-viewport .hero-classification span+span { padding-left:12px; }
  .advanced-hero.hero-viewport .eyebrow { font-size:9px; letter-spacing:.13em; margin-bottom:10px; }
  .advanced-hero.hero-viewport h1 { font-size:clamp(2.8rem,min(13.2vw,8.5vh),4.25rem); line-height:.9; margin-bottom:17px; }
  .advanced-hero.hero-viewport .hero-lead { font-size:clamp(.99rem,4.2vw,1.08rem); line-height:1.42; max-width:36rem; }
  .advanced-hero.hero-viewport .hero-actions { gap:10px; margin-top:20px; }
  .advanced-hero.hero-viewport .hero-actions .button { min-height:46px; }
  .advanced-hero.hero-viewport .hero-assurance { grid-template-columns:repeat(3,1fr); margin-top:22px; }
  .advanced-hero.hero-viewport .hero-assurance span { display:grid; gap:3px; padding:10px 8px; font-size:9px; line-height:1.25; }
  .advanced-hero.hero-viewport .hero-assurance span+span { padding-left:10px; }
  .trust-rail .metric-grid { grid-template-columns:repeat(2,1fr); }
  .trust-rail .metric-grid > div { min-height:70px; padding:13px 15px; }
  .advanced-site main > .section:not(:first-child),.advanced-site main > section:not(.advanced-hero):not(.hero-metrics) { contain-intrinsic-size:auto 720px; }
}
@media (max-width: 480px) {
  .advanced-site .shell { width:calc(100% - 24px); }
  .advanced-site .brand img,.advanced-site .site-header.is-scrolled .brand img { width:min(177px,52vw); }
  .advanced-hero.hero-viewport h1 { font-size:clamp(2.65rem,min(13.4vw,8.2vh),3.55rem); }
  .advanced-hero.hero-viewport .hero-actions { flex-direction:row; align-items:stretch; }
  .advanced-hero.hero-viewport .hero-actions .button { width:auto; flex:1 1 0; padding-inline:12px; font-size:12px; }
  .advanced-hero.hero-viewport .hero-actions .button-arrow { gap:8px; }
  .advanced-hero.hero-viewport .hero-assurance { margin-top:17px; }
}
/* Low-height landscape/tablet and compact mobile safeguards. */
@media (min-width: 1041px) and (max-height: 800px) {
  .advanced-hero.hero-viewport { min-height:570px; }
  .advanced-hero.hero-viewport .advanced-hero-layout { padding-block:25px 30px; }
  .advanced-hero.hero-viewport .hero-classification { margin-bottom:13px; }
  .advanced-hero.hero-viewport .eyebrow { margin-bottom:9px; }
  .advanced-hero.hero-viewport h1 { font-size:clamp(3.6rem,min(5.8vw,10vh),5.25rem); margin-bottom:17px; }
  .advanced-hero.hero-viewport .hero-lead { font-size:1.02rem; }
  .advanced-hero.hero-viewport .hero-actions { margin-top:18px; }
  .advanced-hero.hero-viewport .hero-assurance { margin-top:20px; }
  .advanced-hero.hero-viewport .system-card-visual { height:230px; }
}
@media (max-width: 760px) and (max-height: 720px) {
  .advanced-hero.hero-viewport { min-height:500px; }
  .advanced-hero.hero-viewport .hero-classification { display:none; }
  .advanced-hero.hero-viewport .eyebrow { margin-bottom:8px; }
  .advanced-hero.hero-viewport h1 { font-size:clamp(2.5rem,min(12vw,8.3vh),3.15rem); margin-bottom:12px; }
  .advanced-hero.hero-viewport .hero-lead { font-size:.94rem; line-height:1.35; }
  .advanced-hero.hero-viewport .hero-actions { margin-top:14px; }
  .advanced-hero.hero-viewport .hero-assurance { display:none; }
}
@media (max-width: 430px) and (max-height: 650px) {
  .advanced-hero.hero-viewport .eyebrow { display:none; }
  .advanced-hero.hero-viewport .hero-lead { max-width:31rem; }
  .advanced-hero.hero-viewport .hero-actions .button-ghost { display:none; }
}
@media (prefers-reduced-data: reduce) {
  .advanced-hero.hero-viewport .hero-system-card { display:none; }
  .advanced-hero.hero-viewport .advanced-hero-media img { animation:none; }
  .advanced-site main > .section:not(:first-child) { content-visibility:auto; }
}
@media (prefers-contrast: more) {
  .advanced-site .button-ghost { background:#06131f; border-color:#fff; }
  .advanced-site .hero-shade { background:rgba(2,11,18,.88); }
  .advanced-site .eyebrow { color:#0069a6; }
}
@media (forced-colors: active) {
  .advanced-site .button,.advanced-site .nav-toggle,.advanced-site .search-button { border:1px solid ButtonText; }
  .hero-tech-grid,.reading-progress,.advanced-hero-media { forced-color-adjust:none; }
}

/* Core navigation remains usable when JavaScript is unavailable. */
html.no-js .advanced-site .has-mega:hover > .mega-panel,
html.no-js .advanced-site .has-mega:focus-within > .mega-panel {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translate(-50%,0);
  transition-delay: 0s;
}
html.no-js .advanced-site .has-mega:hover > .mini-mega,
html.no-js .advanced-site .has-mega:focus-within > .mini-mega { transform: translateY(0); }
@media (max-width:1040px) {
  html.no-js .advanced-site .utility-bar { position:relative; }
  html.no-js .advanced-site .site-header,
  html.no-js .advanced-site .site-header.is-scrolled {
    position:relative;
    height:auto;
    transform:none;
  }
  html.no-js .advanced-site .header-inner {
    min-height:var(--omg-header-h);
    height:auto;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    padding-block:10px;
  }
  html.no-js .advanced-site .nav-toggle,
  html.no-js .advanced-site .header-actions .search-button { display:none; }
  html.no-js .advanced-site .mega-navigation {
    position:static;
    inset:auto;
    grid-column:1/-1;
    width:100%;
    max-height:none;
    overflow:visible;
    opacity:1;
    visibility:visible;
    transform:none;
    box-shadow:none;
    border-top:1px solid var(--omg-line);
    background:#fff;
    padding:0;
  }
  html.no-js .advanced-site .mega-navigation > ul { padding:8px 0 16px; }
  html.no-js .advanced-site .mega-panel,
  html.no-js .advanced-site .compact-mega,
  html.no-js .advanced-site .mini-mega,
  html.no-js .advanced-site .has-mega > .mega-panel {
    position:static;
    width:100%;
    display:grid;
    grid-template-columns:1fr;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
    transition:none;
    box-shadow:none;
    border:0;
    border-top:1px solid var(--omg-line);
  }
  html.no-js .advanced-site .mega-feature { display:none; }
  html.no-js .advanced-site .mega-links,
  html.no-js .advanced-site .mega-links.two-columns,
  html.no-js .advanced-site .mini-mega .mega-links { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:600px) {
  html.no-js .advanced-site .mega-links,
  html.no-js .advanced-site .mega-links.two-columns,
  html.no-js .advanced-site .mini-mega .mega-links { grid-template-columns:1fr; }
}

/* Compact landscape contract for phones and small tablets. */
@media (orientation:landscape) and (max-width:1040px) and (max-height:500px) {
  :root { --omg-utility-h:28px; --omg-header-h:58px; }
  .advanced-site .utility-bar,.advanced-site .utility-inner { min-height:var(--omg-utility-h); }
  .advanced-site .utility-message { display:none; }
  .advanced-site .utility-inner { justify-content:center; }
  .advanced-site .site-header,.advanced-site .site-header.is-scrolled { height:var(--omg-header-h); }
  .advanced-site .brand img,.advanced-site .site-header.is-scrolled .brand img { width:min(178px,31vw); }
  .advanced-site .nav-toggle { width:42px; height:42px; }
  .advanced-hero.hero-viewport {
    height:max(230px,calc(var(--omg-live-viewport,var(--omg-viewport-h)) - var(--omg-utility-h) - var(--omg-header-h) - env(safe-area-inset-top,0px)));
    min-height:0;
    max-height:none;
  }
  .advanced-hero.hero-viewport .advanced-hero-layout { padding-block:10px max(10px,env(safe-area-inset-bottom,0px)); align-items:center; }
  .advanced-hero.hero-viewport .hero-classification,
  .advanced-hero.hero-viewport .eyebrow,
  .advanced-hero.hero-viewport .hero-assurance { display:none; }
  .advanced-hero.hero-viewport h1 { font-size:clamp(2rem,8.8vh,2.7rem); line-height:.88; margin-bottom:8px; max-width:720px; }
  .advanced-hero.hero-viewport .hero-lead { font-size:.84rem; line-height:1.28; max-width:650px; margin-bottom:0; }
  .advanced-hero.hero-viewport .hero-actions { margin-top:9px; gap:8px; }
  .advanced-hero.hero-viewport .hero-actions .button { min-height:40px; padding-inline:14px; font-size:11px; }
  .advanced-hero.hero-viewport .advanced-hero-media img { object-position:65% 52%; }
  .floating-call-button { right:10px; bottom:max(10px,env(safe-area-inset-bottom,0px)); transform:scale(.82); transform-origin:right bottom; }
}
@media (orientation:landscape) and (max-width:650px) and (max-height:360px) {
  .advanced-hero.hero-viewport .hero-lead { display:none; }
  .advanced-hero.hero-viewport .hero-actions .button-ghost { display:none; }
}

/* ======================================================================
   Final production hardening — responsive chrome measurement, compact-height
   hero contracts, keyboard-safe disclosures and restrained interaction polish.
   ====================================================================== */
:root {
  --omg-chrome-h: calc(var(--omg-utility-h) + var(--omg-header-h));
  --omg-ease-out: cubic-bezier(.22,.8,.22,1);
  --omg-ease-spring: cubic-bezier(.2,.9,.2,1.08);
}

html {
  text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}


@media (min-width:1041px) {
  html { scrollbar-gutter: stable; }
}

.advanced-site :where(h1,h2,h3) { text-wrap: balance; }
.advanced-site :where(p,li) { text-wrap: pretty; }
.advanced-site :where(section,[id]) { scroll-margin-top: calc(var(--omg-header-h) + 24px); }

/* The measured utility + header stack is used when JavaScript is available.
   This removes assumptions about safe areas, translated browser UI and text zoom. */
.advanced-hero.hero-viewport {
  height: clamp(600px, calc(var(--omg-live-viewport, var(--omg-viewport-h)) - var(--omg-chrome-h)), 920px);
}

/* Keep disclosure content out of the accessibility tree while visually closed. */
.advanced-site [data-nav][inert],
.advanced-site .mega-panel[inert] {
  pointer-events: none;
  user-select: none;
}

/* Consistent, high-quality interaction states without motion on touch-only devices. */
@media (hover:hover) and (pointer:fine) {
  .advanced-site .button,
  .advanced-site .search-button,
  .advanced-site .nav-toggle,
  .advanced-site .floating-call-button {
    transition:
      transform .22s var(--omg-ease-out),
      box-shadow .22s var(--omg-ease-out),
      background-color .22s ease,
      border-color .22s ease,
      color .22s ease;
  }
  .advanced-site .button:hover,
  .advanced-site .search-button:hover,
  .advanced-site .nav-toggle:hover { transform: translateY(-2px); }
  .advanced-site .button-primary:hover { box-shadow: 0 14px 34px rgba(255,196,0,.22); }
  .advanced-site .floating-call-button:hover { transform: translateY(-3px); }
  .advanced-site .brand img { transition: transform .28s var(--omg-ease-out), opacity .2s ease; }
  .advanced-site .brand:hover img { transform: translateX(2px); }
  .advanced-site .cinematic-card:hover .photo-image,
  .advanced-site .project-card:hover .photo-image { transform: scale(1.035); }
}

/* Native cross-document transitions in supporting browsers; unsupported browsers
   retain the normal instant navigation behaviour. */
@view-transition { navigation: auto; }
::view-transition-old(root) { animation: omg-page-out .14s ease both; }
::view-transition-new(root) { animation: omg-page-in .22s var(--omg-ease-out) both; }
@keyframes omg-page-out { to { opacity:.72; } }
@keyframes omg-page-in { from { opacity:0; transform:translateY(5px); } }

/* Tablet and mobile use the measured stack as well. */
@media (max-width:1040px) {
  .advanced-hero.hero-viewport {
    height: clamp(560px, calc(var(--omg-live-viewport,var(--omg-viewport-h)) - var(--omg-chrome-h)), 760px);
  }
}
@media (max-width:760px) {
  .advanced-hero.hero-viewport {
    height: clamp(550px, calc(var(--omg-live-viewport,var(--omg-viewport-h)) - var(--omg-chrome-h)), 780px);
  }
}

/* Common compact laptop and tablet viewports: preserve the complete first fold
   rather than enforcing a minimum height larger than the available viewport. */
@media (min-width:1041px) and (max-height:680px) {
  .advanced-hero.hero-viewport {
    height: max(390px, calc(var(--omg-live-viewport,var(--omg-viewport-h)) - var(--omg-chrome-h)));
    min-height:0;
    max-height:none;
  }
  .advanced-hero.hero-viewport .advanced-hero-layout { padding-block:18px 24px; gap:34px; }
  .advanced-hero.hero-viewport .hero-classification { display:none; }
  .advanced-hero.hero-viewport .eyebrow { margin-bottom:8px; }
  .advanced-hero.hero-viewport h1 { font-size:clamp(3rem,min(5.4vw,10vh),4.8rem); margin-bottom:13px; }
  .advanced-hero.hero-viewport .hero-lead { font-size:.98rem; line-height:1.36; }
  .advanced-hero.hero-viewport .hero-actions { margin-top:14px; }
  .advanced-hero.hero-viewport .hero-assurance { margin-top:14px; }
  .advanced-hero.hero-viewport .hero-system-card { width:min(100%,400px); }
  .advanced-hero.hero-viewport .system-card-visual { height:210px; }
  .hero-scroll-cue { display:none; }
}
@media (min-width:1041px) and (max-height:540px) {
  .advanced-hero.hero-viewport { height:max(320px,calc(var(--omg-live-viewport,var(--omg-viewport-h)) - var(--omg-chrome-h))); }
  .advanced-hero.hero-viewport .advanced-hero-layout { grid-template-columns:1fr; }
  .advanced-hero.hero-viewport .hero-system-card,
  .advanced-hero.hero-viewport .hero-assurance,
  .advanced-hero.hero-viewport .eyebrow { display:none; }
  .advanced-hero.hero-viewport h1 { font-size:clamp(2.7rem,min(5.3vw,10vh),4rem); }
}

@media (max-width:1040px) and (orientation:landscape) and (max-height:700px) {
  .advanced-hero.hero-viewport {
    height:max(230px,calc(var(--omg-live-viewport,var(--omg-viewport-h)) - var(--omg-chrome-h)));
    min-height:0;
    max-height:none;
  }
  .advanced-hero.hero-viewport .advanced-hero-layout { padding-block:16px 20px; }
  .advanced-hero.hero-viewport .hero-classification,
  .advanced-hero.hero-viewport .hero-assurance { display:none; }
  .advanced-hero.hero-viewport .eyebrow { margin-bottom:8px; }
  .advanced-hero.hero-viewport h1 { font-size:clamp(2.6rem,min(7vw,10vh),4.1rem); margin-bottom:10px; }
  .advanced-hero.hero-viewport .hero-lead { font-size:.9rem; line-height:1.32; }
  .advanced-hero.hero-viewport .hero-actions { margin-top:12px; }
}

/* Portrait phones down to 568 CSS pixels high retain the complete hero. */
@media (max-width:760px) and (orientation:portrait) and (max-height:650px) {
  .advanced-hero.hero-viewport {
    height:max(390px,calc(var(--omg-live-viewport,var(--omg-viewport-h)) - var(--omg-chrome-h)));
    min-height:0;
    max-height:none;
  }
  .advanced-hero.hero-viewport .advanced-hero-layout { padding-block:15px max(16px,env(safe-area-inset-bottom,0px)); }
  .advanced-hero.hero-viewport .hero-classification,
  .advanced-hero.hero-viewport .eyebrow,
  .advanced-hero.hero-viewport .hero-assurance { display:none; }
  .advanced-hero.hero-viewport h1 { font-size:clamp(2.35rem,min(12.6vw,8.6vh),3rem); margin-bottom:10px; }
  .advanced-hero.hero-viewport .hero-lead { font-size:.88rem; line-height:1.32; }
  .advanced-hero.hero-viewport .hero-actions { margin-top:13px; }
  .advanced-hero.hero-viewport .hero-actions .button { min-height:42px; padding-inline:11px; font-size:11px; }
}
@media (max-width:380px) and (orientation:portrait) and (max-height:600px) {
  .advanced-hero.hero-viewport .hero-lead { display:none; }
  .advanced-hero.hero-viewport .hero-actions .button-ghost { display:none; }
  .advanced-hero.hero-viewport .hero-actions .button-primary { flex-basis:100%; }
}

@media (prefers-reduced-motion:reduce) {
  @view-transition { navigation:none; }
  ::view-transition-old(root),::view-transition-new(root) { animation:none; }
  .advanced-site .button,
  .advanced-site .search-button,
  .advanced-site .nav-toggle,
  .advanced-site .floating-call-button,
  .advanced-site .brand img,
  .advanced-site .photo-image { transition:none !important; transform:none !important; }
}

/* ======================================================================
   Customer-facing readability and brand refinement — 7 August 2026
   Keeps copy legible over photography and gives the compliance feature a
   clearer, customer-led hierarchy at every breakpoint.
   ====================================================================== */
html { scroll-padding-top: calc(var(--omg-header-h, 78px) + 28px); }
.advanced-site main > section,
.advanced-site [id] { scroll-margin-top: calc(var(--omg-header-h, 78px) + 28px); }

/* Photographic copy must remain readable regardless of the chosen crop. */
.advanced-site .cinematic-card::after {
  background: linear-gradient(0deg,rgba(1,10,17,.98) 0%,rgba(1,12,20,.76) 42%,rgba(2,13,21,.20) 76%,rgba(2,13,21,.08) 100%);
}
.advanced-site .project-card::after {
  background: linear-gradient(0deg,rgba(2,12,20,.98) 0%,rgba(3,15,24,.70) 46%,rgba(3,15,24,.13) 78%);
}
.advanced-site .cinematic-overlay,
.advanced-site .project-card-copy,
.advanced-site .category-hero-content,
.advanced-site .detail-hero-copy,
.advanced-site .project-hero-content,
.advanced-site .article-hero-content,
.advanced-site .contact-intro {
  text-shadow: 0 2px 22px rgba(0,0,0,.72), 0 1px 3px rgba(0,0,0,.9);
}
.advanced-site .cinematic-overlay p,
.advanced-site .project-card-copy dd,
.advanced-site .advanced-category-hero .category-hero-content > p:not(.eyebrow),
.advanced-site .detail-hero-copy > p:not(.eyebrow),
.advanced-site .modern-article-hero .article-hero-content > p:not(.eyebrow),
.advanced-site .advanced-contact-hero .contact-intro > p:not(.eyebrow) {
  color: #e2ebef;
}
.advanced-site .detail-hero-shade {
  background:
    linear-gradient(90deg,rgba(2,11,18,.985) 0%,rgba(3,16,26,.95) 46%,rgba(3,16,26,.62) 74%,rgba(2,12,20,.66) 100%),
    linear-gradient(0deg,rgba(2,10,17,.92),transparent 52%);
}
.advanced-site .advanced-cta::before {
  background: linear-gradient(90deg,#06131f 0%,#06131f 51%,rgba(6,19,31,.93) 70%,rgba(6,19,31,.68));
}
.advanced-site .advanced-cta h2,
.advanced-site .advanced-cta p { text-shadow: 0 2px 18px rgba(0,0,0,.72); }

/* Customer assurance panel beside the branded site-survey photograph. */
.advanced-site .evidence-section {
  padding-block: clamp(88px,8vw,125px);
  background:
    radial-gradient(circle at 72% 18%,rgba(67,213,255,.08),transparent 31%),
    linear-gradient(135deg,#06131f 0%,#081c2b 100%);
}
.advanced-site .evidence-grid { gap: clamp(42px,6.2vw,100px); }
.advanced-site .evidence-photo {
  box-shadow: 0 34px 90px rgba(0,7,13,.42);
  border: 1px solid rgba(255,255,255,.10);
}
.advanced-site .evidence-photo img {
  filter: saturate(.78) contrast(1.06) brightness(.94);
  object-position: 50% 50%;
}
.advanced-site .evidence-photo::after {
  background: linear-gradient(0deg,rgba(3,14,22,.84) 0%,rgba(3,14,22,.22) 44%,transparent 72%);
}
.advanced-site .evidence-photo-label {
  gap: 22px;
  background: rgba(3,15,24,.92);
  border-color: rgba(255,255,255,.24);
  box-shadow: 0 15px 35px rgba(0,0,0,.32);
}
.advanced-site .evidence-photo-label span { color: #7fe5ff; font-weight: 900; }
.advanced-site .evidence-photo-label strong { color: #fff; text-align: right; line-height: 1.35; }
.advanced-site .evidence-copy {
  position: relative;
  padding: clamp(32px,3.4vw,54px);
  border: 1px solid rgba(255,255,255,.14);
  background: linear-gradient(145deg,rgba(13,38,55,.96),rgba(5,20,31,.98));
  box-shadow: 0 30px 80px rgba(0,7,13,.28);
  overflow: hidden;
}
.advanced-site .evidence-copy::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(var(--omg-yellow),var(--omg-cyan));
}
.advanced-site .evidence-copy h2 {
  max-width: 760px;
  font-size: clamp(42px,3.7vw,62px);
  line-height: 1.01;
  text-wrap: balance;
  color: #fff;
}
.advanced-site .evidence-copy > p:not(.eyebrow):not(.evidence-note) {
  color: #d6e3e9;
  font-size: clamp(16px,1.2vw,18px);
}
.advanced-site .evidence-links { margin-top: 30px; }
.advanced-site .evidence-links a {
  min-height: 60px;
  padding-inline: 3px;
  color: #fff;
}
.advanced-site .evidence-links a:hover,
.advanced-site .evidence-links a:focus-visible {
  background: rgba(255,255,255,.055);
  padding-inline: 12px;
}
.advanced-site .evidence-note { color: #a9bdc8; font-size: 12px; }

@media (max-width: 1040px) {
  .advanced-site .evidence-grid { gap: 36px; }
  .advanced-site .evidence-copy { max-width: 860px; margin-inline: auto; }
  .advanced-site .evidence-copy h2 { max-width: 700px; }
}
@media (max-width: 760px) {
  html { scroll-padding-top: calc(var(--omg-header-h, 70px) + 18px); }
  .advanced-site main > section,
  .advanced-site [id] { scroll-margin-top: calc(var(--omg-header-h, 70px) + 18px); }
  .advanced-site .evidence-section { padding-block: 72px; }
  .advanced-site .evidence-photo { height: 430px; }
  .advanced-site .evidence-photo img { object-position: 50% 48%; }
  .advanced-site .evidence-photo-label {
    left: 14px;
    right: 14px;
    bottom: 14px;
    align-items: flex-start;
    flex-direction: column;
    gap: 7px;
    padding: 14px 15px;
  }
  .advanced-site .evidence-photo-label strong { text-align: left; }
  .advanced-site .evidence-copy { padding: 29px 25px 30px 29px; }
  .advanced-site .evidence-copy h2 { font-size: clamp(36px,10.5vw,48px); margin-top: 12px; }
  .advanced-site .evidence-links a { gap: 18px; font-size: 14px; line-height: 1.35; }
  .advanced-site .cinematic-overlay,
  .advanced-site .project-card-copy { text-shadow: 0 2px 15px rgba(0,0,0,.86); }
}
@media (max-width: 420px) {
  .advanced-site .evidence-photo { height: 380px; }
  .advanced-site .evidence-copy { padding-inline: 23px 20px; }
  .advanced-site .evidence-copy h2 { font-size: 35px; }
}

/* ======================================================================
   Full-bleed single-image hero — 11 August 2026
   Removes the inset project-image panel so the hero uses one uninterrupted
   photographic background at every viewport size.
   ====================================================================== */
.advanced-hero.hero-viewport.hero-background-only .advanced-hero-layout {
  grid-template-columns: minmax(0,1fr);
  gap: 0;
}
.advanced-hero.hero-viewport.hero-background-only .advanced-hero-copy {
  width: min(100%, 940px);
  max-width: 940px;
}
.advanced-hero.hero-viewport.hero-background-only .advanced-hero-media img {
  object-position: 61% 52%;
  transform: scale(1.015);
  animation: none;
}
.advanced-hero.hero-viewport.hero-background-only .hero-shade {
  background:
    linear-gradient(90deg,
      rgba(2,11,18,.98) 0%,
      rgba(2,11,18,.94) 28%,
      rgba(2,11,18,.78) 48%,
      rgba(2,11,18,.40) 68%,
      rgba(2,11,18,.12) 88%,
      rgba(2,11,18,.08) 100%),
    linear-gradient(0deg,
      rgba(2,11,18,.82) 0%,
      rgba(2,11,18,.16) 54%,
      rgba(2,11,18,.18) 100%);
}
.advanced-hero.hero-viewport.hero-background-only .hero-tech-grid {
  display: none;
}
.advanced-hero.hero-viewport.hero-background-only h1 {
  max-width: 940px;
  font-size: clamp(3.75rem,min(5.8vw,10.2vh),6.1rem);
  text-shadow: 0 3px 28px rgba(0,0,0,.58);
}
.advanced-hero.hero-viewport.hero-background-only .hero-lead {
  max-width: 690px;
  color: #d7e2e8;
  text-shadow: 0 2px 18px rgba(0,0,0,.64);
}
.advanced-hero.hero-viewport.hero-background-only .hero-assurance {
  max-width: 820px;
  background: linear-gradient(90deg,rgba(3,16,25,.62),rgba(3,16,25,.20));
  backdrop-filter: blur(3px);
}

@media (max-width:1280px) {
  .advanced-hero.hero-viewport.hero-background-only .advanced-hero-copy {
    max-width: 850px;
  }
  .advanced-hero.hero-viewport.hero-background-only h1 {
    max-width: 850px;
    font-size: clamp(3.55rem,min(6vw,9.8vh),5.35rem);
  }
}

@media (max-width:1040px) {
  .advanced-hero.hero-viewport.hero-background-only .advanced-hero-copy {
    max-width: 760px;
  }
  .advanced-hero.hero-viewport.hero-background-only .advanced-hero-media img {
    object-position: 68% 52%;
  }
  .advanced-hero.hero-viewport.hero-background-only .hero-shade {
    background:
      linear-gradient(90deg,rgba(2,11,18,.95) 0%,rgba(2,11,18,.79) 58%,rgba(2,11,18,.42) 100%),
      linear-gradient(0deg,rgba(2,11,18,.82) 0%,rgba(2,11,18,.18) 62%);
  }
}

@media (max-width:760px) {
  .advanced-hero.hero-viewport.hero-background-only .advanced-hero-media img {
    object-position: 69% 51%;
  }
  .advanced-hero.hero-viewport.hero-background-only .hero-shade {
    background:
      linear-gradient(90deg,rgba(2,11,18,.94) 0%,rgba(2,11,18,.82) 68%,rgba(2,11,18,.58) 100%),
      linear-gradient(0deg,rgba(2,11,18,.86) 0%,rgba(2,11,18,.24) 70%);
  }
  .advanced-hero.hero-viewport.hero-background-only h1 {
    font-size: clamp(2.35rem,min(12.6vw,8.6vh),3rem);
  }
  .advanced-hero.hero-viewport.hero-background-only .hero-assurance {
    background: rgba(3,16,25,.52);
  }
}


/* SEO CONTENT EXPANSION — 2026-08-25 */
.seo-answer-section .answer-grid > div:last-child h2{font-size:clamp(1.3rem,2.2vw,2rem);margin:0 0 .65rem;color:inherit}
.seo-answer-section .answer-label small{max-width:22ch}
.seo-use-grid,.seo-industry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:34px}
.seo-use-card,.seo-industry-card{position:relative;padding:30px;border:1px solid var(--omg-line);background:#fff;min-height:240px;box-shadow:0 18px 50px rgba(6,19,31,.06)}
.seo-use-card>span,.seo-industry-card>span{display:block;color:var(--omg-blue);font-weight:900;font-size:.78rem;letter-spacing:.12em;margin-bottom:32px}
.seo-use-card h3,.seo-industry-card h3{font-size:1.25rem;margin:0 0 12px}
.seo-use-card p,.seo-industry-card p{margin:0;color:var(--omg-muted);line-height:1.7}
.seo-decision-list{grid-template-columns:repeat(2,minmax(0,1fr))}
.seo-source-strip,.seo-intent-note{margin-top:24px;padding:18px 20px;border-left:4px solid var(--omg-yellow);background:#f3f7f9;color:#29404f;line-height:1.65}
.seo-source-strip a,.seo-intent-note a{font-weight:800;color:#075f9d}
.seo-reviewed{color:var(--omg-muted);font-size:.9rem;line-height:1.6}
.seo-summary-panel{margin-top:0}
.seo-source-panel{margin:56px 0 34px;padding:32px;border:1px solid var(--omg-line);background:#f6f9fb}
.seo-source-panel h2{margin:.25rem 0 .75rem}
.seo-source-panel .source-link-grid{display:grid;gap:12px;margin-top:24px}
.seo-source-panel .source-link-grid a{display:flex;justify-content:space-between;gap:18px;padding:16px 18px;border:1px solid var(--omg-line);background:#fff;text-decoration:none}
.seo-source-panel .source-link-grid a span{color:var(--omg-muted);font-size:.85rem}
.source-note{padding:18px 20px;background:#fff8dc;border-left:4px solid var(--omg-yellow);margin:24px 0;line-height:1.65}
.seo-numbered-list{display:grid;grid-template-columns:1fr;gap:0}
.seo-help-section{margin-top:48px;padding-top:36px;border-top:1px solid var(--omg-line)}
.seo-context-links .related-links-modern{margin-top:10px}
.seo-industry-links{margin-top:28px}
.local-service-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.7fr);gap:70px;align-items:start}
.seo-address-card{padding:34px;background:var(--omg-ink);color:#fff;border-top:4px solid var(--omg-yellow);box-shadow:var(--omg-shadow)}
.seo-address-card>span{display:block;color:var(--omg-yellow);font-weight:900;text-transform:uppercase;letter-spacing:.1em;font-size:.78rem;margin-bottom:20px}
.seo-address-card address{font-style:normal;font-size:1.08rem;line-height:1.75;margin-bottom:20px}
.seo-address-card a{display:block;color:#fff;font-weight:800;margin-top:10px}
.seo-address-card small{display:block;color:#a9bdca;margin-top:22px}
.contact-address-inline{display:flex;gap:12px;align-items:flex-start;margin-top:16px;padding:18px 20px;border:1px solid rgba(255,255,255,.18);background:rgba(3,17,27,.64);color:#fff}
.contact-address-inline p{margin:0;color:#d9e5eb;line-height:1.55}
.contact-address-inline strong{color:#fff}
.contact-address-inline small{color:#a9bdca}
.seo-glossary{display:grid;grid-template-columns:minmax(170px,.4fr) minmax(0,1fr);border-top:1px solid var(--omg-line)}
.seo-glossary dt,.seo-glossary dd{margin:0;padding:18px 0;border-bottom:1px solid var(--omg-line)}
.seo-glossary dt{font-weight:900;padding-right:24px}
.seo-glossary dd{color:#425967;line-height:1.65}
.compact-list{margin-top:20px}
.article-body .responsive-table{width:100%;border-collapse:collapse;margin:28px 0 36px;font-size:.95rem}
.article-body .responsive-table th,.article-body .responsive-table td{padding:15px 16px;border:1px solid var(--omg-line);vertical-align:top;text-align:left;line-height:1.55}
.article-body .responsive-table th{background:var(--omg-ink);color:#fff}
.seo-commercial-hero .detail-hero-copy>p:not(.eyebrow){max-width:760px}
@media(max-width:980px){
 .seo-use-grid,.seo-industry-grid{grid-template-columns:1fr 1fr}
 .local-service-grid{grid-template-columns:1fr;gap:35px}
 .seo-decision-list{grid-template-columns:1fr}
}
@media(max-width:680px){
 .seo-use-grid,.seo-industry-grid{grid-template-columns:1fr}
 .seo-use-card,.seo-industry-card{min-height:0;padding:24px}
 .seo-use-card>span,.seo-industry-card>span{margin-bottom:18px}
 .seo-source-panel{padding:22px}
 .seo-source-panel .source-link-grid a{display:block}
 .seo-source-panel .source-link-grid a span{display:block;margin-top:6px}
 .seo-glossary{display:block}
 .seo-glossary dt{border-bottom:0;padding-bottom:5px}
 .seo-glossary dd{padding-top:0}
 .article-body .responsive-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
}


.seo-sitemap-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.seo-sitemap-group{padding:28px;border:1px solid var(--omg-line);background:#fff}
.seo-sitemap-group h2{margin:0 0 18px;font-size:1.35rem}
.seo-sitemap-group ul{list-style:none;margin:0;padding:0}
.seo-sitemap-group li+li{border-top:1px solid var(--omg-line)}
.seo-sitemap-group a{display:block;padding:14px 0;text-decoration:none}
.seo-sitemap-group a strong{display:block;color:var(--omg-ink)}
.seo-sitemap-group a span{display:block;color:var(--omg-muted);font-size:.88rem;line-height:1.5;margin-top:4px}
@media(max-width:760px){.seo-sitemap-layout{grid-template-columns:1fr}}
