@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@400;500;600;700&family=Barlow:wght@400;500;600&display=swap');

:root{
  --graphite:#222329;
  --graphite-dark:#18191d;
  --yellow:#ffdc00;
  --paper:#f3f5f5;
  --paper-warm:#e9edef;
  --white:#fff;
  --text:#50525a;
  --muted:#686a72;
  --line:#d8ddde;
  --line-dark:#3a3b41;
  --max:1180px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--white)}
body{margin:0;background:var(--white);color:var(--text);font-family:'Barlow',Arial,sans-serif;font-size:17px;line-height:1.66;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.nav-open{overflow:hidden}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:'Archivo',Arial,sans-serif;color:var(--graphite);font-weight:500;letter-spacing:-.045em;line-height:1.08}
.title-accent{color:var(--yellow);font-weight:600}
.title-underline{font-weight:600;background-image:linear-gradient(transparent calc(100% - .13em),rgba(255,220,0,.82) 0);background-repeat:no-repeat;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.title-strong{font-weight:600}
:focus-visible{outline:2px solid var(--yellow);outline-offset:4px}
.wrap{width:min(var(--max),calc(100% - 44px));margin-inline:auto}
.section,.contact,[id]{scroll-margin-top:82px}
.section{padding:108px 0}
.eyebrow{margin:0 0 18px;font-family:'Archivo',Arial,sans-serif;font-size:10px;font-weight:700;letter-spacing:.25em;text-transform:uppercase;color:#6a6c73}
.eyebrow::after{display:none}
.section-label{margin:0 0 18px;font-family:'Archivo',Arial,sans-serif;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#70727a}
.editorial-heading{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.72fr);gap:88px;align-items:end;margin-bottom:56px}
.editorial-heading h2{max-width:760px;margin:0;font-size:clamp(34px,4.1vw,52px);font-weight:400}
.editorial-heading>p{max-width:470px;margin:0;color:var(--muted)}
.text-link{display:inline-flex;align-items:center;gap:13px;padding:5px 1px 10px;border-bottom:2px solid var(--line);font-family:'Archivo',Arial,sans-serif;font-size:11px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--graphite);transition:border-color .2s ease,gap .2s ease}
.text-link:hover{gap:18px;border-color:var(--yellow)}
.text-link.primary{border-color:var(--yellow)}
.text-link.light{color:#fff;border-color:#666870}

/* Header */
.site-header{position:fixed;z-index:1000;inset:0 0 auto;background:#fff;border-bottom:1px solid var(--line);transition:box-shadow .25s ease}
.site-header.stuck{box-shadow:0 12px 35px rgba(20,21,25,.08)}
.header-inner{height:82px;display:flex;align-items:center;justify-content:space-between;gap:25px}
.logo{flex:0 0 auto}
.logo img{width:126px;height:auto}
.nav{display:flex;align-items:center;gap:22px;margin:0;padding:0;list-style:none}
.nav a{position:relative;font-family:'Archivo',Arial,sans-serif;font-size:12.5px;font-weight:600;color:#5f6168;white-space:nowrap}
.nav>li:not(.nav-cta)>a::after{content:'';position:absolute;left:0;right:100%;bottom:-9px;height:2px;background:var(--yellow);transition:right .2s ease}
.nav>li:not(.nav-cta)>a:hover::after,.nav>li:not(.nav-cta)>a:focus-visible::after,.nav>li:not(.nav-cta)>a.is-active::after{right:0}
.nav-cta{margin-left:6px}
.nav-cta a{display:inline-flex;align-items:center;gap:8px;padding:5px 1px 8px;border-bottom:2px solid var(--yellow);font-size:12.5px;color:var(--graphite);transition:color .2s ease,border-color .2s ease}
.nav-cta a:hover{color:#111217;border-color:#c7a900}
.nav-whatsapp-icon{width:18px;height:18px;flex:0 0 18px;fill:#25a95a;transition:fill .2s ease}
.nav-cta a:hover .nav-whatsapp-icon{fill:#168f45}
.burger{display:none;border:0;background:transparent;padding:8px;cursor:pointer}
.burger span{display:block;width:25px;height:2px;margin:5px 0;background:var(--graphite);transition:transform .2s ease,opacity .2s ease}
.burger[aria-expanded='true'] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded='true'] span:nth-child(2){opacity:0}
.burger[aria-expanded='true'] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* Home hero */
.hero{--hero-scan-image:url('/brand/hero-scan-machine.webp');--hero-scan-band:46%;--hero-scan-opacity:1;--hero-base-brightness:.36;--hero-base-blur:1.3px;--hero-beam-strength:.82;--hero-scan-x:-18%;--hero-scan-mask:linear-gradient(96deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.1) 20%,rgba(0,0,0,.42) 40%,rgba(0,0,0,.86) 56%,rgba(0,0,0,1) 64%,rgba(0,0,0,1) 66%,rgba(0,0,0,0) 68%);position:relative;isolation:isolate;display:flex;align-items:center;min-height:770px;padding:174px 0 104px;background:var(--graphite-dark);overflow:hidden}
.hero-scan{position:absolute;z-index:1;inset:0;overflow:hidden;pointer-events:none}
.hero-scan-layer{position:absolute;inset:0;background-image:var(--hero-scan-image);background-size:cover;background-position:center 52%}
.hero-scan-base{filter:grayscale(.9) brightness(var(--hero-base-brightness)) contrast(1.07) blur(var(--hero-base-blur));transform:scale(1.025)}
.hero-scan-reveal{filter:saturate(1.08) contrast(1.06);opacity:var(--hero-scan-opacity);-webkit-mask-image:var(--hero-scan-mask);mask-image:var(--hero-scan-mask);-webkit-mask-size:var(--hero-scan-band) 100%;mask-size:var(--hero-scan-band) 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:var(--hero-scan-x) 0;mask-position:var(--hero-scan-x) 0;will-change:mask-position}
.hero-scan-beam{background-image:linear-gradient(96deg,rgba(255,220,0,0) 0%,rgba(255,220,0,0) 61%,rgba(255,220,0,.24) 64.5%,rgba(255,220,0,.92) 66%,rgba(255,220,0,.18) 67.5%,rgba(255,220,0,0) 70%);background-size:var(--hero-scan-band) 100%;background-repeat:no-repeat;background-position:var(--hero-scan-x) 0;mix-blend-mode:screen;opacity:calc(var(--hero-scan-opacity) * var(--hero-beam-strength));filter:drop-shadow(0 0 18px rgba(255,220,0,.3));will-change:background-position}
.hero-veil{position:absolute;z-index:2;inset:0;background:linear-gradient(100deg,rgba(15,16,19,.96) 0%,rgba(15,16,19,.9) 30%,rgba(15,16,19,.48) 56%,rgba(15,16,19,.2) 76%,rgba(15,16,19,.48) 100%),radial-gradient(120% 80% at 50% 100%,rgba(0,0,0,.48),transparent 60%);pointer-events:none}
.hero-content{position:relative;z-index:3;display:flex;align-items:flex-start;flex-direction:column;text-align:left}
.hero-content::before,.hero-content::after{content:'';position:absolute;width:124px;height:92px;pointer-events:none;opacity:.62}
.hero-content::before{top:-42px;left:0;border-top:1px solid rgba(255,255,255,.3);border-left:1px solid rgba(255,255,255,.3)}
.hero-content::after{right:43%;bottom:-35px;border-right:1px solid rgba(255,255,255,.25);border-bottom:1px solid rgba(255,255,255,.25)}
.hero h1{max-width:760px;margin:0 0 29px;font-size:clamp(44px,5.25vw,70px);line-height:1.035;letter-spacing:-.058em;color:#fff}
.hero-lead{max-width:680px;margin:0;font-size:18.5px;line-height:1.67;color:#d5d7dc}
.hero-actions{display:flex;align-items:center;gap:34px;margin-top:40px}
.hero .text-link{color:#fff;border-color:rgba(255,255,255,.36)}
.hero .text-link.primary{border-color:var(--yellow)}
.facts{border-top:5px solid var(--yellow);border-bottom:1px solid var(--line);background:#fff}
.facts-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.facts p{min-height:116px;margin:0;padding:27px 27px 25px 0}
.facts p+p{padding-left:28px;border-left:1px solid var(--line)}
.facts strong{display:block;margin-bottom:5px;font-family:'Archivo',Arial,sans-serif;font-size:16px;color:var(--graphite)}
.facts span{display:block;font-size:13px;line-height:1.45;color:var(--muted)}

/* Page headers */
.page-hero{padding:175px 0 92px;background:var(--paper);border-bottom:1px solid var(--line)}
.page-hero-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:95px;align-items:end}
.page-hero h1{max-width:820px;margin:0;font-size:clamp(45px,5.4vw,68px);line-height:1.04}
.page-hero-grid>p{max-width:470px;margin:0 0 6px;font-size:18px;color:#5f6169}
.page-hero--image{position:relative;min-height:680px;padding:165px 0 92px;display:flex;align-items:flex-end;overflow:hidden;background:var(--graphite)}
.page-hero--image::after{content:'';position:absolute;inset:0;background:rgba(20,21,24,.55)}
.page-hero--image>figure{position:absolute;inset:0;margin:0}
.page-hero--image>figure img{width:100%;height:100%;object-fit:cover}
.page-hero-image-copy{position:relative;z-index:2;color:#fff}
.page-hero-image-copy h1{max-width:870px;color:#fff}
.page-hero-image-copy>p:last-child{max-width:590px;margin:26px 0 0;font-size:19px;color:#e0e1e3}
.page-hero-image-copy .eyebrow{color:#dedfe2}

/* Home statement and services */
.photo-band{position:relative;isolation:isolate;overflow:hidden;clip-path:inset(0);background:var(--graphite)}
.photo-band-image{position:fixed;z-index:0;inset:0;width:100%;height:100vh;height:100lvh;object-fit:cover;transform:none;pointer-events:none}
.photo-band::after{content:'';position:absolute;z-index:1;inset:0;pointer-events:none}
.photo-band>.wrap{position:relative;z-index:2}
.statement{padding:78px 0;background:var(--graphite)}
.statement.photo-band{padding:96px 0;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}
.statement.photo-band::after{background:linear-gradient(90deg,rgba(14,15,18,.9),rgba(14,15,18,.76))}
.statement-band-image{object-position:center}
.statement-layout{display:grid;grid-template-columns:.92fr 1.08fr;gap:88px;align-items:start}
.statement p{margin:0;font-family:'Archivo',Arial,sans-serif;letter-spacing:-.035em}
.statement-kicker{font-size:clamp(31px,3.35vw,44px);line-height:1.14;color:#fff}
.statement.photo-band .statement-kicker{color:#fff}
.statement-copy{font-family:'Barlow',Arial,sans-serif;font-size:20px;line-height:1.62;letter-spacing:0;color:#d8d9dd}
.statement-copy p{margin:0;font-family:inherit;letter-spacing:0;color:inherit}
.statement-copy p+p{margin-top:19px}

/* Engineering position */
.engineering-scope{position:relative;overflow:hidden;background:var(--paper)}
.engineering-scope::before{content:'';position:absolute;left:-112px;top:72px;width:278px;height:278px;border:1px solid #deded8;transform:rotate(45deg);pointer-events:none}
.engineering-scope::after{content:'';position:absolute;left:9%;bottom:64px;width:74px;height:12px;background:var(--yellow);pointer-events:none}
.engineering-scope-layout{position:relative;z-index:1;display:grid;grid-template-columns:minmax(300px,.76fr) minmax(0,1.24fr);gap:112px;align-items:start}
.engineering-scope-title{position:sticky;top:126px}
.engineering-scope-title h2{max-width:500px;margin:0;font-size:clamp(37px,4.4vw,55px);font-weight:400}
.engineering-scope-note{max-width:470px;margin:32px 0 0;padding:24px 0 0;border-top:1px solid var(--line);font-size:15px;line-height:1.65;color:var(--muted)}
.engineering-scope-copy{padding-top:6px}
.engineering-scope-copy p{max-width:710px;margin:0;font-size:18px;line-height:1.78;color:#5e6068}
.engineering-scope-copy p+p{margin-top:27px}
.engineering-scope-copy p:first-child::first-letter{float:left;margin:7px 9px 0 0;font-family:'Archivo',Arial,sans-serif;font-size:67px;font-weight:500;line-height:.72;color:var(--graphite)}

/* Project entry flowchart */
.entry-map{position:relative;overflow:hidden;background:#f2f4f5;border-top:1px solid #dbe0e1;border-bottom:1px solid #d4dadd}
.entry-map::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(60,70,78,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(60,70,78,.055) 1px,transparent 1px);background-size:32px 32px;mask-image:linear-gradient(90deg,transparent,rgba(0,0,0,.72) 18%,rgba(0,0,0,.72) 82%,transparent);pointer-events:none}
.entry-map-heading{position:relative;z-index:1;display:grid;grid-template-columns:minmax(310px,.76fr) minmax(0,1.24fr);gap:105px;align-items:start}
.entry-map-heading h2{max-width:500px;margin:0;font-size:clamp(37px,4.35vw,54px);font-weight:400}
.entry-map-heading>p{max-width:690px;margin:5px 0 0;font-size:18px;line-height:1.68;color:var(--muted)}
.entry-map-canvas{--map-progress:0;position:relative;z-index:1;height:620px;margin-top:68px}
.entry-map-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible;fill:none;stroke-width:1.5;vector-effect:non-scaling-stroke;pointer-events:none}
.entry-map-line-base{stroke:#9ba3a8}
.entry-map-line-active{stroke:var(--yellow);stroke-width:3;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--map-progress));transition:stroke-dashoffset .12s linear}
.entry-map-node{position:absolute;z-index:2;padding:18px 20px;border:1px solid #aeb6ba;background:rgba(248,250,250,.96);box-shadow:0 12px 30px rgba(37,44,50,.045);transition:border-color .22s ease,background .22s ease,transform .22s ease}
.entry-map-node.is-reached{border-color:#c8ad00;background:#fff}
.entry-map-node h3{margin:0 0 8px;font-size:16px;line-height:1.24;letter-spacing:-.025em}
.entry-map-node p{margin:0;font-size:13.5px;line-height:1.48;color:#686d73}
.entry-map-start{top:0;left:50%;width:400px;min-height:112px;transform:translateX(-50%)}
.entry-map-question{top:148px;left:50%;width:360px;min-height:84px;transform:translateX(-50%);border-color:var(--graphite);background:var(--graphite);box-shadow:0 14px 32px rgba(30,32,37,.11)}
.entry-map-question.is-reached{border-color:var(--yellow);background:var(--graphite)}
.entry-map-question h3{color:#fff}
.entry-map-question p{color:#c8cbd0}
.entry-map-branches{position:absolute;z-index:2;top:300px;left:0;right:0;display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.entry-map-branches .entry-map-node{position:relative;min-height:122px}
.entry-map-result{top:502px;left:50%;width:440px;min-height:98px;transform:translateX(-50%);border-width:2px;border-color:var(--graphite);background:#f9fbfb;text-align:center}
.entry-map-result.is-reached{border-color:var(--yellow)}

/* Home process */
.home-process{position:relative;overflow:hidden;background:#fff}
.home-process::before{content:'';position:absolute;right:-120px;bottom:-130px;width:330px;height:330px;border:1px solid #e0e0db;transform:rotate(11deg);pointer-events:none}
.home-process::after{content:'';position:absolute;right:7%;bottom:74px;width:46px;height:46px;background:var(--yellow);opacity:.82;pointer-events:none}
.home-process-heading{position:relative;z-index:1;display:grid;grid-template-columns:minmax(320px,.82fr) minmax(0,1.18fr);gap:105px;align-items:start}
.home-process-heading h2{max-width:520px;margin:0;font-size:clamp(37px,4.45vw,55px);font-weight:400}
.home-process-heading>p{max-width:680px;margin:4px 0 0;font-size:18px;line-height:1.67;color:var(--muted)}
.home-process-route{--route-progress:0;position:relative;z-index:1;display:block;margin-top:88px;padding:0}
.home-process-route::before,.home-process-route::after{content:'';position:absolute;top:4px;bottom:34px;left:50%;width:2px;transform-origin:center top}
.home-process-route::before{background:#cfcfc9}
.home-process-route::after{background:var(--yellow);transform:scaleY(var(--route-progress));transition:transform .12s linear}
.home-process-step{position:relative;width:50%;min-height:230px;margin:0;padding:0 76px 64px 5%;text-align:right}
.home-process-step:nth-child(even){margin-left:50%;padding:0 5% 64px 76px;text-align:left}
.home-process-step:last-child{min-height:178px;padding-bottom:28px}
.home-process-node{position:absolute;z-index:2;top:3px;right:-10px;width:20px;height:20px;border:2px solid #b9bab5;background:#fff;transition:background .18s ease,border-color .18s ease,transform .18s ease}
.home-process-step:nth-child(even) .home-process-node{right:auto;left:-10px}
.home-process-step.is-reached .home-process-node{border-color:var(--yellow);background:var(--yellow);transform:rotate(45deg)}
.home-process-step h3{max-width:470px;margin:0 0 16px auto;font-size:24px;line-height:1.2;letter-spacing:-.035em}
.home-process-step:nth-child(even) h3{margin-right:auto;margin-left:0}
.home-process-step p{max-width:500px;margin:0 0 0 auto;font-size:16px;line-height:1.68;color:var(--muted)}
.home-process-step:nth-child(even) p{margin-right:auto;margin-left:0}
.home-process-footer{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:50px;padding-top:34px;border-top:1px solid var(--line)}
.home-process-footer>p{max-width:640px;margin:0;color:var(--muted)}
.home-process-footer>div{display:flex;gap:28px}

/* Mosaics */
.home-projects,.projects-page{background:var(--paper-warm)}
.project-heading{display:grid;grid-template-columns:minmax(260px,.62fr) minmax(0,1.38fr);gap:86px;align-items:start;margin-bottom:55px}
.project-heading h2{margin:0;font-size:clamp(36px,4.2vw,52px);font-weight:400}
.project-heading p{max-width:660px;margin:5px 0 0;font-size:17px;color:var(--muted)}
.home-project-mosaic{display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-template-rows:275px 275px;gap:14px}
.home-project-mosaic figure{position:relative;margin:0;overflow:hidden;background:#d6d6d0}
.home-project-mosaic figure:first-child{grid-row:1/3}
.home-project-mosaic figure:nth-child(2){grid-column:2/4}
.home-project-mosaic img,.project-mosaic img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.home-project-mosaic figure:hover img,.project-mosaic figure:hover img{transform:scale(1.025)}
.home-project-mosaic figcaption,.project-mosaic figcaption{position:absolute;inset:auto 0 0;display:flex;justify-content:space-between;gap:18px;padding:35px 18px 15px;background:linear-gradient(transparent,rgba(17,18,21,.83));font-family:'Archivo',Arial,sans-serif;font-size:13px;line-height:1.3;color:#fff}
.home-project-mosaic figcaption span,.project-mosaic figcaption span{font-size:9px;font-weight:600;letter-spacing:.12em}
.section-tail{display:flex;justify-content:flex-end;margin-top:35px}
.project-mosaic{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:205px;gap:14px}
.project-mosaic figure{position:relative;margin:0;overflow:hidden;background:#d4d4cf}
.project-mosaic.full figure:nth-child(1){grid-column:span 7;grid-row:span 2}
.project-mosaic.full figure:nth-child(2){grid-column:span 5;grid-row:span 2}
.project-mosaic.full figure:nth-child(3){grid-column:span 4;grid-row:span 2}
.project-mosaic.full figure:nth-child(4){grid-column:span 8;grid-row:span 2}
.project-mosaic.full figure:nth-child(5){grid-column:span 8;grid-row:span 2}
.project-mosaic.full figure:nth-child(6){grid-column:span 4;grid-row:span 2}
.project-mosaic.full figure:nth-child(7){grid-column:span 5;grid-row:span 2}
.project-mosaic.full figure:nth-child(8){grid-column:span 7;grid-row:span 2}
.project-mosaic.full figure:nth-child(9){grid-column:span 4;grid-row:span 2}
.project-mosaic.full figure:nth-child(10){grid-column:span 8;grid-row:span 2}
.project-mosaic figcaption strong{max-width:78%;font-size:13px;font-weight:500;letter-spacing:-.01em}

/* Experience and clients */
.experience-band,.experience{background:var(--graphite);color:#b9bbc0}
.experience-band.photo-band{background-color:var(--graphite);background-image:url('/brand/sidney.webp?v=2');background-position:center 40%;background-repeat:no-repeat;background-size:cover}
.experience-band.photo-band::after{background:linear-gradient(90deg,rgba(14,15,18,.92) 0%,rgba(14,15,18,.84) 53%,rgba(14,15,18,.72) 100%)}
.experience-band-image{object-position:center 40%;opacity:1;visibility:visible}
.experience-band-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding:88px 0}
.experience-band.photo-band .experience-band-layout{padding:108px 0 62px}
.experience-band h2,.experience h2{margin:0;font-size:clamp(35px,4.4vw,54px);font-weight:400;color:#fff}
.experience-band-layout>div:last-child>p{margin:0 0 28px;color:#bec0c5}
.experience-band .eyebrow,.experience .eyebrow{color:#adafb5}
.experience-credentials{display:grid;grid-template-columns:repeat(4,1fr);padding-bottom:58px;border-top:1px solid rgba(255,255,255,.2)}
.experience-credentials p{margin:0;padding:25px 22px 0 0}
.experience-credentials p+p{padding-left:22px;border-left:1px solid rgba(255,255,255,.2)}
.experience-credentials strong{display:block;margin-bottom:5px;font-family:'Archivo',Arial,sans-serif;font-size:13px;font-weight:600;color:#fff}
.experience-credentials span{display:block;font-size:12px;line-height:1.4;color:#b7b9be}
.experience-layout{display:grid;grid-template-columns:1fr 1fr;gap:95px}
.experience-layout>div:first-child>p:last-child{max-width:560px;margin:24px 0 0;color:#bec0c5}
.experience-records{border-top:1px solid var(--line-dark)}
.experience-records article{padding:23px 0 25px;border-bottom:1px solid var(--line-dark)}
.experience-records span{display:block;margin-bottom:9px;font-family:'Archivo',Arial,sans-serif;font-size:11px;font-weight:700;letter-spacing:.09em;color:var(--yellow)}
.experience-records p{margin:0;font-size:14px;line-height:1.6;color:#b2b4ba}
.clients{padding:100px 0;background:#fff}
.compact-clients{padding:86px 0}
.clients-heading{margin-bottom:44px}
.clients-heading-split{display:grid;grid-template-columns:1fr minmax(360px,.72fr);gap:80px;align-items:end}
.clients-heading-split p{max-width:520px;margin:0 0 4px;color:var(--muted)}
.clients h2{margin:0;font-size:clamp(32px,4vw,48px);font-weight:400}
.client-grid{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.client-grid img{width:100%;height:102px;padding:27px;object-fit:contain;filter:grayscale(1);opacity:.72;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:opacity .2s ease,filter .2s ease}
.client-grid img:hover{filter:none;opacity:1}

/* Journal */
.journal-preview{background:var(--paper)}
.journal-editorial-heading{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);gap:100px;align-items:end;margin-bottom:54px}
.journal-editorial-heading h2{margin:0;font-size:clamp(37px,4.2vw,52px);font-weight:400}
.journal-editorial-heading p{max-width:660px;margin:0 0 5px;font-size:18px;color:var(--muted)}
.journal-mosaic{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:260px 260px;gap:14px}
.journal-story{position:relative;grid-column:span 5;margin:0;overflow:hidden;background:var(--graphite);color:#fff}
.journal-story-featured{grid-column:span 7;grid-row:span 2}
.journal-story figure{position:absolute;inset:0;margin:0}
.journal-story figure::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,15,18,.03) 24%,rgba(14,15,18,.9) 100%)}
.journal-story img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease,filter .5s ease}
.journal-story:hover img{transform:scale(1.025);filter:contrast(1.04)}
.journal-story>div{position:absolute;z-index:2;inset:auto 0 0;padding:30px 30px 28px}
.journal-story span{display:block;margin-bottom:11px;font-family:'Archivo',Arial,sans-serif;font-size:9px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:#e7d348}
.journal-story h3{max-width:550px;margin:0;font-size:21px;line-height:1.22;letter-spacing:-.03em;color:#fff}
.journal-story-featured h3{font-size:clamp(27px,3vw,38px)}
.journal-story p{max-width:520px;margin:14px 0 0;font-size:15px;line-height:1.55;color:#d7d9dd}
.journal-editorial-tail{display:flex;justify-content:flex-end;margin-top:34px}
.article-meta{display:block;margin-bottom:17px;font-family:'Archivo',Arial,sans-serif;font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#70727a}
.blog-feature b{font-family:'Archivo',Arial,sans-serif;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--graphite)}

/* Solutions */
.solution-detail{background:#fff}
.solution-detail.toned{background:var(--paper)}
.solution-layout{display:grid;grid-template-columns:minmax(380px,.86fr) minmax(0,1.14fr);gap:90px;align-items:center}
.solution-layout.reverse{grid-template-columns:minmax(0,1.14fr) minmax(380px,.86fr)}
.solution-layout.reverse .solution-copy{order:2}
.solution-copy h2{margin:0 0 23px;font-size:clamp(34px,4vw,49px);font-weight:400}
.solution-copy>p:not(.section-label){margin:0 0 28px;color:var(--muted)}
.solution-layout figure{margin:0}
.solution-layout figure img{width:100%;height:570px;object-fit:cover}
.line-list{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}
.line-list li{position:relative;padding:14px 8px 14px 24px;border-bottom:1px solid var(--line);font-size:15px;color:#5f6169}
.line-list li::before{content:'';position:absolute;left:0;top:24px;width:8px;height:2px;background:var(--yellow)}
.additional-services{background:var(--graphite);color:#b9bbc0}
.additional-services-layout{display:grid;grid-template-columns:minmax(300px,.78fr) minmax(0,1.22fr);gap:95px;align-items:start}
.additional-services h2{margin:0 0 24px;font-size:clamp(35px,4.2vw,52px);font-weight:400;color:#fff}
.additional-services-layout>div:first-child>p{max-width:480px;margin:0;color:#b9bbc0}
.additional-service-lines{border-top:1px solid var(--line-dark)}
.additional-service-lines article{display:grid;grid-template-columns:230px minmax(0,1fr);gap:36px;padding:27px 0;border-bottom:1px solid var(--line-dark)}
.additional-service-lines h3{margin:0;font-size:18px;color:#fff;letter-spacing:-.025em}
.additional-service-lines p{margin:0;font-size:15px;color:#b5b7bd}

/* Method */
.process{background:var(--paper)}
.method-heading{margin-bottom:75px}
.process-flow{--line-progress:0%;position:relative;padding-top:10px}
.process-flow::before,.process-flow::after{content:'';position:absolute;z-index:0;top:0;left:50%;width:2px;transform:translateX(-1px)}
.process-flow::before{bottom:0;background:#cfcfc9}
.process-flow::after{height:var(--line-progress);background:var(--yellow);transition:height .12s linear}
.flow-item{position:relative;width:50%;min-height:142px;padding:0 68px 54px 0;text-align:right}
.flow-item:nth-child(even){margin-left:50%;padding:0 0 54px 68px;text-align:left}
.flow-item:last-child{padding-bottom:0}
.flow-item>div{max-width:460px;margin-left:auto}
.flow-item:nth-child(even)>div{margin:0}
.flow-dot{position:absolute;z-index:2;top:3px;right:-7px;width:14px;height:14px;border:3px solid var(--yellow);border-radius:50%;background:var(--paper);transition:background .22s ease,transform .22s ease}
.flow-item:nth-child(even) .flow-dot{right:auto;left:-7px}
.flow-item.is-reached .flow-dot{background:var(--yellow);transform:scale(1.08)}
.flow-item h3{margin:0 0 10px;font-size:20px;font-weight:600;letter-spacing:-.025em}
.flow-item p{margin:0;font-size:15px;line-height:1.65;color:var(--muted)}
.field-care{background:#fff}
.field-care-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:86px;align-items:center}
.field-care figure{margin:0}
.field-care figure img{width:100%;height:630px;object-fit:cover}
.field-care figcaption{margin-top:10px;font-size:12px;color:#74767d}
.field-care h2{margin:0 0 25px;font-size:clamp(35px,4.1vw,50px);font-weight:400}
.field-care p:not(.eyebrow){color:var(--muted)}
.field-care blockquote{margin:32px 0;padding:0 0 0 28px;border-left:4px solid var(--yellow);font-family:'Archivo',Arial,sans-serif;font-size:22px;line-height:1.43;letter-spacing:-.025em;color:var(--graphite)}
.working-notes{padding-top:0;background:#fff}
.working-notes-grid,.principle-lines{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.working-notes-grid article,.principle-lines article{padding:28px 38px 10px 0}
.working-notes-grid article+article,.principle-lines article+article{padding-left:38px;border-left:1px solid var(--line)}
.working-notes-grid h3,.principle-lines h3{margin:0 0 12px;font-size:19px;font-weight:600}
.working-notes-grid p,.principle-lines p{margin:0;font-size:15px;color:var(--muted)}

/* Projects detail */
.project-note{background:#fff}
.project-note-layout{display:grid;grid-template-columns:.45fr 1.2fr;gap:80px}
.project-note h2{max-width:760px;margin:0 0 24px;font-size:clamp(34px,4.3vw,52px);font-weight:400}
.project-note>div>div>p{max-width:760px;color:var(--muted)}
.project-note .text-link{margin-top:18px}

/* Company */
.company-intro{background:#fff}
.company-intro-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:86px;align-items:center}
.company-intro figure{margin:0}
.company-intro figure img{width:100%;height:640px;object-fit:cover}
.company-intro h2{margin:0 0 24px;font-size:clamp(35px,4.2vw,51px);font-weight:400}
.company-intro p:not(.section-label){color:var(--muted)}
.company-facts{display:grid;grid-template-columns:repeat(3,1fr);margin:37px 0 0;border-top:1px solid var(--line)}
.company-facts div{padding:22px 18px 0 0}
.company-facts div+div{padding-left:18px;border-left:1px solid var(--line)}
.company-facts dt{font-family:'Archivo',Arial,sans-serif;font-size:25px;font-weight:600;color:var(--graphite)}
.company-facts dd{margin:4px 0 0;font-size:12px;color:var(--muted)}
.company-principles{background:var(--paper)}

/* Blog index */
.blog-index{background:#fff}
.blog-feature-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.3fr);gap:70px;align-items:start}
.blog-feature{display:grid;grid-template-columns:1.1fr .9fr;background:var(--paper)}
.blog-feature figure{margin:0}
.blog-feature img{width:100%;height:100%;min-height:520px;object-fit:cover}
.blog-feature>div{display:flex;flex-direction:column;justify-content:flex-end;padding:46px}
.blog-feature h2{margin:0 0 18px;font-size:clamp(29px,3.2vw,40px);font-weight:500}
.blog-feature p{margin:0 0 30px;color:var(--muted)}
.blog-aside{padding-top:24px;border-top:4px solid var(--yellow)}
.blog-aside p:last-child{margin:0;color:var(--muted)}
.article-list{margin-top:85px;border-top:1px solid var(--line)}
.article-list>a{position:relative;display:grid;grid-template-columns:180px 1fr 1fr 30px;gap:38px;align-items:center;min-height:150px;border-bottom:1px solid var(--line);transition:padding .2s ease,background .2s ease}
.article-list>a:hover{padding:0 16px;background:#fafaf7}
.article-list .article-meta{margin:0}
.article-list h2{margin:0;font-size:25px;font-weight:500}
.article-list p{margin:0;font-size:15px;color:var(--muted)}
.article-list i{font-style:normal;font-size:22px;color:#8a762b}
.editorial-note{padding:70px 0;background:var(--paper)}
.editorial-note-layout{display:grid;grid-template-columns:.35fr 1fr;gap:60px}
.editorial-note-layout>p:last-child{max-width:800px;margin:0;color:var(--muted)}

/* Articles */
.article-header{padding:156px 0 78px;background:var(--paper)}
.article-header-inner{max-width:940px}
.article-back{display:inline-block;margin-bottom:58px;font-family:'Archivo',Arial,sans-serif;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#666870}
.article-header h1{max-width:940px;margin:0 0 28px;font-size:clamp(43px,5.4vw,68px);line-height:1.04}
.article-deck{max-width:790px;margin:0;font-size:20px;color:#5e6068}
.article-byline{display:flex;gap:30px;margin-top:42px;padding-top:20px;border-top:1px solid var(--line);font-size:12px;color:#6f7178}
.article-cover{width:min(1420px,100%);height:680px;margin:0 auto}
.article-cover img{width:100%;height:100%;object-fit:cover}
.article-layout{display:grid;grid-template-columns:220px minmax(0,760px);gap:95px;justify-content:center;padding-top:95px;padding-bottom:110px}
.article-aside{position:sticky;top:115px;align-self:start;border-top:3px solid var(--yellow)}
.article-aside .section-label{margin:18px 0 12px}
.article-aside a{display:block;padding:8px 0;border-bottom:1px solid var(--line);font-size:13px;color:#62646c}
.article-body{font-size:18px;line-height:1.78}
.article-body p{margin:0 0 27px}
.article-body .article-lead{font-family:'Archivo',Arial,sans-serif;font-size:24px;line-height:1.5;letter-spacing:-.025em;color:var(--graphite)}
.article-body h2{margin:64px 0 22px;font-size:34px;font-weight:500}
.article-body blockquote{margin:46px 0;padding:4px 0 4px 30px;border-left:4px solid var(--yellow);font-family:'Archivo',Arial,sans-serif;font-size:24px;line-height:1.48;letter-spacing:-.025em;color:var(--graphite)}
.article-sources{margin-top:70px;padding:30px;background:var(--paper)}
.article-sources p{font-size:15px;line-height:1.65;color:var(--muted)}
.article-sources a{display:block;margin-top:10px;font-family:'Archivo',Arial,sans-serif;font-size:12px;font-weight:600;color:var(--graphite)}
.article-next{padding:65px 0;background:var(--graphite)}
.article-next span{display:block;margin-bottom:13px;font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:#a8aab0}
.article-next a{display:flex;justify-content:space-between;gap:30px;font-family:'Archivo',Arial,sans-serif;font-size:clamp(24px,3vw,37px);line-height:1.24;color:#fff}
.article-next i{font-style:normal;color:var(--yellow)}

/* Contact */
.contact{padding:0 0 100px;background:#fff}
.contact-short{padding-top:20px}
.contact-box{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding:59px 62px;background:var(--paper);border-left:5px solid var(--yellow)}
.contact h2{margin:0 0 22px;font-size:clamp(32px,4vw,48px);font-weight:400}
.contact-box>div:first-child>p:last-child{max-width:500px;margin:0;color:var(--muted)}
.contact-actions{display:flex;align-items:flex-start;flex-direction:column;justify-content:center;border-top:1px solid var(--line)}
.contact-actions>a{width:100%;padding:16px 0;border-bottom:1px solid var(--line);font-family:'Archivo',Arial,sans-serif;font-size:14px;font-weight:600;color:var(--graphite)}
.contact-actions .contact-primary{display:flex;justify-content:space-between;font-size:16px}
.contact-actions .contact-primary span{color:#8a762b}
.contact-page{background:#fff}
.contact-page-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px}
.contact-channel-list{border-top:1px solid var(--line)}
.contact-channel-list a{display:grid;grid-template-columns:1fr auto;gap:4px 30px;padding:25px 0;border-bottom:1px solid var(--line);transition:padding-left .2s ease}
.contact-channel-list a:hover{padding-left:10px}
.contact-channel-list small{grid-column:1/-1;font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:#6b6d75}
.contact-channel-list strong{font-family:'Archivo',Arial,sans-serif;font-size:21px;color:var(--graphite);overflow-wrap:anywhere}
.contact-channel-list span{font-size:13px;color:#74767d}
.contact-prep h2{margin:0 0 28px;font-size:clamp(33px,3.8vw,46px);font-weight:400}
.contact-note{margin:28px 0 0;font-size:14px;color:var(--muted)}
.location{background:var(--paper)}
.location-layout{display:grid;grid-template-columns:1fr .55fr;gap:90px;align-items:end}
.location h2{max-width:680px;margin:0;font-size:clamp(35px,4.4vw,53px);font-weight:400}
.location address{font-style:normal;font-size:20px;line-height:1.7;color:#5d5f67}

/* Floating contact and footer */
.wa{display:flex;align-items:center;justify-content:center;position:fixed;z-index:800;right:22px;bottom:22px;width:58px;height:58px;border-radius:50%;background:#25b95d;color:#fff;box-shadow:0 10px 28px rgba(18,24,20,.23);opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .2s ease,transform .2s ease,background .2s ease}
.wa svg{width:29px;height:29px;fill:currentColor}
.wa.on{opacity:1;pointer-events:auto;transform:none}
.wa.on:hover{background:#1ca653;transform:translateY(-3px)}
.site-footer{padding:70px 0 24px;background:var(--graphite-dark);color:#a5a7ad}
.footer-grid{display:grid;grid-template-columns:1.45fr 1fr 1fr 1fr;gap:54px}
.logo-plate{display:inline-block;margin-bottom:23px;padding:9px 12px;background:#fff}
.footer-brand img{width:122px;height:auto}
.footer-brand p{max-width:330px;margin:0;font-size:13px;line-height:1.7}
.footer-grid h3{margin:0 0 18px;font-size:13px;font-weight:600;color:#fff}
.footer-grid>div:not(.footer-brand) a{display:block;margin:0 0 9px;font-size:13px;color:#a5a7ad}
.footer-grid>div:not(.footer-brand) a:hover{color:#fff}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:54px;padding-top:24px;border-top:1px solid #2e2f35;font-size:12px;color:#9799a0}

@media(max-width:1120px){
  .nav{gap:16px}
}

@media(max-width:1080px){
  .header-inner>nav{position:absolute;z-index:1050;top:0;right:-350px;width:min(350px,88vw);height:100dvh;padding:100px 30px 40px;background:var(--graphite);transition:right .3s ease;overflow-y:auto}
  .header-inner>nav.open{right:0}.nav{display:block;margin:0}.nav li{border-bottom:1px solid var(--line-dark)}.nav a{display:block;padding:15px 0;font-size:16px;color:#fff}.nav>li:not(.nav-cta)>a::after{display:none}.nav-cta{margin:23px 0 0;border-bottom:0!important}.nav-cta a{display:inline-flex;justify-content:flex-start;gap:10px;padding:5px 1px 10px;border-bottom:2px solid var(--yellow);color:#fff}.nav-cta a:hover{color:#fff;border-color:#fff}.nav-whatsapp-icon{width:20px;height:20px;flex-basis:20px;fill:#25d366}.burger{position:relative;z-index:1100;display:block}.burger[aria-expanded='true'] span{background:#fff}.wa{display:flex}
  .editorial-heading{gap:55px}.solution-layout,.solution-layout.reverse,.field-care-layout,.company-intro-layout{gap:55px}.experience-layout,.experience-band-layout{gap:65px}.article-layout{gap:60px}.contact-page-layout{gap:70px}.additional-services-layout{gap:60px}
}

@media(max-width:860px){
  .wrap{width:min(100% - 34px,var(--max))}.header-inner{height:74px}.logo img{width:112px}.section{padding:82px 0}
  .hero{--hero-scan-band:64%;--hero-base-brightness:.31;min-height:690px;padding:145px 0 90px}.hero h1{max-width:690px;font-size:clamp(39px,8vw,57px)}.hero-scan-layer{background-position:56% center}.hero-veil{background:linear-gradient(180deg,rgba(15,16,19,.82) 0%,rgba(15,16,19,.58) 34%,rgba(15,16,19,.92) 82%),radial-gradient(100% 60% at 50% 100%,rgba(0,0,0,.58),transparent 60%)}
  .facts-grid{grid-template-columns:1fr 1fr}.facts p:nth-child(3){border-left:0;border-top:1px solid var(--line)}.facts p:nth-child(4){border-top:1px solid var(--line)}
  .page-hero{padding:145px 0 75px}.page-hero-grid{grid-template-columns:1fr;gap:35px}.page-hero h1{font-size:clamp(42px,7.4vw,60px)}.page-hero--image{min-height:610px}
  .editorial-heading{grid-template-columns:1fr;gap:24px}.editorial-heading>p{max-width:670px}.project-heading{grid-template-columns:1fr;gap:24px}.project-heading p{max-width:680px}
  .statement-band-image{object-position:center}.experience-band-image{object-position:53% center}
  .statement-layout{grid-template-columns:1fr;gap:28px}.statement-kicker{max-width:700px}.statement-copy{max-width:720px}
  .engineering-scope-layout{grid-template-columns:1fr;gap:46px}.engineering-scope-title{position:static}.engineering-scope-title h2{max-width:680px}.engineering-scope-note{max-width:680px}.engineering-scope-copy p{max-width:740px}
  .entry-map-heading{grid-template-columns:1fr;gap:28px}.entry-map-heading h2{max-width:680px}.entry-map-heading>p{max-width:720px}.entry-map-canvas{height:auto;margin-top:52px;padding-left:48px}.entry-map-canvas::before,.entry-map-canvas::after{content:'';position:absolute;z-index:0;top:0;bottom:0;left:13px;width:2px;transform-origin:center top}.entry-map-canvas::before{background:#9ba3a8}.entry-map-canvas::after{background:var(--yellow);transform:scaleY(var(--map-progress));transition:transform .12s linear}.entry-map-lines{display:none}.entry-map-node,.entry-map-start,.entry-map-question,.entry-map-result{position:relative;top:auto;left:auto;width:auto;min-height:0;margin:0 0 16px;transform:none;text-align:left}.entry-map-node::before{content:'';position:absolute;top:50%;left:-35px;width:34px;height:1px;background:#9ba3a8}.entry-map-node.is-reached::before{height:2px;background:var(--yellow)}.entry-map-branches{position:relative;top:auto;left:auto;right:auto;display:grid;grid-template-columns:1fr;gap:14px;margin:0 0 16px}.entry-map-branches .entry-map-node{min-height:0;margin:0}.entry-map-result{margin-bottom:0}
  .home-process-heading{grid-template-columns:1fr;gap:28px}.home-process-heading h2{max-width:670px}.home-process-heading>p{max-width:720px}
  .home-process-route{display:block;margin-top:58px;padding:0 0 0 38px}
  .home-process-route::before,.home-process-route::after{top:0;bottom:0;left:8px;right:auto;width:2px;height:auto;transform-origin:center top}
  .home-process-step,.home-process-step:nth-child(even){width:100%;min-height:0;margin-left:0;padding:0 0 48px 32px;text-align:left}
  .home-process-step:last-child{padding-bottom:12px}
  .home-process-node,.home-process-step:nth-child(even) .home-process-node{top:3px;right:auto;left:-38px;transform:none}
  .home-process-step.is-reached .home-process-node{transform:rotate(45deg)}
  .home-process-step h3,.home-process-step:nth-child(even) h3{max-width:650px;margin-right:0;margin-left:0;font-size:20px}
  .home-process-step p,.home-process-step:nth-child(even) p{max-width:680px;margin-right:0;margin-left:0;font-size:15px}
  .home-process-footer{align-items:flex-start;flex-direction:column;gap:26px;margin-top:32px}
  .solution-layout,.solution-layout.reverse,.field-care-layout,.company-intro-layout{grid-template-columns:1fr;gap:48px}.solution-layout.reverse .solution-copy{order:0}.solution-layout figure img,.field-care figure img,.company-intro figure img{height:500px}
  .home-project-mosaic{grid-template-rows:220px 220px}.experience-band-layout,.experience-layout{grid-template-columns:1fr;gap:48px}.experience-credentials{grid-template-columns:1fr 1fr}.experience-credentials p:nth-child(3){padding-left:0;border-left:0}.clients-heading-split,.journal-editorial-heading,.additional-services-layout{grid-template-columns:1fr;gap:34px}.client-grid{grid-template-columns:repeat(4,1fr)}
  .journal-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:420px 270px}.journal-story,.journal-story-featured{grid-column:span 1;grid-row:span 1}.journal-story-featured{grid-column:1/3}.journal-story-featured h3{font-size:32px}
  .blog-feature-grid{grid-template-columns:1fr}.blog-aside{max-width:560px}.article-list>a{grid-template-columns:150px 1fr 30px}.article-list p{display:none}
  .article-cover{height:510px}.article-layout{grid-template-columns:1fr;gap:35px;padding-top:70px}.article-aside{position:static;display:none}
  .contact-box,.contact-page-layout{grid-template-columns:1fr;gap:45px}.contact-box{padding:48px 34px}.location-layout{grid-template-columns:1fr;gap:35px}.footer-grid{grid-template-columns:1fr 1fr;gap:42px}
}

@media(max-width:560px){
  body{font-size:16px}.wrap{width:calc(100% - 28px)}.section,.contact,[id]{scroll-margin-top:74px}.section{padding:68px 0}.eyebrow{margin-bottom:16px}
  .hero{--hero-scan-band:76%;--hero-base-brightness:.27;min-height:680px;padding:124px 0 72px}.hero h1{font-size:38px;line-height:1.04}.hero-lead{font-size:16.5px;line-height:1.58}.hero-actions{align-items:flex-start;flex-direction:column;gap:16px;margin-top:31px}.hero-scan-layer{background-position:58% center}.hero-content::before,.hero-content::after{width:58px;height:58px;opacity:.45}.hero-content::before{top:-23px;left:0}.hero-content::after{right:0;bottom:-20px}
  .facts-grid{grid-template-columns:1fr}.facts p,.facts p+p{min-height:auto;padding:20px 0;border-left:0;border-top:1px solid var(--line)}.facts p:first-child{border-top:0}
  .page-hero{padding:122px 0 62px}.page-hero h1{font-size:40px}.page-hero-grid>p{font-size:16px}.page-hero--image{min-height:570px;padding-bottom:65px}.page-hero-image-copy>p:last-child{font-size:17px}
  .editorial-heading{margin-bottom:40px}.editorial-heading h2,.experience-band h2,.experience h2,.solution-copy h2,.field-care h2,.company-intro h2,.project-note h2,.contact h2,.location h2{font-size:33px}
  .statement{padding:60px 0}.statement.photo-band{padding:74px 0}.statement-kicker{font-size:30px}.statement-copy{font-size:17.5px;line-height:1.58}
  .engineering-scope::before{left:-155px;top:35px}.engineering-scope::after{left:16px;bottom:38px;width:52px;height:9px}.engineering-scope-layout{gap:35px}.engineering-scope-title h2{font-size:34px}.engineering-scope-note{margin-top:24px;padding-top:19px}.engineering-scope-copy p{font-size:16.5px;line-height:1.72}.engineering-scope-copy p:first-child::first-letter{font-size:57px}
  .entry-map::before{background-size:24px 24px}.entry-map-heading h2{font-size:34px}.entry-map-heading>p{font-size:16.5px}.entry-map-canvas{margin-top:40px;padding-left:38px}.entry-map-canvas::before,.entry-map-canvas::after{left:8px}.entry-map-node{padding:17px 16px}.entry-map-node::before{left:-30px;width:29px}.entry-map-node h3{font-size:15.5px}.entry-map-node p{font-size:13px}.entry-map-result{text-align:left}
  .home-process::before{width:210px;height:210px;right:-115px;bottom:-85px}.home-process::after{right:18px;bottom:44px;width:34px;height:34px}
  .home-process-heading h2{font-size:34px}.home-process-heading>p{font-size:16.5px}.home-process-route{margin-top:50px}.home-process-step{padding-left:26px}.home-process-step h3{font-size:18px}.home-process-step p{font-size:14.5px}.home-process-footer>div{align-items:flex-start;flex-direction:column;gap:15px}
  .solution-layout figure img,.field-care figure img,.company-intro figure img{height:380px}
  .home-project-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:240px 180px 180px;gap:8px}.home-project-mosaic figure:first-child{grid-row:1;grid-column:1/3}.home-project-mosaic figure:nth-child(2){grid-row:2;grid-column:1/3}.home-project-mosaic figcaption{padding:30px 12px 11px;font-size:11px}
  .project-mosaic{grid-template-columns:1fr 1fr;grid-auto-rows:210px;gap:8px}.project-mosaic.full figure:nth-child(n){grid-column:span 1;grid-row:span 1}.project-mosaic.full figure:nth-child(1),.project-mosaic.full figure:nth-child(4),.project-mosaic.full figure:nth-child(8),.project-mosaic.full figure:nth-child(10){grid-column:span 2}.project-mosaic figcaption{padding:30px 12px 11px}.project-mosaic figcaption strong{font-size:11px}
  .project-heading{margin-bottom:40px}.project-heading h2{font-size:33px}.experience-band-layout{padding:65px 0}.experience-band.photo-band .experience-band-layout{padding:78px 0 44px}.experience-band.photo-band::after{background:rgba(14,15,18,.82)}.experience-credentials{grid-template-columns:1fr;padding-bottom:42px}.experience-credentials p,.experience-credentials p+p,.experience-credentials p:nth-child(3){padding:18px 0;border-left:0;border-top:1px solid rgba(255,255,255,.15)}.experience-credentials p:first-child{border-top:0}.additional-service-lines article{grid-template-columns:1fr;gap:10px}.client-grid{grid-template-columns:repeat(2,1fr)}.client-grid img{height:90px;padding:21px}
  .journal-editorial-heading{margin-bottom:38px}.journal-editorial-heading h2{font-size:34px}.journal-editorial-heading p{font-size:16px}.journal-mosaic{display:grid;grid-template-columns:1fr;grid-template-rows:360px 270px 270px;gap:10px}.journal-story,.journal-story-featured{grid-column:1;grid-row:span 1}.journal-story>div{padding:24px 20px 22px}.journal-story-featured h3{font-size:27px}.journal-story p{display:none}.journal-editorial-tail{justify-content:flex-start;margin-top:28px}
  .process-flow{padding-left:28px}.process-flow::before,.process-flow::after{left:6px}.flow-item,.flow-item:nth-child(even){width:100%;min-height:0;margin-left:0;padding:0 0 42px 29px;text-align:left}.flow-item>div,.flow-item:nth-child(even)>div{margin:0}.flow-dot,.flow-item:nth-child(even) .flow-dot{right:auto;left:-28px;width:13px;height:13px}.flow-item h3{font-size:18px}
  .field-care blockquote{font-size:20px}.working-notes-grid,.principle-lines{grid-template-columns:1fr}.working-notes-grid article,.principle-lines article,.working-notes-grid article+article,.principle-lines article+article{padding:22px 0;border-left:0;border-top:1px solid var(--line)}
  .project-note-layout,.editorial-note-layout{grid-template-columns:1fr;gap:20px}.company-facts{grid-template-columns:1fr}.company-facts div,.company-facts div+div{padding:16px 0;border-left:0;border-bottom:1px solid var(--line)}
  .blog-feature{grid-template-columns:1fr}.blog-feature img{min-height:300px}.blog-feature>div{padding:28px}.blog-feature h2{font-size:29px}.article-list{margin-top:55px}.article-list>a{grid-template-columns:1fr 25px;gap:10px;padding:25px 0}.article-list>a:hover{padding:25px 8px}.article-list .article-meta{grid-column:1/2}.article-list h2{grid-column:1/2;font-size:21px}.article-list i{grid-column:2;grid-row:1/3;align-self:center}
  .article-header{padding:122px 0 60px}.article-back{margin-bottom:42px}.article-header h1{font-size:39px}.article-deck{font-size:18px}.article-byline{flex-direction:column;gap:4px}.article-cover{height:360px}.article-layout{padding-top:55px;padding-bottom:75px}.article-body{font-size:17px}.article-body .article-lead{font-size:21px}.article-body h2{margin-top:50px;font-size:29px}.article-body blockquote{font-size:21px;margin:36px 0;padding-left:20px}.article-sources{padding:24px 20px}.article-next a{font-size:25px}
  .contact{padding-bottom:68px}.contact-box{width:100%;padding:39px 22px;border-left-width:4px}.contact-channel-list strong{font-size:17px}.contact-channel-list a{grid-template-columns:1fr}.contact-channel-list span{margin-top:4px}.wa{right:13px;bottom:13px;width:54px;height:54px}.wa svg{width:27px;height:27px}.footer-grid{grid-template-columns:1fr;gap:34px}.footer-bottom{align-items:flex-start;flex-direction:column}
}

@media(max-width:390px){
  .project-mosaic{grid-template-columns:1fr;grid-auto-rows:235px}.project-mosaic.full figure:nth-child(n){grid-column:span 1}.home-project-mosaic{grid-template-columns:1fr;grid-template-rows:260px 210px 210px 210px}.home-project-mosaic figure:nth-child(n){grid-column:1;grid-row:auto}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.hero-scan-reveal,.hero-scan-beam{will-change:auto}
}

/* Home editorial 2026 */
.fs-hero{--mosaic-shift:0px;position:relative;min-height:900px;padding:156px 0 98px;overflow:hidden;background-color:#f4f6f6;background-image:linear-gradient(rgba(48,56,62,.065) 1px,transparent 1px),linear-gradient(90deg,rgba(48,56,62,.065) 1px,transparent 1px);background-size:34px 34px;border-bottom:1px solid #d9dfe0}
.fs-hero::before{content:'';position:absolute;inset:84px 0 0;background:#f4f6f6;opacity:.7;pointer-events:none}
.fs-hero-contact-sheet{position:absolute;inset:84px 0 0;background-image:url('/editorial/hero-mosaic.webp?v=2');background-repeat:repeat-y;background-position:center calc(50% + var(--mosaic-shift));background-size:max(1240px,100vw) auto;filter:grayscale(1) contrast(1.08);opacity:.13;will-change:background-position}
.fs-hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.45fr);grid-template-rows:auto auto;gap:56px 84px;align-items:end}
.fs-hero-title{grid-column:1/-1;max-width:1180px;margin:0;font-size:clamp(68px,8.1vw,112px);font-weight:600;line-height:.92;letter-spacing:-.067em;color:var(--graphite);background-image:url('/editorial/hero-mosaic.webp?v=2');background-repeat:repeat-y;background-position:center calc(50% + var(--mosaic-shift));background-size:1500px auto;-webkit-text-stroke:.95px rgba(24,25,29,.92);filter:grayscale(1) brightness(.58) contrast(1.5)}
@supports((-webkit-background-clip:text) or (background-clip:text)){
  .fs-hero-title{color:transparent;-webkit-background-clip:text;background-clip:text}
}
.fs-hero-intro{grid-column:2;max-width:510px;padding:30px 0 0;border-top:1px solid rgba(34,35,41,.55)}
.fs-hero-intro p{margin:0;font-size:17px;line-height:1.7;color:#4e5257}
.fs-action{display:inline-flex;align-items:center;gap:20px;margin-top:30px;padding:0 0 10px;border-bottom:3px solid var(--yellow);font-family:'Archivo',Arial,sans-serif;font-size:15px;font-weight:600;color:var(--graphite)}
.fs-action span{font-size:20px;line-height:1;color:#7e6500;transition:transform .2s ease}
.fs-action:hover span{transform:translateX(4px)}

.fs-experience-early{min-height:650px}
.fs-experience-early.photo-band::after{background:linear-gradient(90deg,rgba(14,15,18,.92) 0%,rgba(14,15,18,.83) 54%,rgba(14,15,18,.78) 100%)}
.fs-experience-early .experience-band-layout{min-height:650px;align-items:center;padding:126px 0}
.fs-experience-early h2{max-width:570px}
.fs-experience-copy p{font-size:17px;line-height:1.72;color:#d0d2d6}
.fs-experience-copy p+p{margin-top:22px}
.fs-experience-link{display:inline-flex;align-items:center;gap:16px;margin-top:10px;padding:0 0 9px;border-bottom:2px solid var(--yellow);font-family:'Archivo',Arial,sans-serif;font-size:13px;font-weight:600;color:#fff}
.fs-experience-link span{color:var(--yellow);transition:transform .2s ease}
.fs-experience-link:hover span{transform:translateX(4px)}

.fs-capability{position:relative;background:#fff;overflow:hidden}
.fs-capability::after{content:'';position:absolute;left:-98px;bottom:96px;width:210px;height:210px;border:1px solid #dfe3e4;transform:rotate(16deg);pointer-events:none}
.fs-capability-grid{display:grid;grid-template-columns:minmax(330px,.74fr) minmax(0,1.26fr);gap:110px;align-items:start}
.fs-capability-heading{position:sticky;top:126px}
.fs-capability h2,.fs-protections h2,.fs-panel-copy h2,.fs-documents h2,.fs-process h2,.fs-projects h2,.fs-training h2{margin:0;font-size:clamp(40px,4.7vw,58px);font-weight:400}
.fs-capability-copy p{max-width:720px;margin:0;font-size:18px;line-height:1.78;color:#5c6065}
.fs-capability-copy p+p{margin-top:29px}
.fs-capability-images{position:relative;z-index:1;display:grid;grid-template-columns:.74fr 1.2fr .82fr;gap:16px;align-items:end;margin-top:76px}
.fs-capability-images img{width:100%;object-fit:cover;filter:grayscale(1);background:#dde1e1}
.fs-capability-images img:nth-child(1){height:260px;object-position:center 44%}
.fs-capability-images img:nth-child(2){height:360px}
.fs-capability-images img:nth-child(3){height:295px}

.fs-protections{background:#eef1f1;border-top:1px solid #dde2e3;border-bottom:1px solid #d9dfe0}
.fs-protections-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(430px,.92fr);gap:92px;align-items:center}
.fs-protections-copy h2{max-width:660px;margin-bottom:38px}
.fs-projects-heading h2 span{color:#e2c700;font-weight:600}
.fs-protections-copy p{max-width:720px;margin:0;font-size:17.5px;line-height:1.75;color:#595d62}
.fs-protections-copy p+p{margin-top:25px}
.fs-protections-gallery{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:230px 230px;gap:12px}
.fs-protections-gallery img{width:100%;height:100%;object-fit:cover;filter:grayscale(.92) contrast(1.04)}
.fs-protections-gallery img:first-child{grid-row:1/3}
.fs-protections-gallery img:nth-child(2){object-position:center 42%}

.fs-panel-window{position:relative;min-height:760px;display:flex;align-items:center;overflow:hidden;background:#15171b}
.fs-panel-window-media{position:absolute;inset:0;background-image:url('/editorial/panel-mosaic.webp');background-position:center;background-repeat:no-repeat;background-size:cover;background-attachment:fixed;filter:grayscale(1) contrast(1.08);opacity:.62}
.fs-panel-window::after{content:'';position:absolute;inset:0;background:rgba(12,14,17,.42);pointer-events:none}
.fs-panel-window-inner{position:relative;z-index:1;display:flex;justify-content:flex-end;padding:105px 0}
.fs-panel-copy{width:min(650px,57%);padding:54px 58px 57px;background:rgba(239,242,242,.95);box-shadow:0 28px 80px rgba(0,0,0,.16)}
.fs-panel-copy h2{margin-bottom:31px}
.fs-panel-copy p{margin:0;font-size:17px;line-height:1.72;color:#54585d}
.fs-panel-copy p+p{margin-top:24px}

.fs-documents{position:relative;background:#fff}
.fs-documents-heading{display:grid;grid-template-columns:minmax(400px,1fr) minmax(260px,.46fr);gap:100px;align-items:end;margin-bottom:68px}
.fs-documents-heading h2 span{display:inline;font-weight:500;background-image:linear-gradient(transparent calc(100% - .1em),rgba(255,220,0,.76) 0);-webkit-box-decoration-break:clone;box-decoration-break:clone}
.fs-documents-heading>p{margin:0 0 7px;padding-top:18px;border-top:1px solid var(--line);font-size:16px;color:#6b6e73}
.fs-documents-columns{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #aeb5b7;border-bottom:1px solid #aeb5b7}
.fs-documents-columns article{padding:42px 54px 46px 0}
.fs-documents-columns article+article{padding-left:54px;border-left:1px solid #aeb5b7}
.fs-documents-columns h3{margin:0 0 19px;font-size:25px;font-weight:600}
.fs-documents-columns p{margin:0;font-size:16.5px;line-height:1.76;color:#5e6267}
.fs-document-cycle{display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr auto 1fr auto 1fr auto;align-items:center;gap:14px;margin-top:60px;padding:23px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.fs-document-cycle span{font-family:'Archivo',Arial,sans-serif;font-size:11px;font-weight:600;line-height:1.25;color:#42464b;text-align:center}
.fs-document-cycle i{height:2px;background:var(--yellow);position:relative}
.fs-document-cycle i::after{content:'';position:absolute;right:-1px;top:-3px;width:7px;height:7px;border-top:2px solid #806700;border-right:2px solid #806700;transform:rotate(45deg)}
.fs-documents-note{display:flex;align-items:center;justify-content:space-between;gap:70px;margin-top:37px}
.fs-documents-note p{max-width:750px;margin:0;color:#66696e}
.fs-inline-question{flex:0 0 auto;padding:8px 0;border-bottom:2px solid var(--yellow);font-family:'Archivo',Arial,sans-serif;font-size:14px;font-weight:600;color:var(--graphite)}
.fs-inline-question span{margin-left:8px;font-weight:400}

.fs-process{position:relative;overflow:hidden;background:#edf0f0;border-top:1px solid #dce1e2}
.fs-process::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(60,70,78,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(60,70,78,.05) 1px,transparent 1px);background-size:32px 32px;mask-image:linear-gradient(90deg,transparent,black 17%,black 83%,transparent);pointer-events:none}
.fs-process-heading{position:relative;z-index:1;display:grid;grid-template-columns:minmax(360px,.82fr) minmax(0,1.18fr);gap:100px;align-items:end}
.fs-process-heading>p{max-width:680px;margin:0 0 5px;font-size:18px;color:#61656a}
.fs-process-route{--route-progress:0;position:relative;z-index:1;margin-top:92px;padding-bottom:10px}
.fs-process-route::before,.fs-process-route::after{content:'';position:absolute;top:0;bottom:0;left:50%;width:2px;transform-origin:center top}
.fs-process-route::before{background:#b9c0c2}
.fs-process-route::after{background:var(--yellow);transform:scaleY(var(--route-progress));transition:transform .12s linear}
.fs-process-route .fs-process-step,.fs-process-route .fs-process-step:nth-child(even){display:grid;grid-template-columns:1fr 1fr;gap:58px;align-items:center;width:100%;min-height:360px;margin:0;padding:0 0 78px;text-align:left}
.fs-process-route .fs-process-step:nth-child(even) figure{order:2}
.fs-process-route .fs-process-step:nth-child(even)>div{order:1;text-align:right}
.fs-process-route .fs-process-step figure{width:100%;height:300px;margin:0;overflow:hidden;background:#d7dcdd}
.fs-process-route .fs-process-step img{width:100%;height:100%;object-fit:cover;filter:grayscale(.9) contrast(1.03)}
.fs-process-route .fs-process-step-document img{object-position:center 46%}
.fs-process-route .fs-process-step>div{padding:0 42px}
.fs-process-route .fs-process-step h3,.fs-process-route .fs-process-step:nth-child(even) h3{max-width:480px;margin:0 0 16px;font-size:26px;font-weight:600}
.fs-process-route .fs-process-step:nth-child(even) h3{margin-left:auto}
.fs-process-route .fs-process-step p,.fs-process-route .fs-process-step:nth-child(even) p{max-width:480px;margin:0;font-size:16px;line-height:1.68;color:#61656a}
.fs-process-route .fs-process-step:nth-child(even) p{margin-left:auto}
.fs-process-route .home-process-node,.fs-process-route .fs-process-step:nth-child(even) .home-process-node{position:absolute;z-index:3;top:150px;right:auto;left:calc(50% - 9px);width:18px;height:18px;border:2px solid #aeb5b7;background:#edf0f0;transform:none}
.fs-process-route .fs-process-step.is-reached .home-process-node{border-color:var(--yellow);background:var(--yellow);transform:rotate(45deg)}

.fs-projects{padding-bottom:0;background:#17191d;color:#b8bbc0}
.fs-projects-heading{display:flex;align-items:end;justify-content:space-between;gap:70px;margin-bottom:55px}
.fs-projects-heading h2{color:#fff}
.fs-projects-heading p{max-width:520px;margin:0 0 5px;color:#aaadb2}
.fs-project-wall{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:155px;gap:6px;padding:0 6px 6px}
.fs-project-wall img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.04);opacity:.84;transition:opacity .25s ease,filter .25s ease}
.fs-project-wall img:hover{opacity:1;filter:grayscale(1) contrast(1.08)}
.fs-project-wall img:nth-child(1),.fs-project-wall img:nth-child(8){grid-column:span 4;grid-row:span 2}
.fs-project-wall img:nth-child(2),.fs-project-wall img:nth-child(5),.fs-project-wall img:nth-child(9),.fs-project-wall img:nth-child(12){grid-column:span 3;grid-row:span 2}
.fs-project-wall img:nth-child(3),.fs-project-wall img:nth-child(6),.fs-project-wall img:nth-child(10){grid-column:span 5;grid-row:span 2}
.fs-project-wall img:nth-child(4),.fs-project-wall img:nth-child(7),.fs-project-wall img:nth-child(11){grid-column:span 4;grid-row:span 2}

.fs-training{background:#fff}
.fs-training-layout{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(420px,.94fr);gap:88px;align-items:center}
.fs-training figure{margin:0;position:relative}
.fs-training figure::after{content:'';position:absolute;right:-18px;bottom:-18px;width:70px;height:70px;border-right:8px solid var(--yellow);border-bottom:8px solid var(--yellow);pointer-events:none}
.fs-training img{width:100%;height:650px;object-fit:cover;filter:grayscale(.2);object-position:center}
.fs-training h2{margin-bottom:34px}
.fs-training p{margin:0;font-size:17px;line-height:1.74;color:#5d6166}
.fs-training p+p{margin-top:25px}
.fs-experience.photo-band{background-attachment:fixed}
.fs-contact{position:relative;overflow:hidden;padding:0;background-color:#f4f6f6;background-image:linear-gradient(rgba(48,56,62,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(48,56,62,.045) 1px,transparent 1px);background-size:34px 34px;border-top:1px solid #d9dfe0}
.fs-contact::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(244,246,246,.7),rgba(244,246,246,.92));pointer-events:none}
.fs-contact .contact-box{position:relative;z-index:1;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);gap:110px;padding:92px 0 88px;background:transparent;border-left:0}
.fs-contact .contact-box>div:first-child{position:relative;padding-top:25px}
.fs-contact .contact-box>div:first-child::before{content:'';position:absolute;top:0;left:0;width:64px;height:3px;background:var(--yellow)}
.fs-contact .contact-box>div:first-child>p:last-child{font-size:17px;line-height:1.72}
.fs-contact .contact-actions{display:grid;grid-template-columns:1fr 1fr;align-content:center;border-top:1px solid #aeb5b7}
.fs-contact .contact-actions>a{padding:18px 0;font-size:13px;font-weight:500}
.fs-contact .contact-actions>a:nth-child(3){padding-left:30px;border-left:1px solid var(--line)}
.fs-contact .contact-actions .contact-primary{grid-column:1/-1;align-items:center;padding:22px 0;border-bottom:1px solid #aeb5b7;font-size:19px;font-weight:600}
.fs-contact .contact-actions .contact-primary span{font-size:22px;color:#806b00}
.site-header .nav{gap:16px}
.site-header .nav a,.site-header .nav-cta a{font-size:13.5px}

@media(max-width:1080px){
  .fs-hero{min-height:830px;padding-top:136px}.fs-hero-inner{grid-template-columns:1fr minmax(330px,.56fr);gap:48px 60px}.fs-hero-title{font-size:clamp(64px,9.6vw,98px)}
  .fs-capability-grid{gap:70px}.fs-protections-layout{grid-template-columns:1fr;gap:58px}.fs-protections-gallery{max-width:760px}
  .fs-panel-copy{width:min(690px,70%)}.fs-training-layout{gap:60px}
}

@media(max-width:860px){
  .photo-band-image{position:absolute;height:100%}
  .fs-hero{min-height:760px;padding:126px 0 76px}.fs-hero-inner{display:block}.fs-hero-title{font-size:clamp(56px,11.5vw,78px)}.fs-hero-intro{max-width:620px;margin:54px 0 0;padding-top:26px}.fs-hero-contact-sheet{background-size:1280px auto}
  .fs-experience-early,.fs-experience-early .experience-band-layout{min-height:0}.fs-experience-early .experience-band-layout{padding:96px 0}.fs-experience-early h2{max-width:720px}.fs-experience-copy{max-width:720px}
  .fs-capability-grid{grid-template-columns:1fr;gap:42px}.fs-capability-heading{position:static}.fs-capability-heading h2{max-width:720px}.fs-capability-copy p{max-width:760px}.fs-capability-images{grid-template-columns:.8fr 1.2fr;margin-top:58px}.fs-capability-images img:nth-child(1){display:none}.fs-capability-images img:nth-child(2),.fs-capability-images img:nth-child(3){height:330px}
  .fs-panel-window{min-height:690px}.fs-panel-window-media{background-attachment:scroll}.fs-panel-copy{width:min(700px,86%);padding:48px}
  .fs-documents-heading{grid-template-columns:1fr;gap:28px}.fs-documents-heading>p{max-width:600px}.fs-documents-columns article{padding-right:34px}.fs-documents-columns article+article{padding-left:34px}.fs-document-cycle{position:relative;grid-template-columns:1fr;gap:0;padding:0 0 0 30px;border:0}.fs-document-cycle span{position:relative;padding:17px 0;text-align:left;border-bottom:1px solid var(--line)}.fs-document-cycle span::before{content:'';position:absolute;left:-29px;top:50%;width:9px;height:9px;background:var(--yellow);transform:translateY(-50%) rotate(45deg)}.fs-document-cycle i{display:none}.fs-document-cycle::before{content:'';position:absolute;left:4px;top:19px;bottom:19px;width:2px;background:#c9cfd0}.fs-documents-note{align-items:flex-start;flex-direction:column;gap:24px}
  .fs-process-heading{grid-template-columns:1fr;gap:28px}.fs-process-route{margin-top:65px;padding-left:42px}.fs-process-route::before,.fs-process-route::after{left:11px}.fs-process-route .fs-process-step,.fs-process-route .fs-process-step:nth-child(even){grid-template-columns:220px 1fr;gap:30px;min-height:0;padding:0 0 48px}.fs-process-route .fs-process-step:nth-child(even) figure,.fs-process-route .fs-process-step:nth-child(even)>div{order:initial;text-align:left}.fs-process-route .fs-process-step figure{height:190px}.fs-process-route .fs-process-step>div{padding:0}.fs-process-route .fs-process-step:nth-child(even) h3,.fs-process-route .fs-process-step:nth-child(even) p{margin-left:0}.fs-process-route .home-process-node,.fs-process-route .fs-process-step:nth-child(even) .home-process-node{top:88px;left:-40px}
  .fs-project-wall{grid-template-columns:repeat(6,1fr);grid-auto-rows:150px}.fs-project-wall img:nth-child(n){grid-column:span 3;grid-row:span 2}.fs-project-wall img:nth-child(1),.fs-project-wall img:nth-child(6),.fs-project-wall img:nth-child(9){grid-column:span 6}
  .fs-training-layout{grid-template-columns:1fr;gap:62px}.fs-training img{height:520px}.fs-experience.photo-band{background-attachment:scroll}
  .fs-contact .contact-box{grid-template-columns:1fr;gap:48px;padding:76px 0 72px}
}

@media(max-width:560px){
  .fs-hero{min-height:730px;padding:112px 0 62px;background-size:24px 24px}.fs-hero::before{inset:74px 0 0}.fs-hero-contact-sheet{inset:74px 0 0;background-size:940px auto;opacity:.11}.fs-hero-title{font-size:44px;line-height:.95;letter-spacing:-.06em;background-size:900px auto;-webkit-text-stroke:.75px rgba(24,25,29,.9)}.fs-hero-intro{margin-top:42px}.fs-hero-intro p{font-size:16px;line-height:1.62}.fs-action{margin-top:25px;font-size:14px}
  .fs-experience-early .experience-band-layout{padding:82px 0}.fs-experience-copy p{font-size:16px;line-height:1.66}.fs-experience-link{align-items:flex-start;font-size:12px;line-height:1.45}
  .fs-capability h2,.fs-protections h2,.fs-panel-copy h2,.fs-documents h2,.fs-process h2,.fs-projects h2,.fs-training h2{font-size:35px}.fs-capability-copy p,.fs-protections-copy p,.fs-panel-copy p,.fs-training p{font-size:16px;line-height:1.68}.fs-capability-images{grid-template-columns:1fr;gap:9px;margin-top:44px}.fs-capability-images img:nth-child(2),.fs-capability-images img:nth-child(3){height:235px}.fs-capability-images img:nth-child(3){display:none}
  .fs-protections-layout{gap:42px}.fs-protections-copy h2{margin-bottom:28px}.fs-protections-gallery{grid-template-columns:1fr 1fr;grid-template-rows:230px 170px}.fs-protections-gallery img:first-child{grid-column:1/3;grid-row:1}.fs-protections-gallery img:nth-child(2),.fs-protections-gallery img:nth-child(3){grid-row:2}
  .fs-panel-window{min-height:780px}.fs-panel-window-inner{padding:64px 0}.fs-panel-copy{width:100%;padding:36px 22px}.fs-panel-copy h2{margin-bottom:25px}.fs-panel-window-media{background-size:auto 100%;background-position:center}
  .fs-documents-heading{margin-bottom:42px}.fs-documents-columns{grid-template-columns:1fr}.fs-documents-columns article,.fs-documents-columns article+article{padding:30px 0;border-left:0}.fs-documents-columns article+article{border-top:1px solid #aeb5b7}.fs-documents-columns h3{font-size:22px}.fs-documents-columns p{font-size:15.5px;line-height:1.7}.fs-document-cycle{margin-top:42px}.fs-documents-note{margin-top:29px}
  .fs-process::before{background-size:24px 24px}.fs-process-heading>p{font-size:16px}.fs-process-route{margin-top:50px;padding-left:32px}.fs-process-route::before,.fs-process-route::after{left:6px}.fs-process-route .fs-process-step,.fs-process-route .fs-process-step:nth-child(even){grid-template-columns:1fr;gap:18px;padding-bottom:42px}.fs-process-route .fs-process-step figure{height:230px}.fs-process-route .fs-process-step h3,.fs-process-route .fs-process-step:nth-child(even) h3{font-size:22px}.fs-process-route .fs-process-step p,.fs-process-route .fs-process-step:nth-child(even) p{font-size:15px}.fs-process-route .home-process-node,.fs-process-route .fs-process-step:nth-child(even) .home-process-node{top:108px;left:-35px;width:15px;height:15px}
  .fs-projects{padding-bottom:0}.fs-projects-heading{display:block;margin-bottom:35px}.fs-projects-heading p{margin-top:18px}.fs-project-wall{display:grid;grid-auto-flow:column;grid-template-columns:none;grid-template-rows:230px 170px;grid-auto-columns:76vw;gap:7px;padding:0 14px 14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.fs-project-wall::-webkit-scrollbar{display:none}.fs-project-wall img:nth-child(n){grid-column:auto;grid-row:auto;scroll-snap-align:start}
  .fs-training-layout{gap:48px}.fs-training img{height:430px}.fs-training figure::after{right:-8px;bottom:-15px;width:65px;height:65px;border-width:8px}.fs-training h2{margin-bottom:28px}
  .fs-contact{padding:0;background-size:24px 24px}
  .fs-contact .contact-box{gap:38px;padding:62px 0 58px}
  .fs-contact .contact-actions{grid-template-columns:1fr}
  .fs-contact .contact-actions>a:nth-child(3){padding-left:0;border-left:0}
  .fs-contact .contact-actions .contact-primary{font-size:17px}
}

@media(prefers-reduced-motion:reduce){
  .fs-hero-contact-sheet,.fs-hero-title{background-position:center center!important;will-change:auto}
}

/* Institutional system */
.breadcrumb{padding:104px 0 18px;background:#f3f5f5;border-bottom:1px solid #dde1e2}
.breadcrumb .wrap{display:flex;align-items:center;gap:10px;font-family:'Archivo',Arial,sans-serif;font-size:11px;color:#777b80}
.breadcrumb a{color:#4d5156}
.breadcrumb a:hover{text-decoration:underline;text-decoration-color:var(--yellow);text-decoration-thickness:2px;text-underline-offset:4px}
.breadcrumb--article{background:#fff;border-bottom:0}
.institutional-hero{padding:72px 0 94px;background-color:#f3f5f5;background-image:linear-gradient(rgba(48,56,62,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(48,56,62,.04) 1px,transparent 1px);background-size:34px 34px}

.technical-leadership{background:#edf0f0;border-top:1px solid #dce1e2;border-bottom:1px solid #d9dfe0}
.technical-leadership-heading{display:grid;grid-template-columns:minmax(0,.9fr) minmax(320px,.58fr);gap:100px;align-items:end;margin-bottom:60px}
.technical-leadership-heading h2,.company-practice h2,.confidentiality-band h2,.contact-assurance h2{margin:0;font-size:clamp(36px,4.4vw,54px);font-weight:400}
.technical-leadership-heading p{margin:0 0 5px;font-size:17px;line-height:1.68;color:#64686d}
.technical-profile-grid{display:grid;grid-template-columns:1.35fr .65fr;border-top:1px solid #aeb5b7;border-bottom:1px solid #aeb5b7}
.technical-profile{padding:45px 0 46px 50px}
.technical-profile:first-child{padding-left:0;padding-right:50px;border-right:1px solid #aeb5b7}
.technical-profile--sidney{display:grid;grid-template-columns:1fr .86fr;gap:55px}
.technical-profile span{display:block;margin-bottom:13px;font-family:'Archivo',Arial,sans-serif;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#6d7176}
.technical-profile h3{margin:0 0 18px;font-size:29px;font-weight:600}
.technical-profile p{margin:0;font-size:16px;line-height:1.7;color:#5e6267}
.technical-profile ul{margin:2px 0 0;padding:0;list-style:none}
.technical-profile li{padding:12px 0;border-bottom:1px solid #cbd0d1;font-size:14px;line-height:1.45;color:#55595e}
.technical-profile li:first-child{padding-top:0}
.technical-profile-note{margin-top:35px!important;padding-top:25px;border-top:3px solid var(--yellow)}

.company-practice{position:relative;background:#fff;overflow:hidden}
.company-practice::after{content:'';position:absolute;right:-90px;bottom:-120px;width:260px;height:260px;border:1px solid #e0e3e4;transform:rotate(36deg)}
.company-practice-layout{position:relative;z-index:1;display:grid;grid-template-columns:.82fr 1.18fr;gap:110px}
.company-practice-layout p{max-width:720px;margin:0;font-size:18px;line-height:1.78;color:#5c6065}
.company-practice-layout p+p{margin-top:28px}
.confidentiality-band,.contact-assurance{padding:82px 0;background:var(--graphite);color:#c9cbd0}
.confidentiality-layout,.contact-assurance-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:110px;align-items:start}
.confidentiality-band h2,.contact-assurance h2{color:#fff}
.confidentiality-band p,.contact-assurance p{max-width:720px;margin:4px 0 0;font-size:17px;line-height:1.74}

.journal-hero{padding:155px 0 96px;background:#eef1f1;border-bottom:1px solid #d8ddde}
.breadcrumb+.journal-hero{padding-top:74px}
.journal-hero-layout{display:grid;grid-template-columns:1.12fr .88fr;gap:110px;align-items:end}
.journal-hero h1{margin:0;font-size:clamp(50px,6.4vw,79px);font-weight:400;line-height:.98}
.journal-hero-layout>div:last-child{padding-top:28px;border-top:1px solid #aeb5b7}
.journal-hero-layout>div:last-child p{max-width:570px;margin:0 0 25px;font-size:19px;line-height:1.66;color:#565a5f}
.journal-hero-layout>div:last-child span{font-size:13px;color:#777b80}
.journal-index{background:#fff}
.journal-lead-layout{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:48px;align-items:start}
.journal-lead{display:grid;grid-template-columns:1.1fr .9fr;min-height:530px;background:#181a1e;color:#fff}
.journal-lead figure{margin:0;overflow:hidden}
.journal-lead img{width:100%;height:100%;object-fit:cover;filter:grayscale(.25);transition:transform .45s ease}
.journal-lead:hover img{transform:scale(1.02)}
.journal-lead>div{display:flex;flex-direction:column;justify-content:center;padding:56px 48px}
.journal-lead h2{margin:15px 0 22px;font-size:clamp(30px,3.3vw,43px);line-height:1.12;color:#fff}
.journal-lead p{margin:0;font-size:16px;line-height:1.68;color:#c8cbd0}
.journal-lead small{display:block;margin-top:35px;padding-top:20px;border-top:1px solid #44474c;font-size:11px;line-height:1.5;color:#9da1a7}
.journal-index-note{padding:20px 0 0;border-top:3px solid var(--yellow)}
.journal-index-note span{font-family:'Archivo',Arial,sans-serif;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#565a5f}
.journal-index-note p{margin:18px 0 0;font-size:15px;line-height:1.65;color:#70747a}
.journal-secondary{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:72px}
.journal-secondary>a{display:grid;grid-template-columns:.78fr 1.22fr;min-height:270px;border-top:1px solid #aeb5b7;border-bottom:1px solid #d7dcdd}
.journal-secondary figure{margin:0;overflow:hidden}
.journal-secondary img{width:100%;height:100%;object-fit:cover;filter:grayscale(.85);transition:filter .3s ease,transform .3s ease}
.journal-secondary a:hover img{filter:grayscale(.2);transform:scale(1.02)}
.journal-secondary a>div{padding:31px 30px}
.journal-secondary h2{margin:13px 0 17px;font-size:23px;line-height:1.2;font-weight:600}
.journal-secondary p{margin:0;font-size:14px;line-height:1.55;color:#6a6e73}
.journal-topics{padding:94px 0;background:#edf0f0;border-top:1px solid #d8ddde}
.journal-topics-layout{display:grid;grid-template-columns:.65fr 1.35fr;gap:100px}
.journal-topics h2{margin:0 0 20px;font-size:38px;font-weight:400}
.journal-topics p{max-width:370px;margin:0;color:#696d72}
.journal-topic-list{border-top:1px solid #9fa6a9}
.journal-topic-list a{display:grid;grid-template-columns:.62fr 1.38fr;gap:35px;padding:22px 0;border-bottom:1px solid #bcc2c4;transition:padding-left .2s ease}
.journal-topic-list a:hover{padding-left:10px}
.journal-topic-list strong{font-family:'Archivo',Arial,sans-serif;font-size:16px;color:var(--graphite)}
.journal-topic-list span{font-size:15px;color:#666a6f}

.article-byline{align-items:flex-start;justify-content:space-between;line-height:1.5}
.article-byline span{max-width:48%}
.article-byline strong{font-weight:600;color:#41454a}
.article-service-link{display:flex;align-items:flex-start;justify-content:space-between;gap:40px;margin:58px 0 0!important;padding:24px 0;border-top:1px solid #aeb5b7;border-bottom:1px solid #d6dbdc}
.article-service-link span{font-family:'Archivo',Arial,sans-serif;font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:#73777c}
.article-service-link a{max-width:460px;font-family:'Archivo',Arial,sans-serif;font-size:15px;font-weight:600;color:#31353a}
.article-service-link a:hover{text-decoration:underline;text-decoration-color:var(--yellow);text-decoration-thickness:3px;text-underline-offset:4px}
.breadcrumb--article+.article-page,.article-page>.breadcrumb+article{margin-top:0}
.article-page>.breadcrumb+article .article-header{padding-top:60px}

.institutional-contact{position:relative;overflow:hidden;padding:0;background-color:#f4f6f6;background-image:linear-gradient(rgba(48,56,62,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(48,56,62,.045) 1px,transparent 1px);background-size:34px 34px;border-top:1px solid #d9dfe0}
.institutional-contact::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(244,246,246,.72),rgba(244,246,246,.94));pointer-events:none}
.institutional-contact .contact-box{position:relative;z-index:1;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);gap:110px;padding:92px 0 88px;background:transparent;border-left:0}
.institutional-contact .contact-box>div:first-child{position:relative;padding-top:25px}
.institutional-contact .contact-box>div:first-child::before{content:'';position:absolute;top:0;left:0;width:64px;height:3px;background:var(--yellow)}
.institutional-contact .contact-box>div:first-child>p:last-child{font-size:17px;line-height:1.72}
.institutional-contact .contact-actions{display:grid;grid-template-columns:1fr 1fr;align-content:center;border-top:1px solid #aeb5b7}
.institutional-contact .contact-actions>a{padding:18px 0;font-size:13px;font-weight:500}
.institutional-contact .contact-actions>a:nth-child(3){padding-left:30px;border-left:1px solid var(--line)}
.institutional-contact .contact-actions .contact-primary{grid-column:1/-1;align-items:center;padding:22px 0;border-bottom:1px solid #aeb5b7;font-size:19px;font-weight:600}
.institutional-contact .contact-actions .contact-primary span{font-size:22px;color:#806b00}

.contact-prep>p:not(.contact-note){font-size:17px;line-height:1.7;color:#62666b}
.contact-assurance{background:#1c1e22}

.legal-header{padding:72px 0 78px;background:#f3f5f5;border-bottom:1px solid #d8ddde}
.legal-header h1{margin:0 0 18px;font-size:clamp(45px,5.5vw,68px);font-weight:400}
.legal-header>div>p:last-child{margin:0;color:#74787d}
.legal-content{max-width:780px;padding-top:82px;padding-bottom:110px}
.legal-content h2{margin:55px 0 18px;font-size:28px;font-weight:600}
.legal-content p{font-size:18px;line-height:1.76;color:#565a5f}
.legal-content a{text-decoration:underline;text-decoration-color:var(--yellow);text-decoration-thickness:3px;text-underline-offset:4px}

@media(max-width:980px){
  .technical-leadership-heading,.company-practice-layout,.confidentiality-layout,.contact-assurance-layout,.journal-hero-layout,.journal-topics-layout{gap:58px}
  .technical-profile--sidney{grid-template-columns:1fr;gap:35px}
  .journal-lead-layout{grid-template-columns:1fr}.journal-index-note{max-width:520px}
  .journal-lead{grid-template-columns:1fr 1fr}
  .journal-secondary>a{grid-template-columns:1fr}.journal-secondary figure{height:250px}
}

@media(max-width:760px){
  .breadcrumb{padding-top:92px}
  .institutional-hero{padding:54px 0 70px}
  .technical-leadership-heading,.company-practice-layout,.confidentiality-layout,.contact-assurance-layout,.journal-hero-layout,.journal-topics-layout{grid-template-columns:1fr;gap:35px}
  .technical-profile-grid{grid-template-columns:1fr}.technical-profile,.technical-profile:first-child{padding:34px 0;border-right:0}.technical-profile+.technical-profile{border-top:1px solid #aeb5b7}
  .journal-hero{padding:58px 0 72px}.journal-hero h1{font-size:50px}
  .journal-lead{grid-template-columns:1fr}.journal-lead figure{height:360px}.journal-lead>div{padding:42px 30px}
  .journal-secondary{grid-template-columns:1fr}
  .journal-topic-list a{grid-template-columns:1fr;gap:7px}
  .article-byline span{max-width:none}
  .institutional-contact .contact-box{grid-template-columns:1fr;gap:48px;padding:76px 0 72px}
}

@media(max-width:560px){
  .breadcrumb{padding:86px 0 14px}.breadcrumb .wrap{overflow:hidden;white-space:nowrap}
  .institutional-hero{background-size:24px 24px}
  .technical-leadership-heading h2,.company-practice h2,.confidentiality-band h2,.contact-assurance h2{font-size:34px}
  .technical-profile h3{font-size:25px}
  .confidentiality-band,.contact-assurance{padding:64px 0}
  .journal-hero h1{font-size:42px}.journal-hero-layout>div:last-child p{font-size:17px}
  .journal-lead figure{height:290px}.journal-lead>div{padding:34px 22px}.journal-lead h2{font-size:29px}
  .journal-secondary{margin-top:50px}.journal-secondary figure{height:220px}.journal-secondary a>div{padding:25px 20px}
  .journal-topics{padding:70px 0}
  .article-service-link{flex-direction:column;gap:15px}
  .institutional-contact{background-size:24px 24px}
  .institutional-contact .contact-box{gap:38px;padding:62px 0 58px}
  .institutional-contact .contact-actions{grid-template-columns:1fr}
  .institutional-contact .contact-actions>a:nth-child(3){padding-left:0;border-left:0}
  .institutional-contact .contact-actions .contact-primary{font-size:17px}
  .legal-content{padding-top:58px;padding-bottom:78px}.legal-content p{font-size:17px}
}

/* Solution architecture */
.scope-index{background:#fff}
.scope-index-intro{display:grid;grid-template-columns:.82fr 1.18fr;gap:105px;align-items:start;margin-bottom:70px}
.scope-index-intro h2,.scope-integration h2,.service-intro h2,.risk-map h2,.service-evidence h2,.design-criteria h2,.service-gallery h2,.service-delivery h2,.control-architecture h2,.panel-capabilities h2,.implementation-route h2,.document-difference h2,.document-cycle h2,.validation-evidence h2,.training-programs h2,.training-standards h2{margin:0;font-size:clamp(36px,4.3vw,53px);font-weight:400}
.scope-index-intro p,.scope-integration p{margin:3px 0 0;font-size:18px;line-height:1.75;color:#5e6267}
.scope-index-list{border-top:1px solid #aeb5b7}
.scope-index-item{position:relative;display:grid;grid-template-columns:55px minmax(0,1fr) 220px 30px;gap:35px;align-items:center;min-height:190px;padding:22px 0;border-bottom:1px solid #cbd0d1;transition:background .2s ease,padding .2s ease}
.scope-index-item:hover{padding-right:15px;padding-left:15px;background:#f5f7f7}
.scope-index-item>span{align-self:start;padding-top:11px;font-family:'Archivo',Arial,sans-serif;font-size:10px;font-weight:700;letter-spacing:.15em;color:#777b80}
.scope-index-item h3{margin:0 0 13px;font-size:27px;font-weight:600}
.scope-index-item p{max-width:700px;margin:0;font-size:15.5px;line-height:1.58;color:#666a6f}
.scope-index-item img{width:220px;height:145px;object-fit:cover;filter:grayscale(.92);transition:filter .25s ease}
.scope-index-item:hover img{filter:grayscale(.25)}
.scope-index-item>i{font-style:normal;font-size:23px;color:#8a7400}
.scope-index-item--featured{min-height:245px}
.scope-index-item--featured img{height:195px}
.scope-integration{padding:96px 0;background:#1b1d21;color:#c6c9ce}
.scope-integration-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:105px}
.scope-integration h2{color:#fff}
.scope-integration p{color:#c6c9ce}
.scope-integration p+p{margin-top:24px}

.service-hero{padding:58px 0 0;background:#eef1f1;border-bottom:1px solid #d8ddde}
.service-hero-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:72px;align-items:center}
.service-hero-layout>div{padding:50px 0 94px}
.service-hero h1{max-width:680px;margin:0;font-size:clamp(45px,5.1vw,66px);font-weight:400;line-height:1.03}
.service-hero-layout>div>p:last-child{max-width:620px;margin:28px 0 0;font-size:18px;line-height:1.68;color:#5c6065}
.service-hero figure{align-self:stretch;margin:0;min-height:590px}
.service-hero img{width:100%;height:100%;object-fit:cover;filter:grayscale(.6)}
.service-hero--photo img{object-position:center}
.service-hero--wide img{object-position:center 44%}
.service-hero--document img{filter:grayscale(.25)}
.service-intro{background:#fff}
.service-intro-layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:110px}
.service-intro-layout>div:last-child p{max-width:740px;margin:0;font-size:18px;line-height:1.8;color:#5b5f64}
.service-intro-layout>div:last-child p+p{margin-top:28px}

.risk-map,.design-criteria,.control-architecture,.implementation-route,.document-difference,.training-programs{background:#edf0f0;border-top:1px solid #d9dfe0;border-bottom:1px solid #d6dcdd}
.risk-map-heading,.service-gallery-heading,.implementation-route-heading,.document-difference-heading{display:grid;grid-template-columns:.82fr 1.18fr;gap:105px;align-items:end;margin-bottom:66px}
.risk-map-heading>p,.service-gallery-heading>p,.implementation-route-heading>p,.document-difference-heading>p{max-width:630px;margin:0 0 4px;font-size:17px;line-height:1.68;color:#64686d}
.risk-map-flow,.control-architecture-map,.document-cycle-line{display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr auto;gap:16px;align-items:center;padding:26px 0;border-top:1px solid #aeb5b7;border-bottom:1px solid #aeb5b7}
.risk-map-flow span,.document-cycle-line span{max-width:170px;font-family:'Archivo',Arial,sans-serif;font-size:13px;font-weight:600;line-height:1.35;text-align:center;color:#34383d}
.risk-map-flow i,.control-architecture-map i,.document-cycle-line i{height:2px;background:var(--yellow);position:relative}
.risk-map-flow i::after,.control-architecture-map i::after,.document-cycle-line i::after{content:'';position:absolute;right:0;top:-3px;width:7px;height:7px;border-top:2px solid #7a6500;border-right:2px solid #7a6500;transform:rotate(45deg)}

.service-evidence{background:#fff}
.service-evidence-layout{display:grid;grid-template-columns:1.08fr .92fr;gap:90px;align-items:center}
.service-evidence-layout.reverse{grid-template-columns:.95fr 1.05fr}
.service-evidence-layout.reverse figure{order:2}
.service-evidence figure{margin:0}
.service-evidence img{width:100%;height:600px;object-fit:cover;filter:grayscale(.55)}
.service-evidence h2{margin-bottom:34px}
.service-evidence p{margin:0;font-size:17px;line-height:1.75;color:#5d6166}
.service-evidence p+p{margin-top:25px}

.service-delivery{background:#f5f6f6}
.service-delivery-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:105px;align-items:start}
.service-delivery-layout>div>p{max-width:440px;margin:25px 0 0;color:#65696e}
.service-delivery dl,.design-criteria dl,.panel-capabilities dl,.validation-evidence dl{margin:0;border-top:1px solid #aeb5b7}
.service-delivery dl>div,.design-criteria dl>div,.panel-capabilities dl>div,.validation-evidence dl>div{display:grid;grid-template-columns:170px 1fr;gap:35px;padding:22px 0;border-bottom:1px solid #cbd0d1}
.service-delivery dt,.design-criteria dt,.panel-capabilities dt,.validation-evidence dt{font-family:'Archivo',Arial,sans-serif;font-size:14px;font-weight:600;color:#31353a}
.service-delivery dd,.design-criteria dd,.panel-capabilities dd,.validation-evidence dd{margin:0;font-size:15.5px;line-height:1.62;color:#64686d}

.design-criteria-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:105px}
.design-criteria-layout>div>p{max-width:430px;margin:25px 0 0;color:#65696e}
.service-gallery{background:#1a1c20;color:#bec1c6;padding-bottom:0}
.service-gallery h2{color:#fff}
.service-gallery-heading{align-items:end}
.service-gallery-heading>p{color:#aeb1b7}
.service-gallery-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-template-rows:300px 300px;gap:6px;padding:0 6px 6px}
.service-gallery-grid img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);opacity:.88}
.service-gallery-grid img:first-child{grid-row:1/3}
.service-gallery-grid img:nth-child(2){grid-column:2/4}

.breadcrumb--dark{background:#15171b;border-color:#303238;color:#aeb1b7}
.breadcrumb--dark .wrap,.breadcrumb--dark a{color:#b8bbc0}
.panel-service-hero{position:relative;min-height:720px;display:flex;align-items:flex-end;background:#15171b;overflow:hidden}
.panel-service-bg{position:absolute;inset:0;background:url('/editorial/panel-mosaic.webp') center/cover no-repeat;filter:grayscale(1) contrast(1.08);opacity:.67}
.panel-service-hero::after{content:'';position:absolute;inset:0;background:rgba(12,14,17,.55)}
.panel-service-copy{position:relative;z-index:1;padding:110px 0;color:#d2d4d8}
.panel-service-copy .eyebrow{color:#c3c6ca}
.panel-service-copy h1{max-width:820px;margin:0;font-size:clamp(47px,5.7vw,72px);font-weight:400;color:#fff}
.panel-service-copy>p:last-child{max-width:650px;margin:30px 0 0;font-size:19px;line-height:1.68}
.control-architecture-layout{display:grid;grid-template-columns:.62fr 1.38fr;gap:85px;align-items:center}
.control-architecture-copy p{margin:25px 0 0;color:#666a6f}
.control-architecture-map{grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;border:0;padding:0}
.control-architecture-map>div{min-height:165px;padding:28px 22px;background:#fff;border:1px solid #b8bec0}
.control-architecture-map span{display:block;margin-bottom:20px;font-family:'Archivo',Arial,sans-serif;font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:#7a7e83}
.control-architecture-map strong{font-family:'Archivo',Arial,sans-serif;font-size:15px;line-height:1.35;color:#373b40}
.control-architecture-map i{width:34px}
.panel-capabilities{background:#fff}
.panel-capabilities-layout{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}
.panel-capabilities figure{margin:0}
.panel-capabilities img{width:100%;height:660px;object-fit:cover;filter:grayscale(.65)}
.panel-capabilities h2{margin-bottom:28px}
.panel-capabilities p{margin:0 0 35px;font-size:17px;line-height:1.72;color:#5e6267}
.panel-capabilities dl>div{grid-template-columns:110px 1fr}

.implementation-route-heading{align-items:end}
.implementation-route-line{display:grid;grid-template-columns:repeat(4,1fr);border-top:2px solid #aeb5b7}
.implementation-route-line article{position:relative;padding:35px 34px 5px 0}
.implementation-route-line article+article{padding-left:34px;border-left:1px solid #c1c7c8}
.implementation-route-line article::before{content:'';position:absolute;top:-8px;left:0;width:14px;height:14px;background:var(--yellow);transform:rotate(45deg)}
.implementation-route-line article+article::before{left:34px}
.implementation-route-line span{font-family:'Archivo',Arial,sans-serif;font-size:9px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:#72767b}
.implementation-route-line h3{margin:14px 0 13px;font-size:20px;font-weight:600}
.implementation-route-line p{margin:0;font-size:14.5px;line-height:1.58;color:#666a6f}

.document-difference-heading{align-items:end}
.document-difference-columns{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #aeb5b7;border-bottom:1px solid #aeb5b7}
.document-difference-columns article{padding:40px 50px 43px 0}
.document-difference-columns article+article{padding-left:50px;border-left:1px solid #aeb5b7}
.document-difference-columns h3{margin:0 0 20px;font-size:26px;font-weight:600}
.document-difference-columns p{margin:0;font-size:17px;line-height:1.72;color:#5e6267}
.document-cycle{background:#fff}
.document-cycle h2{margin-bottom:55px}
.document-cycle-line{grid-template-columns:auto 1fr auto 1fr auto 1fr auto 1fr auto 1fr auto}
.document-cycle>div>p{max-width:820px;margin:40px auto 0;font-size:17px;line-height:1.72;text-align:center;color:#62666b}
.validation-evidence{background:#f5f6f6}
.validation-evidence-layout{display:grid;grid-template-columns:1fr .8fr;gap:95px}
.validation-evidence h2{margin-bottom:30px}
.validation-evidence p{margin:0;font-size:17px;line-height:1.73;color:#5e6267}
.validation-evidence p+p{margin-top:24px}
.validation-evidence dl>div{grid-template-columns:1fr}

.training-service-hero{position:relative;min-height:760px;display:flex;align-items:flex-end;overflow:hidden;background:#181a1e}
.training-service-hero figure{position:absolute;inset:0;margin:0}
.training-service-hero img{width:100%;height:100%;object-fit:cover;filter:grayscale(.2) brightness(.58)}
.training-service-hero::after{content:'';position:absolute;inset:0;background:rgba(14,15,18,.38)}
.training-service-copy{position:relative;z-index:1;padding-bottom:96px;color:#d6d8dc}
.training-service-copy .eyebrow{color:#d4d6da}
.training-service-copy h1{max-width:850px;margin:0;font-size:clamp(47px,5.8vw,73px);font-weight:400;color:#fff}
.training-service-copy>p:last-child{max-width:660px;margin:29px 0 0;font-size:19px;line-height:1.68}
.training-programs-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:100px}
.training-programs-layout>div:first-child>p{max-width:440px;margin:25px 0 0;color:#666a6f}
.training-program-list{border-top:1px solid #aeb5b7}
.training-program-list article{display:grid;grid-template-columns:.7fr 1.3fr;gap:40px;padding:24px 0;border-bottom:1px solid #c5cbcc}
.training-program-list h3{margin:0;font-size:18px;font-weight:600}
.training-program-list p{margin:0;font-size:15.5px;line-height:1.6;color:#62666b}
.training-standards{padding:90px 0;background:#1b1d21;color:#c8cbd0}
.training-standards-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:105px}
.training-standards h2{color:#fff}
.training-standards p{margin:3px 0 0;font-size:18px;line-height:1.76}

@media(max-width:980px){
  .scope-index-intro,.scope-integration-layout,.service-intro-layout,.risk-map-heading,.service-gallery-heading,.implementation-route-heading,.document-difference-heading,.design-criteria-layout,.service-delivery-layout,.training-programs-layout,.training-standards-layout{gap:60px}
  .scope-index-item{grid-template-columns:45px minmax(0,1fr) 180px 25px}.scope-index-item img{width:180px}
  .service-hero-layout{gap:45px}.service-hero figure{min-height:520px}
  .control-architecture-layout{grid-template-columns:1fr;gap:55px}.control-architecture-map{grid-template-columns:1fr auto 1fr auto 1fr auto 1fr}
  .panel-capabilities-layout,.service-evidence-layout,.service-evidence-layout.reverse,.validation-evidence-layout{gap:55px}
}

@media(max-width:760px){
  .scope-index-intro,.scope-integration-layout,.service-intro-layout,.risk-map-heading,.service-gallery-heading,.implementation-route-heading,.document-difference-heading,.design-criteria-layout,.service-delivery-layout,.training-programs-layout,.training-standards-layout,.panel-capabilities-layout,.service-evidence-layout,.service-evidence-layout.reverse,.validation-evidence-layout{grid-template-columns:1fr;gap:38px}
  .scope-index-item{grid-template-columns:35px 1fr 24px;gap:20px;padding:25px 0}.scope-index-item img{display:none}.scope-index-item>i{grid-column:3;grid-row:1/2}
  .service-hero{padding-top:0}.service-hero-layout{grid-template-columns:1fr}.service-hero-layout>div{padding:62px 0 15px}.service-hero figure{min-height:390px}
  .risk-map-flow,.document-cycle-line{position:relative;grid-template-columns:1fr;gap:0;padding:0 0 0 30px;border:0}.risk-map-flow span,.document-cycle-line span{max-width:none;padding:17px 0;text-align:left;border-bottom:1px solid #cbd0d1}.risk-map-flow span::before,.document-cycle-line span::before{content:'';position:absolute;left:1px;width:10px;height:10px;background:var(--yellow);transform:translateY(7px) rotate(45deg)}.risk-map-flow i,.document-cycle-line i{display:none}
  .service-evidence-layout.reverse figure{order:0}.service-evidence img,.panel-capabilities img{height:480px}
  .service-gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:260px 210px}.service-gallery-grid img:first-child{grid-column:1/3;grid-row:1}.service-gallery-grid img:nth-child(2){grid-column:auto}
  .control-architecture-map{grid-template-columns:1fr;gap:0}.control-architecture-map>div{min-height:0}.control-architecture-map i{width:2px;height:28px;margin:0 auto}.control-architecture-map i::after{right:-3px;top:auto;bottom:0;transform:rotate(135deg)}
  .implementation-route-line{grid-template-columns:1fr;padding-left:24px;border-top:0;border-left:2px solid #aeb5b7}.implementation-route-line article,.implementation-route-line article+article{padding:0 0 38px 28px;border-left:0}.implementation-route-line article::before,.implementation-route-line article+article::before{top:4px;left:-31px}
  .document-difference-columns{grid-template-columns:1fr}.document-difference-columns article,.document-difference-columns article+article{padding:32px 0;border-left:0}.document-difference-columns article+article{border-top:1px solid #aeb5b7}
  .training-service-hero{min-height:650px}.training-program-list article{grid-template-columns:1fr;gap:10px}
}

@media(max-width:560px){
  .scope-index-intro h2,.scope-integration h2,.service-intro h2,.risk-map h2,.service-evidence h2,.design-criteria h2,.service-gallery h2,.service-delivery h2,.control-architecture h2,.panel-capabilities h2,.implementation-route h2,.document-difference h2,.document-cycle h2,.validation-evidence h2,.training-programs h2,.training-standards h2{font-size:34px}
  .scope-index-item h3{font-size:22px}.scope-index-item p{font-size:14.5px}
  .service-hero h1,.panel-service-copy h1,.training-service-copy h1{font-size:40px}
  .service-hero figure{min-height:310px}
  .service-intro-layout>div:last-child p{font-size:17px}
  .service-delivery dl>div,.design-criteria dl>div,.panel-capabilities dl>div{grid-template-columns:1fr;gap:7px}
  .service-evidence img,.panel-capabilities img{height:390px}
  .panel-service-hero{min-height:650px}.panel-service-copy{padding:88px 0}
  .training-service-hero{min-height:610px}.training-service-copy{padding-bottom:70px}
}
