:root{--ink:#0a1730;--blue:#075ee8;--cyan:#16c7f4;--soft:#f4f7fb;--line:#dfe7f2;--muted:#657187;--white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"DM Sans",sans-serif;color:var(--ink);background:#fff}a{text-decoration:none;color:inherit}.container{width:min(1180px,92%);margin:auto}
.topbar{background:#07142c;color:#b9c8df;font-size:13px}.topbar-inner{height:38px;display:flex;justify-content:space-between;align-items:center}.topbar a{color:#fff}.dot{padding:0 10px;color:#55708f}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(15px);border-bottom:1px solid #e8edf4}.nav-wrap{height:78px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:10px;min-width:190px}.brand-mark{display:grid;place-items:center;width:45px;height:45px;border-radius:13px;background:linear-gradient(135deg,#075ee8,#12c9ef);color:#fff;font-weight:800;font-family:Manrope;font-size:17px;box-shadow:0 8px 22px #075ee833}.brand b{display:block;font:800 22px Manrope}.brand small{display:block;letter-spacing:2px;font-size:9px;color:#72809a;font-weight:700}nav{display:flex;align-items:center;gap:24px;flex:1;justify-content:center;font-size:14px;font-weight:600}nav>a, .nav-dropdown>a{padding:30px 0;position:relative}.active{color:var(--blue)}.active:after{content:"";position:absolute;left:0;right:0;bottom:22px;height:2px;background:var(--blue)}.nav-dropdown{position:relative}.nav-dropdown>a span{font-size:12px;color:#7b8799}.dropdown-menu{position:absolute;top:67px;left:-18px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 50px #07142c18;padding:10px;min-width:205px;display:none}.nav-dropdown:hover .dropdown-menu{display:grid}.dropdown-menu a{padding:10px 12px;border-radius:8px;font-size:13px}.dropdown-menu a:hover{background:var(--soft);color:var(--blue)}.nav-cta{background:var(--ink);color:#fff;border-radius:9px;padding:12px 17px;font-size:13px;font-weight:700}.nav-cta span{color:#20c8ef;margin-left:5px}.menu-toggle{display:none;border:0;background:none;font-size:25px}
.hero{height:610px;background:#06162f}.hero-slider{height:100%;position:relative;overflow:hidden}.slide{position:absolute;inset:0;opacity:0;transition:opacity .8s}.slide.active{opacity:1}.slide img{width:100%;height:100%;object-fit:cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,13,32,.92) 0%,rgba(3,13,32,.65) 36%,rgba(3,13,32,.08) 75%),linear-gradient(0deg,rgba(3,13,32,.55),transparent 45%)}.hero-content{position:relative;height:100%;display:flex;flex-direction:column;justify-content:center;color:#fff;padding-top:10px}.eyebrow,.section-kicker{font-size:11px;letter-spacing:2px;font-weight:800;color:#1abde9}.hero h1{font:800 clamp(42px,5.6vw,72px)/1.04 Manrope;margin:17px 0}.hero h1 em{font-style:normal;color:#6de1fa}.hero p{max-width:550px;font-size:17px;line-height:1.7;color:#d5e0ef;margin:0 0 27px}.hero-actions{display:flex;gap:12px}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:10px;padding:14px 20px;font:700 13px "DM Sans";cursor:pointer}.btn.primary{background:linear-gradient(135deg,#075ee8,#09b9e9);color:#fff;box-shadow:0 10px 30px #075ee84a}.btn.ghost{border:1px solid #ffffff55;color:#fff;background:#ffffff0d}.slider-controls{display:flex;align-items:center;gap:9px;margin-top:45px}.slider-controls button{border:0;background:none;color:#91a4c1;font-weight:700;cursor:pointer;padding:6px}.slider-controls button.active{color:#fff}.progress{width:190px;height:2px;background:#ffffff45;margin-left:10px}.progress i{display:block;height:100%;width:33%;background:#fff;transition:width .1s}
.section{padding:92px 0}.intro{background:#f7faff}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end}.section-kicker{display:inline-block;margin-bottom:13px}.section h2{font:800 clamp(34px,4vw,52px)/1.08 Manrope;margin:0}.section h2 span{color:#6d7b91}.lead{font-size:21px;line-height:1.65;color:#536177;margin:0 0 20px}.text-link{font-weight:800;color:var(--blue);font-size:14px}
.section-head{display:flex;justify-content:space-between;gap:60px;align-items:end;margin-bottom:42px}.section-head>p{max-width:430px;color:var(--muted);line-height:1.7;margin:0}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.product-card{border:1px solid transparent;border-radius:18px;padding:26px;min-height:250px;background:linear-gradient(145deg,#071a3b 0%,#0a55c7 58%,#1267d5 100%);color:#fff;transition:.25s;position:relative;overflow:hidden;box-shadow:0 14px 35px #071a3b20}.product-card:hover{transform:translateY(-6px);box-shadow:0 22px 55px #071a3b3d;border-color:transparent}.product-card.featured,.product-card#corporate{background:linear-gradient(145deg,#071a3b 0%,#0a55c7 58%,#1267d5 100%);color:#fff;border-color:transparent;box-shadow:0 14px 35px #071a3b20}.product-card p,.product-card.featured p,.product-card#corporate p{color:#d9ecfb}.product-card .icon,.product-card.featured .icon,.product-card#corporate .icon{background:#ffffff18;color:#6de1fa}.product-card a,.product-card.featured a,.product-card#corporate a{color:#6de1fa}.icon{width:45px;height:45px;border-radius:13px;background:#ffffff18;color:#6de1fa;display:grid;place-items:center;font-size:21px;margin-bottom:26px}.product-card h3{font:700 18px Manrope;margin:0 0 10px}.product-card p{font-size:13px;line-height:1.65;margin:0 0 20px}.product-card a{font-size:12px;font-weight:800}
.stats{padding:0;background:#07142c;color:#fff}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr)}.stats-grid>div{padding:42px 30px;border-right:1px solid #ffffff14}.stats-grid>div:last-child{border:0}.stats-grid strong{display:block;font:800 38px Manrope;color:#fff}.stats-grid span{font-size:12px;color:#8ea0ba}
.partners{background:#fff}.center-head{text-align:center;max-width:700px;margin:0 auto 42px}.center-head p{color:var(--muted);line-height:1.7}.partner-slider{overflow:hidden;position:relative;margin:0 auto;width:100%;padding:10px 0 18px}.partner-track{display:flex;gap:22px;will-change:transform;transition:transform .65s cubic-bezier(.22,.61,.36,1)}.partner-card{flex:0 0 230px;height:180px;display:flex;align-items:center;justify-content:center;border:1px solid #d8e3f3;border-radius:12px;background:#fff;padding:18px;box-sizing:border-box;box-shadow:0 5px 18px rgba(8,26,59,.06);overflow:hidden;transition:transform .25s,box-shadow .25s}.partner-card img{width:100%;height:100%;object-fit:contain;display:block}.partner-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(8,26,59,.12)}.partner-card:focus-visible{outline:3px solid #075ee8;outline-offset:3px}@media(max-width:700px){.partner-card{flex-basis:190px;height:150px;padding:14px;gap:14px}}
.why{background:#f4f7fb}.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.why-image{position:relative}.image-card{border-radius:25px;overflow:hidden;box-shadow:0 25px 70px #07142c25}.image-card img{display:block;width:100%;height:400px;object-fit:cover}.floating-badge{position:absolute;right:-22px;bottom:28px;background:#fff;padding:18px 22px;border-radius:15px;box-shadow:0 18px 50px #07142c25}.floating-badge b{display:block;font:800 25px Manrope;color:var(--blue)}.floating-badge span{font-size:11px;color:#6c788b}.why-copy>p{color:var(--muted);line-height:1.75;font-size:16px}.why-copy ul{padding:0;list-style:none;display:grid;gap:13px}.why-copy li{font-size:14px;font-weight:700}.why-copy li:before{content:"✓";display:inline-grid;place-items:center;width:22px;height:22px;background:#dff6ff;color:#078bb5;border-radius:50%;margin-right:10px;font-size:11px}
.quote{background:#07142c;color:#fff}.quote-box{background:linear-gradient(120deg,#0b2350,#0759bd);border-radius:26px;padding:55px 65px;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.quote h2{margin-bottom:18px}.quote h2 span{color:#6de1fa}.quote p{color:#c9d7ea;line-height:1.6}.quote form{display:grid;gap:11px}.quote input,.quote select{width:100%;padding:15px;border:1px solid #ffffff24;background:#ffffff10;color:#fff;border-radius:9px;outline:none}.quote select option{color:#111}.quote input::placeholder{color:#b5c5da}.quote form .btn{margin-top:4px}.quote small{min-height:17px;color:#8fe8bc}
footer{background:#050e20;color:#b9c8dd;padding:65px 0 20px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;gap:50px}.footer-brand{color:#fff}.footer-grid h4{color:#fff;margin:0 0 17px;font-size:14px}.footer-grid>a,.footer-grid p{display:block;font-size:13px;line-height:1.8;margin:6px 0}.footer-grid>div>a:not(.footer-brand):hover{color:#fff}.footer-cta{color:#55d9f8!important;font-weight:800}.copyright{border-top:1px solid #ffffff12;margin-top:45px;padding-top:18px;font-size:11px;color:#65758d}
@media(max-width:980px){nav{gap:13px}.nav-wrap{gap:14px}.product-grid{grid-template-columns:repeat(2,1fr)}.partner-card{flex-basis:calc((100% - 36px)/3)}.section-head{display:block}.section-head>p{margin-top:20px}.why-grid{gap:45px}.footer-grid{grid-template-columns:1fr 1fr}.quote-box{grid-template-columns:1fr}}
@media(max-width:760px){.topbar{display:none}.nav-wrap{height:68px}.menu-toggle{display:block;margin-left:auto}.nav-cta{display:none}nav{display:none;position:absolute;left:4%;right:4%;top:70px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 20px 50px #07142c20;padding:12px;flex-direction:column;align-items:stretch}.nav-open nav{display:flex}.nav-dropdown>a,nav>a{padding:12px}.active:after{display:none}.dropdown-menu{position:static;display:grid;box-shadow:none;border:0;padding-left:15px}.hero{height:570px}.hero h1{font-size:43px}.hero p{font-size:15px}.section{padding:70px 0}.intro-grid,.why-grid{grid-template-columns:1fr;gap:35px}.stats-grid{grid-template-columns:1fr 1fr}.stats-grid>div{border-bottom:1px solid #ffffff14}.product-grid{grid-template-columns:1fr}.partner-grid{grid-template-columns:1fr 1fr}.quote-box{padding:38px 25px}.footer-grid{grid-template-columns:1fr 1fr;gap:30px}}
@media(max-width:480px){.partner-card{flex-basis:calc((100% - 18px)/2)}.footer-grid{grid-template-columns:1fr}.hero-actions{flex-direction:column;align-items:flex-start}.slider-controls{margin-top:30px}}

.page-hero{min-height:420px;position:relative;background:#07142c;overflow:hidden}.page-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.48}.page-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#06132fe8,#06132f75,#06132f22)}.page-hero .container{position:relative;z-index:2;min-height:420px;display:flex;flex-direction:column;justify-content:center;color:#fff}.page-hero h1{font:800 clamp(42px,6vw,68px)/1.05 Manrope;margin:12px 0}.page-hero p{max-width:650px;color:#d8e3f2;font-size:17px;line-height:1.7}.breadcrumb{font-size:12px;color:#a9bad2}.content-section{padding:85px 0}.content-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:65px;align-items:start}.content-section h2{font:800 36px Manrope;margin:0 0 18px}.content-section p{color:#667389;line-height:1.8}.feature-list{display:grid;gap:14px;margin:25px 0;padding:0;list-style:none}.feature-list li{padding:17px 18px;background:#f5f8fc;border:1px solid #e2eaf3;border-radius:12px;font-weight:700;font-size:14px}.feature-list li:before{content:"✓";color:#075ee8;margin-right:12px}.info-card{background:linear-gradient(145deg,#071a3b,#0759bd);border-radius:22px;padding:34px;color:#fff;box-shadow:0 20px 50px #07142c22}.info-card h3{font:800 25px Manrope;margin:0 0 15px}.info-card p{color:#d4e2f4}.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px}.mini-card{padding:26px;border:1px solid #e0e8f2;border-radius:17px;background:#fff}.mini-card h3{font:700 18px Manrope}.mini-card p{font-size:13px}.contact-form{display:grid;gap:12px}.contact-form input,.contact-form textarea,.contact-form select{padding:15px;border:1px solid #d9e2ed;border-radius:9px;font:inherit}.contact-form textarea{min-height:140px}.contact-form button{width:max-content}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery-grid img{width:100%;height:220px;object-fit:cover;border-radius:16px}.cta-strip{background:#07142c;color:#fff;padding:55px 0}.cta-strip .container{display:flex;justify-content:space-between;align-items:center;gap:25px}.cta-strip h2{font:800 34px Manrope;margin:0}.cta-strip p{color:#b9c8dc}@media(max-width:800px){.content-grid{grid-template-columns:1fr}.cards-3,.gallery-grid{grid-template-columns:1fr}.cta-strip .container{display:block}.cta-strip .btn{margin-top:20px}}
/* CII premium hero refresh */
.hero{height:650px;background:#041129}
.hero-slider{border-radius:0 0 34px 34px}
.slide img{object-position:center;transform:scale(1.015);transition:transform 7s ease}
.slide.active img{transform:scale(1.045)}
.hero-overlay{background:linear-gradient(90deg,rgba(3,13,32,.96) 0%,rgba(3,13,32,.78) 30%,rgba(3,13,32,.28) 58%,rgba(3,13,32,.04) 100%),linear-gradient(0deg,rgba(3,13,32,.48),transparent 52%)}
.hero-content{padding-bottom:15px}
.hero h1{max-width:720px;text-shadow:0 8px 35px rgba(0,0,0,.25)}
.hero p{max-width:590px}
.slider-controls{background:rgba(255,255,255,.07);backdrop-filter:blur(12px);width:max-content;padding:8px 12px;border:1px solid rgba(255,255,255,.12);border-radius:16px}
.slider-controls button{min-width:34px}
.progress{width:150px}
@media(max-width:760px){.hero{height:600px}.hero-overlay{background:linear-gradient(90deg,rgba(3,13,32,.94),rgba(3,13,32,.55)),linear-gradient(0deg,rgba(3,13,32,.5),transparent)}.slider-controls{margin-top:28px}}

/* Reference-style homepage carousel */
.hero{height:650px;background:#06142c}
.hero-slider{height:100%;position:relative;overflow:hidden;border-radius:0}
.slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .7s ease,visibility .7s ease}
.slide.active{opacity:1;visibility:visible;z-index:1}
.slide img{width:100%;height:100%;object-fit:cover;transform:scale(1.01);transition:transform 6.5s ease}
.slide.active img{transform:scale(1.06)}
.slide-copy{position:absolute;z-index:4;left:max(5vw,calc((100% - 1280px)/2));top:50%;transform:translateY(-50%);width:min(650px,52vw);color:#fff}
.hero-overlay{z-index:2;background:linear-gradient(90deg,rgba(4,17,41,.93) 0%,rgba(4,17,41,.75) 34%,rgba(4,17,41,.30) 62%,rgba(4,17,41,.08) 100%),linear-gradient(0deg,rgba(4,17,41,.48),transparent 50%)}
.slide-copy h1{font:800 clamp(42px,5.2vw,72px)/1.05 Manrope;margin:16px 0;text-shadow:0 8px 30px rgba(0,0,0,.22)}
.slide-copy p{max-width:560px;font-size:17px;line-height:1.7;color:#e0e9f6;margin:0 0 28px}
.hero-arrow{position:absolute;z-index:5;top:50%;transform:translateY(-50%);width:50px;height:50px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.10);backdrop-filter:blur(8px);color:#fff;font-size:34px;line-height:1;cursor:pointer;transition:.2s}
.hero-arrow:hover{background:rgba(255,255,255,.22);transform:translateY(-50%) scale(1.06)}
.hero-arrow.prev{left:24px}.hero-arrow.next{right:24px}
.slider-bottom{position:absolute;z-index:6;left:50%;bottom:30px;transform:translateX(-50%);display:flex;align-items:center;justify-content:space-between;gap:25px;width:90%;max-width:1280px}
.slider-controls{margin:0;background:rgba(255,255,255,.09);backdrop-filter:blur(12px);padding:8px 12px;border:1px solid rgba(255,255,255,.16);border-radius:16px}
.slide-caption{display:flex;align-items:center;gap:12px;color:#fff;font-size:12px;font-weight:700;letter-spacing:.4px}.caption-line{width:42px;height:1px;background:#6de1fa}
@media(max-width:760px){.hero{height:590px}.slide-copy{left:7%;right:7%;width:auto}.slide-copy h1{font-size:42px}.slide-copy p{font-size:15px}.hero-arrow{width:42px;height:42px;font-size:28px}.hero-arrow.prev{left:12px}.hero-arrow.next{right:12px}.slider-bottom{bottom:20px;width:86%}.slide-caption{display:none}}


/* Insurance Companies - small vertical logo carousel */
.partners .center-head{margin-bottom:28px}
.partner-slider.vertical{height:300px;overflow:hidden;position:relative;width:360px;max-width:92%;margin:0 auto;padding:6px 8px;box-sizing:border-box}
.partner-slider.vertical::before,.partner-slider.vertical::after{content:"";position:absolute;left:0;right:0;height:32px;z-index:3;pointer-events:none}
.partner-slider.vertical::before{top:0;background:linear-gradient(#fff,rgba(255,255,255,0))}
.partner-slider.vertical::after{bottom:0;background:linear-gradient(rgba(255,255,255,0),#fff)}
.partner-slider.vertical .partner-track{display:flex;flex-direction:column;gap:8px;transform:none;transition:transform .65s cubic-bezier(.22,.61,.36,1);will-change:transform}
.partner-slider.vertical .partner-card{flex:0 0 70px;width:100%;height:70px;min-height:70px;display:flex;align-items:center;justify-content:center;padding:7px 14px;border:1px solid #d8e3f3;border-radius:9px;background:#fff;box-shadow:0 3px 12px rgba(8,26,59,.05);box-sizing:border-box;overflow:hidden}
.partner-slider.vertical .partner-card img{width:auto;height:auto;max-width:115px;max-height:42px;object-fit:contain;display:block}
.partner-slider.vertical .partner-card:hover{transform:scale(1.01);box-shadow:0 7px 16px rgba(8,26,59,.09)}
@media(max-width:760px){.partner-slider.vertical{width:300px;height:270px}.partner-slider.vertical .partner-card{flex-basis:64px;height:64px;min-height:64px}.partner-slider.vertical .partner-card img{max-width:100px;max-height:37px}}

/* Corporate Insurance & Investment branding */
.brand{min-width:0;gap:9px;flex-shrink:1}.brand-logo{width:48px;height:48px;object-fit:contain;border-radius:4px;flex:0 0 auto}.brand-copy{display:block;min-width:0;max-width:220px}.brand .brand-copy b{display:block;font-family:Manrope, sans-serif;font-size:11px;line-height:1.15;letter-spacing:.25px;font-weight:800;color:var(--ink);overflow-wrap:anywhere}.brand .brand-copy small{display:block;font-size:7px;line-height:1.3;letter-spacing:.45px;color:#64748b;font-weight:800;margin-top:4px}.footer-brand .brand-copy b{color:#fff}.footer-brand .brand-copy small{color:#c2cde0}@media(max-width:1100px){.brand-logo{width:40px;height:40px}.brand-copy{max-width:160px}.brand .brand-copy b{font-size:9px}.brand .brand-copy small{font-size:6px}}


/* Final compact branding: keep the logo and company name within every page header/footer */
.brand{display:flex;align-items:center;gap:8px;min-width:0;max-width:100%;}
.brand-logo{width:32px!important;height:32px!important;max-width:32px!important;max-height:32px!important;object-fit:contain;flex:0 0 32px;border-radius:3px;}
.brand-copy{min-width:0;max-width:190px;}
.brand .brand-copy b{font-size:10px;line-height:1.15;letter-spacing:.15px;overflow-wrap:anywhere;}
.brand .brand-copy small{font-size:6.5px;line-height:1.25;letter-spacing:.25px;overflow-wrap:anywhere;}
.footer-brand .brand-logo{width:30px!important;height:30px!important;flex-basis:30px;}
@media(max-width:760px){.brand-logo{width:28px!important;height:28px!important;max-width:28px!important;max-height:28px!important;flex-basis:28px;}.brand-copy{max-width:150px;}.brand .brand-copy b{font-size:9px;}.brand .brand-copy small{font-size:6px;}.nav-wrap{gap:8px;}}

/* Smooth, seamless horizontal insurance-company logo slider */
.partner-slider.horizontal { overflow: hidden; width: 100%; }
.partner-slider.horizontal .partner-track { display:flex; width:max-content; gap:22px; animation: insuranceLogoMarquee 48s linear infinite; transition:none; }
.partner-slider.horizontal .partner-track.paused { animation-play-state: paused; }
.partner-slider.horizontal .partner-card { flex:0 0 230px; height:150px; padding:22px; }
.partner-slider.horizontal .partner-card img { width:100%; height:100%; object-fit:contain; }
@keyframes insuranceLogoMarquee { from { transform:translateX(0); } to { transform:translateX(calc(-50% - 11px)); } }
@media(max-width:700px) { .partner-slider.horizontal .partner-card { flex-basis:190px; height:125px; padding:16px; } .partner-slider.horizontal .partner-track { gap:14px; animation-duration:38s; } }
@media(prefers-reduced-motion:reduce) { .partner-slider.horizontal .partner-track { animation:none; } }


/* Refined insurance partner logo clarity and consistent navigation alignment */
.partners .partner-slider.horizontal { padding: 14px 0 24px; }
.partners .partner-slider.horizontal .partner-track { align-items: center; gap: 20px; }
.partners .partner-slider.horizontal .partner-card { flex: 0 0 220px; height: 132px; padding: 18px 20px; border: 1px solid #e1e8f2; border-radius: 14px; background: #fff; box-shadow: 0 5px 18px rgba(8,26,59,.07); }
.partners .partner-slider.horizontal .partner-card img { display:block; width:auto; height:auto; max-width:100%; max-height:82px; object-fit:contain; image-rendering:auto; filter:none; transform:translateZ(0); }
.partners .partner-slider.horizontal .partner-card:hover { transform:translateY(-3px); }
/* Keep header elements on one baseline and reserve predictable space for the menu */
.site-header .nav-wrap { display:flex; flex-wrap:nowrap; align-items:center; justify-content:space-between; gap:clamp(10px,1.4vw,22px); }
.site-header .brand { flex:0 1 245px; min-width:190px; max-width:245px; }
.site-header .brand-copy { max-width:190px; }
.site-header .nav-wrap nav { flex:1 1 auto; min-width:0; display:flex; flex-wrap:nowrap; align-items:center; justify-content:center; gap:clamp(10px,1.25vw,20px); white-space:nowrap; font-size:13px; }
.site-header .nav-wrap nav > a, .site-header .nav-wrap nav .nav-dropdown > a { display:inline-flex; align-items:center; min-height:44px; padding:12px 0; line-height:1.2; }
.site-header .nav-wrap nav .nav-dropdown { flex:0 0 auto; }
.site-header .nav-wrap nav .dropdown-menu { top:100%; }
.site-header .nav-cta { flex:0 0 auto; white-space:nowrap; padding:11px 14px; }
@media(max-width:1100px) and (min-width:761px) {
 .site-header .nav-wrap { gap:10px; }
 .site-header .brand { flex-basis:185px; min-width:170px; }
 .site-header .brand-copy { max-width:145px; }
 .site-header .nav-wrap nav { gap:10px; font-size:12px; }
 .site-header .nav-cta { padding:10px 11px; font-size:12px; }
}
@media(max-width:760px) {
 .site-header .nav-wrap { justify-content:space-between; gap:10px; }
 .site-header .brand { flex:0 1 auto; min-width:0; max-width:calc(100% - 54px); }
 .site-header .brand-copy { max-width:190px; }
 .site-header .menu-toggle { flex:0 0 42px; display:grid; place-items:center; width:42px; height:42px; margin-left:auto; border-radius:8px; color:var(--ink); cursor:pointer; }
 .site-header.nav-open .nav-wrap nav { display:flex; flex-direction:column; align-items:stretch; gap:2px; top:calc(100% + 1px); left:4%; right:4%; width:92%; max-height:70vh; overflow-y:auto; }
 .site-header .nav-wrap nav > a, .site-header .nav-wrap nav .nav-dropdown > a { width:100%; min-height:40px; padding:11px 12px; }
 .site-header .nav-wrap nav .nav-dropdown { width:100%; }
 .site-header .nav-wrap nav .dropdown-menu { position:static; width:100%; min-width:0; padding:4px 0 4px 12px; }
 .partners .partner-slider.horizontal .partner-card { flex-basis:190px; height:118px; padding:14px 16px; }
 .partners .partner-slider.horizontal .partner-card img { max-height:74px; }
}


/* ===== Policy admin pages: consistent spacing, alignment and responsive layout ===== */
body:has(.topbar) { background:#f3f6fb; color:#17243b; }
.topbar { min-height:76px; padding:12px max(4%, calc((100% - 1240px)/2)); display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; box-sizing:border-box; }
.topbar .company-brand { display:flex; align-items:center; gap:12px; min-width:0; }
.topbar .company-brand img { width:52px; height:52px; object-fit:contain; background:#fff; padding:4px; border-radius:10px; flex:0 0 auto; }
.topbar .company-brand span { display:flex; flex-direction:column; gap:4px; line-height:1.3; }
.topbar .company-brand strong { color:#fff; font-size:14px; letter-spacing:.2px; }
.topbar .company-brand small { color:#b9c8df; font-size:10px; letter-spacing:.8px; }
.topbar-right { display:flex; align-items:center; justify-content:flex-end; gap:10px; flex-wrap:wrap; }
.topbar-right > span { color:#e2eaf6; margin-right:4px; }
.container { width:min(1240px,92%); margin:32px auto 56px; box-sizing:border-box; }
.header { display:flex; align-items:center; justify-content:space-between; gap:18px; flex-wrap:wrap; margin:0 0 22px; }
.header h1, body > h1, .container h1 { margin:0; color:#14233c; line-height:1.25; }
.header p { margin:7px 0 0; color:#66758c; }
body:has(.topbar) form { box-sizing:border-box; }
body:has(.topbar) input:not([type=checkbox]):not([type=radio]):not([type=file]),
body:has(.topbar) select,
body:has(.topbar) textarea { max-width:100%; min-height:44px; padding:10px 12px; border:1px solid #d6dfeb; border-radius:9px; background:#fff; color:#18263d; font:inherit; box-sizing:border-box; }
body:has(.topbar) input:focus, body:has(.topbar) select:focus, body:has(.topbar) textarea:focus { outline:3px solid #2563eb24; border-color:#3978e8; }
body:has(.topbar) label { display:block; margin:0 0 7px; color:#35445c; font-size:13px; font-weight:700; }
body:has(.topbar) .form-group, body:has(.topbar) .form-field { min-width:0; margin-bottom:17px; }
body:has(.topbar) .form-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
body:has(.topbar) .btn { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:40px; padding:10px 16px; border:0; border-radius:9px; text-decoration:none; font-family:inherit; font-size:13px; font-weight:700; line-height:1.2; cursor:pointer; white-space:nowrap; box-sizing:border-box; }
body:has(.topbar) .btn-primary { background:#1765d1; color:#fff; }
body:has(.topbar) .btn-secondary { background:#e8eef7; color:#203653; }
body:has(.topbar) .btn-logout { background:#c73b48; color:#fff; }
body:has(.topbar) table { width:100%; border-collapse:collapse; background:#fff; }
body:has(.topbar) th, body:has(.topbar) td { padding:12px 14px; border-bottom:1px solid #e8edf4; text-align:left; vertical-align:middle; }
body:has(.topbar) th { background:#f6f8fc; color:#3a4a62; font-size:12px; text-transform:uppercase; letter-spacing:.35px; }
body:has(.topbar) .table-wrap { width:100%; overflow-x:auto; border:1px solid #e3e9f2; border-radius:12px; background:#fff; }
body:has(.topbar) .inline-delete { display:inline-flex; margin:0; }
body.login-page { min-height:100vh; margin:0; padding:28px 16px; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,#edf4ff,#f7f9fd 52%,#e7f0ff); box-sizing:border-box; }
.login-card { width:min(440px,100%); margin:auto; padding:34px; border:1px solid #e1e8f2; border-radius:20px; background:#fff; box-shadow:0 22px 65px #18365b1c; box-sizing:border-box; }
.login-company-logo { display:flex; justify-content:center; align-items:center; margin:0 auto 18px; }
.login-company-logo img { display:block; width:100px; height:100px; object-fit:contain; }
.login-card h1 { margin:0; text-align:center; color:#14233c; font-size:21px; line-height:1.35; }
.login-subtitle { margin:8px 0 26px; color:#6a7890; text-align:center; }
.login-card .form-group { margin-bottom:18px; }
.login-card input:not([type=hidden]) { display:block; width:100%; min-height:46px; padding:12px 13px; border:1px solid #d6dfeb; border-radius:10px; box-sizing:border-box; }
.login-card .login-btn { width:100%; min-height:46px; margin-top:4px; }
.login-help { margin-top:20px; padding:13px 15px; border-radius:10px; background:#f4f7fc; color:#64738a; font-size:12px; line-height:1.8; text-align:center; }
.login-help strong { color:#35445c; }
.alert { margin:0 0 18px; padding:12px 14px; border-radius:9px; background:#fff0f0; color:#a3212e; border:1px solid #ffd1d5; }
@media(max-width:760px) {
 .topbar { padding:14px 4%; align-items:flex-start; }
 .topbar-right { width:100%; justify-content:flex-start; }
 .topbar-right > span { width:100%; }
 .container { width:94%; margin:22px auto 36px; }
 body:has(.topbar) .form-row { grid-template-columns:minmax(0,1fr); gap:0; }
 .login-card { padding:26px 22px; }
 body:has(.topbar) th, body:has(.topbar) td { padding:10px; }
}

/* Policy list action controls, large search field, and export/delete toolbar */
body:has(.topbar) .admin-toolbar { display:flex; align-items:center; justify-content:flex-end; gap:10px; flex-wrap:wrap; }
body:has(.topbar) .search-box { margin:0 0 18px; padding:18px; border:1px solid #e1e8f2; border-radius:14px; background:#fff; box-shadow:0 5px 18px rgba(19,43,78,.04); }
body:has(.topbar) .search-form { display:flex; align-items:center; gap:12px; width:100%; margin:0; }
body:has(.topbar) .search-form input[name="search"] { flex:1 1 560px; width:100%; min-width:220px; min-height:56px; padding:15px 18px; font-size:16px; border:1px solid #c6d3e4; border-radius:12px; box-shadow:inset 0 1px 2px rgba(18,38,63,.04); }
body:has(.topbar) .search-form .btn { min-height:50px; padding:13px 22px; font-size:14px; }
body:has(.topbar) .btn-edit, body:has(.topbar) .btn-delete { min-height:38px; padding:10px 14px; border-radius:9px; box-shadow:0 3px 8px rgba(20,35,60,.12); transition:transform .15s ease, box-shadow .15s ease, filter .15s ease; }
body:has(.topbar) .btn-edit { color:#fff; background:linear-gradient(135deg,#1677e8,#1258bd); }
body:has(.topbar) .btn-delete { color:#fff; background:linear-gradient(135deg,#ef5350,#c62828); }
body:has(.topbar) .btn-edit:hover, body:has(.topbar) .btn-delete:hover { transform:translateY(-1px); filter:brightness(1.04); box-shadow:0 6px 13px rgba(20,35,60,.18); }
body:has(.topbar) .actions { display:flex; align-items:center; gap:8px; white-space:nowrap; }
body:has(.topbar) .policy-tools { display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; margin:0 0 20px; }
body:has(.topbar) .pdf-range-form { display:flex; align-items:center; gap:12px; flex-wrap:wrap; padding:14px 16px; margin:0; border:1px solid #dce6f4; border-radius:12px; background:#f9fbff; }
body:has(.topbar) .pdf-range-form strong { color:#1d3557; margin-right:4px; }
body:has(.topbar) .pdf-range-form label { display:flex; align-items:center; gap:8px; margin:0; white-space:nowrap; }
body:has(.topbar) .pdf-range-form input[type="date"] { min-height:40px; padding:8px 10px; }
body:has(.topbar) .btn-pdf { background:linear-gradient(135deg,#0d9488,#08766d); color:#fff; }
body:has(.topbar) .btn-delete-all { background:linear-gradient(135deg,#b91c1c,#7f1d1d); color:#fff; min-height:44px; box-shadow:0 3px 8px rgba(127,29,29,.16); }
body:has(.topbar) .btn-delete-all:hover { filter:brightness(1.08); }
@media(max-width:760px) {
 body:has(.topbar) .search-form { align-items:stretch; flex-direction:column; }
 body:has(.topbar) .search-form input[name="search"] { min-width:0; flex:auto; }
 body:has(.topbar) .search-form .btn { width:100%; }
 body:has(.topbar) .policy-tools, body:has(.topbar) .pdf-range-form { align-items:stretch; flex-direction:column; }
 body:has(.topbar) .pdf-range-form label { justify-content:space-between; }
 body:has(.topbar) .pdf-range-form input[type="date"] { width:58%; }
 body:has(.topbar) .policy-tools > form:last-child, body:has(.topbar) .btn-delete-all { width:100%; }
 body:has(.topbar) .actions { flex-wrap:wrap; }
}

/* Corrected Add/Edit Policy form alignment (scoped to policy form pages) */
body:has(.form-container) { margin:0; background:#f2f5fa; color:#17243b; }
body:has(.form-container) .form-container {
  width: min(1080px, calc(100% - 48px)) !important;
  max-width:1080px !important;
  margin:32px auto 56px !important;
  padding:30px 34px !important;
  box-sizing:border-box !important;
  background:#fff !important;
  border:1px solid #e1e8f2 !important;
  border-radius:18px !important;
  box-shadow:0 12px 32px rgba(20,45,80,.08) !important;
}
body:has(.form-container) .form-header {
  display:flex !important; align-items:center !important; justify-content:space-between !important;
  gap:18px !important; margin:0 0 26px !important; padding:0 0 20px !important;
  border-bottom:1px solid #e8edf5 !important;
}
body:has(.form-container) .form-header h1 { margin:0 !important; font-size:30px !important; line-height:1.25 !important; color:#14233c !important; }
body:has(.form-container) .form-header p { margin:8px 0 0 !important; color:#68778d !important; font-size:15px !important; }
body:has(.form-container) .form-header > a { display:none !important; }
body:has(.form-container) .form-container form:not([style]) { display:block !important; width:100% !important; margin:0 !important; }
body:has(.form-container) .form-container .form-grid {
  display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  column-gap:24px !important; row-gap:4px !important; width:100% !important;
  align-items:start !important; box-sizing:border-box !important;
}
body:has(.form-container) .form-container .form-group { display:flex !important; flex-direction:column !important; min-width:0 !important; width:100% !important; margin:0 0 18px !important; }
body:has(.form-container) .form-container .form-group label { display:block !important; width:100% !important; margin:0 0 8px !important; font-size:14px !important; font-weight:700 !important; color:#34445d !important; }
body:has(.form-container) .form-container .form-group input:not([type=checkbox]):not([type=radio]) { display:block !important; width:100% !important; max-width:none !important; min-width:0 !important; min-height:48px !important; padding:11px 14px !important; border:1px solid #d3deec !important; border-radius:10px !important; background:#fff !important; font-size:15px !important; box-sizing:border-box !important; }
body:has(.form-container) .form-container .form-group input[type=file] { min-height:44px !important; padding:9px !important; background:#f8faff !important; }
body:has(.form-container) .form-container .form-group small { display:block !important; margin-top:7px !important; color:#6b7890 !important; font-size:12px !important; }
body:has(.form-container) .form-container .form-group-full { grid-column:1 / -1 !important; }
body:has(.form-container) .form-container .form-buttons { display:flex !important; justify-content:flex-start !important; align-items:center !important; gap:12px !important; margin-top:10px !important; padding-top:20px !important; border-top:1px solid #e8edf5 !important; }
body:has(.form-container) .form-container .form-buttons .btn { min-width:135px !important; min-height:46px !important; font-size:14px !important; }
body:has(.form-container) .form-container .current-file { display:flex !important; flex-wrap:wrap !important; align-items:center !important; gap:16px !important; margin:0 0 12px !important; }
body:has(.form-container) .form-container .checkbox-label { display:flex !important; align-items:center !important; gap:8px !important; margin:0 !important; }
body:has(.form-container) .form-container .checkbox-label input { width:auto !important; min-height:auto !important; }
body:has(.form-container) .form-container form[style] { display:flex !important; align-items:center !important; gap:12px !important; flex-wrap:wrap !important; width:100% !important; padding:16px !important; margin:0 0 24px !important; background:#f7f9fd !important; border:1px solid #e0e7f1 !important; border-radius:12px !important; box-sizing:border-box !important; }
body:has(.form-container) .form-container form[style] input[type=file] { max-width:100% !important; }
@media(max-width:700px) {
 body:has(.form-container) .form-container { width:calc(100% - 24px) !important; margin:18px auto 30px !important; padding:22px 18px !important; }
 body:has(.form-container) .form-header { align-items:flex-start !important; }
 body:has(.form-container) .form-header h1 { font-size:25px !important; }
 body:has(.form-container) .form-container .form-grid { grid-template-columns:minmax(0,1fr) !important; column-gap:0 !important; }
 body:has(.form-container) .form-container .form-group-full { grid-column:1 !important; }
 body:has(.form-container) .form-container .form-buttons { flex-direction:column !important; align-items:stretch !important; }
 body:has(.form-container) .form-container .form-buttons .btn { width:100% !important; }
}


/* GLOBAL HEADER REFINEMENT — applied consistently on every public page */
.site-header { width:100%; }
.site-header .topbar { padding:0 !important; margin:0 !important; min-height:0 !important; }
.site-header .topbar-inner { height:15px !important; min-height:15px !important; box-sizing:border-box; display:flex; align-items:center; justify-content:space-between; gap:16px; line-height:1.2; font-size:12px; }
.site-header .topbar-inner > span { line-height:1.2; }
.site-header .topbar-inner > div { display:flex; align-items:center; white-space:nowrap; line-height:1.2; }
.site-header .nav-wrap { height:40px !important; min-height:40px !important; box-sizing:border-box; padding-top:0 !important; padding-bottom:0 !important; }
@media(max-width:760px) { .site-header .topbar { display:none !important; } .site-header .nav-wrap { height:40px !important; min-height:40px !important; } }

/* Exact requested header heights */
.site-header .topbar-inner{height:15px!important;min-height:15px!important;padding:0!important;font-size:10px!important;line-height:15px!important}
.site-header .topbar-inner *{line-height:15px!important}
.site-header .nav-wrap{height:40px!important;min-height:40px!important;padding-top:0!important;padding-bottom:0!important}
@media(max-width:760px){.site-header .nav-wrap{height:40px!important;min-height:40px!important}}


/* Header sizing update: clearer Support/Quote links with compact header bars */
.site-header .topbar-inner {
  height:28px !important;
  min-height:28px !important;
  font-size:13px !important;
  line-height:28px !important;
}
.site-header .topbar-inner > span,
.site-header .topbar-inner > div {
  line-height:28px !important;
}
.site-header .topbar-inner > div a {
  font-size:15px !important;
  font-weight:700 !important;
  line-height:1.2 !important;
  padding:2px 0 !important;
}
.site-header .topbar-inner .dot {
  padding:0 8px !important;
}
.site-header .nav-wrap {
  height:36px !important;
  min-height:36px !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
}
@media(max-width:760px) {
  .site-header .nav-wrap {
    height:36px !important;
    min-height:36px !important;
  }
}


/* FINAL COMPACT HEADER — shared by all public pages */
.site-header .topbar { height:15px !important; min-height:15px !important; padding:0 !important; overflow:hidden; }
.site-header .topbar-inner { height:15px !important; min-height:15px !important; padding:0 !important; font-size:9px !important; line-height:15px !important; }
.site-header .topbar-inner > span,
.site-header .topbar-inner > div,
.site-header .topbar-inner > div a { line-height:15px !important; }
.site-header .topbar-inner > div a { font-size:12px !important; font-weight:700 !important; padding:0 !important; }
.site-header .topbar-inner .dot { padding:0 4px !important; }
.site-header .nav-wrap { height:15px !important; min-height:15px !important; padding-top:0 !important; padding-bottom:0 !important; gap:8px !important; overflow:visible; }
.site-header .brand { display:flex !important; flex:0 1 auto !important; align-items:center !important; min-width:0 !important; max-width:34% !important; gap:4px !important; white-space:nowrap !important; }
.site-header .brand-logo { width:14px !important; height:14px !important; max-width:14px !important; max-height:14px !important; flex:0 0 14px !important; }
.site-header .brand-copy { display:flex !important; align-items:center !important; gap:4px !important; max-width:none !important; min-width:0 !important; white-space:nowrap !important; }
.site-header .brand .brand-copy b { display:inline !important; font-size:7px !important; line-height:15px !important; letter-spacing:0 !important; white-space:nowrap !important; overflow-wrap:normal !important; }
.site-header .brand .brand-copy small { display:inline !important; margin:0 !important; font-size:5px !important; line-height:15px !important; letter-spacing:0 !important; white-space:nowrap !important; overflow-wrap:normal !important; }
.site-header .nav-wrap nav { display:flex !important; flex:1 1 auto !important; min-width:0 !important; gap:clamp(3px,.6vw,8px) !important; font-size:7px !important; line-height:15px !important; white-space:nowrap !important; }
.site-header .nav-wrap nav > a, .site-header .nav-wrap nav .nav-dropdown > a { min-height:15px !important; padding:0 !important; font-size:7px !important; line-height:15px !important; }
.site-header .nav-wrap .nav-cta { display:none !important; }
.site-header .nav-wrap .menu-toggle { display:none !important; }
@media(max-width:760px) {
 .site-header .topbar { display:none !important; }
 .site-header .nav-wrap { height:15px !important; min-height:15px !important; }
 .site-header .brand { max-width:calc(100% - 30px) !important; }
 .site-header .brand .brand-copy b { font-size:8px !important; }
 .site-header .brand .brand-copy small { font-size:5px !important; }
 .site-header .nav-wrap nav { display:none !important; }
 .site-header .nav-wrap .menu-toggle { display:grid !important; width:15px !important; height:15px !important; min-height:15px !important; padding:0 !important; margin-left:auto !important; font-size:12px !important; }
 .site-header.nav-open .nav-wrap nav { display:flex !important; flex-direction:column !important; align-items:stretch !important; top:15px !important; left:4% !important; right:4% !important; width:92% !important; max-height:70vh !important; overflow-y:auto !important; font-size:12px !important; }
 .site-header.nav-open .nav-wrap nav > a, .site-header.nav-open .nav-wrap nav .nav-dropdown > a { min-height:32px !important; padding:8px !important; font-size:12px !important; }
}

/* Requested header correction: restore the black top bar and enlarge white-header text */
.site-header .topbar { height:auto !important; min-height:38px !important; padding:0 !important; overflow:visible !important; }
.site-header .topbar-inner { height:38px !important; min-height:38px !important; padding:0 !important; font-size:13px !important; line-height:1.2 !important; }
.site-header .topbar-inner > span,
.site-header .topbar-inner > div,
.site-header .topbar-inner > div a { line-height:1.2 !important; }
.site-header .topbar-inner > div a { font-size:15px !important; font-weight:700 !important; padding:0 !important; }
.site-header .topbar-inner .dot { padding:0 8px !important; }
.site-header .nav-wrap { height:60px !important; min-height:60px !important; padding-top:0 !important; padding-bottom:0 !important; gap:12px !important; overflow:visible !important; }
.site-header .brand { display:flex !important; flex:0 1 auto !important; align-items:center !important; min-width:0 !important; max-width:34% !important; gap:7px !important; white-space:nowrap !important; }
.site-header .brand-logo { width:38px !important; height:38px !important; max-width:38px !important; max-height:38px !important; flex:0 0 38px !important; }
.site-header .brand-copy { display:flex !important; flex-direction:column !important; justify-content:center !important; gap:1px !important; max-width:none !important; min-width:0 !important; white-space:nowrap !important; }
.site-header .brand .brand-copy b { display:block !important; font-size:13px !important; line-height:1.15 !important; letter-spacing:0 !important; white-space:nowrap !important; overflow-wrap:normal !important; }
.site-header .brand .brand-copy small { display:block !important; margin:0 !important; font-size:9px !important; line-height:1.2 !important; letter-spacing:.2px !important; white-space:nowrap !important; overflow-wrap:normal !important; }
.site-header .nav-wrap nav { display:flex !important; flex:1 1 auto !important; min-width:0 !important; gap:clamp(5px,.8vw,12px) !important; font-size:12px !important; line-height:1.2 !important; white-space:nowrap !important; }
.site-header .nav-wrap nav > a, .site-header .nav-wrap nav .nav-dropdown > a { min-height:36px !important; padding:8px 0 !important; font-size:12px !important; line-height:1.2 !important; }
.site-header .nav-wrap .nav-cta { display:inline-flex !important; font-size:12px !important; padding:9px 10px !important; }
.site-header .nav-wrap .menu-toggle { display:none !important; }
@media(max-width:760px) {
 .site-header .topbar { display:none !important; }
 .site-header .nav-wrap { height:56px !important; min-height:56px !important; }
 .site-header .brand { max-width:calc(100% - 48px) !important; }
 .site-header .brand-logo { width:34px !important; height:34px !important; max-width:34px !important; max-height:34px !important; flex-basis:34px !important; }
 .site-header .brand .brand-copy b { font-size:12px !important; }
 .site-header .brand .brand-copy small { font-size:8px !important; }
 .site-header .nav-wrap nav { display:none !important; }
 .site-header .nav-wrap .nav-cta { display:none !important; }
 .site-header .nav-wrap .menu-toggle { display:grid !important; width:38px !important; height:38px !important; min-height:38px !important; padding:0 !important; margin-left:auto !important; font-size:22px !important; }
 .site-header.nav-open .nav-wrap nav { display:flex !important; flex-direction:column !important; align-items:stretch !important; top:56px !important; left:4% !important; right:4% !important; width:92% !important; max-height:70vh !important; overflow-y:auto !important; font-size:14px !important; }
 .site-header.nav-open .nav-wrap nav > a, .site-header.nav-open .nav-wrap nav .nav-dropdown > a { min-height:36px !important; padding:9px 10px !important; font-size:14px !important; }
}
