:root{
 --black:#0d0e10;--ink:#16181b;--red:#e50025;--paper:#f3f3f0;--white:#fff;
 --muted:#70757a;--line:#d9dbd8;--max:1280px;--radius:0px
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body.fcs-body{margin:0;background:#fff;color:var(--ink);font-family:Inter,Arial,Helvetica,sans-serif;line-height:1.62;-webkit-font-smoothing:antialiased}
a{color:inherit}.fcs-wrap{width:min(calc(100% - 64px),var(--max));margin:auto}
.fcs-header{position:sticky;top:0;z-index:99;background:rgba(255,255,255,.90);backdrop-filter:blur(18px);border-bottom:1px solid rgba(20,22,24,.10)}
.fcs-head{min-height:88px;display:flex;align-items:center;gap:30px}.fcs-brand{text-decoration:none;line-height:1;min-width:220px;display:block}
.fcs-brand img{display:block;width:150px;max-height:50px;object-fit:contain;object-position:left center}.fcs-brand small{display:block;margin-top:7px;color:#74787d;font-size:8px;letter-spacing:1.8px;font-weight:800}
.fcs-head nav{display:flex;gap:26px;align-items:center;margin-left:auto}.fcs-head nav a{text-decoration:none;font-size:11px;font-weight:850;letter-spacing:.2px;position:relative}
.fcs-head nav a:not(.fcs-navcta):after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:1px;background:var(--red);transition:.25s}.fcs-head nav a:not(.fcs-navcta):hover:after{right:0}
.fcs-navcta{padding:13px 17px;background:var(--black);color:#fff!important}.fcs-navcta:hover{background:var(--red)}
.fcs-langs{display:flex;gap:2px;margin-left:5px}.fcs-langs a{font-size:9px;text-decoration:none;padding:6px;color:#8b8e92}.fcs-langs .on{color:var(--red);font-weight:900}

.fcs-hero{background:var(--black);color:#fff;padding:0;overflow:hidden}.fcs-hero-grid{min-height:720px;display:grid;grid-template-columns:1.02fr .98fr;gap:0;align-items:stretch}
.fcs-hero-grid>div:first-child{padding:104px 72px 100px 0;display:flex;flex-direction:column;justify-content:center}
.fcs-kicker,.fcs-eyebrow{font-size:9px;letter-spacing:2.7px;text-transform:uppercase;font-weight:900;color:var(--red)}
.fcs-hero h1,.fcs-pagehero h1{font-size:clamp(54px,7.1vw,104px);line-height:.91;letter-spacing:-5px;margin:21px 0 30px;font-weight:800}
.fcs-hero h1 span{color:var(--red)}.fcs-hero-copy{max-width:650px;color:#c7cbd0;font-size:18px;line-height:1.7}
.fcs-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:34px}.fcs-btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--black);padding:14px 22px;text-decoration:none;font-size:11px;font-weight:900;letter-spacing:.2px;cursor:pointer;transition:.22s}
.fcs-red{background:var(--red);color:#fff;border-color:var(--red)}.fcs-red:hover{background:#fff;color:var(--black);border-color:#fff}
.fcs-white{background:#fff;color:var(--black);border-color:#fff}.fcs-white:hover{background:var(--red);color:#fff;border-color:var(--red)}
.fcs-black{background:var(--black);color:#fff;border-color:var(--black)}.fcs-black:hover{background:var(--red);border-color:var(--red)}
.fcs-ghost{background:transparent;color:inherit;border-color:#686d73}.fcs-ghost:hover{border-color:#fff}
.fcs-proof{margin-top:31px;color:#7f858b;font-size:10px;letter-spacing:.2px}.fcs-hero-meta{display:flex;align-items:center;gap:11px;margin-top:22px;color:#777d83;font-size:8px;letter-spacing:1.8px;font-weight:900}.fcs-hero-meta i{display:block;width:22px;height:1px;background:#4c5055}
.fcs-hero-media{position:relative;min-height:720px;overflow:hidden;background:#1a1c1f}.fcs-hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,14,16,.28),transparent 35%),linear-gradient(0deg,rgba(0,0,0,.25),transparent 45%);pointer-events:none}.fcs-hero-media img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}.fcs-hero:hover .fcs-hero-media img{transform:scale(1.025)}

.fcs-intro,.fcs-editorial,.fcs-contactband{padding:128px 0}.fcs-split{display:grid;grid-template-columns:.72fr 1.28fr;gap:110px}.fcs-split h2,.fcs-editorial h2,.fcs-contactband h2{font-size:clamp(39px,4.4vw,66px);line-height:.99;letter-spacing:-3px;margin:13px 0}.fcs-bigcopy{font-size:21px;line-height:1.65;color:#3e4348;max-width:790px}.fcs-textlink{display:inline-block;margin-top:17px;color:var(--red);font-weight:900;text-decoration:none;font-size:12px}

.fcs-dark{background:var(--black);color:#fff;padding:118px 0}.fcs-muted{color:#aeb3b8}.fcs-max{max-width:820px;font-size:17px}.fcs-service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#36393d;margin:54px 0 34px}
.fcs-service-card{position:relative;min-height:315px;background:var(--black);padding:31px;text-decoration:none;overflow:hidden;transition:.3s}.fcs-service-card:before{content:"";position:absolute;left:0;top:0;width:0;height:2px;background:var(--red);transition:.3s}.fcs-service-card:hover{background:#181a1d}.fcs-service-card:hover:before{width:100%}.fcs-service-card span{color:var(--red);font-weight:900;font-size:10px;letter-spacing:1px}.fcs-service-card h3{font-size:25px;margin:70px 0 12px;line-height:1.02;letter-spacing:-.7px}.fcs-service-card p{color:#999fa5;font-size:13px;line-height:1.55;max-width:280px}.fcs-service-card b{position:absolute;bottom:28px;right:30px;color:var(--red);font-size:19px}

.fcs-editorial{background:var(--paper)}.fcs-editorial-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:100px;align-items:center}.fcs-photo-stack{display:grid;grid-template-columns:1.1fr .9fr;gap:14px;align-items:end}.fcs-photo-stack img{width:100%;height:490px;object-fit:cover;display:block;filter:saturate(.93)}.fcs-photo-stack img+img{height:330px}.fcs-photo-stack img:hover{filter:saturate(1.05)}

.fcs-video-section{padding:110px 0;background:#fff}.fcs-video-frame{margin-top:36px;background:#0c0d0f;aspect-ratio:2/1;overflow:hidden;position:relative}.fcs-video-frame:before{content:"FC SURVEYING";position:absolute;top:22px;left:25px;color:#fff;font-size:8px;letter-spacing:2px;z-index:2;opacity:.7}.fcs-video-frame video{width:100%;height:100%;object-fit:cover}

.fcs-experience{padding:125px 0;background:#eceeeb}.fcs-experience h2{font-size:clamp(39px,4.4vw,66px);line-height:.99;letter-spacing:-3px;margin:14px 0}.fcs-experience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#d5d7d4;margin-top:54px}.fcs-experience-grid article{background:#fff;padding-bottom:27px;overflow:hidden}.fcs-experience-grid img{width:100%;height:285px;object-fit:cover;display:block;transition:.6s}.fcs-experience-grid article:hover img{transform:scale(1.025)}.fcs-experience-grid span{display:block;color:var(--red);font-size:9px;font-weight:900;letter-spacing:1.8px;margin:24px 26px 8px}.fcs-experience-grid h3{font-size:23px;line-height:1.05;margin:0 26px 9px;letter-spacing:-.5px}.fcs-experience-grid p{font-size:13px;line-height:1.55;color:var(--muted);margin:0 26px}

.fcs-method-home{padding-bottom:125px}.fcs-steps{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid #3b3e42;border-bottom:1px solid #3b3e42;margin-top:54px}.fcs-steps>div{padding:30px;border-right:1px solid #3b3e42;min-height:235px}.fcs-steps>div:last-child{border-right:0}.fcs-steps span{color:var(--red);font-weight:900;font-size:10px;letter-spacing:1px}.fcs-steps h3{font-size:22px;margin:62px 0 8px;letter-spacing:-.5px}.fcs-steps p{color:#9ea4aa;font-size:13px;line-height:1.55}

.fcs-contactband{background:var(--red);color:#fff}.fcs-contactband .fcs-eyebrow{color:#fff}.fcs-contactband-inner{display:flex;align-items:center;justify-content:space-between;gap:50px}.fcs-contactband p{max-width:720px}.fcs-contactband h2{margin-bottom:8px}

.fcs-pagehero{background:var(--paper);padding:105px 0 92px;border-bottom:1px solid var(--line)}.fcs-pagehero p{max-width:850px;font-size:20px;color:#565b60;line-height:1.55}
.fcs-service-list{padding:86px 0 130px}.fcs-all-services{border-top:1px solid var(--line)}.fcs-all-services>a{display:grid;grid-template-columns:70px 1fr 40px;gap:30px;padding:31px 0;border-bottom:1px solid var(--line);text-decoration:none;align-items:center;transition:.2s}.fcs-all-services>a:hover{padding-left:10px}.fcs-all-services>a:hover h2{color:var(--red)}.fcs-all-services span{color:var(--red);font-weight:900;font-size:11px}.fcs-all-services h2{margin:0;font-size:31px;letter-spacing:-1px}.fcs-all-services p{margin:7px 0 0;color:var(--muted);font-size:14px}

.fcs-detail{padding:110px 0 130px}.fcs-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:start}.fcs-detail-grid img{width:100%;height:560px;object-fit:cover}.fcs-detail h2{font-size:52px;line-height:.98;letter-spacing:-2.6px;margin:14px 0 24px}.fcs-detail-copy{font-size:18px;color:#565b60;line-height:1.65}

.fcs-company-section{padding-top:100px}.fcs-experience-page{padding-top:70px;padding-bottom:130px}.fcs-experience-page article{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:center;border-bottom:1px solid var(--line);padding:50px 0}.fcs-experience-page article img{width:100%;height:350px;object-fit:cover}.fcs-experience-page article h2{font-size:46px;line-height:1;letter-spacing:-2px}

.fcs-team{padding:105px 0 130px}.fcs-team-grid{display:grid;grid-template-columns:minmax(280px,420px);gap:20px}.fcs-team-grid article{border-top:1px solid var(--line);padding-top:24px}.fcs-person-photo{aspect-ratio:1/1.08;background:#f0f1ef;overflow:hidden;margin-bottom:22px}.fcs-person-photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(.12)}.fcs-team-grid span{font-size:9px;letter-spacing:1.7px;text-transform:uppercase;color:var(--red);font-weight:900}.fcs-team-grid h2{font-size:27px;line-height:1.05;margin:9px 0}

.fcs-contact-page{padding:110px 0 130px}.fcs-contact-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:90px;align-items:stretch}.fcs-contact-grid h2{font-size:52px;line-height:1;letter-spacing:-2.3px}.fcs-contact-grid p{font-size:18px;color:#555b60}.fcs-contact-grid a{text-decoration:none;font-weight:850}.fcs-mapbox{min-height:500px;border:1px solid var(--line)}.fcs-mapbox iframe{width:100%;height:100%;min-height:500px;border:0;filter:grayscale(1)}

.fcs-request{padding:75px 0 130px}.fcs-request-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:65px}.fcs-request form{border:1px solid var(--line);padding:42px;background:#fff}.fcs-progress{display:flex;gap:7px;margin-bottom:38px}.fcs-progress span{width:40px;height:40px;border:1px solid var(--line);display:grid;place-items:center;font-size:10px;font-weight:900;color:#888}.fcs-progress .active{background:var(--red);color:#fff;border-color:var(--red)}.fcs-formstep{display:none}.fcs-formstep.active{display:block}.fcs-formstep label{display:block;font-size:10px;letter-spacing:.3px;font-weight:900;margin:0 0 9px}.fcs-formstep input:not([type=checkbox]),.fcs-formstep textarea,.fcs-formstep select{width:100%;padding:15px;border:1px solid #cfd1cd;background:#fafafa;margin-bottom:25px;font:inherit;outline:none}.fcs-formstep input:focus,.fcs-formstep textarea:focus,.fcs-formstep select:focus{border-color:var(--red);box-shadow:0 0 0 1px var(--red)}.fcs-formnav{display:flex;justify-content:space-between;gap:10px;margin-top:14px}.fcs-check{display:flex!important;gap:8px;align-items:flex-start;font-weight:400!important}.fcs-summary{position:sticky;top:115px;background:var(--black);color:#fff;padding:34px;height:max-content}.fcs-summary h3{font-size:29px;margin:9px 0}.fcs-summary p{color:#b8bdc1}.fcs-summary .summaryrow{padding:13px 0;border-bottom:1px solid #36393d}.fcs-summary small{display:block;color:#888;font-size:9px;text-transform:uppercase;letter-spacing:1.4px}.fcs-summary b{display:block;margin-top:4px;font-size:13px}.fcs-status{margin-top:20px;padding:14px}.fcs-success{background:#e9f7ee;color:#175c30}.fcs-error{background:#fff0f0;color:#8a1f1f}

.fcs-footer{background:var(--black);color:#c1c5c9;padding:58px 0 22px}.fcs-footergrid{display:grid;grid-template-columns:1.4fr .9fr 1fr;gap:35px}.fcs-footer strong{display:block;color:#fff;font-size:14px;letter-spacing:2px}.fcs-footer span{display:block;margin-top:7px;font-size:9px;letter-spacing:1.4px}.fcs-footer a{text-decoration:none}.fcs-copy{width:min(calc(100% - 64px),var(--max));margin:50px auto 0;padding-top:16px;border-top:1px solid #34373b;font-size:9px;color:#73787d}

@media(max-width:1050px){.fcs-head nav{display:none}.fcs-hero-grid,.fcs-split,.fcs-editorial-grid,.fcs-detail-grid,.fcs-contact-grid,.fcs-request-grid{grid-template-columns:1fr;gap:48px}.fcs-hero-grid>div:first-child{padding:90px 0}.fcs-hero-media{min-height:560px}.fcs-service-grid{grid-template-columns:1fr 1fr}.fcs-steps{grid-template-columns:1fr}.fcs-steps>div{border-right:0;border-bottom:1px solid #3b3e42}.fcs-steps>div:last-child{border-bottom:0}.fcs-summary{position:static}.fcs-experience-grid{grid-template-columns:1fr 1fr}.fcs-team-grid{grid-template-columns:minmax(280px,420px)}}
@media(max-width:620px){.fcs-wrap{width:calc(100% - 32px)}.fcs-head{min-height:72px}.fcs-brand img{width:126px}.fcs-brand small{font-size:7px}.fcs-langs{margin-left:auto}.fcs-hero-grid>div:first-child{padding:65px 0 70px}.fcs-hero-media{min-height:0}.fcs-hero h1,.fcs-pagehero h1{font-size:49px;letter-spacing:-2.8px}.fcs-intro,.fcs-editorial,.fcs-contactband{padding:82px 0}.fcs-dark,.fcs-experience{padding:88px 0}.fcs-service-grid,.fcs-experience-grid{grid-template-columns:1fr}.fcs-photo-stack{grid-template-columns:1fr}.fcs-photo-stack img,.fcs-photo-stack img+img{height:340px}.fcs-all-services>a{grid-template-columns:38px 1fr 18px;gap:12px}.fcs-all-services h2{font-size:23px}.fcs-detail h2,.fcs-contact-grid h2{font-size:39px}.fcs-footergrid{grid-template-columns:1fr}.fcs-copy{width:calc(100% - 32px)}}

.fcs-js .fcs-reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.fcs-js .fcs-reveal.fcs-in{opacity:1;transform:none}

/* v4 readability + media corrections */
.fcs-body .fcs-intro,
.fcs-body .fcs-editorial,
.fcs-body .fcs-experience,
.fcs-body .fcs-service-list,
.fcs-body .fcs-detail,
.fcs-body .fcs-team,
.fcs-body .fcs-contact-page,
.fcs-body .fcs-request,
.fcs-body .fcs-pagehero{
  color:var(--ink);
}
.fcs-body .fcs-intro h1,.fcs-body .fcs-intro h2,.fcs-body .fcs-intro h3,
.fcs-body .fcs-editorial h1,.fcs-body .fcs-editorial h2,.fcs-body .fcs-editorial h3,
.fcs-body .fcs-experience h1,.fcs-body .fcs-experience h2,.fcs-body .fcs-experience h3,
.fcs-body .fcs-pagehero h1,.fcs-body .fcs-pagehero h2,.fcs-body .fcs-pagehero h3,
.fcs-body .fcs-service-list h1,.fcs-body .fcs-service-list h2,.fcs-body .fcs-service-list h3,
.fcs-body .fcs-detail h1,.fcs-body .fcs-detail h2,.fcs-body .fcs-detail h3,
.fcs-body .fcs-team h1,.fcs-body .fcs-team h2,.fcs-body .fcs-team h3,
.fcs-body .fcs-contact-page h1,.fcs-body .fcs-contact-page h2,.fcs-body .fcs-contact-page h3,
.fcs-body .fcs-request h1,.fcs-body .fcs-request h2,.fcs-body .fcs-request h3{
  color:var(--ink);
}
.fcs-body .fcs-intro p,.fcs-body .fcs-editorial p,.fcs-body .fcs-experience p,
.fcs-body .fcs-pagehero p,.fcs-body .fcs-service-list p,.fcs-body .fcs-detail p,
.fcs-body .fcs-team p,.fcs-body .fcs-contact-page p,.fcs-body .fcs-request p{
  color:#4e5358;
}
.fcs-body .fcs-dark,.fcs-body .fcs-dark h1,.fcs-body .fcs-dark h2,.fcs-body .fcs-dark h3,
.fcs-body .fcs-dark p,.fcs-body .fcs-dark span{color:#fff}
.fcs-body .fcs-dark .fcs-muted,.fcs-body .fcs-dark .fcs-service-card p,.fcs-body .fcs-dark .fcs-steps p{color:#aeb3b8}
.fcs-body .fcs-contactband,.fcs-body .fcs-contactband h2,.fcs-body .fcs-contactband p{color:#fff}
.fcs-hero-media{
  min-height:0;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#0d0e10;
  overflow:hidden;
}
.fcs-hero-media img{
  width:100%;
  height:auto;
  max-height:100%;
  object-fit:contain;
  object-position:center;
  display:block;
}
.fcs-hero-media:after{display:none}
.fcs-socials{display:flex;flex-wrap:wrap;gap:9px 14px;margin-top:16px}
.fcs-socials a{font-size:10px;color:#aeb3b8;text-decoration:none;border-bottom:1px solid #45494e;padding-bottom:2px}
.fcs-socials a:hover{color:#fff;border-color:var(--red)}
.fcs-contact-socials{display:flex;flex-wrap:wrap;gap:12px 22px;margin:24px 0 28px;padding-top:20px;border-top:1px solid var(--line)}
.fcs-contact-socials a{font-size:11px;color:var(--ink);text-decoration:none;font-weight:900}
.fcs-contact-socials a:hover{color:var(--red)}
@media(max-width:1050px){
  .fcs-hero-media{min-height:0}
  .fcs-hero-media img{width:100%;height:auto}
}

@media(max-width:620px){.fcs-socials{gap:8px 12px}.fcs-contact-socials{gap:10px 18px}}
