/* FranInfra home: built from the approved "Every unit. Every job." concept (issue #260). */
body{margin:0;background:#f9fbfb}
a{color:#0b7486}a:hover{color:#0b2f3a}
a:focus-visible,button:focus-visible{outline:3px solid #a94c14;outline-offset:3px;border-radius:6px}
.fi-btn:hover{background:#0b5a6e !important}
.fi-btn-copper:hover{background:#ec8a47 !important}
.fi-ghost:hover{background:#e4eff1 !important}
.fi-nav a{text-decoration:none}
.fi-nav a:hover{color:#0b7486 !important}
@media (prefers-reduced-motion: no-preference){
@keyframes fiIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes fiPulse{0%,100%{box-shadow:0 0 0 0 rgba(224,138,82,.6)}50%{box-shadow:0 0 0 6px rgba(224,138,82,0)}}
.fi-l1{animation:fiIn .5s ease-out .6s both}
.fi-l2{animation:fiIn .5s ease-out 1.3s both}
.fi-l3{animation:fiIn .5s ease-out 2.0s both}
.fi-l4{animation:fiIn .5s ease-out 2.7s both}
.fi-live{animation:fiPulse 2s ease-in-out infinite}
}
@media (max-width: 720px){
.fi-stage{padding:0 !important}
.fi-phone-hero{margin:0 auto !important}
.fi-hide-sm{display:none !important}
}
.fi-pay{display:inline-block;height:1.3em;overflow:hidden;vertical-align:bottom}
.fi-pay-list{display:flex;flex-direction:column}
.fi-pay-list>span{height:1.3em;line-height:1.3em;display:block;color:#0b7486}
@media (prefers-reduced-motion: no-preference){
@keyframes fiPay{0.00%,13.33%{transform:translateY(-0.0em)}16.67%,30.00%{transform:translateY(-1.3em)}33.33%,46.67%{transform:translateY(-2.6em)}50.00%,63.33%{transform:translateY(-3.9em)}66.67%,80.00%{transform:translateY(-5.2em)}83.33%,96.67%{transform:translateY(-6.5em)}100%{transform:translateY(-7.8em)}}
.fi-pay-list{animation:fiPay 12s cubic-bezier(.7,0,.3,1) infinite}
}
@media (min-width: 940px){.fi-img-left{order:-1}}
a{text-decoration:none}
footer a:hover{color:#f4a46e !important}
.fi-hdr-link{color:#d6e8ec !important;padding:9px 14px;border-radius:999px;transition:background .15s,color .15s}
.fi-hdr-link:hover{background:#0b5a6e;color:#ffffff !important}
@media (max-width: 760px){.fi-hdr-nav{display:none !important}}
.fi-word{display:inline-block;height:1.1em;overflow:hidden;vertical-align:bottom}
.fi-word-list{display:flex;flex-direction:column}
.fi-word-list>span{height:1.1em;line-height:1.1em;display:block;color:#0b7486}
@media (prefers-reduced-motion: no-preference){
@keyframes fiWord{0.00%,8.67%{transform:translateY(-0.00em)}11.11%,19.78%{transform:translateY(-1.10em)}22.22%,30.89%{transform:translateY(-2.20em)}33.33%,42.00%{transform:translateY(-3.30em)}44.44%,53.11%{transform:translateY(-4.40em)}55.56%,64.22%{transform:translateY(-5.50em)}66.67%,75.33%{transform:translateY(-6.60em)}77.78%,86.44%{transform:translateY(-7.70em)}88.89%,97.56%{transform:translateY(-8.80em)}100%{transform:translateY(-9.90em)}}
.fi-word-list{animation:fiWord 18s cubic-bezier(.7,0,.3,1) infinite}
}
@media (max-width: 900px){.fe-editor{grid-template-columns:1fr !important}.fe-hide-sm{display:none !important}}
@media (prefers-reduced-motion: no-preference){.fe-new{animation:feIn 900ms cubic-bezier(.2,.7,.2,1) 400ms both}@keyframes feIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}}

/* Header: floating pill at the top, a solid full-width bar flush to the top once the page scrolls (public/js/home.js) */
.fi-hdr,.fi-hdr-bar{transition:padding .2s ease,background-color .2s ease,border-radius .2s ease,max-width .2s ease,box-shadow .2s ease}
.fi-hdr.is-scrolled{padding:0 !important;background:#004556}
.fi-hdr.is-scrolled .fi-hdr-bar{max-width:100% !important;border-radius:0 !important;box-shadow:none !important;padding:15px max(16px,calc((100% - 1240px) / 2 + 8px)) !important}
@media (prefers-reduced-motion: reduce){.fi-hdr,.fi-hdr-bar{transition:none}}


/* Cookie notice (shared partial) */
.cookie-notice{position:fixed;left:16px;right:16px;bottom:16px;z-index:50;max-width:560px;margin-left:auto;background:#ffffff;color:#0b2f3a;border:1px solid #d6e3e6;border-radius:20px;padding:20px 22px;box-shadow:0 24px 50px -20px rgba(0,49,62,.45);display:flex;flex-direction:column;gap:14px;font-size:15px;line-height:1.5}
.cookie-notice[hidden]{display:none}
.cookie-notice h2{margin:0 0 6px;font-family:'Bricolage Grotesque',system-ui,sans-serif;font-size:19px;letter-spacing:-.01em}
.cookie-notice p{margin:0 0 6px}
.cookie-notice .cookie-detail{color:#4a6873;font-size:14px}
.cookie-notice a{color:#0b7486;font-weight:600;text-decoration:none}
.cookie-notice .button{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;background:#004556;color:#ffffff;border:0;border-radius:999px;padding:11px 20px;font:inherit;font-weight:600;cursor:pointer}
.cookie-notice .button:hover{background:#0b5a6e}
.text-button{background:none;border:0;padding:0;font:inherit;color:inherit;text-decoration:none;cursor:pointer}
.skip-link{position:absolute;left:16px;top:-60px;z-index:60;background:#ffffff;color:#0b2f3a;padding:10px 16px;border-radius:999px;font-weight:600}
.skip-link:focus{top:12px}
