
/* fido-geo-dna: hub band + testimoni redesigned on fidodesign.net DNA */
.fgl,.ft{--f-black:#050508;--f-panel-1:#13111e;--f-panel-2:#141028;--f-mid:#6d719c;--f-body:#8689a2;--f-dim:#989bcc;--f-cyan:#00dee2;--f-line:rgba(109,113,156,.28);--f-line-soft:rgba(109,113,156,.16);--f-grad:linear-gradient(0deg,#000 0%,#13111e 98%);--f-grad-card:linear-gradient(0deg,rgba(63,63,63,0) 62%,rgba(121,121,155,.48) 100%);--f-radius:16px;--f-radius-sm:11px;--f-ff:fidodesign,'Helvetica Now Display',Helvetica,Arial,sans-serif;font-family:var(--f-ff)}
.fgl{--f-ff:fidodesign,'Helvetica Now Display',Helvetica,Arial,sans-serif;--f-body:#8689a2;--f-mid:#6d719c;--f-dim:#989bcc;--f-head:#eaeaf2;--f-panel:#181d29;--f-line:#2e314a;--f-cyan:#00dee2;--f-r:3px}
.fgl *{box-sizing:border-box}
/* ---- state hub band: same language as the approved testimoni CTA ---- */
.fgl{position:relative;background:#000;color:var(--f-body);margin-top:100px!important;padding:100px 0!important;border-top:1px solid var(--f-line);text-align:left!important}
.fgl-in{width:100%;max-width:1120px;margin:0 auto}
.fgl-eyebrow{display:flex;align-items:center;gap:14px;margin:0 0 24px!important;color:var(--f-dim)!important;font-family:var(--f-ff)!important;font-size:12px!important;font-weight:500!important;letter-spacing:2px!important;text-transform:uppercase!important;line-height:1.2!important}
.fgl-eyebrow i{display:block;width:32px;height:2px;background:var(--f-cyan);font-style:normal}
.fgl h2{margin:0 0 64px!important;color:var(--f-head)!important;font-family:var(--f-ff)!important;font-size:clamp(34px,4vw,56px)!important;font-weight:500!important;letter-spacing:-1.5px!important;line-height:1.08!important;text-align:left!important}
.fgl h2 em{font-style:normal;color:var(--f-head);-webkit-text-fill-color:currentColor}
.fgl h3{margin:0 0 24px!important;color:var(--f-head)!important;font-family:var(--f-ff)!important;font-size:28px!important;font-weight:500!important;letter-spacing:-.5px!important;line-height:1.2!important;text-align:left!important}
.fgl h4{margin:0 0 24px!important;color:var(--f-dim)!important;font-family:var(--f-ff)!important;font-size:12px!important;font-weight:500!important;letter-spacing:2px!important;text-transform:uppercase!important;line-height:1.2!important;text-align:left!important}
.fgl p,.fgl li{color:var(--f-body)!important;font-family:var(--f-ff)!important;font-size:18px!important;font-weight:500!important;line-height:1.8!important;text-align:left!important}
.fgl p{margin:0 0 20px!important}
.fgl .fgl-lead{color:var(--f-head)!important;font-size:21px!important;line-height:1.7!important}
.fgl .fgl-lead strong,.fgl p strong,.fgl li strong{color:var(--f-head)!important;font-weight:500!important}
.fgl .fgl-cyan{color:var(--f-head)!important}
.fgl-hero{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:64px;align-items:start;margin:0 0 100px}
.fgl-stack{display:flex;flex-direction:column;gap:64px}
.fgl-panel{border:1px solid var(--f-line);border-radius:var(--f-r);background:var(--f-panel);padding:48px}
.fgl .fgl-price{margin:0 0 12px!important;color:var(--f-head)!important;font-size:36px!important;font-weight:500!important;letter-spacing:-1px!important;line-height:1.1!important}
.fgl-price span{color:inherit!important;font-size:inherit!important;font-weight:inherit!important}
.fgl .fgl-price__note{margin:0 0 40px!important;color:var(--f-body)!important;font-size:16px!important;line-height:1.7!important}
.fgl-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 32px;margin:0 0 40px;padding:32px 0 0;border-top:1px solid var(--f-line)}
.fgl-split>div{margin:0}
.fgl-split dt{margin:0 0 8px;color:var(--f-mid)!important;font-family:var(--f-ff);font-size:11px;font-weight:500;letter-spacing:2px;text-transform:uppercase;line-height:1.3}
.fgl-split dd{margin:0;color:var(--f-head)!important;font-family:var(--f-ff);font-size:16px;font-weight:500;line-height:1.5}
.fgl-areas{display:block;column-count:3;column-gap:32px;margin:0!important;padding:0!important;list-style:none!important}
.fgl .fgl-areas li{break-inside:avoid-column;margin:0 0 12px!important;padding:0 0 12px!important;border-bottom:1px solid var(--f-line);color:var(--f-head)!important;font-size:16px!important;line-height:1.4!important}
.fgl-stack .fgl-note:empty{display:none}
.fgl-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:0 0 100px!important;padding:0!important;list-style:none!important;counter-reset:fgl}
.fgl .fgl-steps li{position:relative;margin:0!important;padding:40px 32px 40px!important;border:1px solid var(--f-line);border-radius:var(--f-r);background:var(--f-panel);font-size:16px!important;line-height:1.7!important}
.fgl-steps li:before{counter-increment:fgl;content:"0" counter(fgl);display:block;margin:0 0 32px;color:var(--f-mid);font-family:var(--f-ff);font-size:13px;font-weight:500;letter-spacing:2px}
.fgl-steps li b{display:block;margin:0 0 12px;color:var(--f-head)!important;font-size:20px;font-weight:500;letter-spacing:-.3px;line-height:1.3}
.fgl-qa{margin:0!important;padding:0!important;border-top:1px solid var(--f-line)}
.fgl-q{margin:0!important;border-bottom:1px solid var(--f-line)}
.fgl-q summary{position:relative;padding:28px 56px 28px 0!important;color:var(--f-head)!important;font-family:var(--f-ff)!important;font-size:20px!important;font-weight:500!important;letter-spacing:-.2px!important;line-height:1.4!important;cursor:pointer;list-style:none;text-align:left!important}
.fgl-q summary::-webkit-details-marker{display:none}
.fgl-q summary:after{content:"";position:absolute;right:8px;top:50%;width:10px;height:10px;margin-top:-7px;border-right:1px solid var(--f-mid);border-bottom:1px solid var(--f-mid);transform:rotate(45deg);transition:transform .25s ease,border-color .25s ease}
.fgl-q summary:hover:after,.fgl-q[open] summary:after{border-color:var(--f-cyan)}
.fgl-q[open] summary:after{transform:rotate(-135deg);margin-top:-2px}
.fgl-q summary:focus-visible{outline:1px solid var(--f-mid);outline-offset:4px}
.fgl .fgl-q p{margin:0 0 28px!important;color:var(--f-body)!important;font-size:17px!important}
.fgl-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:28px 48px;margin-top:100px;padding:48px;border:1px solid var(--f-line);border-radius:var(--f-r);background:var(--f-panel)}
.fgl .fgl-cta p{margin:0!important;color:var(--f-body)!important;font-size:18px!important;line-height:1.8!important;flex:1 1 360px}
.fgl .fgl-cta p b{display:block;color:var(--f-head);font-size:28px;font-weight:500;letter-spacing:-.5px;line-height:1.2;margin-bottom:12px}
.fgl .fgl-cta p b::before{content:"";display:block;width:32px;height:2px;margin-bottom:20px;background:var(--f-cyan)}
.fgl-btns{display:flex;flex-wrap:wrap;gap:12px}
.fgl-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;border-radius:7px;font-family:var(--f-ff)!important;font-size:17px!important;font-weight:600!important;letter-spacing:.3px!important;line-height:1!important;padding:15px 26px!important;text-decoration:none!important;transition:background-color .2s ease,border-color .2s ease}
.fgl-btn--p,.fgl-btn--w{background:#5661ce;color:#fff!important;border:1px solid #5661ce}
.fgl-btn--p:hover,.fgl-btn--w:hover{background:#6570dc;border-color:#6570dc}
.fgl-btn--p:active,.fgl-btn--w:active{background:#4852bb}
.fgl-btn--g{background:transparent;border:1px solid var(--f-line);color:#fff!important}
.fgl-btn--g:hover{border-color:var(--f-mid)}
.fgl-btn:focus-visible{outline:1px solid var(--f-dim);outline-offset:3px}
.fgl-btn svg{width:18px;height:18px;fill:currentColor;flex:0 0 auto}
.fgl-panel .fgl-btns,.fgl-panel .fgl-btn{width:100%}
.fgl .fgl-note{margin:24px 0 0!important;color:var(--f-mid)!important;font-size:13px!important;line-height:1.6!important}
@media(max-width:980px){.fgl-hero,.fgl-split{grid-template-columns:minmax(0,1fr)}.fgl-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.fgl-hero{gap:64px}}
@media(max-width:640px){.fgl{margin-top:64px!important;padding:64px 0!important}.fgl h2{margin-bottom:40px!important}.fgl-hero,.fgl-steps{margin-bottom:64px!important}.fgl-steps{grid-template-columns:minmax(0,1fr)}.fgl-areas{column-count:2}.fgl-panel,.fgl-cta{padding:32px 24px}.fgl-cta{margin-top:64px}.fgl .fgl-cta p b{font-size:23px}.fgl-btns,.fgl-btn{width:100%}}

/* ---- testimoni page (DNA v2: flat panels, hairlines, 3px) ---- */
.ft{--f-ff:fidodesign,'Helvetica Now Display',Helvetica,Arial,sans-serif;--f-body:#8689a2;--f-mid:#6d719c;--f-dim:#989bcc;--f-head:#eaeaf2;--f-panel:#181d29;--f-line:#2e314a;--f-cyan:#00dee2;--f-r:3px}
.ft *{box-sizing:border-box}
.ft{position:relative;background:#000;color:var(--f-body);padding:100px 20px!important;text-align:left!important}
.ft-in{position:relative;width:100%;max-width:1120px;margin:0 auto}
.ft-head{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:64px;align-items:end;margin:0 0 64px}
.ft h2{margin:0 0 24px!important;color:var(--f-head)!important;font-family:var(--f-ff)!important;font-size:clamp(34px,4vw,56px)!important;font-weight:500!important;letter-spacing:-1.5px!important;line-height:1.08!important;text-align:left!important}
.ft p{color:var(--f-body)!important;font-family:var(--f-ff)!important;font-size:18px!important;font-weight:500!important;line-height:1.8!important;margin:0 0 16px!important;text-align:left!important}
.ft .ft-eyebrow{display:flex;align-items:center;gap:14px;margin:0 0 24px!important;padding:0;border:0;background:none;color:var(--f-dim)!important;font-size:12px!important;font-weight:500!important;letter-spacing:2px!important;text-transform:uppercase!important;line-height:1.2!important}
.ft-eyebrow i{display:block;width:32px;height:2px;background:var(--f-cyan);font-style:normal}
.ft-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px;border-top:1px solid var(--f-line)}
.ft-stat{padding:24px 0;border-bottom:1px solid var(--f-line)}
.ft-stat b{display:block;color:var(--f-head);font-family:var(--f-ff);font-size:32px;font-weight:500;letter-spacing:-1px;line-height:1.1}
.ft-stat span{display:block;margin-top:8px;color:var(--f-mid);font-family:var(--f-ff);font-size:11px;font-weight:500;letter-spacing:2px;text-transform:uppercase}
.ft-tools{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 24px;flex-wrap:wrap}
.ft-tools .ft-eyebrow{margin:0!important}
.ft-tools__nav{display:flex;gap:8px}
.ft-nav{width:44px;height:44px;border-radius:3px;border:1px solid var(--f-line);background:transparent;color:var(--f-head);cursor:pointer;display:grid;place-items:center;transition:border-color .2s ease}
.ft-nav:hover{border-color:var(--f-mid)}
.ft-nav:focus-visible{outline:1px solid var(--f-dim);outline-offset:3px}
.ft-nav svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.5}
.ft-rail{display:flex!important;flex-direction:row!important;align-items:stretch;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 0 24px;margin:0;scrollbar-width:thin;scrollbar-color:#2e314a transparent}
.ft-rail::-webkit-scrollbar{height:4px}
.ft-rail::-webkit-scrollbar-thumb{background:#2e314a;border-radius:3px}
.ft-card{flex:0 0 clamp(300px,31%,352px)!important;scroll-snap-align:start;position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:32px;margin:0!important;padding:40px 32px 32px!important;border:1px solid var(--f-line);border-radius:var(--f-r);background:var(--f-panel);transition:border-color .2s ease}
.ft-card:hover{border-color:var(--f-mid)}
.ft-card:before{content:"";display:block;position:absolute;top:0;left:32px;width:32px;height:2px;background:var(--f-cyan)}
.ft-card blockquote{margin:0!important;padding:0!important;border:0!important;background:none!important}
.ft .ft-card blockquote p{margin:0!important;color:var(--f-head)!important;font-size:17px!important;font-weight:500!important;line-height:1.7!important}
.ft-card figcaption{margin:0;padding-top:20px;border-top:1px solid var(--f-line);color:var(--f-head)!important;font-family:var(--f-ff);font-size:15px!important;font-weight:500!important;line-height:1.4!important}
.ft-card figcaption span{display:block!important;margin-top:6px;color:var(--f-mid)!important;font-size:11px!important;font-weight:500!important;letter-spacing:2px!important;text-transform:uppercase}
.ft-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:28px 48px;margin-top:64px;padding:48px;border:1px solid #2e314a;border-radius:3px;background:#181d29}
.ft .ft-foot p{margin:0!important;color:#8689a2!important;font-size:18px!important;line-height:1.8!important;flex:1 1 360px}
.ft .ft-foot p b{display:block;color:#eaeaf2;font-size:28px;font-weight:500;letter-spacing:-.5px;line-height:1.2;margin-bottom:12px}
.ft .ft-foot p b::before{content:"";display:block;width:32px;height:2px;margin-bottom:20px;background:#00dee2}
.ft-foot .fgl-btn--p{box-shadow:none}
.ft-foot .fgl-btn--p:hover{transform:none;box-shadow:none;background:#6570dc}
.ft-foot .fgl-btn--g{background:transparent;border:1px solid #2e314a}
.ft-foot .fgl-btn--g:hover{background:transparent;border-color:#6d719c}
.ft .ft-note{margin:24px 0 0!important;color:#6d719c!important;font-size:13px!important;line-height:1.6!important}
@media(max-width:640px){.ft-foot{padding:28px 22px;gap:24px}.ft .ft-foot p b{font-size:23px}}
@media(max-width:980px){.ft-head{grid-template-columns:minmax(0,1fr);gap:40px}.ft-card{flex-basis:clamp(280px,78%,340px)!important}}

/* viewport-width safety: the theme's section grid imposes a desktop min width on wide layouts */
.ft,.fgl{width:100%!important;max-width:100%!important;min-width:0!important}
.ft-in,.fgl-in{min-width:0!important}
.ft-rail{min-width:0!important;max-width:100%!important}
@media(max-width:1024px){
.ft,.fgl{width:100%!important;max-width:100%!important}
}
@media(max-width:760px){
.ft-in,.fgl-in{width:100%!important;max-width:100%!important}
.ft-head,.ft-stats,.ft-tools{max-width:100%!important}
.ft-rail{width:100%!important;max-width:100%!important}
.ft-card{flex:0 0 82%!important;max-width:82%!important}
.ft h2,.fgl h2{word-break:normal;overflow-wrap:anywhere}
}

@media(max-width:640px){.ft{padding:64px 20px!important}.ft-card{padding:32px 24px 24px!important}.ft-card:before{left:24px}.ft-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.ft-card{flex-basis:84%!important}}

/* ---- pages & contact: extra .fgl parts ---- */
.fgl--page{margin-top:0!important;border-top:0!important;padding-top:160px!important}
.fgl h1{margin:0 0 64px!important;color:var(--f-head)!important;font-family:var(--f-ff)!important;font-size:clamp(38px,4.6vw,64px)!important;font-weight:500!important;letter-spacing:-1.5px!important;line-height:1.06!important;text-align:left!important}
.fgl-block{margin:0 0 100px}
.fgl-block>h2,.fgl-duo h2{margin-bottom:40px!important;font-size:clamp(28px,3vw,40px)!important;letter-spacing:-1px!important}
.fgl .fgl-block>.fgl-steps{margin-bottom:0!important}
.fgl-duo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;margin:0 0 100px}
.fgl--contact .fgl-duo{gap:24px}
.fgl-check{margin:0!important;padding:0!important;list-style:none!important;border-top:1px solid var(--f-line)}
.fgl .fgl-check li{position:relative;margin:0!important;padding:16px 0 16px 28px!important;border-bottom:1px solid var(--f-line);color:var(--f-head)!important;font-size:17px!important;line-height:1.6!important}
.fgl-check li:before{content:"";position:absolute;left:2px;top:26px;width:12px;height:2px;background:var(--f-mid)}
.fgl .fgl-small{margin:24px 0 0!important;color:var(--f-body)!important;font-size:16px!important;line-height:1.7!important}
.fgl-btns--stack{flex-direction:column;margin:0 0 40px}
.fgl-btns--stack .fgl-btn{width:100%;justify-content:flex-start}
.fgl-link{display:block;text-decoration:none!important;transition:border-color .2s ease}
.fgl-link:hover{border-color:var(--f-mid)}
.fgl .fgl-link p{margin:0!important;font-size:16px!important}
.fgl .fgl-link p b{display:block;margin:0 0 8px;color:var(--f-head)!important;font-size:22px;font-weight:500;letter-spacing:-.3px;line-height:1.3}
.fgl-tw{width:100%;overflow-x:auto;border-top:1px solid var(--f-line)}
.fgl-table{width:100%;min-width:640px;border-collapse:collapse;font-family:var(--f-ff)}
.fgl-duo .fgl-table{min-width:0}
.fgl-table th{padding:20px 24px 20px 0;border-bottom:1px solid var(--f-line);color:var(--f-mid);font-size:11px;font-weight:500;letter-spacing:2px;text-transform:uppercase;text-align:left;vertical-align:bottom}
.fgl-table td{padding:20px 24px 20px 0;border-bottom:1px solid var(--f-line);color:var(--f-body);font-size:16px;font-weight:500;line-height:1.6;text-align:left;vertical-align:top}
.fgl-table td b{color:var(--f-head);font-weight:500}
.fgl a:not(.fgl-btn):not(.fgl-link){color:#989bcc;text-decoration:underline;text-underline-offset:3px}
@media(max-width:980px){.fgl-duo{grid-template-columns:minmax(0,1fr)}}
@media(max-width:640px){.fgl--page{padding-top:120px!important}.fgl h1{margin-bottom:40px!important}.fgl-block,.fgl-duo{margin-bottom:64px}}

/* ---- districts & directory ---- */
.fgl-dist{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 32px;border-top:1px solid var(--f-line)}
.fgl .fgl-d{margin:0!important;padding:24px 0!important;border-bottom:1px solid var(--f-line);font-size:16px!important;line-height:1.7!important;scroll-margin-top:120px}
.fgl .fgl-d b{display:block;margin:0 0 6px;color:var(--f-head)!important;font-size:18px;font-weight:500;letter-spacing:-.2px;line-height:1.35}
.fgl .fgl-d a{display:block;margin-top:8px}
.fgl .fgl-d:target b{color:var(--f-head)!important}
.fgl .fgl-d:target{border-bottom-color:var(--f-mid)}
.fgl--dir{margin-top:0!important}
.fgl--dir h2{margin-bottom:24px!important}
.fgl--dir .fgl-lead{margin-bottom:64px!important;max-width:760px}
.fgl-dir{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:48px 32px}
.fgl .fgl-dir__h{margin:0 0 12px!important;padding:0 0 12px!important;border-bottom:1px solid var(--f-line);font-size:12px!important;letter-spacing:2px!important;text-transform:uppercase!important;line-height:1.3!important}
.fgl .fgl-dir__h a{color:var(--f-dim)!important;text-decoration:none!important}
.fgl-dir ul{margin:0!important;padding:0!important;list-style:none!important}
.fgl .fgl-dir li{margin:0!important;padding:4px 0!important;font-size:15px!important;line-height:1.5!important}
.fgl .fgl-dir li a{color:var(--f-body)!important;text-decoration:none!important}
.fgl .fgl-dir li a:hover{color:var(--f-head)!important}
.fgl .fgl-dir li b{color:var(--f-head);font-weight:500}
@media(max-width:980px){.fgl-dist{grid-template-columns:repeat(2,minmax(0,1fr))}.fgl-dir{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.fgl-dist{grid-template-columns:minmax(0,1fr)}.fgl-dir{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px 24px}}
