/* Agency upgrade v2: additive styles to preserve established theme and page layout. */
:root{--ifb-orange:#ee6e25;--ifb-green:#096d4b;--ifb-green-dark:#064f38;--ifb-ink:#101827;--ifb-muted:#526074;--ifb-line:#e1e8ea}
:focus-visible{outline:3px solid #ed782d;outline-offset:3px}
.button,.header-book{min-height:46px}
.header-book{white-space:nowrap}
.site-header .brand{letter-spacing:-.02em}
.nav a{color:#243244}
.topbar{background:#0b1924}
.topbar .topbar-inner{font-size:.83rem}
.hero{background:radial-gradient(ellipse at 15% 10%,#f0f7f1 0%,transparent 43%),radial-gradient(ellipse at 90% 80%,#fff2e8 0%,transparent 43%),#f8fafb}
.hero h1{font-size:clamp(3.1rem,5.2vw,5.4rem);line-height:1.03;letter-spacing:-.055em}
.hero .hero-lead{font-size:1.15rem}
.ifb-service-band{padding:36px 0 20px;background:#fff}
.ifb-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ifb-device-card{border-radius:22px;display:flex;flex-direction:column;min-height:232px;padding:28px;border:1px solid #dfebe5;background:linear-gradient(145deg,#fcfefd,#f5faf7);transition:transform .2s ease,box-shadow .2s ease;color:#15271f}
.ifb-device-card:nth-child(2){background:linear-gradient(145deg,#fffdfa,#fef6f0);border-color:#f2e6d8}
.ifb-device-card:nth-child(3){background:linear-gradient(145deg,#fbfcff,#f3f5fa);border-color:#e7e9f1}
.ifb-device-card:hover{transform:translateY(-3px);box-shadow:0 14px 36px rgba(12,34,20,.09)}
.ifb-device-card .icon{font-size:2rem;line-height:1;display:inline-block;margin-bottom:30px}
.ifb-device-card h3{font-size:1.45rem;margin:0 0 6px;letter-spacing:-.03em}
.ifb-device-card p{margin:0 0 12px;color:#586677;font-size:.95rem;line-height:1.5}
.ifb-device-card span.link{font-weight:800;color:var(--ifb-green);margin-top:auto}
.ifb-service-band h2,.ifb-visit-section h2{font-size:clamp(2rem,3.7vw,3.1rem);line-height:1.08;letter-spacing:-.045em;margin:9px 0 24px}
.ifb-visit-section{padding:78px 0;background:#eaf3ee}
.ifb-visit-grid{display:grid;grid-template-columns:1.25fr .75fr;align-items:center;gap:55px}
.ifb-visit-section p{color:#4e5f5a;max-width:700px}
.ifb-visit-panel{padding:28px;border-radius:24px;background:#fff;box-shadow:0 12px 32px rgba(19,73,47,.08)}
.ifb-visit-panel h3{font-size:1.25rem;margin:0 0 12px}
.ifb-visit-panel ul{padding-left:1.2em;line-height:2}
.ifb-trust-note{margin-top:18px;font-size:.88rem;color:#617069}
.ifb-pill{display:inline-flex;align-items:center;border:1px solid #d9e5dd;padding:5px 11px;border-radius:100px;font-size:.79rem;font-weight:800;color:#267653;background:#fff}
.ifb-agency-content{width:min(1000px,92vw);margin:0 auto;padding:55px 0}
.ifb-agency-content h1{font-size:clamp(2.6rem,5vw,4.6rem);letter-spacing:-.05em;line-height:1.06;max-width:880px}
.ifb-agency-content h2{font-size:clamp(1.55rem,3.6vw,2.4rem);line-height:1.15;margin-top:38px}
.ifb-agency-content p,.ifb-agency-content li{color:#475467;line-height:1.8}
.ifb-agency-content .button{margin:10px 0 22px}
.ifb-inline-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.ifb-inline-card{background:#f7faf8;border:1px solid #e1eae3;border-radius:18px;padding:22px}
.ifb-inline-card h3{margin-top:0}
.ifb-quote-shell{background:#fff;border-radius:26px;box-shadow:0 15px 60px rgba(10,26,34,.08);border:1px solid #e2e8e7;margin:30px auto 50px;padding:clamp(20px,4vw,46px);max-width:920px}
.ifb-quote-heading h2{font-size:clamp(1.75rem,4vw,2.75rem);letter-spacing:-.044em;line-height:1.08;margin:8px 0 8px;color:#111b25}
.ifb-quote-heading p{color:#526074;max-width:690px}
.ifb-quote-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:30px 0 32px}
.ifb-quote-progress span{padding:12px 7px;background:#f0f3f3;text-align:center;font-size:.84rem;font-weight:750;border-radius:8px;color:#647079}
.ifb-quote-progress span.active{color:#fff;background:var(--ifb-green)}
.ifb-quote-form fieldset{padding:0;margin:0;border:0;min-width:0}
.ifb-quote-form legend{font-size:1.25rem;letter-spacing:-.025em;font-weight:850;color:#16241e;margin-bottom:20px}
.ifb-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.ifb-form-grid label{font-size:.91rem;font-weight:750;display:grid;gap:8px;align-content:start;color:#1d3030}
.ifb-form-grid label.full{grid-column:1/-1}
.ifb-quote-form input:not([type=checkbox]),.ifb-quote-form select,.ifb-quote-form textarea{border:1.5px solid #cbd8d2;border-radius:12px;padding:13px 14px;font:inherit;min-height:50px;background:#fff;color:#1c2a27;width:100%}
.ifb-quote-form textarea{resize:vertical}
.ifb-quote-form input:focus,.ifb-quote-form select:focus,.ifb-quote-form textarea:focus{border-color:var(--ifb-green)}
.ifb-quote-form [hidden]{display:none!important}
.ifb-honey{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);pointer-events:none}
.ifb-form-hint{font-size:.88rem;color:#626f6c;margin:18px 0}
.ifb-quote-controls{display:flex;gap:12px;justify-content:flex-end;margin-top:26px}
.ifb-privacy{display:flex;gap:12px;align-items:flex-start;margin:25px 0;font-size:.9rem;font-weight:500;line-height:1.65}
.ifb-privacy input{width:19px;height:19px;flex:none;margin-top:4px}
.ifb-quote-support{border-top:1px solid #e4ebe8;padding-top:22px;margin-top:28px;color:#4c6259;font-size:.93rem}
.ifb-quote-support a{font-weight:800}
.ifb-alert{background:#fff4e4;border:1px solid #f5cc87;color:#6f410e;padding:16px;border-radius:12px;margin:16px 0}
.ifb-alert.success{background:#effbf3;border-color:#c3e9ce;color:#164e30}
.ifb-mobile-banner{background:#101d2d;padding:13px;color:#f4f6f9;text-align:center;font-size:.91rem}
.ifb-mobile-banner a{color:#fff;font-weight:850;text-decoration:underline}
/* Clear navigation and keyboard-accessible nested menus. */
.nav>ul{gap:13px}
.nav>ul>li{position:relative}
.nav>ul>li>a{font-size:.86rem;white-space:nowrap}
.nav>ul>li>ul{position:absolute;top:calc(100% + 10px);left:0;display:none;min-width:174px;flex-direction:column;align-items:stretch;gap:0;padding:10px;background:#fff;border:1px solid #e0e9e5;border-radius:14px;box-shadow:0 16px 40px rgba(12,30,23,.12);z-index:100}
.nav>ul>li:hover>ul,.nav>ul>li:focus-within>ul{display:flex}
.nav>ul>li>ul a{display:block;padding:8px 12px;font-size:.86rem}
.nav>ul>li>ul a:after{display:none}
.button:not(.ghost):not(.ghost-dark):not(.light-button){background:#b84a10}
.button.secondary{background:#096d4b!important}
.button.hero-secondary{color:#131f2c!important;background:#fff!important}
@media(max-width:1150px){.nav>ul{gap:9px}.nav>ul>li>a{font-size:.81rem}.navrow{gap:16px}}
@media(max-width:900px){.nav.open>ul{display:flex;align-items:stretch!important}.nav.open>ul>li{width:100%}.nav.open>ul>li>ul{position:static;display:block;background:#f3f7f4;box-shadow:none;border:0;margin:0 0 8px 12px;padding:0 10px;min-width:0}.nav.open>ul>li>ul a{font-size:.87rem;padding:9px}.ifb-visit-grid{grid-template-columns:1fr;gap:22px}.ifb-quote-shell{box-shadow:none}.hero{padding:54px 0}}
@media(max-width:650px){.ifb-service-grid,.ifb-inline-grid,.ifb-form-grid{grid-template-columns:1fr}.ifb-service-grid{gap:10px}.ifb-device-card{min-height:180px;padding:22px}.ifb-device-card .icon{margin-bottom:18px}.ifb-form-grid label.full{grid-column:auto}.ifb-quote-shell{padding:20px 16px;border-radius:18px}.ifb-quote-progress span{font-size:.73rem;padding:10px 3px}.ifb-quote-controls{flex-wrap:wrap}.ifb-quote-controls .button{flex:1}.footer-cta{padding-bottom:28px}}
