
:root{--navy:#041824;--navy2:#082d3c;--cyan:#05a3ca;--cyan2:#64d7ed;--ink:#082d3d;--muted:#5c6f77;--ice:#f3f7f8;--line:#d7e4e7;--white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,sans-serif;color:var(--ink);line-height:1.55}a{text-decoration:none;color:inherit}.wrap{width:min(1200px,calc(100% - 48px));margin:auto}
nav{position:sticky;top:0;z-index:40;background:rgba(4,24,36,.96);color:#fff;border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(12px)}.nav{height:66px;display:flex;align-items:center;justify-content:space-between}.brand{font-weight:850;font-size:20px}.brand b{color:var(--cyan2)}.links{display:flex;gap:27px;align-items:center;font-size:14px}.btn{display:inline-flex;padding:13px 19px;border-radius:6px;font-weight:800}.primary{background:#0481a0;color:#fff}.outline{border:1px solid #7d9ba6}
.hero{min-height:500px;color:#fff;background:var(--navy);position:relative;overflow:hidden;display:flex;align-items:center}.hero-photo{position:absolute;inset:0 0 0 48%;background:linear-gradient(90deg,var(--navy) 0%,rgba(4,24,36,.92) 10%,rgba(4,24,36,.42) 52%,rgba(4,24,36,.18)),url("/assets/photos/plant-room.jpg") center/cover no-repeat;}.hero-photo:after{content:"FRS SITE PHOTOGRAPHY";position:absolute;right:38px;bottom:34px;color:rgba(255,255,255,.7);font-size:10px;letter-spacing:1.4px;font-weight:800}.hero-content{position:relative;z-index:2;max-width:790px}.eyebrow,.kicker{font-size:12px;letter-spacing:1.9px;text-transform:uppercase;font-weight:850;color:var(--cyan)}h1{font-size:clamp(44px,5vw,66px);line-height:1;letter-spacing:-3px;margin:14px 0 20px}.hero p{font-size:17px;color:#cadce2;max-width:735px}.actions{display:flex;gap:12px;margin-top:24px}.hero .outline{color:#fff}.proofs{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);margin-top:32px;padding-top:18px;border-top:1px solid rgba(255,255,255,.15);color:#c5d6dc;font-size:13px}.proofs strong{display:block;color:#fff;font-size:15px}
section{padding:64px 0}h2{font-size:clamp(34px,3.8vw,52px);line-height:1.04;letter-spacing:-2px;margin:9px 0 18px}.lead{font-size:18px;color:#425b64}
.approach-head{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:start}.process{margin-top:36px;display:grid;grid-template-columns:1fr 1fr 1.35fr 1fr 1fr;align-items:center;gap:24px;position:relative}.process:before{content:"";position:absolute;left:7%;right:7%;top:50%;height:1px;background:#a6dbe6}.phase{background:#fff;position:relative;z-index:2;padding:12px 8px}.phase h3{font-size:23px;margin:0 0 8px}.phase p{font-size:14px;color:var(--muted);margin:0}.phase.center{padding:0;text-align:center}.lens{width:205px;height:205px;border-radius:50%;margin:auto;border:9px solid #fff;outline:2px solid var(--cyan);box-shadow:0 22px 55px rgba(8,45,61,.18);position:relative;overflow:hidden;cursor:zoom-in;background:#27414c}.lens img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .7s ease,transform 1.25s cubic-bezier(.2,.7,.2,1)}.lens .wide{opacity:1;transform:scale(1.02)}.lens .inside{opacity:0;transform:scale(1.08)}.lens .detail{opacity:0;transform:scale(1.22)}.lens:hover .wide,.lens.active .wide{opacity:0;transform:scale(1.2)}.lens:hover .inside,.lens.active .inside{opacity:.18;transform:scale(1.16)}.lens:hover .detail,.lens.active .detail{opacity:1;transform:scale(1.03)}.lens span{position:relative;z-index:3;background:rgba(4,24,36,.82);padding:9px 13px;color:#fff;font-weight:850;transition:.35s}.lens:hover span,.lens.active span{transform:translateY(76px);background:rgba(4,24,36,.9)}.lens:after{content:"Hover to look closer";position:absolute;z-index:4;bottom:24px;left:0;right:0;text-align:center;color:#fff;font-size:10px;letter-spacing:1.1px;text-transform:uppercase;font-weight:800;opacity:.86;transition:.35s}.lens:hover:after,.lens.active:after{content:"Surface condition revealed";bottom:18px}.return{font-size:10px;color:#789099;text-transform:uppercase;letter-spacing:1.4px;font-weight:800;text-align:center;margin-top:16px}
.services{background:var(--ice)}.service{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;padding:72px 0;border-top:1px solid var(--line)}.service.first{margin-top:55px}.service.alt .visual{order:-1}.service h3{font-size:38px;line-height:1.06;letter-spacing:-1.4px;margin:10px 0 17px}.service p{font-size:17px;color:#536a72}.visual{height:330px;background:linear-gradient(145deg,#b4c9d0,#637d88);position:relative;overflow:hidden}.visual:after{content:"GENUINE FRS PHOTOGRAPH";position:absolute;left:20px;bottom:20px;background:rgba(4,24,36,.72);color:#fff;padding:8px 10px;font-size:10px;letter-spacing:1px;font-weight:800}.link{display:inline-block;color:#087e9c;font-weight:850;margin-top:14px}.also{border-top:1px solid var(--line);padding-top:34px;display:grid;grid-template-columns:1fr 1fr;gap:55px}.also p{color:var(--muted)}
.story-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:58px;align-items:center}.story-photo{height:330px;background:linear-gradient(90deg,rgba(4,24,36,.05),rgba(4,24,36,.05)),url("/assets/photos/context-tank.jpg") center/cover no-repeat;position:relative}.story-photo:before{content:"";position:absolute;width:160px;height:160px;border:2px solid var(--cyan);border-radius:50%;right:-35px;top:48px;box-shadow:0 0 0 10px #fff;background:url("/assets/photos/context-overflow-detail.jpg") 76% 34%/260% auto no-repeat}.story-photo:after{content:"VISIBLE ON CLOSER INSPECTION";position:absolute;right:-12px;top:137px;background:var(--navy);color:#fff;padding:8px 12px;font-size:10px;letter-spacing:1px;font-weight:800}.factors{display:flex;flex-wrap:wrap;gap:0;margin-top:24px;color:#3e5b65;font-weight:750;font-size:13px}.factor{padding:0 12px 0 0}.factor:not(:last-child):after{content:" · ";padding-left:12px;color:var(--cyan)}
.report{position:relative;background:var(--surface-soft);color:var(--text);overflow:hidden}.schematic{position:absolute;inset:0;opacity:.08;background-image:linear-gradient(90deg,transparent 49%,#7bd8ea 50%,transparent 51%),linear-gradient(0deg,transparent 49%,#7bd8ea 50%,transparent 51%);background-size:150px 150px;transform:rotate(-8deg) scale(1.25)}.report-grid{position:relative;z-index:2;display:grid;grid-template-columns:.88fr 1.12fr;gap:75px;align-items:center}.report .lead{color:var(--text-muted)}.report-groups{display:grid;grid-template-columns:1fr 1fr;gap:25px 30px;margin-top:35px}.report-groups strong{display:block;font-size:16px;margin-bottom:5px}.report-groups span{color:var(--text-muted);font-size:13px}
.pages{height:430px;position:relative}.page{position:absolute;width:62%;height:340px;background:#fff;box-shadow:0 25px 60px rgba(0,0,0,.35);padding:20px;color:#143845}.page.back{right:0;top:35px;transform:rotate(6deg);opacity:.88}.page.mid{right:17%;top:55px;transform:rotate(-6deg);opacity:.94}.page.front{right:8%;top:15px;transform:rotate(1.5deg)}.pagehead{height:48px;background:#0a3a4b;margin-bottom:15px}.thin{height:12px;background:#dfeaec;margin:8px 0}.thin.short{width:70%}.table{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3px;margin-top:18px}.table i{height:31px;background:#c5e0e6}.table i:nth-child(6),.table i:nth-child(11){background:#0daf58}.table i:nth-child(7),.table i:nth-child(12){background:#ffc21b}.table i:nth-child(8){background:#ef3434}.photo-blocks{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}.photo-blocks div{height:80px;background:#cbd8dc}
.independent{background:var(--navy);padding:56px 0}.ind-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:90px}.statement{font-size:24px;color:#38535d}.quote{text-align:center}.quote h2{max-width:900px;margin:12px auto 22px}.quote p{color:var(--muted);font-size:18px}footer{background:#03131e;color:#9db2ba;padding:50px 0;font-size:13px}.foot{display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px}.foot strong{color:#fff}
.lens.active .lens-out{opacity:0;transform:scale(1.35)}.lens.active .lens-in{animation:lensMid 2.8s ease both}.lens.active .lens-close{animation:lensClose 2.8s ease both}.lens.active .lens-label:before{content:"Closer investigation"}@media(max-width:820px){.links a:not(.btn){display:none}.hero-photo{left:0;opacity:.22}.proofs{grid-template-columns:1fr 1fr;gap:18px}.approach-head,.service,.story-grid,.report-grid,.ind-grid{grid-template-columns:1fr;gap:42px}.process{grid-template-columns:1fr;border-left:1px solid #a6dbe6;padding-left:30px}.process:before{display:none}.phase{padding:8px}.phase.center{text-align:left}.lens{margin:10px 0;width:180px;height:180px}.return{text-align:left}.service.alt .visual{order:0}.also,.report-groups,.foot{grid-template-columns:1fr}.pages{height:470px}}
@media(max-width:520px){.wrap{width:calc(100% - 28px)}section{padding:78px 0}.hero{min-height:800px}h1{letter-spacing:-2.4px}.actions{flex-direction:column}.proofs{grid-template-columns:1fr}.visual,.story-photo{height:300px}.pages{height:390px}.page{height:320px}.page.back{display:none}.page.mid{right:25%;width:68%}.page.front{width:74%}}

/* V6 refinement */
.hero{min-height:445px}.hero-content{max-width:720px}h1{font-size:clamp(42px,4.4vw,60px)}.proofs{margin-top:25px}
section{padding:48px 0}.approach-head{gap:44px}.approach-head h2{max-width:430px}.process{margin-top:22px;gap:18px;grid-template-columns:1fr 1fr 1.25fr 1fr 1fr}.phase{padding:8px 5px}.phase h3{font-size:21px}.phase.center{overflow:visible}.lens{width:218px;height:218px;border-width:7px;overflow:hidden}.lens span,.lens:after{display:none!important}.investigate-label{color:var(--cyan);font-size:11px;letter-spacing:1.8px;text-transform:uppercase;font-weight:900;margin-bottom:11px}.investigate-copy{font-size:13px;line-height:1.4;margin:14px auto 0;max-width:255px;color:#435b64}.stagnation-marker{position:absolute;z-index:8;right:8px;bottom:26px;opacity:0;transform:translateY(6px);transition:opacity .35s ease .45s,transform .35s ease .45s;pointer-events:none}.lens:hover .stagnation-marker,.lens.active .stagnation-marker{opacity:1;transform:none}.stagnation-marker b{display:block;background:rgba(4,24,36,.92);color:#fff;font-size:9px;letter-spacing:.5px;padding:5px 7px;white-space:nowrap;border-radius:3px}.stagnation-marker i{position:absolute;width:56px;height:2px;background:var(--cyan2);right:92%;top:50%;transform:rotate(-24deg);transform-origin:right center}.stagnation-marker i:before{content:"";position:absolute;left:-2px;top:-3px;width:7px;height:7px;border-radius:50%;background:var(--cyan2);box-shadow:0 0 0 3px rgba(255,255,255,.9)}.return{margin-top:10px}.context-story{padding:46px 0}.story-grid{grid-template-columns:.86fr 1.14fr;gap:50px}.story-photo{height:300px;position:relative;background-size:cover;background-position:center}.story-photo:after{display:none}.visual-callout{position:absolute;left:55%;top:28%;background:rgba(4,24,36,.94);color:#fff;padding:8px 11px;border-left:3px solid var(--cyan);box-shadow:0 8px 24px rgba(4,24,36,.2)}.visual-callout:before{content:"";position:absolute;width:70px;height:2px;background:var(--cyan2);right:100%;top:50%}.visual-callout:after{content:"";position:absolute;width:8px;height:8px;border-radius:50%;background:var(--cyan2);right:calc(100% + 66px);top:calc(50% - 3px)}.visual-callout span{display:block;font-size:9px;letter-spacing:1.1px;text-transform:uppercase;color:#9ce8f5;font-weight:850}.visual-callout strong{display:block;font-size:12px;margin-top:2px}.context-story h2{font-size:clamp(34px,3.3vw,47px);margin-bottom:12px}.context-story .lead{font-size:17px;margin-bottom:18px}.evidence-list{border-top:1px solid var(--line)}.evidence-list>div{display:grid;grid-template-columns:32px 1fr;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.evidence-list span{font-size:10px;font-weight:900;color:var(--cyan);padding-top:3px}.evidence-list p{margin:0;font-size:14px;color:#526a73}.evidence-list strong{display:block;color:var(--ink);font-size:14px;margin-bottom:1px}.context-note{font-size:13px;color:#526a73;margin:15px 0 0}.report{padding:48px 0}.report-grid{gap:54px}.independent{padding:46px 0}.service{padding:52px 0}.service.first{margin-top:35px}
@media(max-width:900px){.process{grid-template-columns:1fr 1fr}.phase.center{grid-column:1/-1;grid-row:2}.process:before{display:none}.story-grid{grid-template-columns:1fr}.story-photo{height:280px}.hero{min-height:480px}}

/* V6.1 callout refinements */
.stagnation-marker{inset:0;right:auto;bottom:auto;transform:none}
.lens:hover .stagnation-marker,.lens.active .stagnation-marker{transform:none}
.stagnation-marker b{position:absolute;right:7px;top:16px}
.stagnation-marker i{position:absolute;left:47%;top:67%;width:72px;height:2px;right:auto;background:var(--cyan2);transform:rotate(-46deg);transform-origin:left center}
.stagnation-marker i:before{left:-3px;top:-3px}
.visual-callout{left:31%;top:10%;padding:7px 10px}
.visual-callout:before{width:96px;right:100%;top:74%;transform:rotate(22deg);transform-origin:right center}
.visual-callout:after{right:calc(100% + 91px);top:calc(74% + 14px)}
.evidence-list>div{display:block;padding:11px 0}
.evidence-list>div>span{display:none}

/* V6.2 callout corrections */
.stagnation-marker{right:12px!important;bottom:78px!important;}
.stagnation-marker i{width:58px!important;right:94%!important;top:70%!important;transform:rotate(22deg)!important;}
.story-photo .visual-callout{left:38%!important;top:6%!important;transform:translateX(-10%)!important;}
.story-photo .visual-callout:before{width:92px!important;right:100%!important;top:74%!important;transform:rotate(18deg)!important;transform-origin:right center!important;}
.story-photo .visual-callout:after{right:calc(100% + 88px)!important;top:calc(74% + 12px)!important;}
@media(max-width:760px){.story-photo .visual-callout{left:42%!important;top:5%!important}.stagnation-marker{right:5px!important;bottom:66px!important}}

/* V6.3 annotation correction: labels stay clear of the evidence */
.lens .stagnation-marker{inset:0!important;opacity:0;transform:none!important}
.lens:hover .stagnation-marker,.lens.active .stagnation-marker{opacity:1}
.lens .stagnation-marker b{position:absolute!important;left:18px!important;right:auto!important;top:18px!important;bottom:auto!important;max-width:92px;white-space:normal!important;text-align:left;line-height:1.15;padding:5px 7px!important}
.lens .stagnation-marker i{position:absolute!important;left:75px!important;top:57px!important;right:auto!important;width:86px!important;height:2px!important;background:var(--cyan2)!important;transform:rotate(48deg)!important;transform-origin:left center!important}
.lens .stagnation-marker i:before{left:auto!important;right:-4px!important;top:-3px!important;width:8px!important;height:8px!important}
.story-photo .visual-callout{left:22px!important;top:auto!important;bottom:24px!important;right:auto!important;max-width:180px}
.story-photo .visual-callout:before{width:112px!important;right:auto!important;left:56px!important;top:auto!important;bottom:100%!important;transform:rotate(-53deg)!important;transform-origin:left bottom!important}
.story-photo .visual-callout:after{right:auto!important;left:121px!important;top:auto!important;bottom:calc(100% + 88px)!important}
@media(max-width:760px){.story-photo .visual-callout{left:16px!important;top:auto!important;bottom:16px!important}.lens .stagnation-marker b{left:14px!important;top:14px!important}}

/* V6.4 precise annotation alignment */
.lens .stagnation-marker b{left:46px!important;top:24px!important;max-width:104px!important;white-space:nowrap!important}
.lens .stagnation-marker i{left:104px!important;top:58px!important;width:132px!important;transform:rotate(82deg)!important;transform-origin:left center!important}
.lens .stagnation-marker i:before{left:auto!important;right:-4px!important;top:-3px!important}
.story-photo .visual-callout{left:22px!important;bottom:24px!important}
.story-photo .visual-callout:before{left:63px!important;bottom:100%!important;width:174px!important;transform:rotate(-63deg)!important;transform-origin:left bottom!important;background:var(--cyan2)!important}
.story-photo .visual-callout:after{left:137px!important;bottom:calc(100% + 154px)!important;right:auto!important;top:auto!important;width:8px!important;height:8px!important;background:var(--cyan2)!important;box-shadow:0 0 0 3px rgba(255,255,255,.9)!important}
@media(max-width:760px){.lens .stagnation-marker b{left:38px!important;top:20px!important}}

/* V6.6: only shorten the stagnation pointer line. Wording and CAT 5 unchanged. */
.stagnation-marker b{left:52px!important;top:25px!important;max-width:104px!important;white-space:nowrap!important}
.stagnation-marker i{left:110px!important;top:61px!important;width:68px!important;transform:rotate(79deg)!important;transform-origin:left center!important}
.stagnation-marker i:before{left:auto!important;right:-4px!important;top:-3px!important}

/* V6.9: stagnation pointer matched to supplied reference. CAT 5 unchanged. */
.stagnation-marker i{left:110px!important;top:61px!important;width:122px!important;transform:rotate(78deg)!important;transform-origin:left center!important;}
/* V6.10: move only the stagnation target dot onto the circular light. */
.stagnation-marker i{width:106px!important;}

/* V6.11: use approved stagnation visual as supplied */
.lens{border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;}
.lens .detail{object-fit:cover!important;}
.lens .stagnation-marker{display:none!important;}

/* Light default presentation; no preference storage. */

html{color-scheme:light;--page:#ffffff;--surface:#ffffff;--surface-soft:#f3f7f8;--text:#082d3d;--text-muted:#5c6f77;--rule:#d7e4e7;--ink:#082d3d;--muted:#5c6f77;--ice:#f3f7f8;--line:#d7e4e7;--white:#fff;--accent:#0481a0}
body{background:var(--page);color:var(--text);transition:background-color .2s ease,color .2s ease}
html .approach,html .context-story,html .quote{background:var(--page);color:var(--text)}
html .phase{background:var(--surface)}
html .phase p,html .approach-head p,html .investigate-copy,html .context-story .lead,html .context-note,html .evidence-list p,html .service p,html .also p,html .quote p{color:var(--text-muted)}
html .services{background:var(--surface-soft)}
html .service,html .also,html .evidence-list,html .evidence-list>div{border-color:var(--rule)}
html .independent{background:var(--surface-soft);color:var(--text)}
html .statement{color:var(--text)}
html .lens{border-color:var(--surface);box-shadow:0 22px 55px rgba(0,0,0,.35)}
html .phase h3,html .service h3,html .context-story h2,html .independent h2,html .quote h2,html .evidence-list strong{color:var(--text)}
html .link{color:var(--accent)}
@media(max-width:820px){.links{gap:10px}}

/* V6.13 subtle water atmosphere */
.hero:before{content:"";position:absolute;inset:-18% -8% -22% 38%;z-index:1;pointer-events:none;opacity:.18;background:
radial-gradient(ellipse at 18% 30%,rgba(100,215,237,.20) 0 1.2%,transparent 8%),
radial-gradient(ellipse at 52% 22%,rgba(100,215,237,.14) 0 1%,transparent 9%),
radial-gradient(ellipse at 78% 52%,rgba(5,163,202,.16) 0 1.1%,transparent 10%),
radial-gradient(ellipse at 38% 72%,rgba(100,215,237,.12) 0 1%,transparent 9%);filter:blur(1px);transform:rotate(-7deg) scale(1.08);animation:waterDrift 18s ease-in-out infinite alternate}
.hero:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.11;background:repeating-radial-gradient(ellipse at 78% 44%,transparent 0 54px,rgba(100,215,237,.28) 56px,transparent 59px,transparent 92px);transform:scale(1.2);animation:waterRipple 22s ease-in-out infinite alternate}
@keyframes waterDrift{0%{transform:translate3d(-1.5%,1%,0) rotate(-7deg) scale(1.08)}50%{transform:translate3d(1.5%,-1%,0) rotate(-5deg) scale(1.12)}100%{transform:translate3d(3%,1.5%,0) rotate(-8deg) scale(1.09)}}
@keyframes waterRipple{0%{transform:translate3d(0,0,0) scale(1.18);opacity:.08}50%{transform:translate3d(-1.5%,1%,0) scale(1.22);opacity:.13}100%{transform:translate3d(1%,-1%,0) scale(1.19);opacity:.09}}
.hero-photo,.hero .wrap{z-index:2}.hero-photo{z-index:0}
@media (prefers-reduced-motion:reduce){.hero:before,.hero:after{animation:none}}




/* V6.14 service visuals: genuine FRS photography and document-led consultancy */
.service .visual{height:340px;position:relative;overflow:hidden;background:#b9cbd2;border:1px solid var(--rule)}
.service-visual-photo{background-position:center;background-size:cover!important}
.service-visual-photo:after{content:"GENUINE FRS PHOTOGRAPH";position:absolute;left:18px;bottom:18px;background:rgba(5,34,47,.9);color:#fff;padding:8px 10px;font-size:10px;font-weight:850;letter-spacing:1.2px}

.schematic-visual{background:#f8fbfc!important;padding:26px}
.schematic-sheet{position:absolute;inset:24px;background:#fff;border:1px solid #c9d8dc;box-shadow:0 14px 35px rgba(5,34,47,.12);padding:22px 20px 18px}
.schematic-title{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:#52707b;font-weight:850;margin-bottom:18px}
.schematic-lines{position:relative;height:205px;border-bottom:1px solid #a8b9bf;background:linear-gradient(#fff,#fff)}
.schematic-lines:before,.schematic-lines:after{content:"";position:absolute;left:5%;right:6%;height:2px}.schematic-lines:before{top:66px;background:#e43737}.schematic-lines:after{top:121px;background:#274db6}
.schematic-lines i{position:absolute;width:2px;background:#e43737;top:34px;height:34px}.schematic-lines i:nth-child(even){background:#274db6;top:88px;height:35px}.schematic-lines i:after{content:"";position:absolute;top:-5px;left:-3px;border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:7px solid currentColor;color:inherit}.schematic-lines i:nth-child(1){left:12%;color:#e43737}.schematic-lines i:nth-child(2){left:24%;color:#274db6}.schematic-lines i:nth-child(3){left:38%;color:#e43737}.schematic-lines i:nth-child(4){left:51%;color:#274db6}.schematic-lines i:nth-child(5){left:65%;color:#e43737}.schematic-lines i:nth-child(6){left:79%;color:#274db6}
.schematic-plant{position:absolute;left:40%;top:145px;width:112px;height:44px;border:2px solid #61757d;background:#f5f8f9}.schematic-plant:before{content:"CWST";position:absolute;inset:0;display:grid;place-items:center;font-size:11px;font-weight:800;color:#183b49}.schematic-caption{display:flex;justify-content:space-between;margin-top:10px;font-size:9px;color:#657a83;text-transform:uppercase;letter-spacing:.7px}
.wsoc-visual{background:linear-gradient(135deg,#0a2633,#0e3544)!important;padding:28px}
.wsoc-doc{height:100%;background:#fff;color:#0a2d3c;padding:22px 24px;box-shadow:0 18px 40px rgba(0,0,0,.24);position:relative}
.wsoc-doc:before{content:"FRS · FOSTER RISK SOLUTIONS";display:block;color:#05a8ce;font-size:10px;font-weight:900;letter-spacing:1.4px;margin-bottom:8px}.wsoc-doc h4{font-size:21px;margin:0 0 4px}.wsoc-doc>p{font-size:11px!important;color:#60747c!important;margin:0 0 16px}.control-row{display:grid;grid-template-columns:112px 1fr;gap:12px;border-top:1px solid #dbe5e8;padding:10px 0}.control-row strong{font-size:10px;letter-spacing:.8px;color:#008fb4}.control-row span{font-size:11px;line-height:1.4;color:#173b49}.wsoc-badge{position:absolute;right:18px;top:18px;border:1px solid #a9c7d0;padding:5px 7px;font-size:8px;font-weight:850;letter-spacing:.8px;color:#4c6b76}
html .schematic-visual{background:#dce7ea!important}html .schematic-sheet{background:#fff}html .wsoc-doc{background:#f9fbfc;color:#082d3d}
@media(max-width:820px){.service .visual{height:300px}.schematic-sheet{inset:16px}.wsoc-visual{padding:18px}}


/* V6.15 genuine deliverables + horizontal brand */
.brand-lockup{display:flex;align-items:center;gap:10px;height:58px;color:#fff;font-weight:850;white-space:nowrap}.brand-lockup img{width:34px;height:44px;object-fit:contain;filter:drop-shadow(0 2px 5px rgba(0,0,0,.25))}.brand-lockup span{font-size:18px;letter-spacing:-.35px}.brand-lockup strong{color:var(--cyan2);font-weight:900}
.compact-service{padding:38px 0;gap:62px;min-height:340px}.compact-service h3{font-size:34px;margin:7px 0 13px}.compact-service p{max-width:530px}.service-tag{color:var(--cyan);font-size:10px;letter-spacing:1.6px;text-transform:uppercase;font-weight:900}.deliverable{height:285px;margin:0;position:relative;overflow:hidden;background:#eaf1f3;border:1px solid rgba(8,45,61,.16);box-shadow:0 16px 34px rgba(4,24,36,.11)}.deliverable img{width:100%;height:100%;display:block}.deliverable figcaption{position:absolute;left:14px;bottom:14px;background:rgba(4,24,36,.9);color:#fff;padding:7px 9px;font-size:9px;letter-spacing:1.1px;text-transform:uppercase;font-weight:850}.schematic-real{background:#fff;padding:12px}.schematic-real img{object-fit:contain;background:#fff}.wsoc-real{background:linear-gradient(145deg,#d8e6ea,#a9c0c8);padding:18px 24px 0 46px;overflow:hidden}.wsoc-real .doc-stack{position:absolute;inset:30px 52px -26px 22px;background:#f7fafb;transform:rotate(-3deg);box-shadow:0 10px 22px rgba(4,24,36,.18)}.wsoc-real img{position:relative;z-index:2;object-fit:cover;object-position:center 35%;box-shadow:0 12px 28px rgba(4,24,36,.24);background:#fff}.wsoc-real figcaption{z-index:3}
html .deliverable{border-color:rgba(100,215,237,.22);box-shadow:0 18px 40px rgba(0,0,0,.25)}html .schematic-real{background:#f8fbfc}.service-visual-photo:after{content:"FRS SITE PHOTOGRAPHY"}
@media(max-width:900px){.brand-lockup span{font-size:16px}.compact-service{gap:34px}.deliverable{height:260px}}
@media(max-width:520px){.brand-lockup img{width:30px;height:39px}.brand-lockup span{font-size:14px}.compact-service{padding:30px 0}.deliverable{height:230px}.wsoc-real{padding-left:30px}}


/* V6.17 verified single-file asset build */
.brand-lockup img{width:34px!important;height:42px!important;object-fit:contain;display:block}.brand-lockup{gap:10px!important}.hero-accent{color:var(--cyan)}
.hero:before{opacity:.34!important;inset:-22% 42% -24% -12%!important;background:radial-gradient(ellipse at 22% 48%,rgba(0,174,214,.17) 0 8%,transparent 9% 15%,rgba(0,174,214,.11) 16% 17%,transparent 18% 25%,rgba(0,174,214,.09) 26% 27%,transparent 28% 100%)!important;filter:blur(.2px);animation:waterDrift 20s ease-in-out infinite alternate!important}.hero:after{opacity:.14!important;background:repeating-radial-gradient(ellipse at 18% 50%,transparent 0 72px,rgba(94,210,235,.22) 74px,transparent 77px,transparent 120px)!important;transform:scale(1.25)!important}.deliverable img{display:block!important;max-width:100%!important}.schematic-real img{width:100%!important;height:100%!important;object-fit:contain!important;background:#fff}.wsoc-real img{height:100%!important;width:auto!important;max-width:88%!important;object-fit:contain!important;margin:auto!important;position:relative!important;z-index:2}.wsoc-real{overflow:hidden}.doc-stack{z-index:1}

/* V6.18 visual refinement: approved cinematic water-consultancy direction */
.brand-lockup span{display:flex;align-items:baseline;gap:6px;font-size:18px;letter-spacing:-.25px}
.brand-lockup span strong{font-size:19px;letter-spacing:.7px}.brand-lockup span i{font-style:normal;color:#b7d7df;font-weight:700}
.hero{min-height:520px;border-bottom:1px solid rgba(74,193,218,.16)}
.hero-photo{left:50%;background-position:center;background-size:cover}
.hero .wrap{padding-top:28px;padding-bottom:25px}
.hero-content{max-width:650px}.hero-content p{max-width:625px;font-size:16px;line-height:1.62;color:#d4e2e7}
.hero h1{line-height:.99;margin-top:12px;margin-bottom:21px}.hero-accent{color:#09b8e5}
.hero .actions{margin-top:25px}.hero .btn{padding:14px 20px}.hero .btn span{margin-left:7px}
/* water stays on the dark side and fades before the plant photography */
.hero:before{opacity:.52!important;inset:-24% 46% -28% -14%!important;background:
 radial-gradient(ellipse at 14% 48%,transparent 0 11%,rgba(7,177,218,.23) 11.4% 11.8%,transparent 12.3% 20%,rgba(55,203,231,.15) 20.5% 20.9%,transparent 21.5% 31%,rgba(47,187,218,.10) 31.4% 31.8%,transparent 32.4% 100%),
 radial-gradient(ellipse at 29% 58%,rgba(0,157,198,.11),transparent 52%)!important;filter:blur(.35px)}
.hero:after{opacity:.18!important;inset:0 48% 0 0!important;background:repeating-radial-gradient(ellipse at 8% 54%,transparent 0 82px,rgba(93,216,239,.28) 84px,transparent 87px,transparent 132px)!important;mask-image:linear-gradient(90deg,#000 0 62%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,#000 0 62%,transparent 100%)}
.hero-proof-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:27px;padding-top:20px;border-top:1px solid rgba(185,225,234,.18)}
.hero-proof{display:flex!important;gap:12px;align-items:center;min-width:0}.hero-proof p{margin:0!important;font-size:12px!important;line-height:1.35;color:#c7d8de}.hero-proof strong{display:block;color:#fff;font-size:13px;margin-bottom:3px}
.proof-icon{width:31px;height:31px;flex:0 0 31px;border:1.5px solid #08bde7;border-radius:50%;display:grid;place-items:center;color:#08c8f3;font-size:17px;font-weight:800}.proof-icon.layers,.proof-icon.scales{border-radius:7px}.proof-icon.pin{font-size:19px}
/* Give genuine deliverables the same premium presentation as the approved concept */
.schematic-real,.wsoc-real{border:1px solid rgba(73,193,218,.28);box-shadow:0 18px 42px rgba(0,0,0,.16)}
.schematic-real{transform:perspective(1200px) rotateX(1deg) rotateY(-1deg)}
.wsoc-real{transform:perspective(1200px) rotateX(1deg) rotateY(1deg)}
.compact-service .kicker{letter-spacing:1.8px}.compact-service h3{letter-spacing:-.7px}
html .schematic-real,html .wsoc-real{background:#dce8ec}
@media(max-width:900px){.hero-proof-grid{grid-template-columns:1fr 1fr}.hero-photo{left:0;opacity:.24}.hero:after{inset:0}.brand-lockup span{font-size:16px}.brand-lockup span strong{font-size:17px}}
@media(max-width:560px){.hero-proof-grid{grid-template-columns:1fr}.hero{min-height:820px}.brand-lockup span i,.brand-lockup span strong{display:none}.brand-lockup span{font-size:14px}}

/* Hero water treatment: static, irregular refraction fading into the photograph. */
.hero:before{
  inset:0 38% 0 0!important;
  background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22700%22%20height%3D%22540%22%20viewBox%3D%220%200%20700%20540%22%3E%3Cdefs%3E%3Cfilter%20id%3D%22w%22%20x%3D%22-20%25%22%20y%3D%22-20%25%22%20width%3D%22140%25%22%20height%3D%22140%25%22%3E%3CfeTurbulence%20type%3D%22fractalNoise%22%20baseFrequency%3D%22.012%20.019%22%20numOctaves%3D%222%22%20seed%3D%2212%22%20result%3D%22n%22%2F%3E%3CfeDisplacementMap%20in%3D%22SourceGraphic%22%20in2%3D%22n%22%20scale%3D%2242%22%20xChannelSelector%3D%22R%22%20yChannelSelector%3D%22G%22%2F%3E%3CfeGaussianBlur%20stdDeviation%3D%221.1%22%2F%3E%3C%2Ffilter%3E%3Cfilter%20id%3D%22g%22%3E%3CfeGaussianBlur%20stdDeviation%3D%226%22%2F%3E%3C%2Ffilter%3E%3Cg%20id%3D%22mesh%22%20fill%3D%22none%22%20stroke%3D%22%2326b8d8%22%20stroke-width%3D%221.8%22%3E%3Cpath%20d%3D%22M-40%2030%20C35%2065%2066%204%20130%2030%20S224%2084%20300%2032%20S418%209%20485%2054%20S589%2069%20700%2028%22%2F%3E%3Cpath%20d%3D%22M-30%20115%20C30%2074%2091%20143%20151%20105%20S236%2079%20291%20127%20S395%20154%20455%20104%20S590%20103%20710%20141%22%2F%3E%3Cpath%20d%3D%22M-30%20197%20C46%20239%2077%20160%20143%20191%20S243%20252%20310%20197%20S420%20182%20480%20220%20S602%20235%20710%20189%22%2F%3E%3Cpath%20d%3D%22M-35%20301%20C45%20255%2097%20326%20171%20282%20S251%20310%20321%20296%20S406%20254%20478%20304%20S610%20328%20710%20288%22%2F%3E%3Cpath%20d%3D%22M-20%20395%20C54%20436%20101%20359%20166%20396%20S272%20430%20334%20381%20S437%20406%20507%20400%20S630%20359%20710%20412%22%2F%3E%3Cpath%20d%3D%22M-30%20491%20C44%20452%2099%20519%20179%20476%20S279%20500%20345%20484%20S449%20456%20521%20495%20S637%20516%20710%20477%22%2F%3E%3Cpath%20d%3D%22M45%20-20%20C10%2026%2090%2060%2055%20104%20S14%20152%2054%20213%20S111%20254%2066%20292%20S29%20359%2079%20405%20S107%20462%2061%20540%22%2F%3E%3Cpath%20d%3D%22M167%20-20%20C204%2026%20111%2063%20151%20105%20S208%20147%20169%20204%20S115%20252%20171%20282%20S226%20343%20166%20396%20S127%20445%20179%20476%20S220%20526%20199%20555%22%2F%3E%3Cpath%20d%3D%22M303%20-20%20C257%2028%20342%2076%20291%20127%20S268%20162%20310%20197%20S361%20249%20321%20296%20S285%20343%20334%20381%20S389%20445%20345%20484%20S317%20529%20350%20560%22%2F%3E%3Cpath%20d%3D%22M472%20-20%20C429%2025%20504%2061%20455%20104%20S422%20167%20480%20220%20S433%20262%20478%20304%20S550%20351%20507%20400%20S477%20452%20521%20495%20S564%20530%20542%20560%22%2F%3E%3C%2Fg%3E%3Cfilter%20id%3D%22soft%22%20x%3D%22-40%25%22%20y%3D%22-60%25%22%20width%3D%22180%25%22%20height%3D%22220%25%22%3E%3CfeGaussianBlur%20stdDeviation%3D%2215%22%2F%3E%3C%2Ffilter%3E%3C%2Fdefs%3E%3Cg%20filter%3D%22url(%23soft)%22%3E%3Cpath%20fill%3D%22%23159fce%22%20opacity%3D%22.24%22%20d%3D%22M-55%2050%20C10%2012%2044%2050%2089%2040%20S163%206%20208%2040%20L177%2066%20C121%2048%2094%2095%2051%2079%20S-5%2092-55%20111Z%22%2F%3E%3Cpath%20fill%3D%22%2332b9d1%22%20opacity%3D%22.20%22%20d%3D%22M-40%20220%20C16%20188%2045%20233%2088%20218%20S128%20177%20178%20201%20L200%20223%20C133%20216%20142%20248%2092%20255%20S12%20235-40%20274Z%22%2F%3E%3Cpath%20fill%3D%22%231685c5%22%20opacity%3D%22.25%22%20d%3D%22M-60%20361%20C-1%20315%2050%20367%20101%20348%20S160%20303%20216%20339%20L188%20365%20C140%20342%20120%20403%2059%20387%20S-9%20400-60%20415Z%22%2F%3E%3Cpath%20fill%3D%22%2330accd%22%20opacity%3D%22.19%22%20d%3D%22M27%20478%20C73%20438%20126%20487%20177%20464%20S216%20443%20251%20462%20L235%20489%20C195%20475%20166%20518%20121%20505%20S56%20501%2027%20519Z%22%2F%3E%3C%2Fg%3E%3Cg%20filter%3D%22url(%23w)%22%3E%3Cuse%20href%3D%22%23mesh%22%20opacity%3D%22.38%22%20stroke-width%3D%227%22%20filter%3D%22url(%23g)%22%2F%3E%3Cuse%20href%3D%22%23mesh%22%20opacity%3D%22.338%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") left center/cover no-repeat!important;
  opacity:.52!important;
  filter:none;
  transform:none!important;
  animation:none!important;
  mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.8) 24%,rgba(0,0,0,.25) 56%,transparent 80%);
  -webkit-mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.8) 24%,rgba(0,0,0,.25) 56%,transparent 80%);
}
.hero:after{content:none;animation:none!important;}
@media(prefers-reduced-motion:reduce){
  .hero:before,.hero:after{animation:none!important;}
}

/* Experimental video stays inside the approved static water footprint. */
.hero-water-video{position:absolute;inset:0 38% 0 0;width:62%;height:100%;object-fit:cover;pointer-events:none;z-index:1;visibility:hidden;opacity:.18;mix-blend-mode:screen;filter:sepia(1) saturate(3) hue-rotate(145deg) brightness(.6);mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.8) 24%,rgba(0,0,0,.25) 56%,transparent 80%);-webkit-mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.8) 24%,rgba(0,0,0,.25) 56%,transparent 80%);}
.hero-water-video.is-playing{visibility:visible;}
.hero.has-water-video:before{visibility:hidden;}
@media(prefers-reduced-motion:reduce){.hero-water-video{display:none;}.hero.has-water-video:before{visibility:visible;}}

/* Web-only header shield: simplified lettering at navigation size. */
.brand-lockup{gap:7px!important}
/* Replace only the contents of .brand-logo with the final SVG or img. */
.brand-logo{display:flex;align-items:center;justify-content:center;width:30px;height:36px;flex:0 0 30px}
.brand-lockup .brand-logo>svg,.brand-lockup .brand-logo>img{display:block;width:100%!important;height:100%!important;object-fit:contain;filter:none}
.brand-lockup span{color:#fff}
.brand-lockup span strong{color:var(--cyan2)}
.brand-lockup span i{color:#c9d1d5}

/* Our Approach only: compact open system flow. */
#approach{padding:34px 0 28px;background:var(--page);color:var(--text)}
#approach .approach-head{grid-template-columns:.8fr 1.2fr;gap:44px;align-items:start}
#approach .approach-head h2{margin:8px 0 0;font-size:clamp(34px,3.2vw,46px)}
#approach .approach-head .lead{margin:4px 0 0;color:var(--text-muted);font-size:17px;line-height:1.55}
#approach .process{margin-top:18px;grid-template-columns:1fr 1fr 1.2fr 1fr 1fr;gap:22px;align-items:center}
#approach .process:before{display:block;left:0;right:0;top:88px;height:1px;background:rgba(5,163,202,.35)}
#approach .phase{background:transparent;padding:0;border:0;box-shadow:none}
#approach .phase:not(.center){align-self:start;margin-top:88px;padding-top:16px;position:relative}
#approach .phase:not(.center):before{content:none}
#approach .phase h3{font-size:20px;margin:0 0 7px;color:var(--text)}
#approach .phase p{font-size:13px;line-height:1.5;color:var(--text-muted)}
#approach .phase:not(.center){background:transparent}
#approach .phase.center{background:var(--page)}
#approach .lens{width:190px;height:190px}
#approach .investigate-label{margin-bottom:7px}
#approach .investigate-copy{margin:9px auto 0;max-width:220px;color:var(--text-muted)}
#approach .return{margin-top:12px;color:#8eabb6}
@media(max-width:900px){
  #approach .process{grid-template-columns:1fr 1fr;gap:20px}
  #approach .phase.center{grid-column:1/-1;grid-row:2}
  #approach .process:before{display:none}
  #approach .phase:not(.center){margin-top:0;border-top:1px solid rgba(5,163,202,.35)}
}
@media(max-width:820px){
  #approach .approach-head{grid-template-columns:1fr;gap:16px}
  #approach .process{border-left:0;padding-left:0;margin-top:24px}
  #approach .phase.center{text-align:center}
  #approach .lens{margin:0 auto}
  #approach .return{text-align:center}
}

/* Specialist Services only: compact editorial rows and genuine deliverables. */
#services{padding:38px 0 34px}
#services>.wrap>h2{max-width:1000px;font-size:clamp(32px,3.2vw,46px);margin-bottom:12px}
#services>.wrap>.lead{max-width:960px;margin:0;color:var(--text-muted);font-size:17px}
#services .service{grid-template-columns:1fr 1fr;gap:48px;padding:30px 0;min-height:0}
#services .service.first{margin-top:24px}
#services .service h3{font-size:32px;margin:0 0 12px;letter-spacing:-.7px}
#services .service.first h3{font-size:36px}
#services .service p{font-size:16px;margin:0 0 12px;max-width:none}
#services .link{font-size:14px;margin-top:12px}
#services .service-tag{margin-bottom:8px}
#services .service-photo{margin:0;height:280px;overflow:hidden;border:1px solid var(--rule)}
#services .service-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:76% 62%;transform:scale(1.2)}
#services .lra-points{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;margin:20px 0 3px}
#services .lra-points>div{border-top:1px solid rgba(5,163,202,.4);padding-top:9px}
#services .lra-points strong{display:block;font-size:10px;letter-spacing:1.4px;color:var(--cyan);margin-bottom:5px}
#services .lra-points span{display:block;font-size:12px;line-height:1.45;color:var(--text-muted)}
#services .deliverable{height:285px;box-shadow:none;transform:none;border:0;background:transparent!important;overflow:visible}
#services .schematic-real{padding:0;order:-1;display:flex;align-items:center;justify-content:center}
#services .schematic-real img{width:100%!important;height:auto!important;max-height:285px;object-fit:contain!important;border:1px solid rgba(100,215,237,.3);box-shadow:0 5px 16px rgba(0,0,0,.16)}
#services .wsoc-real{padding:0;display:flex;justify-content:center;align-items:center;isolation:isolate}
#services .wsoc-real img{height:270px!important;width:auto!important;max-width:80%!important;object-fit:contain!important;box-shadow:0 7px 18px rgba(0,0,0,.23);margin:0!important;border:1px solid #bbcbd0}
#services .wsoc-real .doc-stack{inset:10px auto auto 50%;width:180px;height:260px;transform:translateX(-56%) rotate(-5deg);background:#edf2f3;border:1px solid #c9d5d9;box-shadow:0 4px 12px rgba(0,0,0,.13)}
#services .also{gap:40px;padding-top:24px}
#services .also>div+div{border-left:1px solid var(--rule);padding-left:32px}
#services .also h3{font-size:22px;margin:0 0 9px}
#services .also p{font-size:15px;margin:0;max-width:510px}
#services .also p.consultancy-support{font-size:14px;line-height:1.5;margin-top:8px;color:var(--text-muted)}
@media(max-width:820px){
 #services .service{grid-template-columns:1fr;gap:22px;padding:26px 0}
 #services .schematic-real{order:0}
 #services .deliverable{height:auto;min-height:260px}
 #services .schematic-real img{max-height:360px}
 #services .also{grid-template-columns:1fr;gap:22px}
 #services .also>div+div{border-left:0;border-top:1px solid var(--rule);padding:20px 0 0}
}
@media(max-width:520px){
 #services .service h3,#services .service.first h3{font-size:29px}
 #services .service-photo{height:230px}
 #services .lra-points{grid-template-columns:1fr;gap:9px;margin-top:16px}
 #services .lra-points>div{display:grid;grid-template-columns:100px 1fr;gap:10px}
 #services .schematic-real{min-height:0}
}

/* Written Scheme preview only: larger A4 pages, with the original image intact. */
#services .wsoc-real{height:415px}
#services .wsoc-real img{height:405px!important;max-width:90%!important}
#services .wsoc-real .doc-stack{top:15px;width:270px;height:390px}
@media(max-width:520px){
 #services .wsoc-real{height:390px;min-height:0}
 #services .wsoc-real img{height:370px!important;max-width:84%!important}
 #services .wsoc-real .doc-stack{width:245px;max-width:78%;height:357px;top:14px}
}

/* Clear Reporting only: genuine report extracts with restrained paper overlap. */
#report .report-grid{grid-template-columns:.85fr 1.15fr;gap:44px}
#report .report-extracts{position:relative;height:550px;min-width:0}
#report .report-extract{margin:0;position:absolute;background:#fff;padding:7px;border:1px solid #d2dfe3;box-shadow:0 14px 30px rgba(0,0,0,.25)}
#report .report-extract img{display:block;width:100%;height:auto}
#report .recommendations{width:94%;right:0;top:12px;transform:rotate(2deg)}
#report .risk-summary{width:82%;left:0;top:110px;transform:rotate(-1deg);z-index:2}
@media(max-width:820px){
 #report .report-grid{grid-template-columns:1fr;gap:28px}
 #report .report-extracts{width:100%;max-width:620px;height:auto;aspect-ratio:1.18;margin:0 auto}
 #report .risk-summary{top:21%}
 #report .recommendations{top:2%}
}

/* Independent by Design only: restrained typographic pathway. */
.independent{padding:34px 0}
.independent .ind-grid{grid-template-columns:.7fr 1.3fr;gap:64px;align-items:start}
.independent .independence-path{margin-top:20px;border-left:1px solid rgba(5,163,202,.45);padding-left:18px}
.independent .independence-path>div{position:relative;margin:0 0 16px}
.independent .independence-path>div:last-child{margin-bottom:0}
.independent .independence-path>div:before{content:"";position:absolute;left:-18px;top:8px;width:10px;height:1px;background:var(--cyan)}
.independent .independence-path h3{font-size:10px;line-height:1.5;letter-spacing:1.7px;text-transform:uppercase;color:var(--cyan);margin:0 0 5px}
.independent .independence-path p{font-size:13px;line-height:1.5;color:var(--text-muted);margin:0;max-width:320px}
.independent h2{margin-top:0;margin-bottom:18px}
.independent .statement{margin:0 0 16px}
.independent .independent-copy>p:last-child{margin-bottom:0}
.independent .independent-pathway{order:0}
.independent .independent-copy{order:1}
@media(max-width:820px){
 .independent .ind-grid{grid-template-columns:1fr;gap:28px}
 .independent .independence-path p{max-width:480px}
}

/* Start a Conversation and footer only: compact spacing and clear hierarchy. */
#quote{padding:36px 0 38px}
#quote h2{margin-top:10px;margin-bottom:16px}
#quote p{margin:0}
#quote .actions{margin-top:22px}
footer{padding:32px 0 18px}
footer .foot{grid-template-columns:1.6fr 1.15fr .75fr;gap:48px;align-items:start}
footer .foot h3{font-size:14px;line-height:1.4;color:#fff;margin:0 0 12px;font-weight:700}
footer .foot h3:after{content:"";display:block;width:24px;height:1px;background:var(--cyan);opacity:.65;margin-top:10px}
footer .foot p{font-size:13px;line-height:1.65;margin:0;max-width:350px}
footer .foot ul{list-style:none;margin:0;padding:0;font-size:13px;line-height:1.65}
footer .foot li+li{margin-top:6px}
footer a[href]:hover{color:var(--cyan2);text-decoration:underline;text-underline-offset:3px}
footer a[href]:focus-visible{outline:2px solid var(--cyan2);outline-offset:4px}
footer .pending-policy{cursor:default}
footer .footer-bottom{border-top:1px solid rgba(100,215,237,.16);margin-top:26px;padding-top:14px;font-size:11px;line-height:1.5;color:#8fa8b2}
@media(max-width:820px){
 footer .foot{grid-template-columns:1fr;gap:24px}
 footer .foot h3{margin-bottom:8px}
 footer .footer-bottom{margin-top:24px}
}
@media(max-width:520px){
 #quote{padding:32px 0}
 #quote h2{font-size:34px}
 footer .foot a[href]{overflow-wrap:anywhere}
}

/* Mobile navigation only; existing desktop navigation remains unchanged. */
.mobile-nav-toggle{display:none}
@media(max-width:1100px){
 nav .nav{position:relative}
 .mobile-nav-toggle{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;padding:0;border:1px solid rgba(100,215,237,.35);border-radius:6px;color:#fff;background:transparent;cursor:pointer;flex-shrink:0}
 nav .links{display:none;position:absolute;top:66px;left:0;right:0;max-height:calc(100dvh - 80px);overflow-y:auto;flex-direction:column;align-items:stretch;gap:0;padding:12px;background:#08232f;border:1px solid #234653;border-top:2px solid var(--cyan);border-radius:0 0 6px 6px;box-shadow:0 12px 24px rgba(0,0,0,.24)}
 nav .links.is-open{display:flex}
 nav .links a:not(.btn){display:block;padding:11px 12px;color:#fff}
 nav .links .btn{justify-content:center;margin:0 0 2px}
 nav .links a:not(.btn):hover{background:rgba(100,215,237,.08);color:var(--cyan2)}
 .mobile-nav-toggle:focus-visible,nav .links a:focus-visible,nav .links button:focus-visible{outline:2px solid var(--cyan2);outline-offset:3px}
}

/* Keep the mobile dropdown contained and right-aligned on tablets. */
@media(max-width:1100px){
 nav .links{left:auto;right:0;width:min(400px,100%)}
}
/* The existing circular photo inset protruded 35px beyond its mobile container. */
@media(max-width:900px){
 .context-story .story-photo:before{right:0}
}

/* Anchor destinations clear the existing sticky header without layout changes. */
#services,#approach,#report,#about,#quote{scroll-margin-top:82px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Quotation form: scoped to Start a Conversation. */
#quote .quotation-form{max-width:800px;margin:26px auto 0;text-align:left}
#quote .quotation-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px 22px}
#quote .quotation-fields label{display:block;font-size:13px;font-weight:700;margin:0 0 6px}
#quote .quotation-fields input,#quote .quotation-fields select,#quote .quotation-fields textarea{width:100%;min-width:0;border:1px solid #8199a2;border-radius:4px;padding:10px 12px;font:inherit;font-size:15px;line-height:1.45;color:#08232f;background:#fff}
#quote .quotation-fields textarea{resize:vertical;min-height:96px}
#quote .quotation-details{grid-column:1/-1}
#quote .quotation-details small{display:block;font-size:12px;margin-top:5px;color:var(--text-muted)}
#quote .quotation-form .actions{justify-content:center;margin-top:20px}
#quote .quotation-form button{font-family:inherit;cursor:pointer}
#quote .quotation-form :is(input,select,textarea,button,a):focus-visible{outline:3px solid var(--cyan);outline-offset:3px}
#quote .quotation-status{margin-top:20px;padding-top:16px;border-top:1px solid var(--cyan);font-size:14px}
#quote .quotation-status p{font-size:14px;margin:0 0 10px}
#quote .quotation-status>div{display:flex;gap:12px 24px;flex-wrap:wrap}
#quote .quotation-status a{text-decoration:underline;overflow-wrap:anywhere}

@media(max-width:600px){#quote .quotation-fields{grid-template-columns:1fr;gap:14px}#quote .quotation-form .actions>*{width:100%;justify-content:center}}


/* Separate genuine artwork, independently sized within the existing header. */
.brand-artwork{display:flex;align-items:center;gap:10px}
.brand-lockup .brand-genuine-shield{width:35.41px!important;height:48px!important;object-fit:contain;filter:none}
.brand-lockup .brand-genuine-wordmark{width:129.36px!important;height:44px!important;object-fit:contain;filter:none}

/* Readable cyan accents on light content surfaces. */
.kicker,.service-tag,#services .lra-points strong{color:var(--accent)}

/* Light is the fallback; dark follows the system preference without storage. */
@media (prefers-color-scheme: dark){
  html{color-scheme:dark;--page:#061923;--surface:#0b2531;--surface-soft:#0d2a36;--text:#eef8fb;--text-muted:#b7c8ce;--rule:#234653;--ink:#eef8fb;--muted:#b7c8ce;--ice:#0d2a36;--line:#234653;--white:#0b2531;--accent:#64d7ed}
  .report{background:linear-gradient(115deg,#041824,#072c3a);color:#fff}
  .report .lead{color:#bdd1d8}
  .report-groups span{color:#a9c1ca}
  html .independent{background:linear-gradient(90deg,rgba(8,32,43,.97),rgba(8,32,43,.94)),var(--navy)}
  html .statement{color:#d3e4e9}
  #approach,#approach .phase.center,#why-frs.independent{background:var(--navy)}
  .kicker,.service-tag,#services .lra-points strong{color:var(--cyan)}
  html #quote .quotation-fields :is(input,select,textarea){background:#08232f;color:#fff;border-color:#526d78;color-scheme:dark}
}
