/* Aliana Corp website. Visual language follows the Q26-273 client viewer. */
:root{--font:"Manrope",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;--mono:"Manrope",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;--r:16px;--top:110px;--maxw:1240px}
:root,:root[data-theme="dark"]{--bg:#0a0d12;--bg2:#0d1118;--s1:#11151c;--s2:#171c25;--s3:#1e2430;--line:#242b37;--text:#eaeef4;--muted:#8f99aa;--faint:#5d6778;--acc:#52dbe1;--acc-ink:#062a2c;--acc-soft:rgba(82,219,225,.12);--red:#ff2d55;--red-soft:rgba(255,45,85,.12);--gold:#e8a23b;--ok:#46d39a;--shadow:0 24px 60px rgba(0,0,0,.5);--glass:rgba(10,13,18,.72);color-scheme:dark}
:root[data-theme="light"]{--bg:#fff;--bg2:#F4F6F8;--s1:#fff;--s2:#F4F6F8;--s3:#e6eaf0;--line:#dde2ea;--text:#3A4250;--muted:#5a6475;--faint:#8e98a8;--acc:#0B2545;--acc-ink:#fff;--acc-soft:rgba(11,37,69,.07);--red:#e0123e;--red-soft:rgba(224,18,62,.08);--gold:#b8740f;--ok:#138a5a;--shadow:0 20px 50px rgba(20,30,45,.14);--glass:rgba(255,255,255,.8);color-scheme:light}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--top) + 12px)}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer;background:none;border:0}
svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
:root[data-theme="dark"] .lg-light,:root[data-theme="light"] .lg-dark{display:none!important}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}
.mono{font-family:var(--mono);font-size:13px}
.dim{color:var(--muted)}
.eyebrow{font-family:var(--font);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--acc);display:block;margin:0 0 14px}
h1,h2,h3,h4{margin:0;letter-spacing:-.02em;line-height:1.12}
h2.sec{font-size:clamp(30px,4.2vw,50px);font-weight:800;max-width:860px}
.lede{font-size:clamp(16px,1.6vw,19px);color:var(--muted);max-width:720px;margin:18px 0 0}
section.blk{padding:110px 0}
section.blk.alt{background:var(--bg2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 22px;border-radius:999px;font-weight:700;font-size:15px;transition:transform .15s,background .2s,border-color .2s}
.btn svg{width:18px;height:18px}
.btn-p{background:var(--red);color:#fff}
.btn-p:hover{transform:translateY(-2px)}
.btn-g{border:1px solid color-mix(in srgb,var(--text) 30%,transparent);color:var(--text)}
.btn-g:hover{border-color:var(--acc);color:var(--acc)}
.chip{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;border-radius:999px;border:1px solid var(--line);color:var(--muted)}
.chip.acc{color:var(--acc);border-color:color-mix(in srgb,var(--acc) 45%,transparent);background:var(--acc-soft)}
.chip.red{color:var(--red);border-color:color-mix(in srgb,var(--red) 45%,transparent);background:var(--red-soft)}

/* ---------- header ---------- */
.top{position:fixed;inset:0 0 auto;height:var(--top);z-index:50;transition:background .25s,border-color .25s,backdrop-filter .25s;border-bottom:1px solid transparent}
.top.solid,.top.inner{background:var(--glass);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-color:var(--line)}
.top-in{height:calc(100% - 32px);max-width:1440px;margin:0 auto;padding:0 24px;display:flex;align-items:center;gap:20px}
.brand{display:flex;align-items:center;gap:10px}
.brand .lg{height:40px;width:auto}
.brand .wm{font-size:21px;font-weight:800;letter-spacing:-.01em;line-height:1;white-space:nowrap;color:var(--text)}
.nav{display:flex;align-items:center;gap:4px;margin:0 auto}
.nav a{font-size:14px;font-weight:600;padding:9px 14px;border-radius:999px;color:var(--text);opacity:.86;transition:background .15s,opacity .15s}
.nav a:hover,.nav a.on{opacity:1;background:color-mix(in srgb,var(--text) 8%,transparent)}
.nav a.on{color:var(--acc)}
.nav .nav-cta{background:var(--acc);color:var(--acc-ink)!important;opacity:1;margin-left:8px}
.nav .nav-cta:hover{background:color-mix(in srgb,var(--acc) 85%,#fff)}
.top-r{display:flex;align-items:center;gap:14px}
.ace .lg{height:44px;width:auto}
.ace-mark{display:none;height:34px;width:auto}
.theme{width:56px;height:30px;border-radius:999px;border:1px solid var(--line);background:var(--s2);position:relative;display:flex;align-items:center;justify-content:space-between;padding:0 7px}
.theme svg{width:14px;height:14px;color:var(--muted);position:relative;z-index:1}
.theme::after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:var(--acc);transition:transform .25s}
:root[data-theme="dark"] .theme::after{transform:translateX(26px)}
.burger{display:none;width:40px;height:40px;border-radius:999px;border:1px solid var(--line);place-items:center;background:var(--s2)}
.util{height:32px;border-bottom:1px solid var(--line);font-size:12.5px;color:var(--muted)}
.util-in{max-width:1440px;height:100%;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:flex-end;gap:22px}
.util a:hover{text-decoration:underline}
.top-tel{font-size:14px;font-weight:700;white-space:nowrap}
.top-tel:hover{text-decoration:underline}
.top-cta{padding:11px 18px;font-size:14px;white-space:nowrap}
.dd{position:relative;display:flex}
.dd-m{display:none;position:absolute;top:100%;left:0;min-width:250px;padding:8px;background:var(--s1);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);z-index:5;gap:2px}
.dd:hover .dd-m,.dd:focus-within .dd-m{display:grid}
.nav .dd-m a{color:var(--text)!important;opacity:1;border-radius:10px;white-space:nowrap}
/* over the hero the header text is always light */
.top:not(.solid):not(.inner) .nav a{color:#fff}
.top:not(.solid):not(.inner) .top-tel{color:#fff}
.top:not(.solid):not(.inner) .util{color:rgba(255,255,255,.8);border-color:rgba(255,255,255,.15)}
.top:not(.solid):not(.inner) .lg-light{display:none!important}
.top:not(.solid):not(.inner) .lg-dark{display:block!important}

/* ---------- hero ---------- */
.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;color:#fff;background:#05070a;padding-top:calc(var(--top) + 28px)}
.hero video,.hero .poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,7,10,.55) 0%,rgba(5,7,10,.15) 35%,rgba(5,7,10,.55) 65%,rgba(5,7,10,.95) 100%),linear-gradient(90deg,rgba(5,7,10,.7) 0%,rgba(5,7,10,0) 60%)}
.hero-in{position:relative;z-index:2;width:100%;max-width:var(--maxw);margin:0 auto;padding:0 28px 64px}
.hero .eyebrow{color:#fff;max-width:none;white-space:nowrap}
.hero-cap{position:absolute;right:28px;bottom:16px;z-index:2;font-size:12px;color:rgba(255,255,255,.75)}
.hero h1{font-size:clamp(40px,6.6vw,88px);font-weight:800;letter-spacing:-.035em;max-width:980px;line-height:1.02}
.hero h1 em{font-style:normal;color:inherit}
.hero h1 .rd{color:#ff3b62}
.hero p{font-size:clamp(17px,1.7vw,21px);max-width:640px;color:rgba(255,255,255,.82);margin:22px 0 30px}
.hero .btn-g{color:#fff;border-color:rgba(255,255,255,.4)}
.hero-acts{display:flex;gap:12px;flex-wrap:wrap}
.hero-ind{display:flex;flex-wrap:wrap;gap:8px;margin-top:44px;padding-top:24px;border-top:1px solid rgba(255,255,255,.16)}
.hero-ind a{font-size:13px;font-weight:600;padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(6px);transition:background .15s}
.hero-ind a:hover{background:rgba(255,255,255,.2);border-color:#fff}
.scroll-cue{position:absolute;right:28px;bottom:64px;z-index:2;font-family:var(--mono);font-size:11px;letter-spacing:.2em;writing-mode:vertical-rl;color:rgba(255,255,255,.6);display:flex;align-items:center;gap:12px}
.scroll-cue::after{content:"";width:1px;height:60px;background:linear-gradient(#7ef6fb,transparent);animation:cue 2s infinite}
@keyframes cue{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* ---------- stats ---------- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);background:#0B2545;color:#fff}
.stat{padding:34px 28px;border-right:1px solid rgba(255,255,255,.14)}
.stat:last-child{border-right:0}
.stat b{display:block;font-size:clamp(32px,3.6vw,48px);font-weight:800;letter-spacing:-.03em;color:#fff}
.stat b i{font-style:normal;color:#fff}
.stat b{line-height:1.1}
.stat b .num{font-size:inherit;color:inherit}
.stat .stat-l{display:block;margin-top:6px;font-size:14px;color:rgba(255,255,255,.78)}
.stats.s3{grid-template-columns:repeat(3,1fr)}

/* ---------- intro split ---------- */
.split{display:grid;grid-template-columns:1.05fr 1fr;gap:70px;align-items:center}
.split p{color:var(--muted);font-size:17px}
.split .q{font-size:clamp(22px,2.4vw,30px);font-weight:700;color:var(--text);line-height:1.3;letter-spacing:-.015em;margin:0 0 22px}
.split .q em{font-style:normal;color:var(--acc)}
.mosaic{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:200px 200px;gap:12px}
.mosaic img{width:100%;height:100%;object-fit:cover;border-radius:var(--r)}
.mosaic img:first-child{grid-row:span 2}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:28px}
.duo div{border:1px solid var(--line);border-radius:var(--r);padding:18px;background:var(--s1)}
.duo img{height:40px;width:auto;margin-bottom:10px}
.duo p{font-size:14px;margin:0}

/* ---------- industries ---------- */
.ind-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:48px}
.ind{position:relative;border-radius:20px;overflow:hidden;min-height:380px;display:flex;align-items:flex-end;color:#fff;isolation:isolate;border:1px solid var(--line)}
.ind img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.ind::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(5,7,10,0) 25%,rgba(5,7,10,.92) 100%)}
.ind:hover img{transform:scale(1.06)}
.ind-in{padding:24px}
.ind h3{font-size:24px;font-weight:800;margin:10px 0 8px}
.ind p{margin:0;font-size:14px;color:rgba(255,255,255,.78)}
.ind .chip{color:#fff;border-color:rgba(255,255,255,.45);background:rgba(255,255,255,.12)}
.ind .go{position:absolute;top:18px;right:18px;width:40px;height:40px;border-radius:999px;display:grid;place-items:center;background:rgba(255,255,255,.12);backdrop-filter:blur(6px);transition:background .2s,transform .2s}
.ind:hover .go{background:#fff;color:#0B2545;transform:rotate(-45deg)}
.ind.wide{grid-column:span 2;grid-row:span 2}
.ind .rnd{position:absolute;top:18px;left:18px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;border-radius:999px;background:rgba(5,7,10,.6);color:#fff}
.ind-cmp{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:36px}
.ind-cmp>div{padding:24px;border:1px solid var(--line);border-radius:18px;background:var(--s1)}
.ind-cmp .eyebrow{margin-bottom:10px}
.ind-cmp h3{font-size:20px;font-weight:800;margin-bottom:10px}
.ind-cmp p:not(.eyebrow){margin:0 0 8px;color:var(--muted);font-size:15px}
:root[data-theme="light"] .ind-cmp h3{color:#0B2545}
.stats .stat{min-width:0}
.mx-corner .mx-tag{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--acc);margin-top:6px}
.mx-stack>.chip{justify-self:start}
.mx-sh{font-size:20px;font-weight:800;margin:0}
:root[data-theme="light"] .mx-sh{color:#0B2545}
.mx-corner .mx-tag.mx-cm{text-transform:none;letter-spacing:0;font-size:12.5px;font-weight:600;line-height:1.4;color:var(--text)}
.mx-stack>.mx-cm{margin:0;font-size:13.5px;font-weight:600;color:var(--text)}
.rel.r3{grid-template-columns:repeat(3,minmax(0,1fr))}
.dv-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:44px}
.dv-grid .dv{width:auto;text-align:left}

/* ---------- matrix (rebuilt animation) ---------- */
.mx-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:40px 0 22px}
.mx-tab{padding:10px 18px;border-radius:999px;border:1px solid var(--line);background:var(--s1);font-weight:700;font-size:14px;color:var(--muted)}
.mx-tab.on{background:var(--acc);border-color:var(--acc);color:var(--acc-ink)}
.mx{border:1px solid var(--line);border-radius:20px;background:var(--s1);overflow:hidden}
.mx-scroll{overflow-x:auto}
.mx-grid{min-width:880px;display:grid;grid-template-columns:240px 1fr}
.mx-head{display:contents}
.mx-corner{padding:18px 20px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:flex-end}
.mx-corner b{font-size:18px;font-weight:800;line-height:1.2}
.mx-corner span{font-size:12px;color:var(--muted);margin-top:4px}
.mx-phases{display:grid;border-bottom:1px solid var(--line)}
.mx-ph{padding:16px 10px 14px;font-size:12px;font-weight:700;text-align:center;border-right:1px dashed var(--line);display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:8px;color:var(--muted)}
.mx-ph:last-child{border-right:0}
.mx-ph i{font-style:normal;font-family:var(--mono);font-size:11px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--s3);color:var(--text)}
.mx-grp{grid-column:1/-1;padding:9px 20px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--acc);background:var(--s2);border-bottom:1px solid var(--line)}
.mx-lbl{padding:10px 20px;font-weight:700;font-size:14px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center}
.mx-lane{position:relative;display:grid;border-bottom:1px solid var(--line);min-height:50px}
.mx-lane .col{border-right:1px dashed var(--line)}
.mx-lane .col:last-child{border-right:0}
.arrow{position:absolute;top:8px;bottom:8px;display:flex;align-items:center;padding:0 26px 0 14px;font-size:12px;line-height:1.15;font-weight:700;color:#fff;white-space:normal;overflow:hidden;clip-path:polygon(0 0,calc(100% - 16px) 0,100% 50%,calc(100% - 16px) 100%,0 100%);transform-origin:left;transform:scaleX(0);transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.arrow span{opacity:0;transition:opacity .4s .5s}
.mx.play .arrow{transform:scaleX(1)}
.mx.play .arrow span{opacity:1}
.k-pm{background:linear-gradient(90deg,#1c8f5a,#27b874)}
.k-eng{background:linear-gradient(90deg,#1a4fd0,#2f78ff)}
.k-proc{background:linear-gradient(90deg,#c26a12,#e8902b)}
.k-fab{background:linear-gradient(90deg,#a8871a,#d4ae2a)}
.k-con{background:linear-gradient(90deg,#202734,#3a4458)}
.k-sw{background:linear-gradient(90deg,#0a8f96,#25c1c9)}
:root[data-theme="light"] .k-con{background:linear-gradient(90deg,#2b3445,#4a5670)}
.mx-legend{display:flex;flex-wrap:wrap;gap:16px;padding:14px 20px;font-size:12px;color:var(--muted);border-top:1px solid var(--line)}
.mx-legend i{display:inline-block;width:18px;height:8px;border-radius:2px;margin-right:6px;vertical-align:middle}
.mx-note{margin:0 0 18px;font-size:13px;color:var(--muted)}
.mx-more{margin:22px 0 0}
.mx-more:empty{display:none}
.mx-stack{display:none;gap:10px;padding:16px}
.mx-plist{margin:0;padding:0 0 0 20px;font-size:13px;color:var(--muted);columns:2;column-gap:20px}
.mx-sg{margin:10px 0 0;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--acc)}
.mx-card{border:1px solid var(--line);border-radius:14px;padding:14px;background:var(--s2);display:grid;gap:6px}
.mx-card b{font-size:15px}
.mx-card span{font-size:13.5px;color:var(--muted)}
.mx-card small{font-family:var(--mono);font-size:11.5px;color:var(--muted)}
.mx-dots{display:flex;gap:5px}
.mx-dots i{width:20px;height:20px;border-radius:50%;background:var(--s3);display:grid;place-items:center;font-style:normal;font-family:var(--mono);font-size:10px;color:var(--muted)}
.mx-dots i[class]{color:#fff}
.ind .ind-tags{margin-top:8px;font-family:var(--mono);font-size:12px;color:#fff}
.ind-more{display:inline-flex;align-items:center;gap:6px;margin-top:12px;font-size:13px;font-weight:700;color:#fff}
.ind-more svg{width:15px;height:15px}
.ind-q{margin:30px 0 0;padding:30px 32px;border-left:4px solid var(--acc);border-radius:0 18px 18px 0;background:var(--s2)}
.ind-q blockquote{margin:0 0 14px;font-size:clamp(18px,2vw,22px);line-height:1.5;color:var(--text)}
.ind-q figcaption{font-size:14px;color:var(--muted)}
.ind-q figcaption b{color:var(--text)}
.ind-q-link{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-size:14px;font-weight:700;color:var(--acc)}
.ind-q-link svg{width:15px;height:15px}
.talk{display:grid;grid-template-columns:1.5fr 1fr;gap:20px;margin-top:40px;align-items:start}
.talk-card{border:1px solid var(--line);border-radius:22px;padding:28px;background:var(--s1)}
.talk-card h3{font-size:22px;font-weight:800}
.talk-card .role{margin:4px 0 16px;color:var(--muted)}
.talk-card ul{list-style:none;padding:0;margin:0;display:grid;gap:10px;font-size:15px;overflow-wrap:anywhere}
.talk-card a{color:var(--acc);text-decoration:underline}
.talk-more{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0 0}

/* ---------- lifecycle ---------- */
.life{position:relative;display:grid;grid-template-columns:repeat(8,1fr);gap:0;margin-top:56px}
.life::before{content:"";position:absolute;left:0;right:0;top:27px;height:2px;background:var(--line)}
.life .bar{position:absolute;left:0;top:27px;height:2px;width:0;background:linear-gradient(90deg,var(--acc),var(--red));transition:width 2.4s cubic-bezier(.4,0,.2,1)}
.life.play .bar{width:100%}
.ls{position:relative;padding:0 10px;opacity:.25;transform:translateY(10px);transition:opacity .5s,transform .5s}
.life.play .ls{opacity:1;transform:none}
.ls .dot{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--s1);border:2px solid var(--line);position:relative;z-index:1;margin-bottom:16px}
.ls .dot .dn{font-family:var(--mono);font-size:17px;font-weight:600;color:var(--text)}
.ls[data-co="aaw"] .dot{border-style:dashed}
.ls[data-co="ace"] .dot{border-style:double;border-width:4px}
.ls b a:hover{text-decoration:underline}
.ls-co{display:block;font-family:var(--mono);font-size:11px;font-weight:600;margin:0 0 6px}
.ls[data-co="acl"] .ls-co{color:var(--acc)}
.ls[data-co="aaw"] .ls-co{color:var(--gold)}
.ls[data-co="ace"] .ls-co{color:var(--red)}
.ls[data-co="acl"] .dot{border-color:var(--acc)}
.ls[data-co="ace"] .dot{border-color:var(--red)}
.ls[data-co="aaw"] .dot{border-color:var(--gold)}
.ls b{display:block;font-size:15px;font-weight:800;line-height:1.25;margin-bottom:6px}
.ls p{margin:0;font-size:13px;color:var(--muted);line-height:1.5}
.ls .n{font-family:var(--mono);font-size:11px;color:var(--faint);display:block;margin-bottom:4px}
.life-key{display:flex;flex-wrap:wrap;gap:22px;margin-top:40px;font-size:13px;color:var(--muted)}
.life-key span{display:flex;align-items:center;gap:8px}
.life-key i{width:14px;height:14px;border-radius:50%;border:2px solid}
.life-key i.lk-acl{border-color:var(--acc)}
.life-key i.lk-aaw{border-color:var(--gold);border-style:dashed}
.life-key i.lk-ace{border-color:var(--red);border-style:double;border-width:4px}
.life-cta{margin:28px 0 0}
.ace-note{margin:20px 0 0;color:var(--muted);font-size:15px}
.c-proof{margin-top:40px}

/* cost curve */
.curve-wrap{display:grid;grid-template-columns:1fr 1.2fr;gap:56px;align-items:center;margin-top:80px;padding:40px;border:1px solid var(--line);border-radius:22px;background:var(--s1)}
.curve-wrap h3{font-size:clamp(24px,2.6vw,34px);font-weight:800}
.curve-wrap p{color:var(--muted)}
.curve-wrap .big{font-size:clamp(48px,6vw,80px);font-weight:800;letter-spacing:-.04em;color:var(--acc);line-height:1}
svg.cv{width:100%;height:auto;overflow:visible}
svg.cv .ax{stroke:var(--faint);stroke-width:1.2}
svg.cv .t{fill:var(--muted);font:600 11px var(--mono);stroke:none}
svg.cv .tl{fill:var(--text);font:700 13px var(--font);stroke:none}
svg.cv .c1{stroke:var(--acc);stroke-width:4;fill:none;stroke-dasharray:700;stroke-dashoffset:700;transition:stroke-dashoffset 2s ease}
svg.cv .c2{stroke:var(--red);stroke-width:4;fill:none;stroke-dasharray:700;stroke-dashoffset:700;transition:stroke-dashoffset 2s .6s ease}
svg.cv .zone{fill:var(--acc-soft);stroke:none}
.curve-wrap.play .c1,.curve-wrap.play .c2{stroke-dashoffset:0}

/* ---------- services ---------- */
.svc-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:48px}
.svc{border:1px solid var(--line);border-radius:18px;background:var(--s1);overflow:hidden;display:flex;flex-direction:column;text-align:left;transition:transform .2s,border-color .2s}
.svc:hover{transform:translateY(-4px);border-color:var(--acc)}
.svc .ph{aspect-ratio:4/3;overflow:hidden}
.svc .ph img{width:100%;height:100%;object-fit:cover}
.svc .bd{padding:18px;display:flex;flex-direction:column;gap:8px;flex:1}
.svc .num{font-family:var(--mono);font-size:11px;color:var(--muted)}
.svc h3{font-size:20px;font-weight:800}
.svc p{margin:0;font-size:13.5px;color:var(--muted);flex:1}
.svc .more{font-size:13px;font-weight:700;color:var(--acc);display:flex;align-items:center;gap:6px}
.svc .more svg{width:15px;height:15px}

/* ---------- story ---------- */
.story{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-top:44px}
.st{position:relative;border-radius:14px;overflow:hidden;aspect-ratio:3/4;cursor:zoom-in}
.st img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.st:hover img{transform:scale(1.05)}
.st::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(5,7,10,.9))}
.st .cap{position:absolute;left:14px;right:14px;bottom:12px;z-index:1;color:#fff}
.st .cap i{font-style:normal;font-family:var(--mono);font-size:11px;color:rgba(255,255,255,.8)}
.st .cap b{display:block;font-size:15px}
.st .cap span{font-size:12px;color:rgba(255,255,255,.75)}
.story-q{margin-top:30px;display:flex;gap:18px;align-items:flex-start;padding:26px;border-radius:18px;border:1px solid var(--line);background:var(--s1)}
.story-q img{height:46px;width:auto}
.story-q blockquote{margin:0;font-size:17px;line-height:1.55}
.story-q cite{display:block;margin-top:10px;font-style:normal;font-size:13px;color:var(--muted)}
.story-q cite b{color:var(--text)}

/* ---------- gallery (McKinney-style viewer + strip) ---------- */
.gal{border:1px solid var(--line);border-radius:22px;overflow:hidden;background:var(--s1);margin-top:40px}
.gal-view{position:relative;aspect-ratio:16/8;background:#05070a;overflow:hidden}
.gal-view img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .6s}
.gal-view img.on{opacity:1}
.gal-view::after{content:"";position:absolute;inset:auto 0 0;height:45%;background:linear-gradient(transparent,rgba(5,7,10,.85));pointer-events:none}
.gal-cap{position:absolute;left:28px;bottom:24px;z-index:2;color:#fff;max-width:70%}
.gal-cap .chip{color:#fff;border-color:rgba(255,255,255,.45);background:rgba(5,7,10,.4)}
.gal-cap h3{font-size:clamp(22px,2.6vw,34px);font-weight:800;margin:10px 0 4px}
.gal-cap p{margin:0;font-size:14px;color:rgba(255,255,255,.8)}
.gal-views{position:absolute;right:24px;bottom:26px;z-index:2;display:flex;gap:6px}
.gal-views button{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.4)}
.gal-views button.on{background:#fff;width:24px;border-radius:5px}
.gal-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:rgba(5,7,10,.45);color:#fff;backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.2)}
.gal-arrow.prev{left:18px}.gal-arrow.next{right:18px}
.gal-arrow:hover{background:#fff;color:#0B2545}
.gal-zoom{position:absolute;top:18px;right:18px;z-index:2;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:rgba(5,7,10,.45);color:#fff;border:1px solid rgba(255,255,255,.2)}
.gal-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-top:1px solid var(--line);flex-wrap:wrap}
.gal-filters{display:flex;gap:6px;flex-wrap:wrap}
.gal-filters button{padding:7px 14px;border-radius:999px;font-size:13px;font-weight:700;border:1px solid var(--line);color:var(--muted);background:var(--s2)}
.gal-filters button.on{background:var(--acc-soft);color:var(--acc);border-color:color-mix(in srgb,var(--acc) 45%,transparent)}
.gal-count{font-family:var(--mono);font-size:12px;color:var(--muted)}
.strip{display:flex;gap:10px;overflow-x:auto;padding:4px 18px 18px;scroll-snap-type:x mandatory;scrollbar-width:thin}
.tile{flex:none;width:210px;scroll-snap-align:start;border-radius:12px;overflow:hidden;border:2px solid transparent;background:var(--s2);text-align:left;transition:border-color .2s,transform .2s}
.tile:hover{transform:translateY(-2px)}
.tile.on{border-color:var(--acc)}
.tile img{width:100%;aspect-ratio:16/10;object-fit:cover}
.tile span{display:block;padding:8px 10px 9px;font-size:12.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tile small{display:block;padding:0 10px 9px;margin-top:-6px;font-size:11px;color:var(--muted)}

/* ---------- deliverables marquee ---------- */
.marq{overflow:hidden;margin-top:44px;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marq-in{display:flex;gap:14px;width:max-content;animation:marq 60s linear infinite}
.marq:hover .marq-in{animation-play-state:paused}
@keyframes marq{to{transform:translateX(-50%)}}
.dv{width:300px;flex:none;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:#fff;cursor:zoom-in}
.dv img{width:100%;aspect-ratio:3/2;object-fit:cover}
.dv span{display:block;padding:10px 14px;font-size:13px;font-weight:700;background:var(--s1);color:var(--text);border-top:1px solid var(--line)}

/* ---------- why + testimonials ---------- */
.why{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:44px}
.why div{padding:26px;border-radius:18px;border:1px solid var(--line);background:var(--s1)}
.why i{font-style:normal;font-family:var(--mono);font-size:12px;color:var(--muted)}
.why b{display:block;font-size:18px;margin:10px 0 8px;line-height:1.25}
.why p{margin:0;font-size:14px;color:var(--muted)}
.why-go{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-size:13px;font-weight:700;color:var(--acc)}
.why-go svg{width:15px;height:15px}
.tst{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}
.tq{padding:30px;border-radius:18px;border:1px solid var(--line);background:linear-gradient(140deg,var(--acc-soft),transparent 60%),var(--s1);position:relative}
.tq::before{content:"\201C";position:absolute;top:16px;right:20px;width:40px;height:48px;overflow:hidden;text-align:center;font-size:80px;line-height:1;color:var(--acc);opacity:.35;font-family:Georgia,serif}
.tq blockquote{margin:0 0 18px;font-size:16.5px;line-height:1.6}
.tq cite{font-style:normal;display:flex;align-items:center;gap:12px;font-size:13px;color:var(--muted)}
.tq cite img{height:36px;width:auto}
.tq cite b{display:block;color:var(--text);font-size:14px}

/* ---------- CTA ---------- */
.cta{position:relative;border-radius:26px;overflow:hidden;padding:72px 56px;color:#fff;isolation:isolate}
.cta img.bgi{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.cta::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,rgba(5,7,10,.94) 30%,rgba(5,7,10,.4))}
.cta h2{font-size:clamp(30px,4vw,52px);font-weight:800;max-width:700px}
.cta p{color:rgba(255,255,255,.8);max-width:560px;font-size:18px;margin:16px 0 28px}
.cta .btn-g{color:#fff;border-color:rgba(255,255,255,.4)}

/* ---------- inner pages ---------- */
.page-hero{position:relative;padding:calc(var(--top) + 90px) 0 70px;overflow:hidden;color:#fff;isolation:isolate;min-height:62vh;display:flex;align-items:flex-end}
.page-hero img.bgi{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.page-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(5,7,10,.6),rgba(5,7,10,.35) 40%,rgba(5,7,10,.95))}
.page-hero .eyebrow{color:#fff}
.page-hero h1{font-size:clamp(38px,5.6vw,72px);font-weight:800;letter-spacing:-.03em;max-width:960px}
.page-hero p{font-size:clamp(17px,1.7vw,20px);color:rgba(255,255,255,.82);max-width:700px;margin:18px 0 0}
.page-hero .chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}
.page-hero .chip{color:#fff;border-color:rgba(255,255,255,.35);background:rgba(255,255,255,.08)}
.page-hero .chip.acc{color:#fff;border-color:rgba(255,255,255,.6);background:rgba(255,255,255,.16)}
.crumb{font-size:13px;color:rgba(255,255,255,.7);margin-bottom:18px;display:flex;gap:8px;align-items:center}
.crumb a:hover{color:#fff;text-decoration:underline}
.cols{display:grid;grid-template-columns:1.4fr 1fr;gap:60px}
.prose p{color:var(--muted);font-size:17px;margin:0 0 18px}
.prose p:first-child{color:var(--text);font-size:19px}
.side-card{border:1px solid var(--line);border-radius:20px;padding:26px;background:var(--s1);align-self:start;position:sticky;top:calc(var(--top) + 20px)}
.side-card h4,.side-card .sc-h{font-size:13px;font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--acc);margin-bottom:14px}
.side-card .scope{font-size:24px;font-weight:800;margin-bottom:6px}
.side-card p{margin:0 0 18px;color:var(--muted);font-size:14px}
.side-card hr{border:0;border-top:1px solid var(--line);margin:18px 0}
.ticks{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.ticks li{display:flex;gap:10px;font-size:14.5px;align-items:flex-start}
.ticks li::before{content:"";flex:none;width:16px;height:16px;margin-top:3px;border-radius:50%;background:var(--acc-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2352dbe1' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/11px no-repeat}
.types{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.types span{padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:var(--s1);font-size:14px;font-weight:600}
.pgal{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:200px;gap:10px;margin-top:40px}
.pgal button{border-radius:14px;overflow:hidden;cursor:zoom-in;padding:0}
.pgal button:first-child{grid-column:span 2;grid-row:span 2}
.pgal img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.pgal button:hover img{transform:scale(1.05)}
.refs{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;margin-top:36px}
.ref{border:1px solid var(--line);border-radius:18px;padding:24px;background:var(--s1)}
.ref h3{font-size:19px;font-weight:800}
.ref .c{font-family:var(--mono);font-size:12px;color:var(--acc);margin:6px 0 12px}
.ref p{margin:0 0 14px;font-size:14px;color:var(--muted)}
.ref .ticks li{font-size:13.5px}
.next-ind{display:flex;justify-content:space-between;gap:12px;margin-top:70px;padding-top:30px;border-top:1px solid var(--line)}
.next-ind a{display:flex;flex-direction:column;gap:4px;font-weight:800;font-size:20px}
.next-ind a span{font-size:12px;font-family:var(--mono);color:var(--muted);font-weight:500}
.next-ind a:hover{color:var(--acc)}
.next-ind a:last-child{text-align:right}

/* contact */
.contact{display:grid;grid-template-columns:1fr 1.2fr;gap:50px}
.c-info div{padding:20px 0;border-bottom:1px solid var(--line)}
.c-info b{display:block;font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--acc);margin-bottom:6px}
.c-info a:hover{color:var(--acc)}
form.cf{border:1px solid var(--line);border-radius:22px;padding:30px;background:var(--s1);display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cf label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:700;color:var(--muted)}
.cf label.full{grid-column:1/-1}
.cf input,.cf select,.cf textarea{font:inherit;font-size:15px;color:var(--text);background:var(--s2);border:1px solid var(--line);border-radius:12px;padding:12px 14px;outline:none;transition:border-color .2s}
.cf input:focus,.cf select:focus,.cf textarea:focus{border-color:var(--acc)}
.cf textarea{min-height:130px;resize:vertical}
.cf .btn{justify-self:start}
.cf small{grid-column:1/-1;color:var(--faint);font-size:12px}

/* footer */
.foot{border-top:1px solid var(--line);background:var(--bg2);padding:70px 0 0;margin-top:0}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.4fr;gap:40px}
.foot-co .lg{height:48px;width:auto;margin-bottom:16px}
.foot-co p{color:var(--muted);font-size:14px;margin:0 0 12px}
.foot-co a:hover{color:var(--acc)}
.foot h2,.foot h4{font-size:12px;font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--acc);margin-bottom:16px}
.foot ul{list-style:none;padding:0;margin:0;display:grid;gap:9px;font-size:14px}
.foot ul a{color:var(--muted)}
.foot ul a:hover{color:var(--text)}
.family li{display:flex;gap:12px;align-items:center}
.family img{width:34px;height:auto;flex:none}
.family span{font-size:12.5px;color:var(--muted);line-height:1.4}
.family b{display:block;color:var(--text);font-size:14px}
.family a{color:var(--acc)!important}
.foot-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:26px 28px;margin-top:50px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}
.powered{display:flex;align-items:center;gap:10px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:700}
.powered img{height:38px;width:auto}

/* modal + lightbox */
.modal{position:fixed;inset:0;z-index:80;background:rgba(5,7,10,.7);backdrop-filter:blur(6px);display:grid;place-items:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .25s}
.modal.on{opacity:1;pointer-events:auto}
.modal-card{position:relative;width:min(900px,100%);max-height:88vh;overflow:hidden;display:flex;flex-direction:column;border-radius:22px;background:var(--s1);border:1px solid var(--line);box-shadow:var(--shadow);transform:translateY(16px);transition:transform .3s}
.modal.on .modal-card{transform:none}
.modal-x{position:absolute;top:14px;right:14px;z-index:3;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:rgba(5,7,10,.5);color:#fff}
.m-hero{position:relative;height:240px;color:#fff;display:flex;align-items:flex-end;padding:26px;isolation:isolate}
.m-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.m-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(transparent,rgba(5,7,10,.92))}
.m-hero h2{font-size:32px;font-weight:800}
.m-hero .chip{color:#fff;border-color:rgba(255,255,255,.45)}
.m-hero p{margin:6px 0 0;color:rgba(255,255,255,.8)}
.m-body{padding:26px}
.m-body>p{color:var(--muted);margin:0 0 20px}
.disc{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px}
.disc button{padding:12px;border-radius:12px;border:1px solid var(--line);background:var(--s2);font-size:13px;font-weight:700;text-align:left;line-height:1.3}
.disc button.on{border-color:var(--acc);background:var(--acc-soft);color:var(--acc)}
.disc-list{border:1px solid var(--line);border-radius:14px;padding:20px;background:var(--s2)}
.disc-list h4{font-size:17px;margin-bottom:12px}
.disc-list .ticks{grid-template-columns:1fr 1fr}
.m-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.m-list div{padding:16px;border-radius:14px;border:1px solid var(--line);background:var(--s2)}
.m-list b{display:block;font-size:15px;margin-bottom:4px}
.m-list span{font-size:13.5px;color:var(--muted)}
.lightbox{position:fixed;inset:0;z-index:90;background:rgba(3,4,6,.94);display:grid;place-items:center;opacity:0;pointer-events:none;transition:opacity .25s}
.lightbox.on{opacity:1;pointer-events:auto}
.lightbox img{max-width:92vw;max-height:82vh;object-fit:contain;border-radius:10px}
.lb-x,.lb-nav{position:absolute;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.1);color:#fff}
.lb-x{top:20px;right:20px}.lb-nav.prev{left:20px}.lb-nav.next{right:20px}
.lb-cap{position:absolute;bottom:22px;left:0;right:0;text-align:center;color:rgba(255,255,255,.8);font-size:14px}

/* light theme headings, dialog, service pages, about, form, mobile bar */
:root[data-theme="light"] h2.sec,:root[data-theme="light"] .split .q,:root[data-theme="light"] .svc h3,:root[data-theme="light"] .why b,:root[data-theme="light"] .ref h3,:root[data-theme="light"] .ab h3,:root[data-theme="light"] .curve-wrap h3,:root[data-theme="light"] .prose h3,:root[data-theme="light"] .blk .wrap>h3,:root[data-theme="light"] .ls b{color:#0B2545}
:root[data-theme="light"] .ticks li::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B2545' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E")}
.prose a{color:var(--acc);text-decoration:underline}
.modal[hidden]{display:none}
html.m-open,html.m-open body{overflow:hidden}
#modalBody,.modal{overscroll-behavior:contain}
.m-body .ind-q{margin:24px 0 0}
.m-ql{margin:12px 0 0}
.m-ql a{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:700;color:var(--acc)}
.m-ql svg{width:15px;height:15px}
.tbl th a{color:var(--acc);text-decoration:underline;text-underline-offset:3px}
.mx-corner b a{text-decoration:underline;text-underline-offset:3px}
.mx-corner b a:hover{color:var(--acc)}
.mx-corner,.mx-lbl{position:sticky;left:0;z-index:2;background:var(--s1)}
#modalBody{overflow:auto;flex:1;min-height:0}
.m-sub{font-size:17px;margin:24px 0 12px}
.disc-list>h2,.disc-list>h3{font-size:17px;margin-bottom:12px}
.m-cta{margin:24px 0 0}
.modal .m-cta{position:sticky;bottom:0;margin:24px -26px -26px;padding:14px 26px;background:var(--s1);border-top:1px solid var(--line)}
.svc-page{padding:0;max-width:none}
.svc-page>p{max-width:860px}
.ab-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:40px}
.ab{padding:26px;border:1px solid var(--line);border-radius:18px;background:var(--s1)}
.ab h3{font-size:20px;font-weight:800;margin-bottom:10px}
.ab p{margin:0 0 10px;color:var(--muted);font-size:15px}
.cf label>span{display:block}
.cf .req{color:var(--red)}
.cf .err{color:var(--red);font-size:12px;font-weight:600}
.cf .err:empty{display:none}
.cf [aria-invalid="true"]{border-color:var(--red)}
.cf-st{grid-column:1/-1;margin:0;font-size:14px;color:var(--text)}
.cf-st:empty{display:none}
.cf small a{text-decoration:underline}
.foot-bar .theme{flex:none}
.mbar{display:none}
section.blk.ab-lead{padding:64px 0}
.pc-b span.pc-go{font-size:14px;font-weight:700;color:var(--acc)}
@media (max-width:860px){section.blk.ab-lead{padding:44px 0}}
.stat b.sm{font-size:clamp(22px,2.4vw,30px);line-height:1.2}
a.stat{color:#fff;transition:background .2s}
a.stat:hover{background:rgba(255,255,255,.06)}
.buyers{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:40px}
.buyer{padding:26px;border:1px solid var(--line);border-radius:18px;background:var(--s1)}
.buyer h3{font-size:20px;font-weight:800;margin-bottom:10px}
.buyer p{margin:0 0 18px;color:var(--muted);font-size:15px}
:root[data-theme="light"] .buyer h3{color:#0B2545}
.side-card .side-more{width:100%;justify-content:center;margin-top:10px}
.page-hero .ph-acts{margin-top:28px;align-items:center}
.page-hero .txt-link{color:#fff;text-decoration:underline;font-weight:700;font-size:15px}
.gal-q:empty,.gal-band:empty{display:none}
.gal-q .ind-q{margin:18px 18px 0;padding:20px 22px}
.gal-q .ind-q blockquote{font-size:16px}

/* service pages, matrix proof row */
.page-hero .btn-g{color:#fff;border-color:rgba(255,255,255,.4)}
.mx .dim{opacity:.4}
.mxp-wrap{margin-top:24px}
.mxp-line{margin:0 0 16px;font-size:clamp(16px,1.6vw,19px);font-weight:700;color:var(--text);max-width:900px}
.mxp-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:16px;align-items:start}
.mxp-row .ind-q{margin:0}
.pcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-top:28px}
.pcard{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--s1);transition:border-color .2s}
.pcard:hover{border-color:var(--acc)}
.pcard img{width:100%;aspect-ratio:16/10;object-fit:cover}
.pc-b{display:grid;gap:4px;padding:16px 18px}
.pc-b b{font-size:17px}
.pc-b small{font-family:var(--mono);font-size:12px;color:var(--acc)}
.pc-b span{font-size:14px;color:var(--muted)}
.pc-b em{font-style:normal;font-weight:800;color:var(--text)}
.icols{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.icol{padding:24px;border:1px solid var(--line);border-radius:18px;background:var(--s1);display:flex;flex-direction:column;gap:8px;transition:border-color .2s}
.icol:hover{border-color:var(--acc)}
.icol h2{font-size:20px;font-weight:800}
.icol p{margin:0;font-size:14.5px;color:var(--muted);flex:1}
.icol-go{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--acc)}
.icol-go svg{width:15px;height:15px}
.svc-prose,.svc-list,.steps,.tbl-wrap,.svc-page{margin-top:28px}
.svc-prose{max-width:860px}
.steps{list-style:none;padding:0;margin-bottom:0;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;counter-reset:st}
.steps li{counter-increment:st;padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--s1);display:grid;gap:6px;align-content:start}
.steps li::before{content:"0" counter(st);font-family:var(--mono);font-size:12px;color:var(--muted)}
.steps b{font-size:16px}
.steps span{font-size:14px;color:var(--muted)}
.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:16px}
.tbl{width:100%;border-collapse:collapse;font-size:14.5px;background:var(--s1)}
.tbl th,.tbl td{padding:14px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.tbl thead th{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--acc);background:var(--s2)}
.tbl tbody tr:last-child th,.tbl tbody tr:last-child td{border-bottom:0}
.tbl tbody th{font-weight:800;color:var(--text)}
.tbl td{color:var(--muted)}
.svc-acts{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0 0}
.svc-talk{max-width:560px;margin-top:28px}
.rel{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:32px}
.rel-c{display:flex;align-items:center;gap:14px;padding:12px;border:1px solid var(--line);border-radius:16px;background:var(--s1);transition:border-color .2s}
.rel-c:hover{border-color:var(--acc)}
.rel-c img{width:72px;height:56px;object-fit:cover;border-radius:10px;flex:none}
.rel-c span{flex:1;min-width:0;font-size:13px;color:var(--muted);line-height:1.35}
.rel-c b{display:block;font-size:16px;color:var(--text)}
@media (max-width:1180px){.steps{grid-template-columns:1fr 1fr}}
@media (max-width:860px){.icols,.mxp-row{grid-template-columns:1fr}.tbl{font-size:13.5px}.tbl th,.tbl td{padding:12px}}
@media (max-width:520px){.steps{grid-template-columns:1fr}}

/* phase matrix two-tone bars; service card deliverables; compact industry hero; 3-column captioned gallery */
#mx .k-lead,#mx .k-pm,#mx .k-eng,#mx .k-proc,#mx .k-fab,#mx .k-con,#mx .k-sw{background:linear-gradient(90deg,#087b81,#0a8f96)}
#mx .k-ptn{background:repeating-linear-gradient(135deg,#4a5670 0 6px,#5b6782 6px 12px)}
#matrix{scroll-margin-top:calc(var(--top) + 60px)}
.svc p.svc-dl{flex:none;font-size:12.5px;color:var(--text);padding-top:8px;border-top:1px solid var(--line)}
.page-hero.ph-compact{min-height:420px;padding:calc(var(--top) + 48px) 0 44px}
.page-hero.ph-compact img.bgi{object-position:80% center}
.page-hero.ph-compact::before{background:linear-gradient(90deg,rgba(10,12,16,.85) 0%,rgba(10,12,16,.6) 30%,rgba(10,12,16,0) 60%)}
.page-hero.ph-compact .wrap>*{max-width:620px}
.page-hero.ph-compact h1{font-size:clamp(34px,4.4vw,56px)}
.pgal.pgal3{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:auto;gap:18px}
.pgal.pgal3 button:first-child{grid-column:auto;grid-row:auto}
.pgal.pgal3 button{display:block;width:100%}
.pgal.pgal3 img{height:auto;aspect-ratio:4/3}
.pg-f{margin:0;display:grid;gap:10px;align-content:start;min-width:0}
.pg-f figcaption{display:grid;gap:2px}
.pg-f h3{font-size:16px;font-weight:800}
:root[data-theme="light"] .pg-f h3{color:#0B2545}
.pg-f span{font-size:13.5px;color:var(--muted)}
.pg-f .chip{justify-self:start;font-style:normal;margin-top:4px}
@media (max-width:860px){
  .pgal.pgal3{grid-template-columns:1fr}
  .page-hero.ph-compact{min-height:0}
  .page-hero.ph-compact::before{background:linear-gradient(180deg,rgba(10,12,16,.6),rgba(10,12,16,.88))}
}

/* service card eyebrows and credential line, projects CTA overlay, mobile filter row and service card images */
.svc .num{font-family:var(--font);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--acc)}
.svc .num::after{content:"";display:block;width:24px;height:2px;margin-top:8px;background:var(--red)}
.svc p.svc-cred{flex:none;font-size:12.5px;font-weight:700;color:var(--text)}
.cta.ov60::before{background:rgba(5,7,10,.6)}
@media (max-width:860px){
  .svc .ph{aspect-ratio:16/9;max-height:180px}
  .gal-filters{flex-wrap:nowrap;overflow-x:auto;width:100%;min-width:0;padding-right:28px;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 82%,transparent);mask-image:linear-gradient(90deg,#000 82%,transparent)}
  .gal-filters button,.gal-sub button{flex:none;white-space:nowrap}
  .gal-sub{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
}

/* reveal */
.rv{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none}.marq-in{animation:none}.arrow{transform:none}.arrow span{opacity:1}}

/* ---------- responsive ---------- */
@media (max-width:1180px){
  .nav{display:none;position:fixed;top:var(--top);left:0;right:0;flex-direction:column;align-items:stretch;padding:14px 16px 20px;background:var(--s1);border-bottom:1px solid var(--line);gap:2px}
  .nav.open{display:flex}
  .nav a{color:var(--text)!important;padding:13px 16px}
  .nav .nav-cta{margin:8px 0 0;text-align:center}
  .burger{display:grid}
  .nav{max-height:calc(100vh - var(--top));overflow-y:auto}
  .top-r{margin-left:auto}
  .dd{flex-direction:column}
  .dd-m{display:grid;position:static;min-width:0;padding:0 0 6px 14px;border:0;box-shadow:none;background:none}
  .nav .dd-m a{font-size:13.5px;padding:9px 16px;white-space:normal}
  .svc-grid{grid-template-columns:repeat(3,1fr)}
  .life{grid-template-columns:repeat(4,1fr);row-gap:40px}
  .life::before,.life .bar{display:none}
  .why{grid-template-columns:1fr 1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){
  :root{--top:66px}
  .wrap{padding:0 16px}
  section.blk{padding:72px 0}
  .brand .lg{height:28px}
  .util,.top-tel,.top-cta{display:none}
  .top-in{height:100%;padding:0 16px}
  .ab-grid{grid-template-columns:1fr}
  .buyers{grid-template-columns:1fr}
  .stat b.sm{font-size:22px}
  .modal{padding:0;place-items:stretch}
  .modal-card{width:100%;height:100%;height:100dvh;max-height:none;border-radius:0;border:0}
  .modal-x{top:calc(10px + env(safe-area-inset-top))}
  .mbar{display:grid;grid-template-columns:1fr 1fr;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:60;padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:var(--s1);border-top:1px solid var(--line)}
  .mbar a{display:flex;align-items:center;justify-content:center;min-height:46px;border-radius:999px;font-weight:700;font-size:15px;border:1px solid var(--line);text-align:center}
  .mbar a.btn-p{border-color:transparent}
  body{padding-bottom:calc(72px + env(safe-area-inset-bottom))}
  .ace .lg{height:32px}
  .stats{grid-template-columns:1fr 1fr}
  .stat{padding:22px 16px;border-bottom:1px solid var(--line)}
  .stat:nth-child(2){border-right:0}
  .split,.cols,.contact,.curve-wrap{grid-template-columns:1fr;gap:36px}
  .curve-wrap{padding:24px}
  .ind-grid{grid-template-columns:1fr}
  .ind.wide{grid-column:auto;grid-row:auto}
  .ind-cmp{grid-template-columns:1fr}
  .dv-grid{grid-template-columns:1fr 1fr;gap:10px}
  .mx-scroll{display:none}
  .mx-stack{display:grid}
  .stats.s3{grid-template-columns:1fr}
  .stats.s3 .stat{border-right:0}
  .talk{grid-template-columns:1fr}
  .ind-q{padding:22px 20px}
  .ind{min-height:300px}
  .svc-grid{grid-template-columns:1fr 1fr}
  .story{grid-template-columns:repeat(3,1fr)}
  .tst{grid-template-columns:1fr}
  .gal-view{aspect-ratio:4/3}
  .gal-cap{left:16px;bottom:16px;max-width:90%}
  .gal-views{display:none}
  .gal-arrow{width:38px;height:38px}
  .tile{width:160px}
  .pgal{grid-template-columns:1fr 1fr;grid-auto-rows:150px}
  .disc{grid-template-columns:1fr 1fr}
  .disc-list .ticks,.m-list{grid-template-columns:1fr}
  form.cf{grid-template-columns:1fr;padding:20px}
  .cta{padding:44px 22px}
  .side-card{position:static}
  .scroll-cue{display:none}
  .hero-in{padding:0 16px 40px}
  .hero .eyebrow{white-space:normal}
  .hero-cap{left:16px;right:16px;text-align:right}
  .foot-grid{grid-template-columns:1fr}
  .foot-bar{padding:22px 16px}
}
@media (max-width:520px){
  .top .top-r .ace .lg.lg-dark,.top .top-r .ace .lg.lg-light{display:none!important}
  .ace-mark{display:block}
  .life{grid-template-columns:1fr 1fr}
  .why{grid-template-columns:1fr}
  .svc-grid{grid-template-columns:1fr}
  .story{grid-template-columns:1fr 1fr}
  .page-hero{min-height:56vh}
  .modal{padding:0}
  .m-hero{height:180px}
}

/* industry pages: headings, GC block, client quote, related chips, hangar brief, phase cards */
:root[data-theme="light"] .ind-h2{color:#0B2545}
.prose .gc-act{margin:18px 0 0}
.prose .gc-act a{text-decoration:none;color:var(--text)}
.gq-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:16px;align-items:stretch;margin-top:30px}
.gq-row img{width:100%;height:100%;min-height:220px;object-fit:cover;border-radius:18px}
.gq-row .ind-q{margin:0}
section.blk.ind-rel{padding:64px 0 0}
.rel-h{font-size:13px;font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--acc);margin-bottom:14px}
.rel-chips a{padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:var(--s1);font-size:14px;font-weight:600;transition:border-color .2s,color .2s}
.rel-chips a:hover{border-color:var(--acc);color:var(--acc)}
.cta .cf{color:var(--text);margin-top:32px;max-width:900px}
.cta .cf p{color:var(--muted);font-size:15px;margin:0;max-width:none}
.cta .cf .cf-st{color:var(--text)}
.hb .hb-h,.hb .hb-l{grid-column:1/-1}
.hb .hb-h{font-size:22px;font-weight:800}
.mx-pl{margin:4px 0 0;padding:0 0 0 18px;display:grid;gap:4px;font-size:13.5px;color:var(--muted)}
.mx-card .mx-pl b{font-size:13.5px;color:var(--text)}
.mx-pn{font-style:normal;font-family:var(--mono);font-size:11px;display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--s3);margin-right:8px;vertical-align:middle}
@media (max-width:860px){.gq-row{grid-template-columns:1fr}.gq-row img{min-height:0;height:auto;aspect-ratio:16/10}}

/* industry pages: grouped type chips, primary body text, linked scope items, three-item why row, matrix row links */
.tg-h{font-size:12px;font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:18px 0 6px;font-weight:600}
.types a{padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:var(--s1);font-size:14px;font-weight:600;color:var(--text);text-decoration:none;transition:border-color .2s,color .2s}
.types a:hover{border-color:var(--acc);color:var(--acc)}
.prose.pri p{color:var(--text)}
.side-card a.txt-a,.side-card .ticks a{color:var(--acc);text-decoration:underline;text-underline-offset:3px}
.m-list.w3{grid-template-columns:repeat(3,1fr)}
.m-list .why-go{margin-top:10px}
.mx-lbl a,.mx-card>b a{text-decoration:underline;text-underline-offset:3px}
.mx-lbl a:hover,.mx-card>b a:hover{color:var(--acc)}
@media (max-width:860px){.m-list.w3{grid-template-columns:1fr}}

/* service pages: buildings and site tab, accountability band, matrix phase range, modal action bar */
@media (min-width:861px){.disc{grid-template-columns:repeat(3,1fr)}}
.disc-p{margin:16px 0 0;font-weight:700;color:var(--text)}
.disc-a{display:flex;flex-wrap:wrap;gap:8px 18px;margin:12px 0 0}
.disc-a a{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:700;color:var(--acc)}
.disc-a svg{width:15px;height:15px}
.svc-band{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:16px;align-items:start;margin-top:28px}
.svc-band .ind-q{margin:0}
.svc-band .talk-card p:not(.role){margin:0 0 14px;color:var(--muted);font-size:15px}
.svc-fact{margin:18px 0 0;font-weight:700;color:var(--text);max-width:860px}
.mx-card small.mx-rng{justify-self:start;padding:3px 10px;border-radius:999px;border:1px solid var(--line);background:var(--s1)}
.modal .m-cta{display:flex;flex-wrap:wrap;gap:10px}
@media (max-width:860px){.svc-band{grid-template-columns:1fr}.modal .m-cta{padding-bottom:calc(14px + env(safe-area-inset-bottom))}}

/* residential: scope note, leader card; projects: sub-filters, grid cards, project page; lightbox zoom */
.side-card .sc-note{margin:14px 0 0;font-size:13.5px}
.side-col{display:grid;gap:16px;align-content:start;min-width:0}
.side-col .side-card{position:static}
.lead-card .ldr-n{margin:0;font-size:20px;font-weight:800;color:var(--text)}
.lead-card .ldr-r{margin:2px 0 12px}
.lead-card .ticks li{overflow-wrap:anywhere}
.gal-cap h3 a:hover{text-decoration:underline}
.gal-sub{display:flex;flex-wrap:wrap;gap:6px;padding:0 18px 14px}
.gal-sub:empty{display:none}
.gal-sub button{padding:6px 12px;border-radius:999px;font-size:12.5px;font-weight:700;border:1px solid var(--line);color:var(--muted);background:var(--s1)}
.gal-sub button.on{background:var(--acc-soft);color:var(--acc);border-color:color-mix(in srgb,var(--acc) 45%,transparent)}
.pgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:4px 18px 18px}
.pj{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--s2);transition:border-color .2s}
.pj:hover{border-color:var(--acc)}
.pj img{width:100%;aspect-ratio:4/3;object-fit:cover}
.pj-b{display:grid;gap:4px;padding:12px 14px 14px;align-content:start}
.pj-b small{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--acc)}
.pj-b b{font-size:15px;line-height:1.3}
.pj-b>span{font-size:13px;color:var(--muted)}
.pj-c{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.pj-c .chip{font-size:10px}
.pj-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin:0}
.pj-meta div{padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--s1)}
.pj-meta dt{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--acc)}
.pj-meta dd{margin:4px 0 0;font-weight:700}
.lightbox img{cursor:zoom-in}
.lightbox.zm{overflow:auto;place-items:start center}
.lightbox.zm img{max-width:none;max-height:none;width:180vw;cursor:zoom-out;border-radius:0}
.lightbox.zm .lb-x,.lightbox.zm .lb-nav,.lightbox.zm .lb-cap{position:fixed}
@media (max-width:1180px){.pgrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:860px){.pgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:4px 12px 14px}.pj-b{padding:10px}}

/* about anchor row, contact headings and onward links, cost curve key, mobile delivery timeline */
.ab-nav{position:sticky;top:var(--top);z-index:40;background:var(--glass);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.ab-nav .wrap{display:flex;gap:6px;overflow-x:auto;padding-top:10px;padding-bottom:10px;scrollbar-width:none}
.ab-nav a{flex:none;white-space:nowrap;padding:7px 14px;border-radius:999px;border:1px solid var(--line);background:var(--s1);font-size:13.5px;font-weight:700}
.ab-nav a:hover{border-color:var(--acc);color:var(--acc)}
#leadership,#safety,#locations,#family,#glance,#clients{scroll-margin-top:60px}
[tabindex="-1"]:focus{outline:none}
.ab-nav a.on{background:var(--acc);border-color:var(--acc);color:var(--acc-ink)}
.cf-h{grid-column:1/-1;font-size:20px;font-weight:800;margin:0 0 4px}
:root[data-theme="light"] .cf-h{color:#0B2545}
.c-next{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.c-next span{font-weight:700}
.cv-fig{margin:0;min-width:0}
svg.cv .t{font-size:12px}
.cv-cap{margin-top:12px;font-size:13px;color:var(--muted)}
.cv-key{display:none}
@media (max-width:860px){
  svg.cv .t,svg.cv .tl{display:none}
  .cv-key{display:grid;gap:6px;margin-top:12px;font-size:13px;color:var(--muted)}
  .cv-key .k1,.cv-key .k2{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--text)}
  .cv-key .k1::before,.cv-key .k2::before{content:"";width:18px;height:4px;border-radius:2px;background:var(--acc)}
  .cv-key .k2::before{background:var(--red)}
  .life{grid-template-columns:1fr;row-gap:0;margin-top:36px}
  .ls{padding:0 0 22px 18px;border-left:3px solid var(--line)}
  .ls[data-co="acl"]{border-left-color:var(--acc)}
  .ls[data-co="aaw"]{border-left-color:var(--gold)}
  .ls[data-co="ace"]{border-left-color:var(--red)}
  .ls .dot{display:inline;width:auto;height:auto;border:0!important;background:none;margin:0 8px 0 0}
  .ls .dot .dn{font-size:15px}
  .ls b{display:inline;font-size:17px}
  .ls-co{margin:4px 0 0}
  .ls p{font-size:15px;margin-top:4px}
}

/* industry pages: reference metadata rows, scope links, spacing before related and previous/next, residential hero */
.ref-m{display:grid;gap:4px;margin:8px 0 14px;font-family:var(--font);font-size:14px}
.ref-m div{display:flex;flex-wrap:wrap;gap:0 8px}
.ref-m dt{color:var(--muted);font-weight:600;min-width:72px}
.ref-m dd{margin:0;color:var(--text)}
.side-card .sc-links{display:grid;gap:6px;margin:14px 0 0;font-size:14px;font-weight:700}
section.blk.ind-mx{padding-bottom:64px}
section.blk.ind-mx h2.sec{text-wrap:balance}
section.blk.ind-mx+section.blk.ind-rel{padding-top:40px}
section.blk.ind-pn{padding:24px 0}
.ind-pn .next-ind{border-top:0;padding-top:0}
.page-hero.ph-res::before{background:linear-gradient(90deg,rgba(5,7,10,.72) 0%,rgba(5,7,10,.35) 45%,rgba(5,7,10,.15) 100%)}

/* header wordmark; tracked uppercase sans labels replace monospace */
:root[data-theme="light"] .brand .wm{color:#0B2545}
.top:not(.solid):not(.inner) .brand .wm{color:#fff}
.ind .ind-tags,.gal-count,.mx-grp,.mx-sg,.foot h2,.foot h4,.side-card .sc-h,.side-card h4,.rel-h,.tg-h,.c-info b,.tbl thead th,.pj-meta dt{font-family:var(--font);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.ls .dot .dn,.ls-co{font-family:var(--font);font-weight:700}
.foot-co .mono{font-family:var(--font);font-size:14px}

/* about: numbers grid, Safety & Quality section, clients heading */
.gl-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.gl-grid li{padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--s2);min-width:0}
.gl-grid b{display:block;font-size:24px;font-weight:800;line-height:1.15;color:var(--text);overflow-wrap:anywhere}
.gl-grid b.sm{font-size:16px}
.gl-grid span{display:block;margin-top:4px;font-size:12.5px;line-height:1.4;color:var(--muted)}
:root[data-theme="light"] .gl-grid b,:root[data-theme="light"] .sq-p h3,:root[data-theme="light"] .sq-tiles b{color:#0B2545}
.sq-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:40px}
.sq-p{padding:26px;border:1px solid var(--line);border-radius:18px;background:var(--s1);min-width:0}
.sq-p h3{font-size:20px;font-weight:800;margin-bottom:14px}
.sq-p p{margin:0 0 10px;color:var(--muted);font-size:15px}
.sq-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}
.sq-tiles div{padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--s2);min-width:0}
.sq-tiles b{display:block;font-size:20px;font-weight:800;line-height:1.2;overflow-wrap:anywhere}
.sq-tiles span{display:block;margin-top:4px;font-size:13px;color:var(--muted)}
.sq-d summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px}
.sq-d summary::-webkit-details-marker{display:none}
.sq-d summary h3{margin:0}
.sq-d[open] summary{margin-bottom:14px}
h2.cl-h{font-size:clamp(26px,3vw,36px);margin:56px 0 0}
@media (max-width:860px){
  .brand .wm{font-size:17px}
  .sq-grid{grid-template-columns:1fr}
  .sq-p{padding:20px}
}
@media (max-width:860px){
  section.blk.ind-mx{padding-bottom:40px}
  section.blk.ind-mx+section.blk.ind-rel{padding-top:32px}
  .page-hero.ph-res::before{background:linear-gradient(180deg,rgba(5,7,10,.35),rgba(5,7,10,.35) 35%,rgba(5,7,10,.85))}
}

/* projects: two-row fact strip, captioned gallery, band links; about hero; footer titles; home mobile bar and hero */
.pj-meta+.pj-meta{margin-top:14px}
.pj-meta.r5{grid-template-columns:repeat(5,minmax(0,1fr))}
.pj-meta.r4{grid-template-columns:repeat(4,minmax(0,1fr))}
.pj-meta dd{overflow-wrap:anywhere}
.pj-gh{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--acc);margin:40px 0 0}
.pj-gh+.pgal{margin-top:16px}
.stat-go{display:inline-flex;align-items:center;gap:6px;margin-top:10px;font-size:13px;font-weight:700;color:#fff;text-decoration:underline;text-underline-offset:3px}
.stat-go svg{width:15px;height:15px}
.pc-b span.pc-r{font-size:13px;font-weight:700;color:var(--text)}
.page-hero.ph-about h1{font-size:clamp(40px,4.4vw,56px)}
.page-hero.ph-lead h1{max-width:18ch}
@media (max-width:860px){
  .page-hero.ph-about h1{font-size:36px}
  .page-hero .ph-dk{flex-direction:column;align-items:stretch}
  .page-hero .ph-dk .btn{justify-content:center;width:100%}
  .ab-nav .wrap{padding-right:40px;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 24px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 24px),transparent)}
}
.foot .foot-h{font-family:var(--font);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--acc);margin:0 0 16px}
/* about hero width and locations overlay; cost ratio label; linked delivery steps; outbound pill */
.page-hero.ph-about h1{max-width:820px}
.page-hero.ph-loc::before{background:rgba(5,7,10,.4)}
.page-hero.ph-loc h1,.page-hero.ph-loc p{text-shadow:0 2px 12px rgba(0,0,0,.5)}
.curve-wrap .cv-up{margin:0 0 4px}
.curve-wrap .big-sub{margin:10px 0 18px;font-size:14px;color:var(--muted)}
.ls b a{text-decoration:underline;text-decoration-color:color-mix(in srgb,currentColor 35%,transparent);text-underline-offset:3px}
.ab-nav a.ab-out{border-style:dashed}
/* sentence-case hero tags; matrix rows with short bar labels; mobile bar panel */
.page-hero .chip.sc{text-transform:none;letter-spacing:0;font-size:13px}
.mx-lbl.mx-lbl2{flex-direction:column;align-items:flex-start;justify-content:center;gap:2px}
.mx-lbl .mx-sd{display:block;font-size:13px;font-weight:500;line-height:1.35;color:var(--muted)}
.arrow span{white-space:normal}
@media (max-width:860px){.mbar{background:var(--s1);border-top:1px solid var(--line);box-shadow:0 -6px 18px rgba(0,0,0,.12)}}
/* matrix row links inside bars and stacked cards; firm-level testimonial; reference project link */
.arrow a,.mx-card span a,.mx-pl a{color:inherit;text-decoration:underline;text-underline-offset:2px}
/* residential leader card in the left column; projects hero overlay, headings, closing line, more projects */
.prose .lead-card{position:static;margin-top:34px}
.page-hero.ph-ov55::before{background:rgba(5,7,10,.55)}
.gal-cap h2{font-size:clamp(22px,2.6vw,34px);font-weight:800;margin:10px 0 4px}
.gal-cap h2 a:hover{text-decoration:underline}
.pj-b h3.pj-t{font-size:15px;font-weight:700;line-height:1.3;letter-spacing:0}
.cta p.cta-dl{margin:20px 0 0;font-size:16px}
.cta .cta-dl a{color:#fff;text-decoration:underline;overflow-wrap:anywhere}
.pgrid.pj-more{padding:0;margin-top:28px}
.pj-more-s .next-ind{margin-top:40px}
.ind-q.why-q .eyebrow{margin-bottom:10px}
.ref .why-go{margin-top:16px}
@media (max-width:1180px){.pj-meta.r5,.pj-meta.r4{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:860px){
  .pj-meta,.pj-meta.r5,.pj-meta.r4{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .pj-meta div{padding:12px}
  .mbar{visibility:hidden;transform:translateY(110%);transition:transform .25s,visibility .25s}
  .mbar.show{visibility:visible;transform:none}
  .hero{flex-direction:column;justify-content:flex-end;align-items:stretch}
  .hero-ind{display:none}
  .hero .hero-cap{position:relative;left:auto;right:auto;bottom:auto;display:block;padding:0 16px 14px;text-align:left;font-size:12px}
}
/* project page: breadcrumb band, lighter hero overlay, phase-grouped gallery with 16:9 lead */
.crumb-bar{padding:calc(var(--top) + 12px) 0 12px;background:var(--bg);border-bottom:1px solid var(--line)}
.crumb-bar .crumb{margin:0;color:var(--muted);flex-wrap:wrap}
.crumb-bar .crumb a{color:var(--acc);text-decoration:underline;text-underline-offset:3px}
.page-hero.ph-cb{padding-top:90px}
.page-hero.ph-pj img.bgi{object-position:65% 40%}
.page-hero.ph-pj::before{background:linear-gradient(to top right,rgba(0,0,0,.55) 0%,rgba(0,0,0,0) 60%)}
.page-hero.ph-pj h1,.page-hero.ph-pj p{text-shadow:0 2px 12px rgba(0,0,0,.45)}
.pgal.pgal-lead{grid-template-columns:1fr;grid-auto-rows:auto}
.pgal.pgal-lead button{display:block;width:100%;grid-column:auto;grid-row:auto}
.pgal.pgal-lead img{height:auto;aspect-ratio:16/9}
/* services hub: link cards under the matrix; stacked matrix accordions */
.mxp-links{margin-top:22px}
.mxp-links b{font-size:17px;color:var(--text)}
.mx-acc{border-top:1px solid var(--line);padding-top:4px}
.mx-acc summary.mx-sg{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;padding:8px 0;margin:0}
.mx-acc summary::-webkit-details-marker{display:none}
.mx-acc summary::after{content:"+";font-size:16px}
.mx-acc[open] summary::after{content:"\2212"}
.mx-accb{display:grid;gap:10px;margin-top:6px}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (max-width:860px){
  .page-hero.ph-pj::before{background:linear-gradient(180deg,rgba(0,0,0,0) 20%,rgba(0,0,0,.7) 100%)}
  .mx-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-right:32px;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 40px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 40px),transparent)}
  .mx-tab{flex:none;white-space:nowrap}
  .rel.r3{grid-template-columns:1fr}
}
/* market table as stacked cards on phones */
@media (max-width:640px){
  .tbl thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .tbl,.tbl tbody,.tbl tr,.tbl th,.tbl td{display:block;width:auto}
  .tbl tr{padding:14px 16px;border-bottom:1px solid var(--line)}
  .tbl tbody tr:last-child{border-bottom:0}
  .tbl th,.tbl td{padding:0;border:0}
  .tbl td{margin-top:8px}
  .tbl td::before{content:attr(data-label);display:block;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--acc)}
  .tbl td:last-child{font-weight:700;color:var(--text)}
}
/* primary button inside contact cards; light figures band */
.talk-card a.btn-p{color:#fff;text-decoration:none;font-weight:700}
.stats.lt{background:var(--bg2);color:var(--text);border-bottom:1px solid var(--line)}
.stats.lt .stat{border-right-color:var(--line)}
.stats.lt .stat b{color:var(--acc)}
.stats.lt .stat .stat-l{color:var(--muted)}
/* testimonial text never runs under the quote glyph; about body contrast; about chip row snap */
.tq blockquote{padding-right:56px}
:root[data-theme="light"] .page-hero.ph-about~.blk .prose p,:root[data-theme="light"] .page-hero.ph-about~.blk .ab p{color:#3A4656}
.page-hero.ph-about~.blk .ab p{font-size:16px;line-height:1.6}
.ab-nav .wrap{scroll-snap-type:x mandatory}
/* contact links, readable cost-curve labels, top-aligned delivery steps, about sidebar label */
.c-info a{color:var(--acc);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
svg.cv .t{font-size:13px;fill:var(--text)}
.cv-cap{font-size:14px;color:var(--text)}
.life{align-items:start}
.side-card p.sc-h{margin:0 0 14px;color:var(--acc)}
.c-proof .m-ql{margin:14px 0 0}
.ab-nav a{scroll-snap-align:start}
/* contact card primary button matches the hero button; matrix industry link; project card metadata; text link row */
.talk-card a.btn.btn-p,.talk-card a.btn.btn-p:hover,.talk-card a.btn.btn-p:visited{color:#fff;text-decoration:none}
.talk-card a.btn.btn-p svg{stroke:#fff}
.mx-corner b a.mx-ind::after{content:" \2192";color:var(--acc)}
.pc-m{display:grid;gap:2px;margin:6px 0 0;font-size:13.5px}
.pc-m div{display:flex;flex-wrap:wrap;gap:0 8px}
.pc-m dt{color:var(--muted);font-weight:600}
.pc-m dd{margin:0;font-weight:700;color:var(--text)}
.svc-tl{display:flex;flex-wrap:wrap;gap:8px 22px;margin:22px 0 0}
.svc-tl a{font-weight:700;color:var(--acc);text-decoration:underline;text-underline-offset:3px}
/* testimonial initials monogram; home deliverables strip */
.tq cite .av{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#0B2545;color:#fff;font-size:14px;font-weight:800;letter-spacing:.02em}
section.blk.dv-s{padding:0 0 56px;border-top:0}
.dv-hd{display:flex;justify-content:space-between;align-items:baseline;gap:8px 16px;flex-wrap:wrap}
.dv-hd .why-go{margin-top:0}
.dv-sh{font-size:22px;font-weight:800}
:root[data-theme="light"] .dv-sh{color:#0B2545}
.dv-grid.dv4{margin-top:16px}
.dv4 .dv img{aspect-ratio:16/9}
/* project case study: section headings and compact mobile facts */
.pj-gh.pj-gh0{margin:0 0 14px}
.pj-gh.pj-gs{color:var(--muted);margin-top:24px}
.pj-gh+.pj-gh.pj-gs{margin-top:16px}
@media (max-width:860px){html{scroll-padding-bottom:calc(72px + env(safe-area-inset-bottom))}}
@media (max-width:640px){
  .pj-meta,.pj-meta.r5,.pj-meta.r4{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .pj-meta div{padding:12px}
  .pj-meta dd{margin-top:2px;font-size:14.5px}
  .pj-meta div:last-child:nth-child(odd){grid-column:1/-1}
  .page-hero .ph-acts .ph-sec{display:none}
}
/* industries: three comparison boxes; matrix row links with arrow; two-line bars; aviation hero panel; scope card body; why links on their own line */
.ind-cmp.c3{grid-template-columns:1.15fr 1.15fr .7fr}
.mx-lbl a,.mx-card>b a{text-decoration:none;display:inline}
.mx-lbl a::after,.mx-card>b a::after{content:"\2192";display:inline-block;margin-left:6px;font-size:13px;color:var(--acc);transition:transform .15s}
.mx-lbl a:hover,.mx-card>b a:hover{color:var(--acc);text-decoration:underline;text-underline-offset:3px}
.mx-lbl a:hover::after,.mx-card>b a:hover::after{transform:translateX(3px)}
.mx-lane{min-height:56px}
.arrow{top:6px;bottom:6px;padding-top:6px;padding-bottom:6px}
.side-card p.sc-body{font-size:15px;line-height:1.6;color:var(--text)}
.side-card p.sc-body b{font-weight:800}
.m-list>div>.why-go{display:flex;width:max-content;max-width:100%}
.m-list.why-in{grid-template-columns:1fr}
:root[data-theme="light"] .why-in b{color:#0B2545}
@media (min-width:861px){
  .page-hero.ph-compact{background:#0a0c10}
  .page-hero.ph-compact img.bgi{left:auto;right:0;width:60%;object-position:center}
  .page-hero.ph-compact::before{background:linear-gradient(90deg,rgba(10,12,16,.85) 0%,rgba(10,12,16,.85) 40%,rgba(10,12,16,0) 60%)}
}
@media (max-width:1180px){.ind-cmp.c3{grid-template-columns:1fr 1fr}.ind-cmp.c3>div:last-child{grid-column:1/-1}}
@media (max-width:860px){
  .ind-cmp.c3{grid-template-columns:1fr}
  .ab-nav.ind-nav{position:static}
  .ab-nav.ind-nav .wrap{flex-wrap:wrap;overflow-x:visible;padding-right:16px;-webkit-mask-image:none;mask-image:none;scroll-snap-type:none}
  .ab-nav.ind-nav a{min-height:40px;display:inline-flex;align-items:center;white-space:normal}
}
/* engineering disciplines: vertical tab list and panel; mobile accordion */
.disc-wrap{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,7fr);gap:24px;align-items:start;margin-bottom:8px}
.disc-wrap .disc{display:flex;flex-direction:column;gap:2px;margin:0;border-left:1px solid var(--line)}
.disc-wrap .disc [data-d]{display:block;padding:10px 14px;margin-left:-1px;border:0;border-left:3px solid transparent;border-radius:0;background:none;font-size:14.5px;font-weight:700;text-align:left;line-height:1.3;color:var(--muted);text-decoration:none}
.disc-wrap .disc [data-d]:hover{color:var(--acc)}
.disc-wrap .disc .on{border-left-color:var(--red);color:var(--acc);background:var(--acc-soft)}
.disc-wrap .disc-list{min-width:0}
.disc-wrap .disc-list .ticks{grid-template-columns:1fr 1fr}
@media (max-width:860px){
  .disc-wrap{grid-template-columns:1fr}
  .disc-wrap .disc [data-d]{display:flex;justify-content:space-between;gap:10px}
  .disc-wrap .disc [data-d]::after{content:"+";color:var(--acc)}
  .disc-wrap .disc .on::after{content:"\2212"}
  .disc-wrap .disc .disc-list{margin:4px 0 10px}
  .disc-wrap .disc-list .ticks{grid-template-columns:1fr}
}
/* faded matrix rows keep readable labels; mobile stack shows the highlighted rows first */
.mx .mx-lbl.dim{opacity:1;color:var(--muted)}
.mx .mx-card.dim{opacity:1;background:var(--s1)}
.mx-card.dim>b,.mx-card.dim>b a{color:var(--muted)}
.mx-cut .mx-off{display:none}
.mx-stack .mx-all{justify-self:start;margin-top:4px}
/* closing CTA phone text link; contact card primary button; focus ring on primary buttons */
.cta .cta-tel{color:#fff;font-weight:700;font-size:17px;text-decoration:underline;text-underline-offset:3px}
.talk-card .m-cta a.btn-p{color:#fff!important;text-decoration:none!important}
.talk-card .m-cta a.btn-p:hover{transform:translateY(-2px)}
.btn-p:focus-visible{outline:2px solid var(--acc);outline-offset:3px}
/* mobile call/proposal bar on a solid panel */
@media (max-width:860px){
  .mbar{background:#fff;padding:12px 12px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line)}
  :root[data-theme="dark"] .mbar{background:#0B2545}
  .ab-nav::after{content:"";position:absolute;top:0;right:0;bottom:0;width:40px;pointer-events:none;background:linear-gradient(90deg,transparent,var(--bg) 85%)}
  .ab-nav.ind-nav::after{display:none}
  .sq-d summary::after{content:"+";font-size:22px;font-weight:700;color:var(--acc)}
  .sq-d[open] summary::after{content:"\2212"}
  body{padding-bottom:calc(72px + env(safe-area-inset-bottom))}
}
/* industry cards: image above, text on a solid panel below */
.ind{min-height:0;flex-direction:column;align-items:stretch;color:#0B2545;background:#fff}
.ind::before{display:none}
.ind-ph{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;flex:none}
.ind .ind-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.ind .rnd{z-index:1}
.ind-in{display:flex;flex-direction:column;align-items:flex-start;flex:1;padding:22px 24px 24px}
.ind h3{color:inherit}
.ind p{color:#3A4250}
.ind .ind-tags{color:#3A4250}
.ind-more{color:#0B2545;margin-top:auto;padding-top:12px}
.ind .chip{white-space:nowrap;font-size:11px;letter-spacing:.08em;max-width:100%;color:#0B2545;border-color:rgba(11,37,69,.3);background:rgba(11,37,69,.06)}
.ind.wide{background:#0B2545;color:#fff;border-color:#0B2545}
.ind.wide .ind-ph{aspect-ratio:auto;flex:1 1 auto;min-height:300px}
.ind.wide .ind-ph img{filter:saturate(.7)}
.ind.wide p,.ind.wide .ind-tags{color:rgba(255,255,255,.85)}
.ind.wide .ind-more{color:#fff}
.ind.wide .chip{color:#fff;border-color:rgba(255,255,255,.45);background:rgba(255,255,255,.1)}
:root[data-theme="dark"] .ind:not(.wide){background:var(--s1);color:var(--text)}
:root[data-theme="dark"] .ind:not(.wide) p,:root[data-theme="dark"] .ind:not(.wide) .ind-tags{color:var(--muted)}
:root[data-theme="dark"] .ind:not(.wide) .ind-more{color:var(--acc)}
:root[data-theme="dark"] .ind:not(.wide) .chip{color:var(--acc);border-color:color-mix(in srgb,var(--acc) 45%,transparent);background:var(--acc-soft)}
p.rel-h{margin:0 0 14px}
.types a::after{content:" \2192";color:var(--acc)}
@media (min-width:861px){.page-hero.ph-compact .wrap>p{max-width:700px;font-size:18px}}
@media (max-width:860px){.ind.wide .ind-ph{flex:none;aspect-ratio:16/10;min-height:0}}
/* energy: manufacturer and fabricator block; residential fact strip; industrial hero buttons; projects type row and viewer link */
.oem{margin:30px 0 0;padding:22px;border:1px solid var(--line);border-left:4px solid var(--acc);border-radius:0 16px 16px 0;background:var(--s2)}
.oem-h{font-size:19px;font-weight:800;margin-bottom:8px}
.prose .oem p{font-size:16px;color:var(--text);margin:0 0 12px}
.prose .oem p.oem-a{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0;font-size:14px;font-weight:700}
.fstrip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:30px 0 12px}
.fstrip div{padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--s1);min-width:0}
.fstrip b{display:block;font-size:28px;font-weight:800;line-height:1.1;color:var(--text);overflow-wrap:anywhere}
.fstrip span{display:block;margin-top:6px;font-size:13px;line-height:1.4;color:var(--muted)}
.prose p.fs-line{font-size:15px;color:var(--text);margin:0}
:root[data-theme="light"] .fstrip b,:root[data-theme="light"] .oem-h{color:#0B2545}
.page-hero .ph-acts.ph-st{gap:8px}
.gal-sub-l{flex:none;align-self:center;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-right:4px}
.gal-go{display:inline-block;margin-top:10px;font-size:14px;font-weight:700;color:#fff;text-decoration:underline;text-underline-offset:3px}
@media (max-width:1180px){.fstrip{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:860px){.page-hero .ph-acts.ph-st .btn{padding:12px 16px;font-size:14px}}
@media (max-width:359px){.page-hero .ph-acts.ph-st{flex-direction:column;align-items:stretch}.page-hero .ph-acts.ph-st .btn{justify-content:center}}
/* project page: three related cards, industry switch for the third */
.pgrid.pj-more{grid-template-columns:repeat(3,minmax(0,1fr))}
.pj-more .pj[hidden]{display:none}
.pj-sw{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:20px 0 0}
.pj-sw span{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-right:4px}
.pj-sw button{padding:7px 14px;border-radius:999px;font-size:13px;font-weight:700;border:1px solid var(--line);color:var(--muted);background:var(--s1)}
.pj-sw button.on{background:var(--acc-soft);color:var(--acc);border-color:color-mix(in srgb,var(--acc) 45%,transparent)}
@media (max-width:860px){.pgrid.pj-more{grid-template-columns:1fr}}
/* footer wordmark, text credit, 24 px family marks */
.foot-brand{display:inline-flex;align-items:center;gap:10px;margin-bottom:16px}
.foot-brand img{height:32px;width:auto}
.foot-brand span{font-size:21px;font-weight:800;letter-spacing:-.01em;line-height:1;color:var(--text)}
:root[data-theme="light"] .foot-brand span{color:#0B2545}
.family img{width:24px;height:24px;object-fit:contain}
.foot-credit:hover{text-decoration:underline;color:var(--text)}
/* about: onward link under the reason cards; phone pill row wraps; safety tiles stack */
.why-next{display:flex;justify-content:flex-end;margin:24px 0 0}
.why-next a{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--acc);text-decoration:underline;text-underline-offset:3px}
.why-next svg{width:15px;height:15px}
@media (max-width:480px){
  .ab-nav:not(.ind-nav){position:static}
  .ab-nav .wrap{flex-wrap:wrap;overflow-x:visible;padding-right:16px;-webkit-mask-image:none;mask-image:none;scroll-snap-type:none}
  .ab-nav a{padding:6px 12px;font-size:13px}
  .ab-nav::after{display:none}
  .sq-c .sq-tiles{grid-template-columns:1fr}
  .sq-tiles div{display:flex;align-items:baseline;gap:12px}
  .sq-tiles b{flex:none;font-size:17px;white-space:nowrap;overflow-wrap:normal}
  .sq-tiles span{margin-top:0}
}
/* contact: scope checkboxes, paired testimonials */
.cf-chk{grid-column:1/-1;border:0;padding:0;margin:0;min-width:0}
.cf-chk legend{padding:0;margin:0 0 8px;font-size:13px;font-weight:700;color:var(--muted)}
.chk-g{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px}
.cf .chk-g label{flex-direction:row;align-items:center;gap:10px;font-size:14.5px;font-weight:600;color:var(--text);cursor:pointer}
.cf .chk-g input{width:18px;height:18px;padding:0;margin:0;flex:none;accent-color:var(--acc)}
.cf-chk .err{display:block;margin-top:6px}
.c-q2{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
.c-q2 .ind-q{margin:0}
@media (max-width:860px){.chk-g,.c-q2{grid-template-columns:1fr}}
/* delivery: legend matches the mobile rail; readable step text; two rows of four under 1280 px */
@media (max-width:860px){
  .life-key .lk-r{display:none}
  .life-key i{width:18px;height:4px;border:0!important;border-radius:2px}
  .life-key i.lk-acl{background:var(--acc)}
  .life-key i.lk-aaw{background:var(--gold)}
  .life-key i.lk-ace{background:var(--red)}
}
@media (min-width:861px){.ls p{font-size:14px;line-height:1.5}}
:root[data-theme="light"] .ls p{color:#4A5565}
@media (min-width:861px) and (max-width:1280px){.life{grid-template-columns:repeat(4,1fr);row-gap:40px}.life::before,.life .bar{display:none}}
/* about: At a glance heading; Safety & Quality in three rows on desktop */
.side-card h2.gl-h{margin:0 0 14px;color:var(--acc);line-height:1.4}
@media (min-width:861px){
  .sq-grid .sq-c,.sq-grid .sq-pq{grid-column:1/-1}
  .sq-c .sq-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}
  .sq-pq{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 26px}
  .sq-pq p{margin:0}
  .sq-pq h3{margin-bottom:6px}
  .sq-pq .svc-acts{margin:0;flex:none}
}
/* about: readable card bodies and safety and quality lists */
.page-hero.ph-about~.blk .why p,.page-hero.ph-about~.blk .sq-p .ticks li,.page-hero.ph-about~.blk .sq-p p{font-size:16px;line-height:1.6}
:root[data-theme="light"] .page-hero.ph-about~.blk .why p,:root[data-theme="light"] .page-hero.ph-about~.blk .sq-p .ticks li,:root[data-theme="light"] .page-hero.ph-about~.blk .sq-p p,:root[data-theme="light"] .page-hero.ph-about~.blk .sq-tiles span{color:#3A4656}
/* about chip row: snap keeps the first chip whole; visible scroll cue at the right edge */
@media (max-width:860px){
  .ab-nav .wrap{scroll-padding-inline:16px 40px}
  .ab-nav::after{width:48px;display:flex;align-items:center;justify-content:flex-end;padding-right:8px;content:"\203A";font-size:24px;font-weight:700;color:var(--acc)}
  .ab-nav.ind-nav::after{display:none}
}
/* industries: contextual links under the matrix; phase matrix jump pill after a divider */
#mxl:not(:empty){display:flex;flex-wrap:wrap;gap:12px}
.ind-nav .ind-div{flex:none;width:1px;align-self:stretch;background:var(--line);margin:0 4px}
.ind-nav a.ind-mxl{display:inline-flex;align-items:center;gap:6px}
.ind-nav a.ind-mxl svg{width:14px;height:14px}
/* related chip row clear of the closing CTA */
section.blk.ind-rel.rel-row{padding-bottom:64px}
.rel-nav{display:block}
/* hangar brief privacy line; scope card body at primary size and colour; readable matrix bars on industry pages; one grade for the metal gallery */
.cf p.hb-pv{grid-column:1/-1;margin:0;font-size:13px;color:var(--muted)}
.cta .cf p.hb-pv{font-size:13px}
aside.side-card p.sc-body{font-size:15px;line-height:1.6;color:var(--text)}
.ind-mx .arrow{font-size:13px;line-height:1.3}
.ind-mx .mx-lane{min-height:76px}
.pgal.pg-grade img{filter:saturate(.78) contrast(1.04) brightness(1.02)}
/* home carousel on phones: arrows beside the full-screen button, caption clear, dots kept */
@media (max-width:860px){
  .gal-arrow{top:12px;transform:none;width:32px;height:32px}
  .gal-arrow svg{width:16px;height:16px}
  .gal-arrow.next{right:52px;left:auto}
  .gal-arrow.prev{right:92px;left:auto}
  .gal-zoom{top:12px;right:12px;width:32px;height:32px}
  .gal-zoom svg{width:16px;height:16px}
  .gal-cap{left:16px;z-index:3}
  .gal-views{display:flex;top:24px;left:16px;right:auto;bottom:auto}
}
/* metal: projects band heading; projects: viewer gap, touch arrows; project pager thumbnails; more projects grid */
.ind-sech{padding-top:64px}
section.blk.pj-gal{padding-top:48px}
.pj-gal .gal{margin-top:0}
.pj-more-s .pgrid.pj-more{grid-template-columns:repeat(3,minmax(0,1fr));width:100%}
.next-ind.pj-pn a{flex-direction:row;align-items:center;gap:12px;min-width:0}
.next-ind.pj-pn a:last-child{justify-content:flex-end}
.next-ind.pj-pn img{width:64px;height:64px;object-fit:cover;border-radius:10px;flex:none}
.next-ind.pj-pn a .pn-t{display:flex;flex-direction:column;gap:4px;min-width:0;font-size:inherit;font-family:inherit;font-weight:inherit;color:inherit;overflow-wrap:anywhere}
@media (max-width:860px){section.blk.pj-gal{padding-top:32px}}
@media (max-width:860px) and (hover:none){.pj-gal .gal-arrow{display:none}}
@media (max-width:600px){
  .pj-more-s .pgrid.pj-more{grid-template-columns:1fr}
  .pj-more-s .pj img{aspect-ratio:16/9}
  .next-ind.pj-pn a{font-size:16px}
  .next-ind.pj-pn img{width:48px;height:48px}
}

/* ---------- S-001C: ACE mode header, phone header, rotating heroes, clients, social ---------- */
.top .b-ace{display:none!important}
.top.ace-mode .b-acl{display:none!important}
.top.ace-mode .b-ace.lg-light{display:block!important}
:root[data-theme="dark"] .top.ace-mode .b-ace.lg-light,.top.ace-mode:not(.solid):not(.inner) .b-ace.lg-light{display:none!important}
:root[data-theme="dark"] .top.ace-mode .b-ace.lg-dark,.top.ace-mode:not(.solid):not(.inner) .b-ace.lg-dark{display:block!important}
.top.ace-mode .top-r .ace{display:none}
@media (max-width:860px){.top-r{gap:10px}.top-r .ace .lg{height:30px}.brand{gap:8px}}
@media (max-width:520px){.top-r .ace-mark{height:30px}.brand .wm{font-size:15px}}
@media (max-width:360px){.brand .wm{display:none}}
.page-hero img.bgi.rot{opacity:0;transition:opacity 1.4s ease}
.page-hero img.bgi.rot.on{opacity:1}
.cl-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:28px}
.cl-c{border:1px solid var(--line);border-radius:14px;padding:22px 24px;background:var(--s1)}
.cl-c h3{font-size:19px;margin:0 0 8px}
.cl-c h3 a{display:inline-flex;align-items:center;gap:6px;color:var(--text)}
.cl-c h3 a:hover{color:var(--acc)}
.cl-c h3 svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2}
.cl-c p{margin:0;color:var(--muted);font-size:15px}
section.blk.cl-blk{padding-top:0}
.cl-strip{border-bottom:1px solid var(--line);padding:18px 0}
.cl-strip .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:10px 28px;font-weight:700;font-size:15px}
.cl-strip .cl-lbl{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:700}
.cl-strip a{color:var(--text)}
.cl-strip a:hover{color:var(--acc)}
.soc{display:flex;gap:10px;margin-top:6px}
.soc[hidden]{display:none}
.soc a{width:36px;height:36px;border-radius:999px;border:1px solid var(--line);display:grid;place-items:center;color:var(--text)}
.soc a:hover{color:var(--acc);border-color:var(--acc)}
.soc svg{width:17px;height:17px;fill:currentColor}
@media (max-width:860px){.cl-grid{grid-template-columns:1fr}}
