/* Fast Locksmith sharp layout (Safe & Secure structure, FL brutalist look).
   Used by the Surrey, North Vancouver, Burnaby, Richmond, Coquitlam, Langley
   and White Rock pages; Vancouver and HQ never load it. Everything is scoped
   to .fx (the page wrapper) so the site drawer, callbar and Linq strips
   outside it keep their own styles. This file is fl-sharp2.css: a new file name per change,
   shipped one deploy before the pages that link it, so a rolling deploy never
   serves a page whose stylesheet isn't on every server yet. */
:is(.fx,.fxi){--ink:#0C183C;          
  --ink-2:#16244f;
  --bone:#FFF8EE;         
  --bone-2:#F4EADB;
            
  
  --taupe:#5b6275;
  --line:2px solid var(--ink);
  --ui:'Archivo',system-ui,sans-serif;
  --disp:'Anton','Archivo',sans-serif;
  --mono:'JetBrains Mono',ui-monospace,monospace;
  --narrow:'Archivo Narrow','Archivo',sans-serif;
  --pad:clamp(16px,4vw,48px);
  --sh:6px 6px 0 var(--ink);}
.fx,.fx *,.fxi :is(.ticker,.hdr,footer,.copy,.ihero),.fxi :is(.ticker,.hdr,footer,.copy,.ihero) *{box-sizing:border-box;margin:0;padding:0;border-radius:0!important}
.fx{background:var(--bone);color:var(--ink);font:400 16px/1.55 var(--ui);overflow-x:clip}
.fx img,.fx .slot{display:block;width:100%;height:100%;object-fit:cover}
.fx a{color:inherit;text-decoration:none}
.fx .wrap{max-width:1440px;margin:0 auto}
.fx .eb{font:700 11px/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;display:inline-flex;align-items:center;gap:10px}
.fx .eb::before{content:"";width:10px;height:10px;background:var(--acc);border:2px solid var(--ink)}
.fx .eb.on-dark::before{border-color:var(--bone)}
.fx .idx{font:700 12px/1 var(--mono);background:var(--ink);color:var(--bone);padding:5px 7px;letter-spacing:.06em}
:is(.fx,.fxi) .btn{display:inline-flex;align-items:center;gap:14px;font:700 13px/1 var(--narrow);letter-spacing:.1em;text-transform:uppercase;padding:16px 20px;border:var(--line);background:var(--bone);color:var(--ink);box-shadow:4px 4px 0 var(--ink);transition:transform .08s,box-shadow .08s}
:is(.fx,.fxi) .btn:active{transform:translate(4px,4px);box-shadow:0 0 0 var(--ink)}
.fx .btn.ink{background:var(--ink);color:var(--bone)}
.fx .btn.acc{background:var(--acc);color:var(--on-acc)}
:is(.fx,.fxi) .btn .ar{font-family:var(--mono);font-size:15px}
:is(.fx,.fxi) .ticker{background:var(--ink);color:var(--bone);font:700 11px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;overflow:hidden;padding:9px 0;border-bottom:var(--line)}
:is(.fx,.fxi) .ticker span{display:inline-block;padding-right:28px}
:is(.fx,.fxi) .ticker b{color:var(--acc)}
:is(.fx,.fxi) .hdr{display:grid;grid-template-columns:auto 1fr auto;border-bottom:var(--line);background:var(--bone);position:sticky;top:0;z-index:10}
:is(.fx,.fxi) .logo{display:flex;align-items:center;gap:12px;background:var(--acc);color:var(--on-acc);padding:14px 22px;border-right:var(--line)}
:is(.fx,.fxi) .logo svg{width:34px;height:38px}
:is(.fx,.fxi) .logo b{font:400 25px/.9 var(--disp);text-transform:uppercase;letter-spacing:.01em}
:is(.fx,.fxi) .logo-city{background:var(--ink);color:var(--bone);padding:14px 20px;border-right:var(--line);display:flex;flex-direction:column;justify-content:center}
:is(.fx,.fxi) .logo-city i{font:400 24px/1 var(--disp);font-style:normal;text-transform:uppercase}
:is(.fx,.fxi) .logo-city small{font:700 9px/1.3 var(--mono);letter-spacing:.16em;margin-top:4px}
:is(.fx,.fxi) .brand{display:flex}
:is(.fx,.fxi) nav.main{display:flex;flex:1}
:is(.fx,.fxi) nav.main a{display:flex;align-items:center;padding:0 26px;border-right:var(--line);font:700 12px/1 var(--narrow);letter-spacing:.12em;text-transform:uppercase}
:is(.fx,.fxi) nav.main a:hover{background:var(--ink);color:var(--bone)}
:is(.fx,.fxi) .hdr-call{display:flex;align-items:center;gap:14px;padding:0 22px;border-left:var(--line);background:var(--bone)}
:is(.fx,.fxi) .hdr-call small{display:block;font:700 10px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--taupe)}
:is(.fx,.fxi) .hdr-call b{font:400 24px/1.05 var(--disp);letter-spacing:.02em}
:is(.fx,.fxi) .burger{display:none}
.fx .hero{display:grid;grid-template-columns:1.15fr 1fr;grid-template-rows:auto auto;gap:0;border-bottom:var(--line)}
.fx .h-main{padding:56px var(--pad) 48px;border-right:var(--line);position:relative}
.fx .h-main .eb{margin-bottom:28px}
:is(.fx,.fxi) .h1{font:400 clamp(54px,7.4vw,112px)/.9 var(--disp);text-transform:uppercase;letter-spacing:-.005em}
:is(.fx,.fxi) .h1 .dot{color:var(--acc)}
:is(.fx,.fxi) .h-lede{max-width:520px;margin:26px 0 30px;font-size:17px;color:var(--ink-2)}
:is(.fx,.fxi) .chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:30px}
:is(.fx,.fxi) .chip{font:700 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;border:var(--line);padding:8px 10px;background:var(--bone)}
.fx .chip.on{background:var(--acc);color:var(--on-acc)}
:is(.fx,.fxi) .ctas{display:flex;flex-wrap:wrap;gap:14px}
.fx .h-photo{position:relative;background:var(--ink);min-height:520px}
.fx .h-photo img,.fx .h-photo .slot{position:absolute;inset:0;filter:grayscale(1) contrast(1.1)}
.fx .h-photo .cap{position:absolute;left:0;right:0;bottom:0;background:var(--ink);color:var(--bone);display:flex;justify-content:space-between;align-items:flex-end;padding:20px 22px;border-top:var(--line)}
.fx .h-photo .cap b{font:400 34px/.95 var(--disp);text-transform:uppercase}
.fx .h-photo .cap small{font:700 10px/1.4 var(--mono);letter-spacing:.16em;text-transform:uppercase;text-align:right}
.fx .h-photo .fig{position:absolute;top:0;left:0;background:var(--bone);border-right:var(--line);border-bottom:var(--line);font:700 10px/1 var(--mono);letter-spacing:.16em;padding:8px 10px;text-transform:uppercase}
.fx .h-shop{display:grid;grid-template-columns:200px 1fr;border-top:var(--line);border-right:var(--line);background:var(--bone-2)}
.fx .h-shop .ph{border-right:var(--line);min-height:190px}
.fx .h-shop .ph img,.fx .h-shop .ph .slot{filter:grayscale(1)}
.fx .h-shop .tx{padding:22px 24px;display:flex;flex-direction:column;justify-content:space-between}
.fx .h-shop .row{display:flex;justify-content:space-between;gap:12px;font:700 10px/1.5 var(--mono);letter-spacing:.14em;text-transform:uppercase}
.fx .h-shop h3{font:400 40px/.92 var(--disp);text-transform:uppercase;margin-bottom:18px}
.fx .h-shop h3 span{background:var(--acc);color:var(--on-acc);padding:2px 6px 0;display:inline-block;margin-top:8px;line-height:1}
.fx .h-stat{border-top:var(--line);padding:22px 24px;display:flex;flex-direction:column;justify-content:space-between;gap:16px}
.fx .h-stat .top{display:flex;align-items:flex-start;gap:16px}
.fx .h-stat .yr{font:400 76px/.85 var(--disp)}
.fx .h-stat .top small{font:700 10px/1.5 var(--mono);letter-spacing:.14em;text-transform:uppercase;padding-top:6px}
.fx .h-stat .tags{display:flex;flex-wrap:wrap;gap:6px}
.fx .trust{display:grid;grid-template-columns:auto repeat(4,1fr);border-bottom:var(--line)}
.fx .trust > div{padding:16px 20px;border-right:var(--line);font:700 12px/1.3 var(--narrow);letter-spacing:.12em;text-transform:uppercase;display:flex;align-items:center}
.fx .trust > div:last-child{border-right:0}
.fx .trust .lead{background:var(--acc);color:var(--on-acc);font-family:var(--mono);font-size:11px;letter-spacing:.16em}
.fx .sec{border-bottom:var(--line)}
.fx .sec-hd{display:grid;grid-template-columns:1fr auto;align-items:end;gap:24px;padding:64px var(--pad) 36px}
.fx .sec-hd .eb{margin-bottom:18px}
.fx .h2{font:400 clamp(38px,5vw,72px)/.92 var(--disp);text-transform:uppercase;max-width:22ch}
.fx .h2 .soft{color:var(--taupe)}
.fx .link-go{font:700 12px/1 var(--narrow);letter-spacing:.12em;text-transform:uppercase;border-bottom:4px solid var(--acc);padding-bottom:8px;white-space:nowrap}
.fx .strip{display:grid;grid-template-columns:repeat(5,1fr);border-top:var(--line)}
.fx .strip figure{position:relative;aspect-ratio:4/5;border-right:var(--line);overflow:hidden}
.fx .strip figure:last-child{border-right:0}
.fx .strip img,.fx .strip .slot{filter:grayscale(1) contrast(1.05);transition:filter .2s}
.fx .strip figure:hover img,.fx .strip figure:hover .slot{filter:none}
.fx .strip figcaption{position:absolute;left:0;bottom:0;background:var(--bone);border-top:var(--line);border-right:var(--line);font:700 10px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;padding:8px 10px}
.fx .nums{display:grid;grid-template-columns:repeat(4,1fr);border-top:var(--line)}
.fx .nums > div{padding:28px var(--pad) 32px;border-right:var(--line)}
.fx .nums > div:last-child{border-right:0}
.fx .nums b{display:block;font:400 84px/.9 var(--disp)}
.fx .nums b sup{font-size:.4em;vertical-align:top}
.fx .nums h4{font:700 13px/1 var(--narrow);letter-spacing:.12em;text-transform:uppercase;border-top:2px dashed var(--ink);padding-top:14px;margin-top:16px}
.fx .nums p{font-size:14px;color:var(--taupe);margin-top:8px}
.fx .svc{display:grid;grid-template-columns:repeat(4,1fr);border-top:var(--line)}
.fx .svc a{display:flex;flex-direction:column;border-right:var(--line);background:var(--bone);transition:background .1s,color .1s}
.fx .svc a:last-child{border-right:0}
.fx .svc .ph{aspect-ratio:16/11;border-bottom:var(--line);overflow:hidden}
.fx .svc .ph img,.fx .svc .ph .slot{filter:grayscale(1)}
.fx .svc .bd{padding:20px 22px 24px;display:flex;flex-direction:column;gap:12px;flex:1}
.fx .svc .top{display:flex;justify-content:space-between;align-items:center}
.fx .svc .go{font:700 18px/1 var(--mono)}
.fx .svc h3{font:400 34px/.95 var(--disp);text-transform:uppercase}
.fx .svc p{font-size:14px;color:var(--taupe)}
.fx .svc .tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}
.fx .svc .tags span{font:700 10px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;border:1.5px solid var(--ink);padding:5px 7px}
.fx .svc a.feat{background:var(--acc);color:var(--on-acc)}
.fx .svc a.feat p{color:var(--on-acc)}
.fx .svc a.feat .tags span{border-color:var(--on-acc)}
.fx .svc a.feat .idx{background:var(--on-acc);color:var(--acc)}
.fx .svc a:hover{background:var(--ink);color:var(--bone)}
.fx .svc a:hover p{color:#c9cede}
.fx .svc a:hover .tags span{border-color:var(--bone)}
.fx .why{background:var(--ink);color:var(--bone)}
.fx .why .h2 .soft{color:#8c93ab}
.fx .why-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;grid-template-rows:auto auto;border-top:2px solid var(--bone)}
.fx .why-grid > div{padding:26px 26px 30px;border-right:2px solid var(--bone);border-bottom:2px solid var(--bone)}
.fx .why-grid > div:nth-child(3n){border-right:0}
.fx .why-grid .big{grid-row:span 2;padding:0;display:flex;flex-direction:column}
.fx .why-grid .big .ph{flex:1;min-height:260px;border-bottom:2px solid var(--bone);position:relative}
.fx .why-grid .big .ph img,.fx .why-grid .big .ph .slot{position:absolute;inset:0}
.fx .why-grid .big .ph img,.fx .why-grid .big .ph .slot{filter:grayscale(1) contrast(1.1)}
.fx .why-grid .big .tx{padding:22px 26px 28px}
.fx .why-grid .ic{font:700 22px/1 var(--mono);color:var(--acc);margin-bottom:22px}
.fx .why-grid h3{font:400 30px/.95 var(--disp);text-transform:uppercase;margin-bottom:10px}
.fx .why-grid p{color:#c9cede;font-size:15px}
.fx .why-grid .hot{background:var(--acc);color:var(--on-acc)}
.fx .why-grid .hot .ic{color:var(--on-acc)}
.fx .why-grid .hot p{color:var(--on-acc)}
.fx .badge{display:inline-block;font:700 10px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;background:var(--acc);color:var(--on-acc);padding:7px 9px;margin-bottom:14px}
.fx .jobs{display:grid;grid-template-columns:repeat(3,1fr);border-top:var(--line)}
.fx .jobs > div{padding:24px 26px 28px;border-right:var(--line);border-bottom:var(--line);position:relative}
.fx .jobs > div:nth-child(3n){border-right:0}
.fx .jobs > div:nth-last-child(-n+3){border-bottom:0}
.fx .jobs .n{font:700 12px/1 var(--mono);letter-spacing:.1em;background:var(--acc);color:var(--on-acc);padding:5px 7px;border:2px solid var(--ink)}
.fx .jobs h3{font:800 22px/1.15 var(--ui);font-stretch:85%;text-transform:uppercase;margin:14px 0 10px;letter-spacing:-.01em}
.fx .jobs p{font-size:14px;color:var(--taupe);margin-bottom:16px}
.fx .jobs .tag{font:700 10px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;border:1.5px solid var(--ink);padding:6px 8px}
.fx .jobs > div::after{content:"↗";position:absolute;top:22px;right:24px;font:700 18px/1 var(--mono)}
.fx .steps{display:grid;grid-template-columns:repeat(3,1fr);border-top:var(--line)}
.fx .steps > div{padding:28px 28px 34px;border-right:var(--line);background:var(--bone-2)}
.fx .steps > div:last-child{border-right:0;background:var(--ink);color:var(--bone)}
.fx .steps b{font:400 96px/.85 var(--disp);display:block}
.fx .steps > div:last-child b{color:var(--acc)}
.fx .steps h3{font:400 30px/1 var(--disp);text-transform:uppercase;border-top:2px dashed currentColor;padding-top:18px;margin-top:22px}
.fx .steps p{font-size:15px;margin-top:10px;opacity:.85}
.fx .team{display:grid;grid-template-columns:1fr 1fr;background:var(--bone-2)}
.fx .team .tx{padding:64px var(--pad);border-right:var(--line)}
.fx .team .tx .eb{margin-bottom:18px}
.fx .team .tx p{max-width:460px;margin:22px 0 28px;color:var(--ink-2)}
.fx .team .ph{min-height:420px;position:relative}
.fx .team .ph img,.fx .team .ph .slot{position:absolute;inset:0;filter:grayscale(1)}
.fx .final{display:grid;grid-template-columns:320px 1fr auto;border-bottom:var(--line)}
.fx .final .l{background:var(--acc);color:var(--on-acc);padding:26px 26px 30px;border-right:var(--line)}
.fx .final .l small{font:700 10px/1 var(--mono);letter-spacing:.16em}
.fx .final .l h3{font:400 40px/.92 var(--disp);text-transform:uppercase}
.fx .final .m{padding:30px;display:flex;align-items:center;font-size:17px;max-width:640px}
.fx .final .r{display:flex;flex-direction:column;gap:14px;justify-content:center;padding:26px 30px;border-left:var(--line)}
:is(.fx,.fxi) footer{background:var(--ink);color:var(--bone);display:grid;grid-template-columns:1.3fr repeat(3,1fr)}
:is(.fx,.fxi) footer > div{padding:36px 28px;border-right:2px solid #2a3866}
:is(.fx,.fxi) footer > div:last-child{border-right:0}
:is(.fx,.fxi) footer h4{font:700 10px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--acc);margin-bottom:16px}
:is(.fx,.fxi) footer a{display:block;font:700 12px/2.1 var(--narrow);letter-spacing:.1em;text-transform:uppercase}
:is(.fx,.fxi) footer .bn{font:400 34px/.95 var(--disp);text-transform:uppercase}
:is(.fx,.fxi) footer p{color:#a7aec3;font-size:13px;margin-top:14px;max-width:300px}
:is(.fx,.fxi) .copy{background:var(--ink);color:#8c93ab;border-top:2px solid #2a3866;font:700 10px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;padding:16px 28px}
@media (max-width:1100px){:is(.fx,.fxi) nav.main{display:none}
:is(.fx,.fxi) .burger{display:flex;align-items:center;justify-content:center;width:64px;border-left:var(--line);font:700 22px/1 var(--mono)}
:is(.fx,.fxi) .hdr{grid-template-columns:auto 1fr auto auto}
.fx .svc{grid-template-columns:repeat(2,1fr)}
.fx .svc a:nth-child(2){border-right:0}
.fx .svc a:nth-child(-n+2){border-bottom:var(--line)}
.fx .strip{grid-template-columns:repeat(3,1fr)}
.fx .strip figure:nth-child(n+4){display:none}
.fx .strip figure:nth-child(3){border-right:0}}
@media (max-width:760px){:is(.fx,.fxi) .logo-city,:is(.fx,.fxi) .hdr-call{display:none}
:is(.fx,.fxi) .hdr{grid-template-columns:1fr auto}
:is(.fx,.fxi) .logo{border-right:var(--line)}
.fx .hero{grid-template-columns:1fr}
.fx .h-main{border-right:0;padding-top:36px}
.fx .h-photo{min-height:380px;border-top:var(--line)}
.fx .h-shop{grid-template-columns:120px 1fr;border-right:0}
.fx .h-shop h3{font-size:30px}
.fx .h-stat .yr{font-size:60px}
.fx .trust{grid-template-columns:1fr 1fr}
.fx .trust .lead{grid-column:1/-1;border-right:0;border-bottom:var(--line)}
.fx .trust > div:nth-child(3){border-right:0}
.fx .trust > div:nth-child(2),.fx .trust > div:nth-child(3){border-bottom:var(--line)}
.fx .sec-hd{grid-template-columns:1fr;padding-top:48px}
.fx .strip{grid-template-columns:1fr 1fr}
.fx .strip figure:nth-child(3){display:none}
.fx .strip figure:nth-child(2){border-right:0}
.fx .nums{grid-template-columns:1fr 1fr}
.fx .nums > div:nth-child(2){border-right:0}
.fx .nums > div:nth-child(-n+2){border-bottom:var(--line)}
.fx .nums b{font-size:64px}
.fx .svc{grid-template-columns:1fr}
.fx .svc a{border-right:0;border-bottom:var(--line)}
.fx .svc a:last-child{border-bottom:0}
.fx .why-grid{grid-template-columns:1fr}
.fx .why-grid > div{border-right:0}
.fx .why-grid .big{grid-row:auto}
.fx .jobs,.fx .steps{grid-template-columns:1fr}
.fx .jobs > div{border-right:0;border-bottom:var(--line)!important}
.fx .jobs > div:last-child{border-bottom:0!important}
.fx .steps > div{border-right:0;border-bottom:var(--line)}
.fx .steps > div:last-child{border-bottom:0}
.fx .team{grid-template-columns:1fr}
.fx .team .tx{border-right:0;border-bottom:var(--line)}
.fx .team .ph{min-height:300px}
.fx .final{grid-template-columns:1fr}
.fx .final .l{border-right:0;border-bottom:var(--line)}
.fx .final .r{border-left:0;border-top:var(--line)}
:is(.fx,.fxi) footer{grid-template-columns:1fr 1fr}
:is(.fx,.fxi) footer > div:first-child{grid-column:1/-1;border-right:0;border-bottom:2px solid #2a3866}}
.fx .svc{grid-template-columns:repeat(3,1fr)!important}
.fx .svc a{border-bottom:var(--line)}
.fx .svc a:nth-child(3n){border-right:0}
.fx .svc a:nth-last-child(-n+3){border-bottom:0}
:is(.fx,.fxi) .il{border-bottom:2px solid var(--acc);font-weight:600}
.fx .svc-links{padding:22px var(--pad) 26px;border-top:var(--line);font-size:16px;max-width:none;background:var(--bone-2)}
.fx .svc-links a{border-bottom:2px solid var(--acc);font-weight:600}
.fx .areas{display:grid;grid-template-columns:repeat(4,1fr);border-top:var(--line)}
.fx .areas a{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:18px 22px;border-right:var(--line);border-bottom:var(--line);font:700 13px/1.2 var(--narrow);letter-spacing:.1em;text-transform:uppercase}
.fx .areas a:nth-child(4n){border-right:0}
.fx .areas a span{font:700 15px/1 var(--mono)}
.fx .areas a:hover{background:var(--ink);color:var(--bone)}
.fx .areas a.gbp{background:var(--acc);color:var(--on-acc)}
.fx .areas a.all{background:var(--ink);color:var(--bone)}
@media (max-width:1100px){.fx .svc{grid-template-columns:repeat(2,1fr)!important}
.fx .svc a{border-right:var(--line)!important;border-bottom:var(--line)!important}
.fx .svc a:nth-child(2n){border-right:0!important}
.fx .areas{grid-template-columns:repeat(2,1fr)}
.fx .areas a{border-right:var(--line)!important}
.fx .areas a:nth-child(2n){border-right:0!important}}
@media (max-width:760px){.fx .svc{grid-template-columns:1fr!important}
.fx .svc a{border-right:0!important}}
:is(.fx,.fxi) .logo{background:var(--bone)!important;color:var(--ink)!important;padding:10px 22px 10px 16px!important}
:is(.fx,.fxi) .logo .shield{width:48px;height:52px;display:block}
:is(.fx,.fxi) .fshield .shield{width:64px;height:70px;margin-bottom:16px;display:block}
@media (max-width:760px){:is(.fx,.fxi) .logo .shield{width:40px;height:44px}}
:is(.fx,.fxi).acc-blue{--acc:#2D6BFF;--on-acc:#FFFFFF;--acc-lite:#7FA6FF}
:is(.fx,.fxi).acc-yellow{--acc:#FFCB05;--on-acc:#0C183C;--acc-lite:#FFCB05}
:is(.fx,.fxi).acc-orange{--acc:#E8621F;--on-acc:#0C183C;--acc-lite:#E8621F}
:is(.fx,.fxi).acc-green{--acc:#1F9D55;--on-acc:#0C183C;--acc-lite:#1F9D55}
:is(.fx,.fxi).acc-purple{--acc:#7C5CFF;--on-acc:#000000;--acc-lite:#A794FF}
:is(.fx,.fxi).acc-maroon{--acc:#9F1239;--on-acc:#FFF8EE;--acc-lite:#F28CA6}
:is(.fx,.fxi).acc-teal{--acc:#0E9C9C;--on-acc:#0C183C;--acc-lite:#0E9C9C}
/* accent text on the ink surfaces uses --acc-lite (AA on navy for every city) */
:is(.fx,.fxi) footer h4,.fx .why-grid .ic,.fx .steps > div:last-child b{color:var(--acc-lite)}
.fx{-webkit-text-size-adjust:100%}
/* area names without their own page: same cell, no link */
.fx .areas .nm{display:flex;align-items:center;padding:18px 22px;border-right:var(--line);border-bottom:var(--line);font:700 13px/1.2 var(--narrow);letter-spacing:.1em;text-transform:uppercase}
.fx .areas > :nth-child(4n){border-right:0}
@media (max-width:1100px){.fx .areas > *{border-right:var(--line)!important}.fx .areas > :nth-child(2n){border-right:0!important}}
:is(.fx,.fxi) footer .nm{display:block;font:700 12px/2.1 var(--narrow);letter-spacing:.1em;text-transform:uppercase;color:#a7aec3}
/* real brand marks (fl_brand) */
:is(.fx,.fxi) .logo .mark{width:46px;height:46px;display:block}
:is(.fx,.fxi) .fshield .badge{width:72px;height:auto;display:block;margin-bottom:16px}
:is(.fx,.fxi) .hdr-call .ph-ic{width:22px;height:22px;flex:0 0 auto;display:none}
/* phones: the call button fills the header square between the logo and the menu */
@media (max-width:760px){
  :is(.fx,.fxi) .hdr{grid-template-columns:auto 1fr auto}
  :is(.fx,.fxi) .brand{min-width:0}
  :is(.fx,.fxi) .logo{padding:10px 14px 10px 12px!important;gap:10px}
  :is(.fx,.fxi) .logo .mark{width:38px;height:38px}
  :is(.fx,.fxi) .logo b{font-size:20px}
  :is(.fx,.fxi) .hdr-call{display:flex;justify-content:center;gap:10px;padding:0 10px;border-left:0;background:var(--acc);color:var(--on-acc);min-width:0}
  :is(.fx,.fxi) .hdr-call .ph-ic{display:block}
  :is(.fx,.fxi) .hdr-call small{color:inherit;font-size:9px;letter-spacing:.16em}
  :is(.fx,.fxi) .hdr-call b{font-size:19px;white-space:nowrap}
  :is(.fx,.fxi) .hdr-call:active{background:var(--ink);color:var(--bone)}
  :is(.fx,.fxi) .burger{border-left:var(--line)}
}
@media (max-width:380px){:is(.fx,.fxi) .hdr-call div small{display:none}:is(.fx,.fxi) .hdr-call b{font-size:17px}}
/* empty photo slot: Sam's photos drop in here (data-photo = the image name) */
:is(.fx,.fxi) .slot{display:block;width:100%;height:100%;min-height:inherit;background:repeating-linear-gradient(45deg,var(--bone-2) 0 10px,var(--bone) 10px 20px)}
:is(.fx,.fxi) .burger{cursor:pointer}
:is(.fx,.fxi) .burger:focus-visible,:is(.fx,.fxi) a:focus-visible{outline:3px solid var(--acc);outline-offset:-3px}
/* The site drawer only exists below 1000px, so the header keeps its nav until then. */
@media (min-width:1000px) and (max-width:1100px){:is(.fx,.fxi) nav.main{display:flex}:is(.fx,.fxi) .burger{display:none}:is(.fx,.fxi) .hdr{grid-template-columns:auto 1fr auto}}

/* ── Inner pages (body.site.fxi): the shared header/footer above, a split hero,
   and fl.css content reskinned sharp. Sam: no preheaders, no cursive. ── */
.site.fxi{max-width:none;background:var(--bone);color:var(--ink);overflow-x:clip;
  --surface:var(--bone)!important;--surface-2:var(--bone-2)!important;--text:var(--ink)!important;--muted:var(--taupe)!important;
  --card:#FFFFFF!important;--hair:var(--ink)!important;--band:var(--ink)!important;--band-text:var(--bone)!important;
  --accent:var(--acc);--on-accent:var(--on-acc)}
.fxi :is(.ticker,.hdr,footer,.copy,.ihero) a{color:inherit;text-decoration:none}
.fxi :is(.ticker,.hdr,footer,.copy){font-family:var(--ui)}
.site.fxi > :not(.ticker):not(.hdr):not(footer):not(.copy):not(script){max-width:1440px;margin-left:auto;margin-right:auto}
.fxi *{border-radius:0!important}
.fxi .crumbs{font:700 11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;padding:14px var(--pad);border-bottom:var(--line);color:var(--taupe)}
.fxi .crumbs a{color:var(--ink);border-bottom:2px solid var(--acc)}
.fxi .crumbs span{margin:0 8px}
.fxi .ihero{display:grid;grid-template-columns:1.15fr 1fr;border-bottom:var(--line)}
.fxi .ihero .tx{padding:56px var(--pad) 48px;border-right:var(--line)}
.fxi .ihero .h1{font-size:clamp(44px,5.6vw,88px);overflow-wrap:anywhere}
.fxi .ihero .by{font:700 11px/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--taupe);margin-top:16px}
.fxi .ihero .h-lede{max-width:560px}
.fxi .ihero .h-lede .mark{background:none;color:inherit;font-weight:700;border-bottom:2px solid var(--acc)}
.fxi .ihero .media{position:relative;min-height:440px;background:var(--bone-2)}
.fxi .ihero .media .slot{position:absolute;inset:0}
.fxi .ihero .btn{text-decoration:none;border-radius:0;min-height:0}
/* fl.css content: display type in Anton caps, mono labels, ink hairlines */
.fxi :is(h2,h3){font-family:var(--disp)!important;font-weight:400!important;text-transform:uppercase;letter-spacing:.005em!important;font-style:normal!important;color:var(--ink)}
.fxi h2{font-size:clamp(32px,3.6vw,52px)!important;line-height:.95!important}
.fxi h3{line-height:1!important}
.fxi :is(em,i,.hl,.ser,.it){font-style:normal!important}
.fxi section h2 .hl,.fxi section h2 em{color:var(--taupe)}
.fxi .sec-head{border-bottom:var(--line);padding-bottom:18px}
.fxi .sec-head p{color:var(--taupe)}
.fxi .btn{border:var(--line)!important;border-radius:0!important;box-shadow:4px 4px 0 var(--ink);font-family:var(--narrow);font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.fxi .btn:active{transform:translate(4px,4px);box-shadow:none}
.fxi .btn--accent{background:var(--acc);color:var(--on-acc)}
.fxi .btn--ghost{background:var(--bone);color:var(--ink)}
.fxi .ihero .btn.ink{background:var(--ink);color:var(--bone)}
.fxi .ihero .btn:not(.ink){background:var(--bone);color:var(--ink)}
.fxi :is(.card,.faq details,.linkgrid a,.spec,.steps > *,.aside > *,.notes > *,.trust > *){border:var(--line)!important;border-radius:0!important;box-shadow:none}
.fxi .card{background:var(--panel,#fff);box-shadow:6px 6px 0 var(--ink)!important}
.fxi .linkgrid a{background:var(--bone);font:700 13px/1.2 var(--narrow);letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}
.fxi .linkgrid a:hover{background:var(--ink);color:var(--bone)}
.fxi .spec{border-collapse:collapse}
.fxi .spec th{background:var(--ink);color:var(--bone);font:700 11px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase}
.fxi .spec :is(th,td){border-bottom:var(--line)}
.fxi .faq summary{font:800 17px/1.25 var(--ui);text-transform:uppercase;letter-spacing:.01em}
.fxi .faq details[open] summary{background:var(--ink);color:var(--bone)}
.fxi .checks li::before{border-radius:0!important}
.fxi .band{background:var(--ink)!important;color:var(--bone)!important;border-top:var(--line);border-bottom:var(--line)}
.fxi .band :is(h2,h3){color:var(--bone)!important}
.fxi .band .btn--ghost{background:var(--bone);color:var(--ink)}
.fxi .prose a,.fxi .aside a:not(.btn){color:var(--ink);text-decoration:none;border-bottom:2px solid var(--acc);font-weight:600}
@media (max-width:760px){
  .fxi .ihero{grid-template-columns:1fr}
  .fxi .ihero .tx{border-right:0;padding-top:36px}
  .fxi .ihero .media{min-height:280px;border-top:var(--line)}
}
.fxi .ihero .media img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.08)}
.fx img:not(.mark):not(.badge){filter:grayscale(1)}
