:root{color:#142126;--ink:#10242d;--muted:#536773;--panel:#fff;--line:#dce7ed;--navy:#092532;--brand-blue:#a9defb;--brand-blue-strong:#5bbbe9;--brand-blue-deep:#207ea8;font-synthesis:none;text-rendering:optimizelegibility;background:#f5f8fa;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;margin:0}a{color:inherit;text-decoration:none}img{display:block}.site-header{z-index:10;background:#f4f6f5f0;border-bottom:1px solid #1421261f;justify-content:space-between;align-items:center;padding:16px clamp(18px,5vw,72px);display:flex;position:fixed;top:0;left:0;right:0}.brand{align-items:center;gap:12px;min-width:0;display:inline-flex}.brand-mark{background:#071d26;border-radius:7px;justify-content:center;align-items:center;width:46px;height:46px;padding:5px;display:inline-flex;overflow:hidden}.brand-mark img{object-fit:contain;width:100%;height:100%}.brand strong{color:#10262d;letter-spacing:0;white-space:nowrap;font-size:1rem}nav{gap:clamp(12px,2vw,28px);display:flex}nav a{color:#20343a;font-size:.92rem;font-weight:760}.hero{align-items:center;min-height:92vh;padding:126px clamp(20px,6vw,84px) 70px;display:flex;position:relative;overflow:hidden}.hero-image,.hero-overlay{position:absolute;inset:0}.hero-image{object-fit:cover;object-position:64% center;width:100%;height:100%}.hero-content{color:#fff;z-index:1;max-width:790px;position:relative}.hero-content:before{content:"";opacity:.08;z-index:-1;background-image:url(/fb-service-logo.png);background-position:50%;background-repeat:no-repeat;background-size:contain;width:150px;height:150px;position:absolute;top:-56px;left:-26px}.eyebrow{color:var(--brand-blue);letter-spacing:0;text-transform:uppercase;align-items:center;margin:0 0 18px;font-size:.8rem;font-weight:850;display:inline-flex}.eyebrow.dark{color:var(--brand-blue-deep)}h1,h2,h3,p{margin-top:0}h1{letter-spacing:0;max-width:760px;margin-bottom:26px;font-size:clamp(3.1rem,6.4vw,6.8rem);line-height:.94}.hero-copy{color:#ffffffe0;max-width:710px;font-size:clamp(1.06rem,2vw,1.32rem)}.hero-actions{flex-wrap:wrap;gap:14px;margin-top:34px;display:flex}.button{border-radius:7px;justify-content:center;align-items:center;gap:10px;min-height:48px;padding:13px 18px;font-weight:850;display:inline-flex}.button.primary{color:#062533;background:linear-gradient(135deg,#bfeeff,#6ec6ef);box-shadow:0 16px 34px #3a97c138}.button.secondary{color:#fff;border:1px solid #ffffff6b}.button.full{width:100%;margin-top:10px}.sector-strip{background:var(--panel);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.sector-strip a{border-right:1px solid var(--line);color:#17313d;justify-content:center;align-items:center;gap:12px;min-height:92px;padding:20px;font-size:1.02rem;font-weight:860;transition:background .18s,color .18s;display:flex}.sector-strip a:hover{color:#155f82;background:#eaf6fb}.sector-strip svg{color:var(--brand-blue-deep)}.section,.gallery-band,.team-section,.method,.contact-band{padding:86px clamp(20px,6vw,84px)}.section-heading{max-width:820px}h2{color:var(--ink);letter-spacing:0;margin-bottom:24px;font-size:clamp(2rem,4vw,3.36rem);line-height:1.05}.about-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;max-width:1050px;margin-top:24px;display:grid}.about-grid p,.method-copy p,.contact-band p,.service-card p,.numbers p,.team-card p{color:var(--muted)}.about-grid p{font-size:1.08rem}.numbers{background:var(--panel);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.numbers div{border-right:1px solid var(--line);padding:34px clamp(18px,3vw,46px)}.metric{color:var(--brand-blue-deep);margin-bottom:12px;font-size:clamp(2rem,4vw,3rem);font-weight:950;line-height:1;display:block}.numbers p{margin:0}.service-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:38px;display:grid}.service-card,.team-card{background:var(--panel);border:1px solid var(--line);border-radius:8px;min-height:288px;padding:28px}.icon-box{color:var(--brand-blue-deep);background:#eaf6fb;border-radius:8px;justify-content:center;align-items:center;width:52px;height:52px;margin-bottom:28px;display:inline-flex}h3{color:var(--ink);margin-bottom:14px;font-size:1.22rem}.gallery-band{color:#fff;background:linear-gradient(135deg,#a9defb14,#0000 35%),#102936}.gallery-band h2{color:#fff}.gallery-copy{max-width:760px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:38px;display:grid}figure{background:#ffffff12;border:1px solid #b9e6ff29;border-radius:8px;margin:0;overflow:hidden}.photo-frame{background:#0f2b39;position:relative;overflow:hidden}.photo-frame:after{content:"";pointer-events:none;background:linear-gradient(#ffffff14,#0b242a57),linear-gradient(90deg,#07213052,#a9defb1a);position:absolute;inset:0}.photo-frame img{aspect-ratio:16/9;filter:saturate(.72)contrast(1.02)brightness(.82);object-fit:cover;width:100%;height:auto;transform:scale(1.02)}figcaption{color:#ffffffd1;padding:14px 16px 16px;font-weight:800}.method{background:#eaf1f4;grid-template-columns:1fr 1fr;align-items:center;gap:54px;display:grid}.method-copy p{max-width:650px;font-size:1.05rem}.check-list,.site-list{gap:14px;display:grid}.check-item,.site-list div{background:var(--panel);color:#183238;border:1px solid #207ea824;border-radius:8px;align-items:center;gap:12px;min-height:62px;padding:18px;font-weight:760;display:flex}.check-item svg,.site-list svg{color:var(--brand-blue-deep);flex:none}.work-sites{background:#f5f8fa}.site-list{max-width:980px;margin-top:34px}.team-section{background:var(--panel)}.team-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:38px;display:grid}.team-card{min-height:230px}.team-card a{color:var(--brand-blue-deep);overflow-wrap:anywhere;margin-top:10px;font-weight:800;display:block}.contact-band{color:#fff;background:linear-gradient(135deg,#a9defb24,#0000 36%),#092532;grid-template-columns:1.2fr .8fr;align-items:center;gap:48px;display:grid}.contact-band h2{color:#fff}.contact-band p{color:#ffffffbd;max-width:720px;font-size:1.05rem}.contact-panel{background:#ffffff14;border:1px solid #ffffff29;border-radius:8px;gap:14px;padding:24px;display:grid}.contact-panel a,.contact-panel span{overflow-wrap:anywhere;align-items:center;gap:12px;min-width:0;display:flex}footer{color:#ffffffb8;background:#061922;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:24px clamp(20px,6vw,84px);display:flex}footer span{align-items:center;gap:8px;display:inline-flex}.footer-brand img{object-fit:contain;width:28px;height:28px}.sector-hero{background:radial-gradient(circle at 92% 10%,#a9defb33,#0000 30%),#f5f8fa;grid-template-columns:1.05fr .95fr;align-items:center;gap:54px;min-height:92vh;padding:132px clamp(20px,6vw,84px) 76px;display:grid}.sector-hero-copy{max-width:780px}.back-link{color:var(--brand-blue-deep);align-items:center;gap:8px;margin-bottom:38px;font-weight:850;display:inline-flex}.sector-image-card{opacity:.92;background:#0f2b39;border-color:#10262d29;box-shadow:0 22px 60px #0a21272e}.sector-image-card .photo-frame img{aspect-ratio:16/10;filter:saturate(.65)contrast()brightness(.78)}.sector-detail{background:#fff;padding:86px clamp(20px,6vw,84px)}.detail-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:38px;display:grid}.detail-grid article{border:1px solid var(--line);background:#f4f9fb;border-radius:8px;min-height:190px;padding:24px}.detail-grid svg{color:var(--brand-blue-deep);margin-bottom:24px}.detail-grid p{color:#34484e;margin:0;font-weight:720}@media (max-width:1120px){.service-grid,.team-grid,.detail-grid,.gallery-grid,.numbers{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:820px){.site-header{align-items:flex-start;gap:14px;position:absolute}nav{flex-wrap:wrap;justify-content:flex-end}.hero{min-height:88vh;padding-top:154px}.hero-overlay{background:linear-gradient(90deg,#082a32f7,#082a32c7),linear-gradient(#06151914,#06151994)}.about-grid,.sector-hero,.method,.contact-band{grid-template-columns:1fr}.sector-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.site-header{padding:16px}.brand strong{white-space:normal;max-width:160px}nav{gap:10px;font-size:.9rem}h1{font-size:3rem}.hero-actions,.button,.service-grid,.team-grid,.gallery-grid,.numbers,.detail-grid{grid-template-columns:1fr;width:100%}.button{width:100%}}:root{--ink:#11181d;--muted:#586169;--line:#dce4eb;--brand-blue-deep:#006da1;color:var(--ink);background:#f6f8fc}html{scroll-padding-top:100px}.site-header{background:#fff;gap:28px;padding:14px max(24px,50% - 620px);position:sticky}.brand-mark{background:#121a20;border-radius:0;width:38px;height:38px}.brand strong{font-size:.95rem}nav{align-items:center;gap:24px}nav a{font-size:.875rem;font-weight:500}.nav-contact{color:#fff;background:#11181d;padding:10px 15px}a:focus-visible{outline-offset:5px;outline:3px solid #008dcc}.hero{min-height:690px;padding:70px max(24px,50% - 620px) 68px}.hero-overlay{background:linear-gradient(90deg,#0c1216f0,#0c121694 60%,#0c121626)}.hero-content{max-width:820px}.hero-content:before{display:none}h1{max-width:830px;font-size:4.5rem;font-weight:750;line-height:1.04}.hero-copy{max-width:630px;font-size:1.125rem}.eyebrow,.technical-label{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.75rem;font-weight:500}.eyebrow{margin-bottom:20px}.button{box-shadow:none;border-radius:0;min-height:46px;font-size:.875rem}.button.primary{color:#fff;box-shadow:none;background:#006f9f}.button.primary:hover{background:#00577e}.button svg:last-child{display:none}.sector-strip{border-bottom:1px solid var(--line);background:#eaf1fc;padding-inline:max(24px,50% - 620px)}.sector-strip a{min-height:68px;font-size:.95rem;font-weight:600}.sector-strip a svg:last-child{display:none}.section,.gallery-band,.team-section,.method,.contact-band,.sector-detail{padding:70px max(24px,50% - 620px)}h2{max-width:770px;font-size:2.25rem;font-weight:650;line-height:1.15}h3{font-size:1.125rem;font-weight:600;line-height:1.35}p{line-height:1.7}.about{padding-bottom:36px}.about-grid{max-width:none}.numbers{border-block:1px solid var(--line);width:auto;margin-inline:max(24px,50% - 620px)}.numbers div{padding:28px}.metric{color:#11181d;font-size:3rem;font-weight:650}.numbers p{font-size:.875rem}.service-card,.team-card,.detail-grid article{border:0;border-top:2px solid #b9d9ec;border-radius:0;padding:24px}.service-card{min-height:275px}.icon-box{background:#e8f2fc;border-radius:0;width:40px;height:40px;margin-bottom:24px}.division-section{background:#eaf0fc}.division-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:32px;display:grid}.division-card{background:#fff;border-top:2px solid #0000;flex-direction:column;min-width:0;padding:24px;transition:border-color .2s;display:flex}.division-card:hover{border-color:#006f9f}.technical-label{color:#586169;margin-bottom:28px;display:block}.division-card>svg{color:#006f9f;margin-bottom:18px}.division-card p{color:var(--muted);font-size:1rem}.division-link{color:#006f9f;border-top:1px solid #dce4eb;margin-top:auto;padding-top:18px;font-size:.875rem;display:block}.process-section{background:#f6f8fc}.process-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:36px;display:grid}.process-grid article{border-top:1px solid #bac8d2;padding-top:24px}.step-number{color:#006da1;margin-bottom:24px;font-family:ui-monospace,Consolas,monospace;display:block}.process-grid p{color:var(--muted);font-size:1rem}.gallery-band .process-grid h3{color:#fff}.gallery-band .process-grid p{color:#c7d0d7}.gallery-band .step-number{color:#a9defb}.gallery-band{background:#171e24}.gallery-band .eyebrow{color:#acdfff}.gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}figure{border:0;border-radius:0}.photo-frame img{filter:saturate(.65)brightness(.9);aspect-ratio:4/3;object-fit:cover;transform:none}.work-photo img{filter:saturate(.88)contrast(1.02);object-position:center 48%;width:100%;height:auto}.work-photo:after{background:#1631430a}.work-gallery{border-top:1px solid var(--line);margin-top:42px;padding-top:28px}.work-gallery>h3{margin-bottom:24px}.work-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.work-photo-grid figure{background:0 0;min-width:0}.work-photo-grid .work-photo img{aspect-ratio:3/4}.work-photo-grid figcaption{color:var(--muted);padding:14px 0 0}figcaption{font-size:.875rem;font-weight:500}.method{background:#eaf0fc;align-items:start}.check-item,.site-list div{border-radius:0;font-weight:500}.site-list{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none}.contact-band{background:#171e24}.contact-panel{background:0 0;border:0;border-radius:0;padding:0}footer{color:#586169;border-top:1px solid var(--line);background:#fff;padding:32px max(24px,50% - 620px);font-size:.875rem}.footer-brand{color:#11181d;font-weight:600}.footer-brand img{background:#11181d;padding:3px}.sector-hero{background:#171e24;min-height:610px;padding:65px max(24px,50% - 620px);display:flex;position:relative;overflow:hidden}.sector-hero-copy{z-index:2;max-width:840px;position:relative}.sector-hero-copy h1{color:#fff;font-size:3.75rem;line-height:1.08}.sector-hero-copy p:not(.eyebrow){color:#d6dfe5;max-width:650px;font-size:1.0625rem}.back-link{color:#b0dcf5;margin-bottom:25px;font-size:.875rem}.sector-eyebrow{gap:10px;display:flex;color:#a9defb!important}.sector-image-card{opacity:.4;box-shadow:none;position:absolute;inset:0}.sector-image-card .photo-frame{height:100%}.sector-image-card .photo-frame img{object-fit:cover;filter:saturate(.5);width:100%;height:100%}.sector-image-card .photo-frame:after{background:linear-gradient(90deg,#171e24,#171e2459)}.sector-detail{background:#eaf0fc}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-grid article{background:#fff;min-height:170px}.detail-grid p{font-weight:400}.sector-table{border-collapse:collapse;width:100%;margin-top:30px}.sector-table th,.sector-table td{text-align:left;border-bottom:1px solid #dce4eb;padding:18px;font-size:.9375rem}.sector-table th{color:#fff;background:#171e24;font-weight:500}.sector-table td:first-child{font-weight:600}@media (max-width:1120px){.division-grid,.process-grid,.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-header{flex-wrap:wrap;gap:16px}nav{gap:18px}h1{font-size:3.75rem}}@media (max-width:820px){.site-header{align-items:center;position:relative}nav{justify-content:flex-start}.hero{min-height:620px;padding-top:60px}.hero-overlay{background:#0c1216bf}.sector-hero{min-height:620px}.sector-hero-copy h1{font-size:3rem}.method,.contact-band{gap:30px}}@media (max-width:560px){h1{font-size:2.625rem}h2{font-size:1.875rem}.site-header{padding:16px 20px}.brand strong{max-width:none}nav{gap:14px;width:100%}nav a{font-size:.875rem}.nav-contact{padding:8px 10px}.section,.gallery-band,.team-section,.method,.contact-band,.sector-detail{padding:48px 20px}.hero{min-height:640px;padding:48px 20px}.hero-copy{font-size:1rem}.division-grid,.process-grid,.gallery-grid,.detail-grid,.site-list,.work-photo-grid{grid-template-columns:1fr}.numbers{grid-template-columns:repeat(2,minmax(0,1fr));margin-inline:20px}.numbers div{padding:20px 16px}.metric{font-size:2.5rem}.sector-strip{padding:0}.sector-strip a{padding:15px 10px;font-size:.875rem}.sector-hero{min-height:650px;padding:40px 20px}.sector-hero-copy h1{font-size:2.5rem}.sector-table th,.sector-table td{overflow-wrap:anywhere;padding:12px 8px;font-size:.875rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.hero{background:#f6f8fc;flex-direction:column;align-items:stretch;gap:32px;min-height:0;padding-top:48px;padding-bottom:32px;display:flex}.hero-content{color:#11181d;order:1;grid-template-columns:1.2fr .8fr;align-items:start;gap:0 64px;max-width:none;display:grid}.hero-content .eyebrow{color:#006da1;grid-column:1/-1}.hero-content h1{grid-area:2/1/4;margin:0;font-size:3.75rem}.hero-copy{color:#586169;grid-area:2/2;margin:6px 0 20px;font-size:1rem}.hero-actions{grid-area:3/2;gap:12px;margin:0}.hero .button.secondary{color:#11181d;border-color:#bac8d2}.hero-image{object-position:64% center;order:2;width:100%;height:380px;position:relative;inset:auto}.hero-overlay{display:none}@media (max-width:820px){.hero-content{grid-template-columns:1fr;gap:20px}.hero-content h1{grid-area:auto/1;font-size:3rem}.hero-copy,.hero-actions{grid-area:auto/1}.hero-content .eyebrow{margin:0}.hero-image{height:300px}}@media (max-width:560px){.hero{padding:36px 20px 24px}.hero-content h1{font-size:2.5rem}.hero-image{height:230px}}
