/*
Theme Name: Internet Bros
Theme URI: https://internetbros.net/
Author: Internet Bros
Description: Custom theme for Internet Bros, built from the Demand & Convert theme base (1.0.14). Desktop mega menu from the Header menu; the mobile menu plugin handles phones.
Version: 0.1.0
Requires at least: 6.3
Requires PHP: 7.4
Text Domain: internet-bros
*/

/* ---------- Base ---------- */
/* Size-matched stand-ins while the web fonts load, so text doesn't move when they swap in (same values as dc-perf/site.css). */
@font-face{font-family:"DM Sans Fallback";src:local("Arial"),local("Roboto"),local("Helvetica"),local("Liberation Sans");font-weight:100 500;font-style:normal;size-adjust:93.5%;ascent-override:105.9%;descent-override:33.2%;line-gap-override:0%}
@font-face{font-family:"DM Sans Fallback";src:local("Arial Bold"),local("Arial-BoldMT"),local("Roboto Bold"),local("Helvetica Bold"),local("Liberation Sans Bold");font-weight:600 1000;font-style:normal;size-adjust:93%;ascent-override:106.5%;descent-override:33.3%;line-gap-override:0%}
@font-face{font-family:"Bricolage Grotesque Fallback";src:local("Arial Bold"),local("Arial-BoldMT"),local("Roboto Bold"),local("Helvetica Bold"),local("Liberation Sans Bold");font-weight:100 1000;font-style:normal;size-adjust:93%;ascent-override:100%;descent-override:29%;line-gap-override:0%}
:root{
	/* Internet Bros palette (from the logo). The --dc-orange names are kept so old rules still work; they now hold the lime accent. */
	--dc-navy:#0A2A5E;--dc-navy-2:#071E45;--dc-navy-3:#0A4DB0;
	--dc-linen:#F5F9FF;--dc-orange:#B6F000;--dc-orange-h:#A6DB00;
	--dc-blue:#0060D0;--dc-cyan:#00B4F0;--dc-green:#10B981;
	--dc-text:#0B1B33;--dc-muted:#4A5A74;--dc-line:#DCE8F7;
	--dc-head:"Bricolage Grotesque","Bricolage Grotesque Fallback",system-ui,sans-serif;
	--dc-body:"DM Sans","DM Sans Fallback",system-ui,-apple-system,"Segoe UI",sans-serif;
	--dc-wrap:1200px;--dc-read:796px;--dc-gutter:20px;
	--dc-hdr-h:72px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--dc-hdr-h) + 12px)}
body{margin:0;font-family:var(--dc-body);font-size:17px;line-height:1.6;color:var(--dc-text);background:#fff;overflow-x:clip;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5,h6{font-family:var(--dc-head);color:var(--dc-navy);line-height:1.15;margin:0 0 .5em;font-weight:700;letter-spacing:-.01em}
h1{font-size:clamp(2rem,1.4rem + 2.6vw,3.25rem)}
h2{font-size:clamp(1.6rem,1.25rem + 1.5vw,2.4rem)}
h3{font-size:clamp(1.25rem,1.1rem + .6vw,1.6rem)}
h4{font-size:1.2rem}h5{font-size:1.05rem}h6{font-size:1rem}
p,ul,ol,dl,figure,blockquote,table,pre{margin:0 0 1.2em}
a{color:var(--dc-blue);text-decoration:none}
a:hover{color:var(--dc-navy-3)}
img,svg,video,iframe{max-width:100%;height:auto}
img{vertical-align:middle}
input,select,textarea{max-width:100%}
hr{border:0;border-top:1px solid var(--dc-line);margin:2em 0}
blockquote{border-left:4px solid var(--dc-orange);padding:.25em 0 .25em 1.2em;color:var(--dc-navy)}
table{width:100%;border-collapse:collapse}
th,td{padding:.6em .75em;border-bottom:1px solid var(--dc-line);text-align:left}
code,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em}
pre{background:#f4f6f8;padding:1em;overflow:auto;border-radius:8px}
input,select,textarea,button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--dc-blue);outline-offset:2px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.skip-link{position:absolute;left:-9999px;top:8px;z-index:10001;background:var(--dc-navy);color:#fff;padding:10px 16px;border-radius:8px}
.skip-link:focus{left:8px;color:#fff}

/* ---------- Header ---------- */
.dc-hdr{position:sticky;top:0;z-index:1000;background:#fff;border-bottom:1px solid var(--dc-line);transition:transform .25s ease}
/* Hidden while scrolling down (assets/menu.js). The mobile menu plugin's button is fixed, so it moves with the header. */
.dc-hdr-hidden .dc-hdr{transform:translateY(calc(-100% - 50px))}
.dc-fallback-hamburger{transition:transform .25s ease!important}
.dc-hdr-hidden .dc-fallback-hamburger{transform:translateY(-90px)!important}
@media (prefers-reduced-motion:reduce){.dc-hdr,.dc-fallback-hamburger{transition:none!important}}
.admin-bar .dc-hdr{top:32px}
@media (max-width:782px){.admin-bar .dc-hdr{top:46px}}
@media (max-width:600px){.admin-bar .dc-hdr{top:0}}
.dc-hdr-in{position:relative;max-width:1280px;margin:0 auto;height:var(--dc-hdr-h);padding:0 24px;display:flex;align-items:center;gap:28px}
.dc-logo{display:flex;align-items:center;flex:0 0 auto;margin-right:8px}
.dc-logo img{height:32px;width:auto;display:block}
.dc-logo-text{font-family:var(--dc-head);font-weight:800;font-size:1.25rem;color:var(--dc-navy)}
.dc-nav,.dc-cta{display:none}
@media (max-width:999px){
	:root{--dc-hdr-h:64px}
	.dc-hdr-in{padding:0 72px 0 16px}
	.dc-logo img{height:28px}
}

@media (min-width:1000px){
	.dc-nav{display:block;flex:1 1 auto;height:100%}
	.dc-nav-list{list-style:none;margin:0;padding:0;display:flex;align-items:stretch;height:100%;gap:2px}
	.dc-nav-item{display:flex;align-items:center}
	:root{--dc-hdr-h:80px}
	.dc-logo img{height:36px}
	.dc-nav-top{display:inline-flex;align-items:center;gap:7px;height:44px;padding:0 14px;border:0;border-radius:10px;background:none;cursor:pointer;font-family:var(--dc-body);font-size:16.5px;font-weight:600;color:var(--dc-navy);white-space:nowrap}
	.dc-nav-top:hover,.dc-nav-item.is-open .dc-nav-top{background:#f1f4f7;color:var(--dc-navy)}
	.dc-nav-top svg{transition:transform .15s}
	.dc-nav-item.is-open .dc-nav-top svg{transform:rotate(180deg)}
	.dc-nav-item.is-current>.dc-nav-top{color:var(--dc-blue)}
	button.dc-nav-top:active,button.dc-nav-top:focus-visible{background:#f1f4f7;color:var(--dc-navy)}

	.dc-cta{display:inline-flex;align-items:center;flex:0 0 auto;margin-left:auto;padding:13px 22px;border-radius:10px;background:var(--dc-orange);color:var(--dc-navy-2);font-weight:700;font-size:16px;white-space:nowrap;transition:background .15s}
	.dc-cta:hover,.dc-cta:focus-visible{background:var(--dc-orange-h);color:var(--dc-navy-2)}

	/* Panels */
	.dc-panel{position:absolute;top:100%;left:24px;right:24px;z-index:1001;padding-top:0;opacity:0;transform:translateY(-6px);transition:opacity .15s,transform .15s;pointer-events:none}
	.dc-nav-item.is-open .dc-panel{opacity:1;transform:none;pointer-events:auto}
	.dc-panel[hidden]{display:none}
	/* Rows of 3 columns, split by a line, with the offer card on the right. */
	.dc-panel-in{display:grid;grid-template-columns:1fr;gap:0 36px;background:#fff;border:1px solid var(--dc-line);border-top:0;border-radius:0 0 18px 18px;box-shadow:0 28px 56px -14px rgba(7,30,69,.24);padding:28px 36px 30px;max-height:calc(100vh - var(--dc-hdr-h) - 24px);overflow-y:auto}
	.dc-panel-in.has-feature{grid-template-columns:minmax(0,1fr) 290px}
	.dc-rows{min-width:0}
	/* Columns are a third of the row each, and a row with fewer than 3 is centered. */
	.dc-row{--dc-cg:28px;display:flex;justify-content:center;gap:8px var(--dc-cg);align-items:flex-start}
	.dc-row+.dc-row{border-top:1px solid var(--dc-line);margin-top:20px;padding-top:20px}
	.dc-col{min-width:0;flex:0 0 calc((100% - 2 * var(--dc-cg)) / 3)}
	.dc-stacked{margin-top:14px;padding-top:14px;border-top:1px solid var(--dc-line)}
	/* One-column panels (Demos, About), under their own button. */
	.dc-nav-item.is-list{position:relative}
	.dc-nav-item.is-list .dc-panel{left:50%;right:auto;width:340px;margin-left:-170px}
	.dc-panel-in.is-list{display:block;padding:10px;border-radius:0 0 14px 14px}
	.dc-panel-in.is-list .dc-link+.dc-link{margin-top:2px}
	.dc-link{display:block;padding:12px 14px;border-radius:12px;color:var(--dc-navy);transition:background .12s}
	.dc-link:hover,.dc-link:focus-visible{background:#f1f6fb;color:var(--dc-navy)}
	.dc-link-title{display:block;font-size:16px;font-weight:600;line-height:1.35}
	.dc-link.is-main .dc-link-title{font-size:17px;font-weight:700}
	.dc-link:hover .dc-link-title{color:var(--dc-blue)}
	.dc-link-desc{display:block;margin-top:4px;font-size:14.5px;line-height:1.5;color:#5b6b7a;font-weight:400}
	.dc-sublist{list-style:none;margin:4px 0 0 14px;padding:0 0 0 4px;border-left:2px solid #e6edf3}
	.dc-sublist .dc-link{padding:9px 12px}
	.dc-panel-all{display:inline-block;margin:16px 0 0 14px;font-size:15px;font-weight:700;color:var(--dc-blue)}

	/* Offer card */
	.dc-feature{display:flex;flex-direction:column;gap:10px;padding:24px;border-radius:16px;background:var(--dc-navy);color:#d7e3ee;align-self:start}
	.dc-feature-eyebrow{font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#7cc6ff}
	.dc-feature-title{font-family:var(--dc-head);font-size:21px;line-height:1.25;font-weight:700;color:#fff}
	.dc-feature-text{font-size:15px;line-height:1.5}
	.dc-feature-btn{margin-top:8px;align-self:flex-start;padding:11px 16px;border-radius:10px;background:var(--dc-orange);color:var(--dc-navy-2);font-weight:700;font-size:15px}
	.dc-feature-btn:hover,.dc-feature-btn:focus-visible{background:var(--dc-orange-h);color:var(--dc-navy-2)}
}
@media (min-width:1000px) and (max-width:1180px){
	.dc-hdr-in{gap:14px}
	.dc-nav-top{padding:0 10px;font-size:15.5px}
	.dc-cta{padding:12px 16px;font-size:15px}
	.dc-panel-in{padding:24px 24px 26px}
	.dc-panel-in.has-feature{grid-template-columns:minmax(0,1fr) 230px;gap:0 24px}
	.dc-row{--dc-cg:16px}
	.dc-panel-in.is-list{padding:10px}
}
@media (prefers-reduced-motion:reduce){.dc-panel,.dc-nav-top svg{transition:none}}

/* ---------- Internet Bros mega menu (0.3.0): full-width panel, icon cards ---------- */
@media (min-width:1000px){
	.dc-nav-item.has-panel:not(.is-list) .dc-panel{left:50%;right:auto;width:min(1180px,calc(100vw - 48px));transform:translate(-50%,-6px)}
	.dc-nav-item.has-panel:not(.is-list).is-open .dc-panel{transform:translate(-50%,0)}
	.dc-panel-in.has-feature{display:block;background:#fff;border:0;border-top:4px solid #0060D0;border-radius:0 0 22px 22px;box-shadow:0 30px 60px -18px rgba(7,30,69,.28);padding:26px 26px 0;max-height:none;overflow:visible}
	.dc-panel-in.has-feature .dc-rows{min-width:0}
	.dc-panel-in.has-feature .dc-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;justify-content:initial}
	.dc-panel-in.has-feature .dc-row+.dc-row{border:0;margin:14px 0 0;padding:0}
	.dc-panel-in.has-feature .dc-col{flex:none;min-width:0}
	.dc-panel-in.has-feature .dc-col>.dc-link.is-main{display:flex;gap:14px;align-items:flex-start;height:100%;box-sizing:border-box;padding:18px;border:1px solid #DCE8F7;border-radius:16px;background:#F5F9FF}
	.dc-panel-in.has-feature .dc-col>.dc-link.is-main:hover,.dc-panel-in.has-feature .dc-col>.dc-link.is-main:focus-visible{background:#EAF3FF;border-color:#0060D0;box-shadow:0 10px 24px -12px rgba(0,96,208,.45)}
	.dc-link-ico{flex:0 0 46px;width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,#00B4F0 0%,#0060D0 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;box-shadow:0 8px 16px -8px rgba(0,96,208,.6)}
	.dc-link-text{display:block;min-width:0}
	.dc-panel-in.has-feature .dc-link-title{font-size:17px;font-weight:700;color:#0A2A5E}
	.dc-panel-in.has-feature .dc-link-desc{font-size:14px;line-height:1.45;color:#4A5A74;margin-top:5px}
	.dc-panel-in.has-feature .dc-sublist{margin:10px 0 0;padding:0;border:0;list-style:none}
	.dc-panel-in.has-feature .dc-sublist .dc-link{padding:6px 10px;border-radius:8px;font-size:14.5px}
	.dc-panel-in.has-feature .dc-sublist .dc-link-title{font-size:14.5px;font-weight:600;color:#0A4DB0}
	.dc-panel-in.has-feature .dc-panel-all{display:flex;align-items:center;justify-content:space-between;margin:22px -26px 0;padding:16px 26px;background:#0A2A5E;color:#fff;border-radius:0 0 22px 22px;font-size:15px;font-weight:700;letter-spacing:.01em}
	.dc-panel-in.has-feature .dc-panel-all:hover{background:#0A4DB0;color:#fff}
	.dc-panel-in.has-feature .dc-panel-all::after{content:none}
	/* Header phone button */
	.dc-cta.ib-hdr-call{gap:10px;padding:8px 18px 8px 8px;border-radius:999px;background:#B6F000;color:#071E45;line-height:1.1;box-shadow:0 10px 22px -12px rgba(110,150,0,.9)}
	.dc-cta.ib-hdr-call:hover,.dc-cta.ib-hdr-call:focus-visible{background:#0A4DB0;color:#fff}
	.ib-hdr-call-ico{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:#071E45;color:#B6F000;font-size:14px}
	.ib-hdr-call small{display:block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75}
	/* Panels with few items: a compact list card under the button. */
	.dc-nav-item.is-list .dc-panel-in.is-list{border-radius:18px;box-shadow:0 24px 48px -16px rgba(7,30,69,.28);border:1px solid #DCE8F7;padding:10px}
	.dc-panel-in.is-list .dc-link.is-main{display:flex;gap:12px;align-items:center;padding:12px 14px}
	.dc-nav-item.is-list .dc-link-ico{flex-basis:38px;width:38px;height:38px;font-size:15px;border-radius:12px}
	.dc-nav-top:focus-visible{outline:3px solid #00B4F0;outline-offset:2px}
}

/* ---------- Layout ---------- */
.site-inner{max-width:var(--dc-wrap);margin:0 auto;padding:48px var(--dc-gutter) 64px}
.site-inner.is-edge{max-width:none;padding:0}
.single-post .site-inner .entry,.single-post .author-box,.single-post .dc-adjacent{max-width:var(--dc-read);margin-left:auto;margin-right:auto}
.entry-header{margin-bottom:28px}
.entry-meta{color:var(--dc-muted);font-size:15px;margin:0}
.dc-crumbs{margin:0 0 14px;font-size:14px;line-height:1.4}
.dc-crumbs ol{display:flex;flex-wrap:wrap;align-items:center;margin:0;padding:0;list-style:none}
.dc-crumbs li{display:inline-flex;align-items:center}
.dc-crumbs li+li::before{content:"\203A";margin:0 8px;color:#94a3b8}
.dc-crumbs a{color:var(--dc-muted);text-decoration:none}
.dc-crumbs a:hover,.dc-crumbs a:focus-visible{color:var(--dc-blue)}
.entry-content::after{content:"";display:table;clear:both}
.entry-content>*:last-child{margin-bottom:0}

/* Full and wide blocks break out of the content width. */
.site-inner:not(.is-edge) .entry-content>.alignfull{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.site-inner:not(.is-edge) .entry-content>.alignwide{width:min(1200px,100vw - 2 * var(--dc-gutter));max-width:none;margin-left:50%;transform:translateX(-50%)}
.alignleft{float:left;margin:.3em 1.5em 1em 0}
.alignright{float:right;margin:.3em 0 1em 1.5em}
.aligncenter{margin-left:auto;margin-right:auto}
@media (max-width:600px){.alignleft,.alignright{float:none;margin:0 0 1em}}
.wp-caption-text,figcaption{font-size:14px;color:var(--dc-muted);margin-top:.5em}

/* A no-title page that starts full width shouldn't get a gap above it. */
.no-page-header .site-inner:not(.is-edge){padding-top:0}
.no-page-header .site-inner:not(.is-edge) .entry-content>:first-child:not(.alignfull){margin-top:48px}

/* ---------- Blocks that relied on Mai ---------- */
.wp-block-button__link,.wp-element-button{border-radius:10px;font-weight:700;padding:.75em 1.4em}
.wp-block-cover{padding-left:var(--dc-gutter);padding-right:var(--dc-gutter)}
.wp-block-group.alignfull>.wp-block-group__inner-container,.wp-block-group.alignfull.is-layout-constrained>:where(:not(.alignfull):not(.alignleft):not(.alignright)){max-width:var(--dc-wrap);margin-left:auto;margin-right:auto}
.wp-block-group.alignfull{padding-left:var(--dc-gutter);padding-right:var(--dc-gutter)}
.wp-block-group.has-background{padding-top:40px;padding-bottom:40px}
.wp-block-cover .wp-block-cover__inner-container{max-width:var(--dc-wrap);margin:0 auto}
.has-xs-padding-t{padding-top:12px!important}.has-sm-padding-t{padding-top:24px!important}.has-md-padding-t{padding-top:40px!important}.has-lg-padding-t{padding-top:56px!important}.has-xl-padding-t{padding-top:72px!important}.has-xxl-padding-t{padding-top:96px!important}
.has-xs-padding-b{padding-bottom:12px!important}.has-sm-padding-b{padding-bottom:24px!important}.has-md-padding-b{padding-bottom:40px!important}.has-lg-padding-b{padding-bottom:56px!important}.has-xl-padding-b{padding-bottom:72px!important}.has-xxl-padding-b{padding-bottom:96px!important}
.has-sm-max-width{max-width:480px}.has-md-max-width{max-width:640px}.has-lg-max-width{max-width:768px}.has-xl-max-width{max-width:960px}.has-xxl-max-width{max-width:1200px}
.has-text-align-center.has-sm-max-width,.has-text-align-center.has-md-max-width,.has-text-align-center.has-lg-max-width,.has-text-align-center.has-xl-max-width{margin-left:auto;margin-right:auto}
.has-xs-font-size{font-size:13px!important}.has-sm-font-size{font-size:15px!important}.has-md-font-size{font-size:17px!important}.has-lg-font-size{font-size:19px!important}.has-xl-font-size{font-size:22px!important}.has-xxl-font-size{font-size:26px!important}

/* Mai Columns, drawn by inc/mai-blocks.php */
.dc-mcols{display:grid;grid-template-columns:repeat(var(--dc-mc-cols,2),minmax(0,1fr));column-gap:var(--dc-mc-cgap,24px);row-gap:var(--dc-mc-rgap,24px);align-items:start}
.dc-mcol{min-width:0}
.dc-mcol>:last-child{margin-bottom:0}
.dc-mcol.is-dark{color:#fff}
.dc-mcol.is-dark :is(h1,h2,h3,h4,h5,h6){color:#fff}
.dc-mcol.has-shadow{box-shadow:0 10px 30px -10px rgba(7,30,69,.18)}
.dc-mcol.has-border{border:1px solid var(--dc-line)}
.dc-mcol.has-radius{border-radius:14px}
@media (max-width:799px){.dc-mcols{grid-template-columns:1fr}}
@media (max-width:599px){.dc-mcol.first-xs{order:-1}}
@media (min-width:600px) and (max-width:799px){.dc-mcol.first-sm{order:-1}}
@media (min-width:800px) and (max-width:999px){.dc-mcol.first-md{order:-1}}

/* ---------- Author box, next/previous ---------- */
.author-box{display:flex;gap:18px;align-items:flex-start;margin-top:48px;padding:24px;border-radius:14px;background:var(--dc-linen)}
.author-box img{border-radius:50%;flex:0 0 auto}
.author-box-title{font-size:1.15rem;margin:0 0 .3em}
.author-box-content p{margin:0;font-size:15.5px}
.dc-adjacent{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:32px}
.dc-adj{display:block;padding:16px 18px;border:1px solid var(--dc-line);border-radius:12px;color:var(--dc-navy);font-weight:600;line-height:1.35}
.dc-adj span{display:block;font-size:13px;font-weight:700;color:var(--dc-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}
.dc-adj.next{text-align:right;grid-column:2}
.dc-adj:hover{border-color:var(--dc-blue);color:var(--dc-navy)}
@media (max-width:600px){.dc-adjacent{grid-template-columns:1fr}.dc-adj.next{grid-column:1;text-align:left}}

/* ---------- Archives, search, 404 ---------- */
.archive-header{margin-bottom:32px}
.dc-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px}
.dc-card{display:flex;flex-direction:column;border:1px solid var(--dc-line);border-radius:14px;overflow:hidden;background:#fff}
.dc-card-img img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.dc-card-body{padding:18px 20px 20px}
.dc-card-title{font-size:1.2rem;margin:0 0 .3em}
.dc-card-title a{color:var(--dc-navy)}
.dc-card-title a:hover{color:var(--dc-blue)}
.dc-card-meta{font-size:14px;color:var(--dc-muted);margin:0 0 .6em}
.dc-card-body p:last-child{margin:0;font-size:15.5px}
.pagination,.nav-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:36px}
.nav-links .page-numbers{padding:8px 14px;border:1px solid var(--dc-line);border-radius:8px;color:var(--dc-navy)}
.nav-links .page-numbers.current{background:var(--dc-navy);border-color:var(--dc-navy);color:#fff}
.search-form{display:flex;gap:8px;max-width:520px;margin:16px 0 24px}
.search-form label{flex:1}
.search-field{width:100%;padding:12px 14px;border:1px solid #cbd5e1;border-radius:10px;background:#fff}
.search-submit{padding:12px 18px;border:0;border-radius:10px;background:var(--dc-navy);color:#fff;font-weight:700;cursor:pointer}
.search-submit:hover,.search-submit:focus-visible{background:var(--dc-navy-3);color:#fff}
.dc-404{max-width:var(--dc-read);margin:0 auto;padding:24px 0}
.dc-404-links{display:flex;flex-wrap:wrap;gap:10px 24px;list-style:none;padding:0}
.dc-404-links a{font-weight:700}

/* ---------- Footer ---------- */
.site-footer{clear:both}
/* Internet Bros footer (0.3.0): brand navy with a blue glow, wifi arcs, lime accents, transparent logo. */
.dc-ft{position:relative;overflow:hidden;background:radial-gradient(110% 130% at 0% 0%,#0A4DB0 0%,#0A2A5E 42%,#071E45 100%);color:#B9CDEB;font-family:var(--dc-body)}
.dc-ft::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,#B6F000,#00B4F0 50%,#0060D0)}
.dc-ft-glow{display:none}
.ib-ft-arcs{position:absolute;right:-60px;bottom:-90px;width:420px;height:420px;color:rgba(0,180,240,.07);pointer-events:none}
.dc-ft-in{position:relative;max-width:1180px;margin:0 auto;padding:0 24px 28px}
.ib-ft-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;margin:0 0 52px;padding:28px 32px;border-radius:0 0 24px 24px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-top:0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.ib-ft-cta-eyebrow{display:block;margin-bottom:4px;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#B6F000}
.ib-ft-cta-title{margin:0;font-family:var(--dc-head);font-size:clamp(1.4rem,2.4vw,1.9rem);font-weight:800;line-height:1.15;color:#fff}
.ib-ft-cta-btns{display:flex;flex-wrap:wrap;gap:12px}
.ib-ft-cta-call,.ib-ft-cta-quote{display:inline-flex;align-items:center;gap:10px;padding:14px 22px;border-radius:999px;font-weight:800;font-size:16px;transition:transform .15s,background .15s,color .15s}
.ib-ft-cta-call{background:#B6F000;color:#071E45;box-shadow:0 12px 26px -14px rgba(182,240,0,.9)}
.ib-ft-cta-call:hover,.ib-ft-cta-call:focus-visible{background:#fff;color:#071E45;transform:translateY(-1px)}
.ib-ft-cta-quote{border:1px solid rgba(255,255,255,.45);color:#fff}
.ib-ft-cta-quote:hover,.ib-ft-cta-quote:focus-visible{background:#fff;color:#0A2A5E;transform:translateY(-1px)}
.dc-ft-grid{display:grid;grid-template-columns:1fr;gap:40px;padding-bottom:44px;border-bottom:1px solid rgba(185,205,235,.18)}
@media (min-width:768px){.dc-ft-grid{grid-template-columns:1fr 1fr}}
@media (min-width:1024px){.dc-ft-grid{grid-template-columns:4fr 3fr 3fr 2fr;gap:32px}}
.dc-ft-logo{display:inline-block;padding:0;border:0;background:none;box-shadow:none;transition:transform .2s}
.dc-ft-logo img{display:block;width:190px;max-width:100%;height:auto;filter:drop-shadow(0 10px 18px rgba(0,0,0,.35))}
.dc-ft-logo:hover{transform:rotate(-2deg) scale(1.03)}
.dc-ft-logo:focus-visible{outline:3px solid #00B4F0;outline-offset:4px;border-radius:8px}
@media (max-width:600px){.ib-ft-cta{padding:22px 20px;margin-bottom:40px}.ib-ft-cta-btns{width:100%}.ib-ft-cta-call,.ib-ft-cta-quote{flex:1 1 auto;justify-content:center}}
.dc-ft-quote{margin:16px 0 24px;max-width:24rem;color:#e2e8f0;font-size:14px;font-style:italic;font-weight:500;line-height:1.6}
.dc-ft-about{max-width:24rem;margin:18px 0 20px;font-size:14.5px;line-height:1.65;color:#B9CDEB}
.dc-ft-usa{display:flex;align-items:center;gap:10px;margin:0}
.dc-ft-usa svg{border-radius:2px;box-shadow:0 1px 4px rgba(0,0,0,.6);opacity:.85}
.dc-ft-usa span{font-family:var(--dc-head);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#64748b}
.dc-ft-h{display:flex;align-items:center;gap:10px;margin:0 0 18px;font-family:var(--dc-head);font-size:15px;font-weight:800;color:#fff;text-transform:uppercase;letter-spacing:.08em}
.dc-ft-h::before{content:"";width:18px;height:4px;border-radius:4px;background:linear-gradient(90deg,#B6F000,#00B4F0)}
.dc-ft-list,.dc-ft-contact{list-style:none;margin:0;padding:0;font-size:15px;font-weight:600}
.dc-ft-list li+li{margin-top:12px}
.dc-ft-list a{display:inline-flex;align-items:center;gap:8px;color:#D6E4F7;transition:color .2s,transform .2s}
.dc-ft-list a:hover,.dc-ft-list a:focus-visible{color:#B6F000;transform:translateX(4px)}
.dc-ft-list i{font-size:10px;color:#00B4F0;transition:color .2s}
.dc-ft-list a:hover i{color:#B6F000}
.dc-ft-contact li{display:flex;align-items:flex-start;gap:12px;color:#D6E4F7;line-height:1.5}
.dc-ft-contact li+li{margin-top:16px}
.dc-ft-contact a{display:inline-flex;align-items:center;gap:12px;color:#fff;line-height:1.5;font-weight:800;transition:color .2s}
.dc-ft-contact a>span:last-child{padding-top:0}
.dc-ft-contact a:hover,.dc-ft-contact a:focus-visible{color:#B6F000}
.dc-ft-ic{display:flex;align-items:center;justify-content:center;flex:0 0 38px;width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,#00B4F0,#0060D0);color:#fff;font-size:14px;box-shadow:0 8px 16px -8px rgba(0,180,240,.7)}
.dc-ft-bottom{display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:16px;padding-top:24px}
@media (min-width:640px){.dc-ft-bottom{flex-direction:row}}
.dc-ft-bottom p{margin:0;font-size:13.5px;font-weight:500;color:#8FA7CC}
.dc-ft-social{display:flex;gap:14px}
.dc-ft-social a{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);color:#D6E4F7;font-size:14px;transition:all .3s}
.dc-ft-social a:hover{color:#071E45;border-color:#B6F000;background:#B6F000}

/* ---- Internet Bros page layout fixes (0.2.0) ---- */
.ib-wrap{font-family:"DM Sans",sans-serif}
.ib-wrap a{text-decoration:none}
.ib-btn{transition:transform .15s,background-color .15s,color .15s,box-shadow .15s}
.ib-btn:hover{transform:translateY(-1px)}
.ib-btn-primary:hover{background:#A6DB00;color:#071E45}
.ib-btn-ghost:hover{background:#fff;color:#0A2A5E;border-color:#fff}
.ib-btn-blue:hover{background:#0060D0;color:#fff}
.ib-btn:focus-visible,.ib-links a:focus-visible,.ib-crumbs a:focus-visible{outline:3px solid #00B4F0;outline-offset:2px}
.ib-card{display:flex;flex-direction:column;height:100%;box-sizing:border-box}
.ib-card p{margin:0 0 12px}
.ib-card .ib-btn{margin-top:auto;align-self:flex-start}
.ib-grid{align-items:stretch}
.ib-links a:hover{background:#0A4DB0;color:#fff}
.ib-crumbs{max-width:1120px;margin:0 auto;padding:16px 20px 0;font-size:14px;color:#4A5A74}
.ib-crumbs a{color:#0A4DB0;font-weight:700}
.ib-crumbs a:hover{text-decoration:underline}
.ib-crumbs span.sep{margin:0 8px;color:#8A9AB5}
.ib-strip a{color:#B6F000;font-weight:800;text-decoration:none}
.ib-strip a:hover{text-decoration:underline;color:#fff}
.ib-search{display:block;width:100%;max-width:460px;margin:18px auto 0;padding:14px 18px;border:1px solid #B9CDEB;border-radius:12px;font:inherit;font-size:16px;color:#0B1B33;background:#fff}
.ib-search:focus{outline:3px solid #00B4F0;outline-offset:2px;border-color:#0A4DB0}
.ib-city-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;margin-top:24px}
.ib-city-card{display:block;background:#fff;border:1px solid #DCE8F7;border-radius:14px;padding:16px 18px;color:#071E45;font-weight:700;box-shadow:0 8px 20px rgba(10,77,176,.06)}
.ib-city-card:hover{border-color:#0A4DB0;box-shadow:0 12px 26px rgba(10,77,176,.14);color:#0A4DB0}
.ib-city-card:focus-visible{outline:3px solid #00B4F0;outline-offset:2px}
.ib-hidden{display:none !important}
.ib-empty{color:#4A5A74;margin-top:14px;display:none}
/* Header logo (0.3.0): the logo file has its own blue background, so show it as a rounded badge. */
.dc-logo img.dc-logo-img{height:60px;width:auto;filter:drop-shadow(0 4px 8px rgba(10,42,94,.18));transition:transform .2s}
.dc-logo:hover img.dc-logo-img{transform:rotate(-2deg) scale(1.03)}
@media (max-width:999px){.dc-logo img.dc-logo-img{height:46px}}

/* Breadcrumb (0.3.0): a glass pill inside the top of the hero, instead of a strip above it. */
.ib-wrap{position:relative}
.ib-wrap .ib-crumbs{position:absolute;top:22px;left:50%;transform:translateX(-50%);z-index:3;width:max-content;max-width:calc(100% - 32px);box-sizing:border-box;margin:0;padding:8px 18px;border-radius:999px;background:rgba(4,20,52,.42);border:1px solid rgba(255,255,255,.22);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#CFE0FF;font-size:13.5px;line-height:1.4;text-align:center}
.ib-wrap .ib-crumbs a{color:#fff;font-weight:600}
.ib-wrap .ib-crumbs a:hover{color:#B6F000;text-decoration:none}
.ib-wrap .ib-crumbs span.sep{margin:0 8px;color:#B6F000;opacity:.8}
@media (max-width:600px){.ib-wrap .ib-crumbs{top:14px;border-radius:14px;font-size:12.5px;padding:6px 12px}}
@media (max-width:600px){.ib-hero{padding:56px 16px 52px}.ib-sec{padding:52px 16px}.ib-hero h1{font-size:2rem}}

/* ==== Internet Bros page components (0.4.0) ====
   Shared by every page, so pages carry no inline <style>.
   Palette: lime #B6F000, blue #0A4DB0, deep blue #0060D0, cyan #00B4F0, navy #0A2A5E / #071E45. */
.ib-wrap{font-family:"DM Sans",sans-serif;color:#0B1B33;line-height:1.6;overflow:hidden}
.ib-wrap h1,.ib-wrap h2,.ib-wrap h3,.ib-wrap h4{font-family:"Bricolage Grotesque",sans-serif;line-height:1.12;letter-spacing:-.015em}
.ib-wrap p{margin:0 0 14px}
.ib-wrap img{max-width:100%;height:auto}

/* Hero: navy-to-blue with glowing wifi rings */
.ib-hero{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(900px 420px at 88% -10%,rgba(0,180,240,.38),transparent 62%),radial-gradient(700px 380px at -10% 110%,rgba(182,240,0,.14),transparent 60%),linear-gradient(160deg,#071E45 0%,#0A2A5E 45%,#0A4DB0 100%);color:#fff;padding:96px 20px 84px;text-align:center}
.ib-hero::before,.ib-hero::after{content:"";position:absolute;z-index:-1;border-radius:50%;pointer-events:none}
.ib-hero::before{width:720px;height:720px;right:-260px;top:-300px;border:28px solid rgba(0,180,240,.10);box-shadow:0 0 0 70px rgba(0,180,240,.05),0 0 0 150px rgba(0,180,240,.03)}
.ib-hero::after{width:260px;height:260px;left:-90px;bottom:-130px;border:18px solid rgba(182,240,0,.12)}
.ib-eyebrow{display:inline-flex;gap:8px;align-items:center;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.06);border-radius:999px;padding:7px 16px;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#E6F3FF}
.ib-eyebrow i{color:#B6F000}
.ib-hero h1{font-size:clamp(2.3rem,5.2vw,4rem);margin:20px auto 0;max-width:940px;color:#fff}
.ib-hero h1 span{background:linear-gradient(90deg,#00B4F0,#B6F000);-webkit-background-clip:text;background-clip:text;color:transparent}
.ib-hero p{max-width:690px;margin:18px auto 0;font-size:1.12rem;color:#DCE8F7}
.ib-btns{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:30px}
.ib-btn{display:inline-flex;align-items:center;gap:10px;padding:15px 28px;border-radius:999px;font-weight:800;font-size:16px;text-decoration:none;border:2px solid transparent;transition:transform .15s,background-color .15s,color .15s,box-shadow .15s;cursor:pointer}
.ib-btn:hover{transform:translateY(-2px)}
.ib-btn-primary{background:#B6F000;color:#071E45;box-shadow:0 14px 30px -14px rgba(182,240,0,.95)}
.ib-btn-primary:hover{background:#fff;color:#071E45}
.ib-btn-ghost{border-color:rgba(255,255,255,.45);color:#fff}
.ib-btn-ghost:hover{background:#fff;color:#0A2A5E;border-color:#fff}
.ib-btn-blue{background:#0A4DB0;color:#fff;box-shadow:0 12px 24px -14px rgba(10,77,176,.9)}
.ib-btn-blue:hover{background:#071E45;color:#fff}
.ib-btn-line{border-color:#B9CDEB;color:#0A2A5E;background:#fff}
.ib-btn-line:hover{border-color:#0A4DB0;color:#0A4DB0}
.ib-chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:34px}
.ib-chip{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);font-size:14px;font-weight:700;color:#fff}
.ib-chip i{color:#B6F000}

/* Strip under the hero */
.ib-strip{display:flex;flex-wrap:wrap;gap:10px 28px;justify-content:center;align-items:center;padding:16px 20px;background:#071E45;color:#CFE0FF;font-size:12.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.ib-strip span,.ib-strip a{display:inline-flex;align-items:center;gap:8px}
.ib-strip span::before,.ib-strip a::before{content:"";width:7px;height:7px;border-radius:50%;background:#B6F000;box-shadow:0 0 0 4px rgba(182,240,0,.16)}

/* Sections */
.ib-sec{max-width:1160px;margin:0 auto;padding:84px 20px;box-sizing:border-box}
.ib-sec.is-tight{padding-top:40px}
.ib-band-light{background:linear-gradient(180deg,#F5F9FF,#EAF3FF)}
.ib-head{max-width:760px}
.ib-head.is-center{margin:0 auto;text-align:center}
.ib-kicker{display:inline-flex;align-items:center;gap:8px;color:#0060D0;font-weight:800;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase}
.ib-kicker::before{content:"";width:22px;height:4px;border-radius:4px;background:linear-gradient(90deg,#B6F000,#00B4F0)}
.ib-sec h2{font-size:clamp(1.9rem,3.6vw,2.8rem);margin:10px 0 12px;color:#071E45}
.ib-sec h2 em{font-style:normal;color:#0060D0}
.ib-lead{color:#4A5A74;font-size:1.08rem;max-width:720px}
.ib-head.is-center .ib-lead{margin-left:auto;margin-right:auto}

/* Card grids */
.ib-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:22px;margin-top:38px;align-items:stretch}
.ib-grid.is-2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
.ib-grid.is-4{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.ib-card{position:relative;display:flex;flex-direction:column;height:100%;box-sizing:border-box;background:#fff;border:1px solid #DCE8F7;border-radius:22px;padding:28px;box-shadow:0 14px 34px -18px rgba(10,77,176,.28);transition:transform .2s,box-shadow .2s,border-color .2s}
.ib-card:hover{transform:translateY(-4px);border-color:#B9CDEB;box-shadow:0 24px 44px -20px rgba(10,77,176,.38)}
.ib-card h3{font-size:1.35rem;margin:0 0 8px;color:#071E45}
.ib-card p{color:#4A5A74;margin:0 0 14px}
.ib-card .ib-btn,.ib-card .ib-more{margin-top:auto;align-self:flex-start}
.ib-badge{width:54px;height:54px;border-radius:16px;background:linear-gradient(135deg,#00B4F0,#0060D0);color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:18px;box-shadow:0 12px 22px -12px rgba(0,180,240,.9);transition:transform .2s,background .2s,color .2s}
.ib-card:hover .ib-badge{transform:rotate(-6deg);background:#B6F000;color:#071E45}
.ib-pill{display:inline-block;padding:5px 12px;border-radius:999px;background:#B6F000;color:#071E45;font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.ib-card .ib-pill{position:absolute;top:22px;right:22px}
.ib-more{display:inline-flex;align-items:center;gap:8px;font-weight:800;color:#0A4DB0}
.ib-more i{transition:transform .2s}
.ib-card:hover .ib-more i,.ib-more:hover i{transform:translateX(4px)}
.ib-check{list-style:none;padding:0;margin:4px 0 18px}
.ib-check li{position:relative;padding:7px 0 7px 32px;color:#2B3B55}
.ib-check li::before{content:"\f00c";font-family:"Font Awesome 6 Free","Font Awesome 6 Pro";font-weight:900;position:absolute;left:0;top:8px;width:22px;height:22px;border-radius:50%;background:#EAF3FF;color:#0060D0;font-size:11px;display:flex;align-items:center;justify-content:center}

/* Plan cards (speed tiers) */
.ib-plan{text-align:left}
.ib-plan .ib-speed{font-family:"Bricolage Grotesque",sans-serif;font-size:2.6rem;font-weight:800;line-height:1;color:#071E45;margin:4px 0 2px}
.ib-plan .ib-speed small{font-size:1rem;font-weight:700;color:#4A5A74;margin-left:4px}
.ib-plan .ib-for{font-weight:700;color:#0060D0;margin-bottom:12px}
.ib-plan.is-pop{background:linear-gradient(165deg,#0A2A5E,#0A4DB0);border-color:transparent;color:#fff;box-shadow:0 30px 50px -24px rgba(10,77,176,.75)}
.ib-plan.is-pop h3,.ib-plan.is-pop .ib-speed{color:#fff}
.ib-plan.is-pop .ib-speed small,.ib-plan.is-pop p,.ib-plan.is-pop .ib-check li{color:#DCE8F7}
.ib-plan.is-pop .ib-for{color:#B6F000}
.ib-plan.is-pop .ib-check li::before{background:rgba(182,240,0,.18);color:#B6F000}
.ib-price{display:flex;align-items:baseline;gap:6px;margin:6px 0 14px;font-weight:800;color:#071E45}
.ib-price b{font-family:"Bricolage Grotesque",sans-serif;font-size:2.4rem;line-height:1}
.ib-note{font-size:13.5px;color:#4A5A74;margin-top:22px}
.ib-note i{color:#0060D0;margin-right:6px}

/* Numbered steps */
.ib-steps{counter-reset:ibstep;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:22px;margin-top:40px;position:relative}
.ib-step{position:relative;padding:28px 24px 24px;border-radius:22px;background:#fff;border:1px solid #DCE8F7;box-shadow:0 14px 30px -20px rgba(10,77,176,.3)}
.ib-step::before{counter-increment:ibstep;content:counter(ibstep);display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:14px;background:#071E45;color:#B6F000;font-family:"Bricolage Grotesque",sans-serif;font-size:1.3rem;font-weight:800;margin-bottom:16px}
.ib-step h3{font-size:1.2rem;margin:0 0 6px;color:#071E45}
.ib-step p{color:#4A5A74;margin:0}

/* County tiles */
.ib-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin-top:38px}
.ib-tile{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;min-height:190px;padding:24px;border-radius:24px;color:#fff;text-decoration:none;background:linear-gradient(150deg,#0A2A5E,#0A4DB0);box-shadow:0 20px 40px -22px rgba(10,42,94,.8);transition:transform .2s,box-shadow .2s}
.ib-tile:nth-child(2){background:linear-gradient(150deg,#0060D0,#00B4F0)}
.ib-tile:nth-child(3){background:linear-gradient(150deg,#071E45,#0060D0)}
.ib-tile:nth-child(4){background:linear-gradient(150deg,#0A4DB0,#071E45)}
.ib-tile::before{content:"";position:absolute;right:-60px;top:-60px;width:200px;height:200px;border-radius:50%;border:18px solid rgba(255,255,255,.10);box-shadow:0 0 0 34px rgba(255,255,255,.05)}
.ib-tile i.ib-tile-ico{position:absolute;top:22px;left:24px;font-size:24px;color:#B6F000}
.ib-tile b{font-family:"Bricolage Grotesque",sans-serif;font-size:1.5rem;line-height:1.1}
.ib-tile span{font-size:14px;color:#DCE8F7;margin-top:4px}
.ib-tile em{position:absolute;right:22px;bottom:22px;width:42px;height:42px;border-radius:50%;background:#B6F000;color:#071E45;display:flex;align-items:center;justify-content:center;font-style:normal;transition:transform .2s}
.ib-tile:hover{transform:translateY(-4px);box-shadow:0 28px 50px -22px rgba(10,42,94,.9);color:#fff}
.ib-tile:hover em{transform:rotate(-45deg)}

/* Split: copy + highlight panel */
.ib-split{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.ib-panel{position:relative;overflow:hidden;border-radius:28px;padding:34px;background:linear-gradient(160deg,#071E45,#0A4DB0);color:#fff;box-shadow:0 30px 60px -30px rgba(10,42,94,.9)}
.ib-panel::after{content:"";position:absolute;right:-80px;bottom:-80px;width:240px;height:240px;border-radius:50%;border:20px solid rgba(0,180,240,.14);box-shadow:0 0 0 40px rgba(0,180,240,.06)}
.ib-panel h3{color:#fff;font-size:1.5rem;margin:0 0 12px}
.ib-panel p,.ib-panel li{color:#DCE8F7}
.ib-panel .ib-check li::before{background:rgba(182,240,0,.18);color:#B6F000}
.ib-panel .ib-big{display:block;font-family:"Bricolage Grotesque",sans-serif;font-size:2.6rem;font-weight:800;color:#B6F000;line-height:1}
.ib-stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px;margin-top:22px}
.ib-stat{padding:16px;border-radius:16px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14)}
.ib-stat b{display:block;font-family:"Bricolage Grotesque",sans-serif;font-size:1.7rem;color:#fff}
.ib-stat span{font-size:13px;color:#B9CDEB}
@media (max-width:860px){.ib-split{grid-template-columns:1fr;gap:28px}}

/* Contact cards and store list */
.ib-contact{display:flex;gap:16px;align-items:flex-start}
.ib-contact .ib-badge{flex:0 0 54px;margin:0}
.ib-contact a{color:#0A4DB0;font-weight:800}
.ib-stores{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:10px}
.ib-stores li{display:flex;gap:12px;align-items:center;padding:14px 16px;border-radius:14px;background:#fff;border:1px solid #DCE8F7;font-weight:700;color:#0A2A5E}
.ib-stores li i{color:#0060D0}

/* FAQ */
.ib-faq{max-width:860px;margin:34px auto 0}
.ib-faq details{border:1px solid #DCE8F7;border-radius:18px;background:#fff;margin-bottom:12px;box-shadow:0 10px 24px -18px rgba(10,77,176,.3);transition:border-color .2s}
.ib-faq details[open]{border-color:#0A4DB0}
.ib-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 22px;font-family:"Bricolage Grotesque",sans-serif;font-size:1.12rem;font-weight:700;color:#071E45}
.ib-faq summary::-webkit-details-marker{display:none}
.ib-faq summary::after{content:"+";flex:0 0 32px;height:32px;border-radius:50%;background:#EAF3FF;color:#0060D0;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;transition:transform .2s,background .2s}
.ib-faq details[open] summary::after{transform:rotate(45deg);background:#B6F000;color:#071E45}
.ib-faq details>div{padding:0 22px 20px;color:#4A5A74}

/* Closing CTA band */
.ib-cta{position:relative;overflow:hidden;max-width:1120px;margin:0 auto 90px;padding:56px 32px;border-radius:30px;text-align:center;color:#fff;background:radial-gradient(500px 260px at 100% 0%,rgba(182,240,0,.18),transparent 60%),linear-gradient(150deg,#071E45,#0A4DB0);box-shadow:0 40px 70px -40px rgba(10,42,94,.9)}
.ib-cta::before{content:"";position:absolute;left:-90px;bottom:-110px;width:280px;height:280px;border-radius:50%;border:22px solid rgba(0,180,240,.12);box-shadow:0 0 0 46px rgba(0,180,240,.05)}
.ib-cta h2{position:relative;color:#fff;font-size:clamp(1.9rem,3.6vw,2.7rem);margin:0 0 10px}
.ib-cta p{position:relative;color:#DCE8F7;max-width:620px;margin:0 auto}
.ib-cta .ib-btns{position:relative}
@media (max-width:1180px){.ib-cta{margin-left:20px;margin-right:20px}}

/* Quote request card (contact page) */
.ib-form{display:grid;gap:14px}
.ib-form label{display:grid;gap:6px;font-weight:700;color:#0A2A5E;font-size:14.5px}
.ib-form input,.ib-form select,.ib-form textarea{font:inherit;font-size:16px;padding:13px 15px;border:1px solid #B9CDEB;border-radius:12px;background:#fff;color:#0B1B33}
.ib-form input:focus,.ib-form select:focus,.ib-form textarea:focus{outline:3px solid #00B4F0;outline-offset:1px;border-color:#0A4DB0}

@media (max-width:600px){.ib-hero{padding:72px 16px 60px}.ib-sec{padding:60px 16px}.ib-card{padding:24px}.ib-cta{padding:42px 20px;border-radius:24px;margin-bottom:60px}.ib-btns .ib-btn{flex:1 1 100%;justify-content:center}}
/* Quote form (Contact Form 7) */
.ib-quote{background:#fff;border:1px solid #DCE8F7;border-radius:26px;padding:34px;box-shadow:0 30px 60px -34px rgba(10,77,176,.45);position:relative;overflow:hidden}
.ib-quote::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:linear-gradient(90deg,#B6F000,#00B4F0,#0060D0)}
.ib-quote h3{font-size:1.6rem;margin:0 0 6px;color:#071E45}
.ib-quote>p{color:#4A5A74;margin:0 0 20px}
.ib-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ib-form-grid .ib-span{grid-column:1/-1}
.ib-quote label,.ib-flabel{display:block;font-weight:700;color:#0A2A5E;font-size:14.5px}
.ib-quote .wpcf7-form-control-wrap{display:block;margin-top:6px}
.ib-quote input[type=text],.ib-quote input[type=tel],.ib-quote input[type=email],.ib-quote select,.ib-quote textarea{width:100%;box-sizing:border-box;font:inherit;font-size:16px;padding:13px 15px;border:1px solid #B9CDEB;border-radius:12px;background:#F7FAFF;color:#0B1B33;transition:border-color .15s,background .15s}
.ib-quote textarea{min-height:96px;resize:vertical}
.ib-quote input:focus,.ib-quote select:focus,.ib-quote textarea:focus{outline:3px solid #00B4F0;outline-offset:1px;border-color:#0A4DB0;background:#fff}
.ib-quote .wpcf7-checkbox{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.ib-quote .wpcf7-list-item{margin:0}
.ib-quote .wpcf7-list-item label{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid #B9CDEB;border-radius:999px;background:#F7FAFF;font-weight:700;cursor:pointer;transition:border-color .15s,background .15s}
.ib-quote .wpcf7-list-item label:has(input:checked){background:#071E45;border-color:#071E45;color:#B6F000}
.ib-quote .wpcf7-list-item input{accent-color:#0A4DB0;width:16px;height:16px}
.ib-form-note{font-size:13.5px;color:#4A5A74;margin:16px 0 14px}
.ib-quote .wpcf7-submit{border:0;font-family:inherit;width:100%;justify-content:center}
.ib-quote .wpcf7-spinner{margin:10px auto 0;display:block}
.ib-quote .wpcf7-not-valid-tip{color:#C0262D;font-size:13px;margin-top:4px}
.ib-quote .wpcf7-response-output{margin:16px 0 0 !important;padding:12px 16px !important;border-radius:12px;font-weight:600}
.ib-quote form.sent .wpcf7-response-output{border-color:#7DB700 !important;background:#F3FBDD;color:#2F4A00}
.ib-quote form.invalid .wpcf7-response-output,.ib-quote form.failed .wpcf7-response-output{border-color:#C0262D !important;background:#FDEDEE;color:#7A1418}
@media (max-width:600px){.ib-quote{padding:24px 18px}.ib-form-grid{grid-template-columns:1fr}}
.ib-tile b{padding-right:54px}
.ib-panel .ib-stat-row{grid-template-columns:repeat(3,minmax(0,1fr))}
.ib-panel .ib-stat b{font-size:1.45rem}
.ib-sec h2 em{text-decoration:none}
@media (max-width:420px){.ib-panel .ib-stat-row{grid-template-columns:1fr 1fr}}
@media (prefers-reduced-motion:reduce){.ib-card,.ib-tile,.ib-btn,.ib-badge{transition:none}.ib-card:hover,.ib-tile:hover,.ib-btn:hover{transform:none}}
