/* GROK BOT - 321flood theme on the cooling321 design system (base + redesign + premium). Navy/blue flood palette. */
html.rd{--orange:#1262F3;--orange-dark:#0b4fd0;--accent:#1262F3}
.topbar{background:#07152D}
.fl-logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:#07152D}
.fl-logo svg{flex:none}.fl-logo b{display:block;font-size:22px;font-weight:850;letter-spacing:-.03em;line-height:1}.fl-logo b i{font-style:normal;color:#1262F3}
.fl-logo small{display:block;font-size:10.5px;font-weight:600;color:#4A5568;letter-spacing:.02em;margin-top:3px}
/* dark full-bleed hero */
.p-hero.fl-hero{background:#07152D;min-height:760px;justify-content:center}
.fl-hero .p-hero__img img{object-position:50% 60%}
.p-hero.fl-hero:after{display:block;background:linear-gradient(90deg,rgba(7,21,45,.94) 0%,rgba(7,21,45,.82) 38%,rgba(7,21,45,.45) 70%,rgba(7,21,45,.35) 100%),linear-gradient(0deg,rgba(7,21,45,.75),rgba(7,21,45,0) 35%)}
.fl-hero .p-hero__c{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;padding-top:72px;padding-bottom:72px}
.fl-hero .p-eye{color:#9CC2FF}.fl-hero .p-h1{color:#fff;font-size:clamp(52px,6.2vw,92px)}
.fl-hero .p-hero__sub{color:#E3ECFA}.fl-hero .p-hero__sub em{color:#6FB0FF}
.fl-grad{background:linear-gradient(92deg,#4C9BFF 0%,#7CC0FF 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.fl-hero .p-tiles{grid-template-columns:repeat(2,minmax(0,260px))}
.fl-cap{position:absolute;right:16px;bottom:12px;z-index:3;margin:0;font-size:12px;font-weight:600;color:#fff;background:rgba(7,21,45,.6);padding:4px 10px;border-radius:999px;letter-spacing:.04em}
.fl-911{color:#C9D8F0;font-size:14px;margin-top:20px}
/* form card */
.fl-form.estimate-flow{border-radius:20px;border:1px solid rgba(255,255,255,.6);box-shadow:0 30px 70px -20px rgba(0,0,0,.55);padding:28px}
.fl-form .estimate-step{min-height:0}
.fl-form .estimate-step h2{font-size:28px;line-height:1.1}
.fl-form .estimate-step__number{color:#1262F3}
.fl-form .field span{font-size:13px}.fl-form .field input,.fl-form .field textarea,.fl-form .field select{font-size:16px;border-radius:12px;padding:13px 14px}
.fl-svc{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fl-svc label{position:relative;display:flex;flex-direction:column;gap:6px;padding:14px;border:1.5px solid #CBD5E1;border-radius:14px;cursor:pointer;background:#fff;transition:border-color .15s,box-shadow .15s}
.fl-svc label:hover{border-color:#1262F3}
.fl-svc input{position:absolute;opacity:0;pointer-events:none}
.fl-svc svg{color:#1262F3}.fl-svc b{font-size:15px;color:#07152D;line-height:1.2}.fl-svc small{font-size:12.5px;color:#4A5568}
.fl-svc label:has(input:checked){border-color:#1262F3;box-shadow:0 0 0 3px rgba(18,98,243,.18);background:#F3F8FF}
.fl-svc label:has(input:checked):after{content:"✓";position:absolute;top:10px;right:10px;width:22px;height:22px;border-radius:50%;background:#1262F3;color:#fff;font-size:13px;display:grid;place-items:center}
.fl-svc label:has(input:focus-visible){outline:3px solid #1262F3;outline-offset:2px}
.fl-consent{display:flex;gap:12px;align-items:flex-start;font-size:16px;line-height:1.45;color:#07152D;margin:8px 0 4px}
.fl-consent input{width:24px;height:24px;flex:none;margin-top:2px;accent-color:#1262F3}
.fl-form .estimate-nav button{border-radius:999px;min-height:48px;padding:0 22px;font-weight:700;font-size:15px}
.fl-form [data-next],.fl-form [data-submit]{background:#1262F3;color:#fff;border:0}
.fl-form [data-back]{background:#fff;border:1px solid #CBD5E1;color:#07152D}
.fl-err{color:#B42318;font-weight:600;font-size:14px;min-height:1em}
.fl-call{font-size:13.5px;color:#4A5568;margin:12px 0 0;text-align:center}
.addr{position:relative}.addr-list{position:absolute;left:0;right:0;top:100%;z-index:20;background:#fff;border:1px solid #1262F3;border-radius:12px;list-style:none;margin:4px 0;padding:4px;box-shadow:var(--sh)}
.addr-list li{padding:10px 12px;border-radius:8px;cursor:pointer;font-size:15px}.addr-list li:hover{background:#EEF4FF}
.fl-ok{padding:12px 0}.fl-ok h2{font-size:28px;color:#07152D;margin:0 0 8px}
/* service cards */
.fl-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.fl-card{display:flex;flex-direction:column;background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:var(--sh);text-decoration:none;color:var(--ink);transition:transform .2s,box-shadow .2s}
.fl-card:hover{transform:translateY(-3px);box-shadow:var(--sh-h)}
.fl-card picture img,.fl-card>img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.fl-card .in{padding:22px;display:flex;flex-direction:column;gap:8px;flex:1}
.fl-card .co{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#1262F3}
.fl-card h3{font-size:21px;letter-spacing:-.02em;color:var(--navy);margin:0}.fl-card p{margin:0;color:var(--mute);font-size:15.5px;line-height:1.5}
.fl-card .lic{font-size:12.5px;color:#64748B;margin-top:auto;padding-top:10px}
.fl-card .ic{width:44px;height:44px;border-radius:12px;background:#EEF4FF;color:#1262F3;display:grid;place-items:center;margin-top:-44px;position:relative;box-shadow:var(--sh);background:#fff}
/* resource grid */
.fl-res{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.fl-res article{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px;box-shadow:var(--sh)}
.fl-res h3{display:flex;gap:10px;align-items:center;font-size:18px;color:var(--navy);margin:0 0 12px}.fl-res h3 svg{color:#1262F3;flex:none}
.fl-res ul{list-style:none;margin:0;padding:0}.fl-res li{padding:8px 0;border-top:1px solid #EEF2F7;font-size:15px}.fl-res li:first-child{border-top:0}
.fl-res a{color:#0B4FD0;text-decoration:none;font-weight:600}.fl-res a:hover{text-decoration:underline}
.fl-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;counter-reset:s;list-style:none;padding:0;margin:0}
.fl-steps li{background:#fff;border-radius:var(--r-s);padding:20px;box-shadow:var(--sh);font-size:15px;color:var(--ink)}
.fl-steps li b{display:block;color:var(--navy);font-size:16px;margin-bottom:4px}
.fl-steps li:before{counter-increment:s;content:counter(s);display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#1262F3;color:#fff;font-weight:800;margin-bottom:12px}
.fl-note{background:#FFF8E6;border:1px solid #F5D98B;border-radius:var(--r-s);padding:16px 20px;font-size:15.5px;color:#3D2E00}
.fl-page-hero{background:linear-gradient(118deg,#EAF2FB 0,#fff 70%);padding:72px 0 40px}
.fl-page-hero h1{font-size:clamp(40px,5vw,68px);line-height:1;letter-spacing:-.045em;color:var(--navy);margin:0 0 16px;font-weight:850}
.fl-page-hero .p-lead{max-width:720px}
.fl-split{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:start}
.fl-split .p-photo{min-height:420px}
.fl-list{list-style:none;padding:0;margin:0 0 20px;display:grid;gap:12px}
.fl-list li{display:flex;gap:12px;align-items:flex-start;font-size:17px;line-height:1.45}.fl-list li svg{color:#1262F3;flex:none;margin-top:2px}
.fl-band{background:linear-gradient(120deg,#07152D,#0B2E6B);color:#fff;border-radius:28px;padding:48px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.fl-band h2{color:#fff;margin:0;font-size:clamp(28px,3vw,40px);letter-spacing:-.03em}.fl-band p{color:#C9D8F0;margin:6px 0 0}
.fl-band .btns{display:flex;gap:12px;flex-wrap:wrap}
.fl-btn{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 24px;border-radius:999px;font-weight:700;text-decoration:none;font-size:16px}
.fl-btn--b{background:#1262F3;color:#fff;box-shadow:0 16px 32px -10px rgba(18,98,243,.6)}.fl-btn--w{background:#fff;color:#07152D}
.mobile-cta-bar{display:none}
@media (max-width:1100px){.fl-cards{grid-template-columns:repeat(2,1fr)}.fl-steps{grid-template-columns:repeat(2,1fr)}}
@media (max-width:980px){.fl-hero .p-hero__c{grid-template-columns:1fr;gap:28px;padding-top:40px;padding-bottom:40px}.fl-res{grid-template-columns:1fr 1fr}.fl-split{grid-template-columns:1fr}}
@media (max-width:760px){
 .p-hero.fl-hero{min-height:0}.fl-hero .p-hero__img{position:absolute;inset:0;height:auto;order:0}
 .p-hero.fl-hero:after{display:block;background:linear-gradient(180deg,rgba(7,21,45,.55) 0%,rgba(7,21,45,.88) 55%,rgba(7,21,45,.97) 100%)}
 .fl-hero .p-hero__c{padding:36px 20px 28px}.fl-hero .p-h1{font-size:52px}.fl-hero .p-tiles{grid-template-columns:1fr}
 .fl-cap{top:12px;bottom:auto}
 .fl-cards,.fl-res,.fl-steps{grid-template-columns:1fr}.fl-svc{grid-template-columns:1fr}.fl-form.estimate-flow{padding:20px}
 .fl-band{padding:32px 24px}.fl-page-hero{padding:44px 0 24px}
 .mobile-cta-bar{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:9997;background:#07152D;padding:6px 6px calc(6px + env(safe-area-inset-bottom));gap:6px;box-shadow:0 -4px 16px rgba(0,0,0,.2)}
 .mobile-cta-bar a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:50px;border-radius:10px;color:#fff;font-weight:700;text-decoration:none;background:#14213a}
 .mobile-cta-bar a:first-child{background:#1262F3}
 body{padding-bottom:70px}}

/* mobile menu (from cooling321 mikey.css) */
/* GROK BOT - mobile menu: fixed, viewport-limited, scrollable panel; body lock while open */
.mobile-menu{position:fixed;left:0;right:0;top:var(--mm-top,64px);z-index:9990;background:#fff;border-top:1px solid #e5e7eb;box-shadow:0 12px 24px rgba(16,24,39,.12);
 max-height:calc(100vh - var(--mm-top,64px));max-height:calc(100dvh - var(--mm-top,64px));overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;
 padding-bottom:env(safe-area-inset-bottom,0px)}
.mobile-menu__inner{display:flex;flex-direction:column;gap:4px;padding-top:8px;padding-bottom:calc(20px + env(safe-area-inset-bottom,0px))}
.mobile-menu__link{display:flex;justify-content:space-between;align-items:center;min-height:48px;padding:12px 0;border-bottom:1px solid #e5e7eb;color:#14213a;font-weight:600;text-decoration:none;cursor:pointer}
.mobile-menu__group>summary{list-style:none}
.mobile-menu__group>summary::-webkit-details-marker{display:none}
.mobile-menu__group>summary::after{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-right:6px;transition:transform .2s}
.mobile-menu__group[open]>summary::after{transform:rotate(-135deg)}
.mobile-menu__sub{display:flex;flex-direction:column;padding:4px 0 8px 14px;border-bottom:1px solid #e5e7eb}
.mobile-menu__sublink{display:flex;align-items:center;min-height:44px;color:#14213a;text-decoration:none;font-weight:500}
.mobile-menu__cta{margin-top:14px;justify-content:center;min-height:48px;display:flex!important;align-items:center}
body.mm-locked{position:fixed;left:0;right:0;width:100%;overflow:hidden}
body.mm-locked .mobile-cta-bar,body.mm-locked .mk-launch,body.mm-locked .mk-wrap{display:none!important}
body.mm-locked .site-header{position:fixed!important;top:var(--mm-htop,0)!important;left:0;right:0;z-index:9991}
.skip-link{position:absolute;left:12px;top:-60px;z-index:100000;background:#07152D;color:#fff;padding:10px 16px;border-radius:8px;font-weight:700;text-decoration:none}.skip-link:focus{top:12px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
html.rd .topbar{background:#07152D;margin:0;padding:8px 16px;text-align:center;font-size:.8rem;letter-spacing:.06em}
html.rd .fl-hero .p-h1{color:#fff}html.rd .fl-hero .p-eye{color:#9CC2FF}
.fl-hero .p-tiles{grid-template-columns:repeat(2,minmax(0,290px))}.fl-hero .p-tile b{white-space:nowrap}
.fl-hero .p-tile:not(.p-tile--b){background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.28)}.fl-hero .p-tile:not(.p-tile--b) small{color:#C9D8F0}.fl-hero .p-tile:not(.p-tile--b) .p-ic{color:#7CC0FF}
@media (max-width:760px){.fl-cap{top:auto;bottom:12px}.fl-hero .p-tiles{grid-template-columns:1fr}html.rd .topbar{font-size:.72rem;letter-spacing:.03em}}
@media (max-width:760px){
 .fl-hero .p-hero__img picture,.fl-hero .p-hero__img img{width:100%;height:100%;object-fit:cover;object-position:50% 45%;display:block}
 .p-hero.fl-hero:after{background:linear-gradient(180deg,rgba(7,21,45,.30) 0%,rgba(7,21,45,.42) 30%,rgba(7,21,45,.80) 52%,rgba(7,21,45,.96) 70%,#07152D 100%)}
 .fl-hero .p-h1,.fl-hero .p-hero__sub,.fl-hero .p-eye{text-shadow:0 2px 14px rgba(0,0,0,.55)}
 .fl-hero .p-hero__c>div:first-child{display:contents}
 .fl-hero .p-hero__c>div:first-child>*{order:0}.fl-hero #get-help{order:1}
 .fl-hero .p-tiles,.fl-hero .fl-911{order:2}.fl-hero .p-hero__c{display:flex;flex-direction:column;gap:18px}
 .fl-hero .p-hero__c>div:first-child>*{margin-top:0;margin-bottom:0}
 .fl-cap{top:14px;bottom:auto;right:12px;font-size:.72rem}
}
@media (max-width:760px){
 html.rd .fl-hero .p-hero__c{display:flex!important;flex-direction:column;align-items:stretch;text-align:left;gap:16px}
 html.rd .fl-hero .p-hero__c>div:first-child{display:contents!important}
 html.rd .fl-hero #get-help{order:1}html.rd .fl-hero .p-tiles,html.rd .fl-hero .fl-911{order:2}
 html.rd .fl-hero .p-tiles{width:100%;margin:0}
 .fl-hero .fl-grad{text-shadow:none}
 .fl-hero .p-hero__img{bottom:auto!important;height:560px!important}
 .fl-hero .p-hero__img img{object-position:50% 62%}
 .p-hero.fl-hero:after{background:linear-gradient(180deg,rgba(7,21,45,.35) 0,rgba(7,21,45,.45) 200px,rgba(7,21,45,.75) 400px,#07152D 560px,#07152D 100%)}
}
@media (max-width:760px){html.rd .fl-hero .p-hero__c{padding-top:58px}.fl-cap{top:16px;right:auto;left:20px}
 html.rd .fl-hero .fl-svc-grid,html.rd .fl-hero .fl-svcs{grid-template-columns:1fr 1fr!important}}
@media (max-width:760px){html.rd .fl-svc{grid-template-columns:1fr 1fr!important;gap:8px}html.rd .fl-svc label{padding:12px}}
/* a11y */
:focus-visible{outline:3px solid #1262F3!important;outline-offset:3px!important;box-shadow:0 0 0 6px #fff!important;border-radius:6px}
.fl-hero :focus-visible,.site-footer :focus-visible,.fl-band :focus-visible,.topbar :focus-visible,.mobile-cta-bar :focus-visible{outline-color:#fff!important;box-shadow:0 0 0 6px #07152D!important}
.fl-svc label:has(input:focus-visible){outline:3px solid #1262F3;outline-offset:2px}
.fl-svc input{position:absolute;opacity:0;width:1px;height:1px}
.estimate-nav button,.fl-btn,.p-tile,.header-quote,.mobile-cta-bar a,.mobile-menu-button,.sc-faq__item summary{min-height:44px}
.fl-res li a,.footer-grid a,.fl-call a,.fl-911 a,.desktop-nav a,.contact-link{display:inline-flex;align-items:center;min-height:44px}
.fl-consent{min-height:44px;align-items:flex-start}.fl-consent input{width:24px;height:24px;flex:none}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.p-rv{opacity:1!important;transform:none!important}}
html.rd .fl-hero .p-eye{color:#C4DBFF}
@media (max-width:760px){
 .fl-hero .p-hero__img{height:440px!important}
 .fl-hero .p-hero__img img{object-position:50% 58%}
 .p-hero.fl-hero:after{background:linear-gradient(180deg,rgba(7,21,45,.10) 0,rgba(7,21,45,.05) 150px,rgba(7,21,45,.55) 230px,rgba(7,21,45,.93) 300px,#07152D 360px,#07152D 100%)}
 html.rd .fl-hero .p-hero__c{padding-top:250px}
 .fl-cap{top:auto!important;bottom:auto;left:auto!important;right:12px!important;top:12px!important;background:rgba(7,21,45,.85)!important;color:#fff}
}
html.rd .fl-hero .fl-grad{background-image:linear-gradient(92deg,#7CC0FF 0%,#B5DCFF 100%)}
