
/* ========================================================= */
/* PRIMEINSURANCEUK DESIGN SYSTEM */
/* HOME MASTER PAGE */
/* ========================================================= */

/* CSS PART 01 START */

/* ========================================================= */
/* RESET */
/* ========================================================= */

*,
*::before,
*::after{

    margin:0;
    padding:0;
    box-sizing:border-box;

}

/* ========================================================= */
/* ROOT VARIABLES */
/* ========================================================= */

:root{

    --primary:#0B5ED7;
    --primary-dark:#084298;
    --primary-light:#3B82F6;
    --secondary:#198754;

    --ink-navy:#0B1220;
    --ink-navy-2:#15294D;
    --gold-accent:#C9A227;

    --dark:#0f172a;
    --text:#1f2937;
    --text-slate:#334155;
    --text-muted:#64748B;
    --text-faint:#94A3B8;
    --light:#f8fafc;
    --light-blue:#F8FBFF;
    --light-blue-2:#EEF6FF;
    --white:#ffffff;

    --border:#e5e7eb;
    --border-light:#E5EAF2;
    --border-blue:#DBEAFE;

    --success-bg:#F0FDF4;
    --success-border:#BBF7D0;
    --success-text:#15803D;
    --danger-bg:#FEF2F2;
    --danger-border:#FECACA;
    --danger-text:#B91C1C;
    --warning-bg:#FFF7ED;
    --warning-border:#FED7AA;
    --warning-text:#C2410C;

    --radius:14px;
    --radius-sm:10px;
    --radius-lg:16px;
    --radius-xl:18px;
    --radius-pill:999px;

    --space-xs:6px;
    --space-sm:10px;
    --space-md:16px;
    --space-lg:20px;
    --space-xl:28px;
    --space-2xl:36px;

    --section-padding:56px;

    --shadow:0 8px 30px rgba(0,0,0,.08);
    --shadow-lg:0 20px 45px -15px rgba(11,18,32,.25);

    --transition:.30s ease;
    --transition-fast:.2s ease;

    --container:1280px;

}

/* ========================================================= */
/* HTML */
/* ========================================================= */

html{

    scroll-behavior:smooth;

}

/* ========================================================= */
/* BODY */
/* ========================================================= */

body{

    font-family:Arial,Helvetica,sans-serif;

    font-size:16px;

    line-height:1.7;

    color:var(--text);

    background:var(--light);

}

/* ========================================================= */
/* LINKS */
/* ========================================================= */

a{

    color:inherit;

    text-decoration:none;

    transition:var(--transition);

}

/* ========================================================= */
/* IMAGES */
/* ========================================================= */

img{

    display:block;

    max-width:100%;

    height:auto;

}

/* ========================================================= */
/* CONTAINER */
/* ========================================================= */

.container{

    width:100%;

    max-width:var(--container);

    margin:auto;

    padding-left:20px;

    padding-right:20px;

}

/* CSS PART 01 END */

/* ========================================================= */
/* CSS PART 02 */
/* TYPOGRAPHY + SECTIONS + BUTTONS */
/* ========================================================= */

/* Sections */

section{

    padding:56px 0;

}

/* Headings */

h1{

    font-size:56px;

    line-height:1.15;

    font-weight:800;

    color:var(--dark);

    margin-bottom:24px;

}

h2{

    font-size:40px;

    line-height:1.2;

    font-weight:700;

    color:var(--dark);

    margin-bottom:20px;

}

h3{

    font-size:24px;

    line-height:1.3;

    font-weight:700;

    color:var(--dark);

    margin-bottom:15px;

}

/* Paragraph */

p{

    color:#4b5563;

    margin-bottom:20px;

}

/* Lists */

ul{

    list-style:none;

}

/* Section Intro */

.section-intro{

max-width:760px;

margin:0 auto 40px;

text-align:center;

}

.section-title{

margin-bottom:18px;

}

.section-description{

font-size:19px;

line-height:1.9;

color:#64748b;

max-width:760px;

margin:auto;

}

/* Primary Button */

.btn-primary{

display:inline-flex;

align-items:center;

justify-content:center;

padding:16px 34px;

background:linear-gradient(135deg,#0B5ED7,#2563EB);

color:#fff;

border:none;

border-radius:14px;

font-weight:700;

letter-spacing:.3px;

box-shadow:0 12px 35px rgba(11,94,215,.30);

transition:.35s;

cursor:pointer;

position:relative;

overflow:hidden;

}

.btn-primary:hover{

transform:translateY(-4px);

box-shadow:0 22px 50px rgba(11,94,215,.40);

}

.btn-primary:active{

transform:translateY(-1px);

}

/* Secondary Button */

.btn-secondary{

display:inline-flex;

align-items:center;

justify-content:center;

padding:16px 34px;

border-radius:14px;

border:2px solid #0B5ED7;

background:#ffffff;

color:#0B5ED7;

font-weight:700;

transition:.35s;

}

.btn-secondary:hover{

background:#0B5ED7;

color:#ffffff;

transform:translateY(-4px);

}

/* ========================================================= */

/* CSS PART 03 */
/* ENTERPRISE HEADER */
/* ========================================================= */

/* ---------- TOP BAR ---------- */

/* ---------- INSURANCE FINDER ---------- */

.finder-section{
    background:#F8FBFF;
}

.finder-box{
    max-width:800px;
    margin:0 auto;
    background:#ffffff;
    border:1px solid #e8eef6;
    border-radius:24px;
    padding:44px;
    box-shadow:0 20px 50px rgba(15,23,42,.06);
}

.finder-question{
    font-weight:700;
    font-size:18px;
    margin-bottom:20px;
    color:#0F172A;
}

.finder-options{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
}

.finder-option{
    border:1.5px solid #DBEAFE;
    background:#F8FBFF;
    padding:14px 20px;
    border-radius:14px;
    font-weight:600;
    font-size:15px;
    color:#0F172A;
    cursor:pointer;
    transition:.2s;
}

.finder-option:hover{
    border-color:#0B5ED7;
    background:#EEF6FF;
    transform:translateY(-2px);
}

.finder-step-hidden{
    display:none;
}

.finder-progress{
    display:flex;
    justify-content:center;
    gap:10px;
    margin-bottom:32px;
}

.finder-progress-dot{
    width:32px;
    height:6px;
    border-radius:999px;
    background:#E5EAF2;
    transition:.3s;
}

.finder-progress-dot.active{
    background:#0B5ED7;
}

.finder-back{
    margin-top:20px;
    background:none;
    border:none;
    color:#0B5ED7;
    font-weight:700;
    cursor:pointer;
    font-size:15px;
    padding:0;
}

.finder-result-card{
    display:block;
    background:#EEF6FF;
    border:1.5px solid #DBEAFE;
    border-radius:18px;
    padding:26px;
    text-decoration:none;
    margin-bottom:18px;
    transition:.2s;
}

.finder-result-card:hover{
    border-color:#0B5ED7;
    transform:translateY(-2px);
}

.finder-result-card h3{
    color:#0F172A;
    margin-bottom:8px;
}

.finder-result-card p{
    color:#475569;
    margin-bottom:14px;
}

.finder-result-cta{
    color:#0B5ED7;
    font-weight:700;
}

@media(max-width:600px){
    .finder-box{
        padding:26px;
    }
}

/* ---------- SKIP LINK ---------- */

.skip-link{
    position:absolute;
    left:-9999px;
    top:0;
    background:#0B5ED7;
    color:#ffffff;
    padding:14px 22px;
    border-radius:0 0 10px 0;
    font-weight:700;
    z-index:9999;
}

.skip-link:focus{
    left:0;
}

/* ---------- HEADER ---------- */





.why-grid{

    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:30px;
    margin-top:50px;

}

.why-card{

    background:#ffffff;
    padding:40px;
    border-radius:24px;
    border:1px solid #e8eef6;
    box-shadow:0 12px 35px rgba(15,23,42,.06);
    transition:.30s;

}

.eeat-grid{

    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:24px;
    margin-top:44px;

}

.eeat-card{

    background:#ffffff;
    padding:28px 24px;
    border-radius:20px;
    border:1px solid #e8eef6;
    box-shadow:0 12px 35px rgba(15,23,42,.06);
    text-align:left;

}

.eeat-icon{

    font-size:26px;
    display:block;
    margin-bottom:10px;

}

.eeat-card h3{

    font-size:17px;
    margin-bottom:8px;

}

.eeat-card p{

    font-size:14.5px;
    color:#475569;
    line-height:1.6;
    margin:0;

}

.eeat-footnote{

    margin-top:36px;
    text-align:center;
    color:#64748B;
    font-size:15px;

}

.eeat-footnote a{

    color:#0B5ED7;
    font-weight:700;

}

.eeat-note{

    margin-top:40px;
    text-align:center;
    color:#94A3B8;
    font-size:13.5px;
    font-style:italic;

}

.team-grid{

    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:24px;
    margin-top:36px;

}

.team-card{

    background:#ffffff;
    border:1px solid #e8eef6;
    border-radius:20px;
    padding:28px;
    text-align:center;

}

.team-avatar{

    width:56px;
    height:56px;
    border-radius:50%;
    background:#0B5ED7;
    color:#ffffff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:800;
    margin:0 auto 14px;

}

.team-card h3{

    font-size:16px;
    margin-bottom:4px;

}

.team-role{

    color:#0B5ED7;
    font-weight:700;
    font-size:13.5px;
    margin-bottom:10px;

}

.team-bio{

    color:#64748B;
    font-size:14px;
    line-height:1.6;
    margin-bottom:12px;

}

.team-card a{

    color:#0B5ED7;
    font-weight:700;
    font-size:14px;
    text-decoration:none;

}

@media(max-width:600px){
    .team-grid{
        grid-template-columns:1fr;
    }
}

@media(max-width:900px){
    .eeat-grid{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:560px){
    .eeat-grid{
        grid-template-columns:1fr;
    }
}

.why-card:hover{

    transform:translateY(-6px);
    box-shadow:0 22px 55px rgba(15,23,42,.12);

}

.why-card h3{

    font-size:28px;
    margin-bottom:18px;
    color:#0F172A;

}

.why-card p{

    color:#475569;
    line-height:1.8;
    margin:0;

}

@media(max-width:900px){

    .why-grid{

        grid-template-columns:1fr;

    }

}

/* ---------- LOGO ---------- */

/* ========================================================= */
/* CSS PART 04 */
/* ENTERPRISE HERO */
/* ========================================================= */

.hero{

background:
radial-gradient(circle at top right,
rgba(11,94,215,.10),
transparent 35%),

radial-gradient(circle at bottom left,
rgba(37,99,235,.08),
transparent 40%),

linear-gradient(
135deg,
#f8fbff 0%,
#eef6ff 100%
);

padding:70px 0 80px;

overflow:hidden;

position:relative;

}

.hero-wrapper{

    display:grid;
    grid-template-columns:58% 42%;
    align-items:center;
    gap:90px;

}

.hero-tag{

display:inline-flex;

align-items:center;

gap:10px;

padding:12px 22px;

background:#ffffff;

border:1px solid #DBEAFE;

border-radius:999px;

font-size:14px;

font-weight:700;

color:#0B5ED7;

box-shadow:0 10px 30px rgba(15,23,42,.06);

margin-bottom:28px;

}
.hero h1{

font-size:64px;

line-height:1.08;

font-weight:800;

letter-spacing:-2px;

max-width:760px;

margin-bottom:28px;

color:#0F172A;

}

.hero p{

font-size:22px;

line-height:1.8;

color:#475569;

max-width:650px;

margin-bottom:40px;

}
.hero-buttons{

    display:flex;

    gap:20px;

    margin-bottom:40px;

    flex-wrap:wrap;

}

.hero-quick-links{

display:flex;
flex-wrap:wrap;
align-items:center;
gap:12px;
margin-bottom:35px;

}

.hero-quick-links-label{

font-weight:700;
color:#64748B;
font-size:14px;

}

.hero-quick-links a{

display:inline-block;
padding:10px 18px;
background:#ffffff;
border:1px solid #dbeafe;
border-radius:999px;
font-size:14px;
font-weight:600;
color:#0B5ED7;
transition:.30s;

}

.hero-quick-links a:hover{

background:#0B5ED7;
color:#ffffff;
border-color:#0B5ED7;

}

.hero-trust{

    display:flex;

    gap:30px;

    flex-wrap:wrap;

    font-weight:600;

    color:#198754;

}

.hero-image{

    display:flex;

    justify-content:center;

    align-items:center;

}

@media(max-width:992px){

.hero-wrapper{

    grid-template-columns:1fr;

    text-align:center;

}

.hero h1,
.hero p{

    max-width:100%;

}

.hero-buttons{

    justify-content:center;

}

.hero-trust{

    justify-content:center;

}


.hero::after{

content:"";

position:absolute;

left:-120px;

bottom:-120px;

width:320px;

height:320px;

border-radius:50%;

background:rgba(11,94,215,.05);

pointer-events:none;

}

}

/* ========================================================= */
/* HERO VISUAL */
/* ========================================================= */

.hero-visual{

background:#ffffff;

border-radius:32px;

padding:45px;

box-shadow:
0 30px 80px rgba(15,23,42,.10),
0 8px 25px rgba(15,23,42,.06);

display:flex;

flex-direction:column;

align-items:center;

justify-content:center;

min-height:460px;

position:relative;

overflow:hidden;

}

.hero-card-title{

font-size:14px;

font-weight:700;

letter-spacing:2px;

text-transform:uppercase;

color:#0B5ED7;

margin-bottom:18px;

}

.hero-visual::before{

content:"";

position:absolute;

top:-120px;

right:-120px;

width:260px;

height:260px;

border-radius:50%;

background:rgba(11,94,215,.08);

}

.hero-logo{
    width:360px;
    max-width:100%;
    height:auto;
}

.hero-features{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:18px;

width:100%;

position:relative;

z-index:2;

}

.hero-feature{

background:#f8fbff;

padding:16px;

border-radius:14px;

text-align:center;

font-weight:700;

border:1px solid #dbeafe;

transition:.3s;

}

.hero-feature:hover{

background:#0B5ED7;

color:#ffffff;

transform:translateY(-4px);

}


/* ========================================================= */
/* ENTERPRISE STATS */
/* ========================================================= */

.stats{

background:#ffffff;

}

.stats-grid{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:30px;

margin-top:50px;

}

.stat-card{

background:#ffffff;

border-radius:22px;

padding:40px 25px;

text-align:center;

box-shadow:0 15px 45px rgba(15,23,42,.08);

border:1px solid #e8eef6;

border-top:5px solid var(--primary);

transition:.35s;

}

.stat-card:hover{

transform:translateY(-8px);

box-shadow:0 25px 60px rgba(15,23,42,.15);

}

.stat-icon{

font-size:42px;

margin-bottom:20px;

}

.stat-card h3{

font-size:42px;

color:var(--primary);

margin-bottom:12px;

}

.stat-card p{

margin:0;

font-weight:600;

color:#475569;

}

@media(max-width:992px){

.stats-grid{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:600px){

.stats-grid{

grid-template-columns:1fr;

}

}

/* ========================================================= */
/* ENTERPRISE CATEGORY CARDS */
/* ========================================================= */

.feature-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

gap:30px;

margin-top:60px;

}

.feature-card{

display:flex;

flex-direction:column;

background:#ffffff;

padding:40px;

border-radius:24px;

border:1px solid #E5EAF2;

border-top:5px solid #0B5ED7;

box-shadow:0 10px 35px rgba(15,23,42,.06);

transition:.35s;

height:100%;

position:relative;

overflow:hidden;

}

.feature-card:hover{

transform:translateY(-10px);

box-shadow:0 28px 70px rgba(15,23,42,.14);

border-color:#C7DCF9;

}

.feature-card h3{

font-size:28px;

line-height:1.3;

margin-bottom:18px;

font-weight:700;

color:#0F172A;

}

.feature-card p{

flex:1;

margin-bottom:25px;

color:#64748b;

}

.feature-card span{

display:inline-flex;

align-items:center;

font-weight:700;

font-size:15px;

color:#0B5ED7;

margin-top:auto;

}

.feature-card::before{

content:"";

position:absolute;

left:0;

top:0;

width:100%;

height:4px;

background:linear-gradient(90deg,#0B5ED7,#2563EB);

opacity:0;

transition:.35s;

}

.feature-card:hover::before{

opacity:1;

}

/* ========================================================= */
/* GUIDE CARDS */
/* ========================================================= */

.guides-grid{

    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
    gap:30px;
    margin-top:60px;

}

.guide-card{

    display:flex;
    flex-direction:column;
    background:#ffffff;
    padding:40px;
    border-radius:24px;
    border:1px solid #E5EAF2;
    border-top:5px solid #0B5ED7;
    box-shadow:0 10px 35px rgba(15,23,42,.06);
    transition:.35s;
    height:100%;
    position:relative;

}

.guide-badge{
    display:inline-block;
    align-self:flex-start;
    background:#EEF6FF;
    color:#0B5ED7;
    font-size:12.5px;
    font-weight:700;
    padding:5px 12px;
    border-radius:999px;
    margin-bottom:14px;
}

.guide-badge-trend{
    background:#FFF1E8;
    color:#C2410C;
}

.guide-badge-read{
    background:#F0FDF4;
    color:#15803D;
}

.content-tabs{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    justify-content:center;
    margin:0 0 40px;
}

.content-tab{
    border:1.5px solid #DBEAFE;
    background:#ffffff;
    color:#475569;
    padding:12px 22px;
    border-radius:999px;
    font-weight:700;
    font-size:14.5px;
    cursor:pointer;
    transition:.2s;
}

.content-tab:hover{
    border-color:#0B5ED7;
}

.content-tab.active{
    background:#0B5ED7;
    border-color:#0B5ED7;
    color:#ffffff;
}

.content-panel-hidden{
    display:none;
}

.guide-card:hover{

    transform:translateY(-10px);
    box-shadow:0 28px 70px rgba(15,23,42,.14);
    border-color:#C7DCF9;

}

.guide-card h3{

    font-size:26px;
    line-height:1.35;
    margin-bottom:16px;
    color:#0F172A;

}

.guide-card p{

    color:#64748b;
    margin-top:auto;

}

/* ========================================================= */
/* ENTERPRISE FOOTER */
/* ========================================================= */

.footer{
    background:#111827;
    padding:55px 0 20px;
}


.footer-top{
    display:grid;
    grid-template-columns:320px repeat(3,1fr);
    gap:50px;
    align-items:start;
}

.footer-logo{
    width:340px;
    max-width:100%;
    height:auto;
    display:block;
    margin-bottom:16px;
}

.footer-brand{
    max-width:320px;
}

.footer-brand p{
    margin-top:10px;
    margin-bottom:0;
    max-width:300px;
    font-size:15px;
    line-height:1.8;
    color:#94A3B8;
}

.footer-links h4{
    font-size:18px;
    font-weight:700;
    color:#FFFFFF;
    margin-bottom:18px;
}

.footer-links{

display:flex;

flex-direction:column;

}

.footer-links a{
    display:block;
    margin-bottom:14px;
    color:#9CA3AF;
    font-size:15px;
    transition:.25s;
}

.footer-links a:hover{
    color:#FFFFFF;
    padding-left:4px;
}

.footer-bottom{
    display:flex;
    justify-content:space-between;
    align-items:center;
    color:#6B7280;
    font-size:13px;
}

.footer-divider{
    height:1px;
    background:rgba(255,255,255,.08);
    margin:45px 0 25px;
}

@media(max-width:992px){

.footer-top{
    display:grid;
    grid-template-columns:420px 1fr 1fr 1fr;
    gap:50px;
    align-items:start;
}

.footer-bottom{

flex-direction:column;

gap:15px;

text-align:center;

}

}





/* ========================================================= */
/* ENTERPRISE SECTION BACKGROUNDS */
/* ========================================================= */

.section-white{

background:#ffffff;

}

.section-light{

background:#f8fbff;

}

.section-gradient{

background:linear-gradient(
135deg,
#0B5ED7,
#2563eb
);

color:#ffffff;

}

.section-gradient h2,
.section-gradient p{

color:#ffffff;

}

.section-gradient-light{

background:linear-gradient(
180deg,
#ffffff,
#eef6ff
);

}


/* ---------- BREADCRUMB ---------- */
.breadcrumb-section{ padding:10px 0; background:#F8FBFF; border-bottom:1px solid #EEF2F7; }
.breadcrumb{ font-size:14px; color:#64748B; }
.breadcrumb a{ color:#0B5ED7; text-decoration:none; font-weight:600; }
.breadcrumb a:hover{ text-decoration:underline; }
.breadcrumb span{ margin:0 6px; }



/* ---------- ARTICLE BODY TEXT JUSTIFY ---------- */

.seo p,
.faq-item p{
    text-align:justify;
}



/* ---------- ENTERPRISE ARTICLE COMPONENTS ---------- */

.department-meta-row{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    justify-content:center;
    margin:0 0 20px;
}

.department-meta-badge{
    display:inline-flex;
    align-items:center;
    gap:6px;
    background:#F1F5F9;
    color:#334155;
    font-size:13px;
    font-weight:600;
    padding:7px 14px;
    border-radius:999px;
}

.department-trust-badges{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    justify-content:center;
    margin:0 0 24px;
}

.department-trust-badge{
    display:inline-flex;
    align-items:center;
    gap:6px;
    background:#EEF6FF;
    border:1px solid #DBEAFE;
    color:#0B5ED7;
    font-size:13px;
    font-weight:700;
    padding:8px 16px;
    border-radius:999px;
}

.department-comparison-wrap{
    overflow-x:auto;
    margin:24px 0;
    border-radius:14px;
    border:1px solid #E5EAF2;
}

table.department-comparison{
    width:100%;
    border-collapse:collapse;
    font-size:14.5px;
}

table.department-comparison th{
    background:#0B5ED7;
    color:#fff;
    text-align:left;
    padding:14px 16px;
    font-weight:700;
}

table.department-comparison td{
    padding:12px 16px;
    border-bottom:1px solid #EEF2F7;
    color:#334155;
}

table.department-comparison tr:last-child td{
    border-bottom:none;
}

table.department-comparison tr:nth-child(even){
    background:#F8FBFF;
}

.department-pros-cons{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;
    margin:24px 0;
}

.department-pros, .department-cons{
    border-radius:14px;
    padding:22px;
}

.department-pros{
    background:#F0FDF4;
    border:1.5px solid #BBF7D0;
}

.department-cons{
    background:#FEF2F2;
    border:1.5px solid #FECACA;
}

.department-pros h4, .department-cons h4{
    margin:0 0 12px;
    font-size:15px;
}

.department-pros h4{ color:#15803D; }
.department-cons h4{ color:#B91C1C; }

.department-pros ul, .department-cons ul{
    margin:0;
    padding-left:20px;
    font-size:14px;
    color:#334155;
    line-height:1.8;
}

.department-warning{
    background:#FFF7ED;
    border:1.5px solid #FED7AA;
    border-left:5px solid #EA580C;
    border-radius:12px;
    padding:18px 22px;
    margin:24px 0;
}

.department-warning strong{
    color:#C2410C;
    display:block;
    margin-bottom:6px;
    font-size:14px;
}

.department-warning p{
    margin:0;
    font-size:14.5px;
    color:#7C2D12;
}

.department-tip{
    background:#EEF6FF;
    border:1.5px solid #DBEAFE;
    border-left:5px solid #0B5ED7;
    border-radius:12px;
    padding:18px 22px;
    margin:24px 0;
}

.department-tip strong{
    color:#0B5ED7;
    display:block;
    margin-bottom:6px;
    font-size:14px;
}

.department-tip p{
    margin:0;
    font-size:14.5px;
    color:#0F172A;
}

.department-version-history{
    background:#F8FBFF;
    border:1px solid #E5EAF2;
    border-radius:14px;
    padding:20px 24px;
    margin:24px 0;
    font-size:14px;
}

.department-version-history ul{
    margin:10px 0 0;
    padding-left:20px;
    color:#475569;
    line-height:1.9;
}

.department-conversion-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:16px;
    margin:24px 0;
}

.department-conversion-item{
    display:block;
    text-align:center;
    background:#0B5ED7;
    color:#fff;
    padding:20px;
    border-radius:14px;
    text-decoration:none;
    font-weight:700;
    font-size:14.5px;
    transition:.2s;
}

.department-conversion-item:hover{
    transform:translateY(-2px);
    background:#0a4fb8;
}

.department-download{
    display:flex;
    align-items:center;
    gap:16px;
    background:#F8FBFF;
    border:1.5px dashed #DBEAFE;
    border-radius:14px;
    padding:20px 24px;
    margin:24px 0;
}

.department-download a{
    color:#0B5ED7;
    font-weight:700;
    text-decoration:none;
}

@media(max-width:700px){
    .department-pros-cons, .department-conversion-grid{
        grid-template-columns:1fr;
    }
}

@media print{
    header, footer, .skip-link, .content-tabs, .finder-box, nav[aria-label="Table of contents"],
    .department-conversion-grid, .breadcrumb-section{
        display:none !important;
    }
    body{
        color:#000;
    }
    a{
        color:#000 !important;
        text-decoration:underline;
    }
}



/* ========================================================= */
/* ENTERPRISE HEADER V2 */
/* ========================================================= */

.department-masthead{
    background:linear-gradient(90deg,#0B1220,#15294D 60%,#0B1220);
    color:#E7ECF5;
    font-size:13px;
}

.department-masthead-inner{
    display:flex;
    justify-content:space-between;
    align-items:center;
    min-height:40px;
    gap:16px;
}

.department-masthead-trust{
    display:flex;
    align-items:center;
    gap:8px;
    font-weight:600;
    letter-spacing:.2px;
}

.trust-dot{
    width:7px;
    height:7px;
    border-radius:50%;
    background:#C9A227;
    box-shadow:0 0 0 3px rgba(201,162,39,.25);
    flex-shrink:0;
}

.department-masthead-links{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
}

.department-masthead-stat{
    opacity:.75;
    font-weight:500;
}

.department-masthead-sep{
    opacity:.4;
}

.department-masthead-links a{
    color:#E7ECF5;
    opacity:.85;
    font-weight:600;
    padding:4px 2px;
    transition:.2s;
}

.department-masthead-links a:hover{
    opacity:1;
    color:#ffffff;
}

/* ---------- SITE HEADER ---------- */

.department-header{
    background:#ffffff;
    z-index:500;
    box-shadow:0 1px 0 #E5EAF2, 0 8px 24px -18px rgba(11,18,32,.25);
}

.department-header-row{
    display:grid;
    grid-template-columns:max-content 1fr max-content;
    align-items:center;
    gap:20px;
    padding:16px 0;
}

/* ---------- LOGO ---------- */

.logo{
    display:flex;
    align-items:center;
}

.logo img{
    display:block !important;
    width:300px !important;
    height:95px !important;
    max-width:300px !important;
    object-fit:contain;
    margin-top:-6px !important;
}

/* ---------- ADVANCED SEARCH ---------- */

.department-search{
    position:relative;
    width:100%;
    max-width:520px;
    justify-self:center;
}

.department-search form{
    display:flex;
    align-items:center;
    background:#F4F7FC;
    border:1.5px solid #E5EAF2;
    border-radius:999px;
    padding:4px 6px 4px 18px;
    transition:.25s;
}

.department-search form:focus-within{
    border-color:#0B5ED7;
    background:#ffffff;
    box-shadow:0 0 0 4px rgba(11,94,215,.12);
}

.department-search-icon{
    width:18px;
    height:18px;
    flex-shrink:0;
    color:#94A3B8;
}

.department-search input{
    flex:1 1 auto;
    border:none;
    background:transparent;
    outline:none;
    height:44px;
    padding:0 10px;
    font-size:14.5px;
    color:#0F172A;
}

.department-search button{
    border:none;
    background:#0B5ED7;
    color:#ffffff;
    height:38px;
    padding:0 20px;
    border-radius:999px;
    font-weight:700;
    font-size:13.5px;
    cursor:pointer;
    flex-shrink:0;
    transition:.2s;
}

.department-search button:hover{
    background:#0a4fb8;
}

.department-search-suggest{
    position:absolute;
    top:calc(100% + 10px);
    left:0;
    right:0;
    background:#ffffff;
    border:1px solid #E5EAF2;
    border-radius:16px;
    box-shadow:0 20px 45px -15px rgba(11,18,32,.25);
    padding:16px 18px;
    opacity:0;
    visibility:hidden;
    transform:translateY(-6px);
    transition:.2s;
    z-index:50;
}

.department-search:focus-within .department-search-suggest{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
}

.department-search-suggest-label{
    display:block;
    font-size:11.5px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.6px;
    color:#94A3B8;
    margin-bottom:10px;
}

.department-search-suggest-pills{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.department-search-suggest-pills a{
    background:#F1F5FB;
    color:#0B5ED7;
    font-size:13px;
    font-weight:600;
    padding:7px 14px;
    border-radius:999px;
    transition:.2s;
}

.department-search-suggest-pills a:hover{
    background:#0B5ED7;
    color:#ffffff;
}

/* ---------- HEADER CTAs ---------- */

.department-header-ctas{
    display:flex;
    align-items:center;
    gap:10px;
}

.department-btn-ghost{
    display:inline-flex;
    align-items:center;
    height:46px;
    padding:0 20px;
    border:1.5px solid #E5EAF2;
    border-radius:999px;
    color:#0F172A;
    font-weight:700;
    font-size:14px;
    white-space:nowrap;
    transition:.2s;
}

.department-btn-ghost:hover{
    border-color:#0B5ED7;
    color:#0B5ED7;
}

.department-header-ctas .btn-primary{
    height:46px;
    padding:0 22px;
    border-radius:999px;
    display:flex;
    align-items:center;
    white-space:nowrap;
    font-size:14px;
}

/* ---------- NAV TABS ---------- */

.department-nav{
    border-top:1px solid #EEF2F7;
    background:#FBFCFE;
}

.department-nav-inner{
    display:flex;
    gap:4px;
    overflow-x:auto;
    scrollbar-width:none;
}

.department-nav-inner::-webkit-scrollbar{
    display:none;
}

.department-nav a{
    display:inline-block;
    padding:12px 16px;
    font-size:13.5px;
    font-weight:600;
    color:#475569;
    white-space:nowrap;
    border-bottom:2.5px solid transparent;
    transition:.2s;
}

.department-nav a:hover{
    color:#0B5ED7;
    border-bottom-color:#DBEAFE;
}

.department-nav a.is-active{
    color:#0B5ED7;
    border-bottom-color:#0B5ED7;
}

/* ---------- MOBILE HEADER V2 ---------- */

@media(max-width:992px){

.department-header-row{
    grid-template-columns:1fr;
    gap:14px;
    padding:14px 0;
}

.department-search{
    max-width:100%;
    order:3;
}

.department-header-ctas{
    order:2;
    justify-content:center;
}

.department-masthead-inner{
    flex-direction:column;
    gap:6px;
    padding:8px 0;
    text-align:center;
}

.department-masthead-links{
    justify-content:center;
}

.department-nav-inner{
    justify-content:flex-start;
}

}

@media(max-width:560px){

.department-header-ctas{
    flex-wrap:wrap;
}

.department-btn-ghost, .department-header-ctas .btn-primary{
    flex:1 1 auto;
    justify-content:center;
}

}



/* ========================================================= */
/* ENTERPRISE COMPONENTS V3 */
/* ========================================================= */

.department-progress{
    position:fixed;
    top:0;
    left:0;
    height:3px;
    width:0%;
    background:linear-gradient(90deg,#0B5ED7,#C9A227);
    z-index:900;
    transition:width .1s linear;
}

.department-glance{
    background:#F8FBFF;
    border:1.5px solid #DBEAFE;
    border-radius:16px;
    padding:22px 26px;
    margin:0 auto 20px;
}

.department-glance strong.department-glance-title{
    display:block;
    color:#0F172A;
    font-size:15px;
    margin-bottom:12px;
}

.department-glance-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:10px 20px;
}

.department-glance-item{
    display:flex;
    gap:8px;
    font-size:13.5px;
    color:#334155;
}

.department-glance-item b{
    color:#0F172A;
}

.department-actions{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    justify-content:center;
    margin:0 auto 20px;
}

.department-actions button{
    display:inline-flex;
    align-items:center;
    gap:6px;
    background:#F1F5F9;
    border:1px solid #E5EAF2;
    color:#334155;
    font-size:13px;
    font-weight:600;
    padding:8px 14px;
    border-radius:999px;
    cursor:pointer;
    transition:.2s;
}

.department-actions button:hover{
    background:#E5EAF2;
}

.department-actions button.copied{
    background:#0B5ED7;
    color:#fff;
    border-color:#0B5ED7;
}

.department-font-controls{
    display:inline-flex;
    align-items:center;
    gap:2px;
    background:#F1F5F9;
    border:1px solid #E5EAF2;
    border-radius:999px;
    padding:3px;
}

.department-font-controls button{
    background:transparent;
    border:none;
    width:44px;
    height:44px;
    border-radius:999px;
    cursor:pointer;
    font-weight:800;
    color:#334155;
    font-size:13px;
}

.department-font-controls button:hover{
    background:#fff;
}

.department-checklist{
    background:#FFFFFF;
    border:1.5px solid #E5EAF2;
    border-radius:16px;
    padding:22px 26px;
    margin:24px 0;
}

.department-checklist strong.department-checklist-title{
    display:block;
    color:#0F172A;
    font-size:15px;
    margin-bottom:12px;
}

.department-checklist ul{
    margin:0;
    padding:0;
    list-style:none;
}

.department-checklist li{
    display:flex;
    gap:10px;
    align-items:flex-start;
    font-size:14px;
    color:#334155;
    padding:6px 0;
}

.department-checklist li::before{
    content:"\2610";
    color:#0B5ED7;
    font-size:16px;
    flex-shrink:0;
}

.department-risk{
    display:flex;
    align-items:center;
    gap:16px;
    background:#FFF7ED;
    border:1.5px solid #FED7AA;
    border-radius:16px;
    padding:18px 22px;
    margin:24px 0;
}

.department-risk .department-risk-badge{
    flex-shrink:0;
    width:56px;
    height:56px;
    border-radius:50%;
    background:#EA580C;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:800;
    font-size:13px;
    text-align:center;
    line-height:1.1;
}

.department-risk p{
    margin:0;
    font-size:13.5px;
    color:#7C2D12;
}

.department-paa{
    margin:28px 0;
}

.department-paa-item{
    border-bottom:1px solid #EEF2F7;
    padding:14px 0;
}

.department-paa-item summary{
    cursor:pointer;
    font-weight:700;
    color:#0F172A;
    font-size:15px;
    list-style:none;
}

.department-paa-item summary::-webkit-details-marker{
    display:none;
}

.department-paa-item summary::before{
    content:"+";
    color:#0B5ED7;
    font-weight:800;
    margin-right:10px;
}

.department-paa-item[open] summary::before{
    content:"\2212";
}

.department-paa-item p{
    margin:10px 0 0;
    font-size:14px;
    color:#475569;
}

.department-next-steps{
    background:linear-gradient(135deg,#0B5ED7,#2563EB);
    color:#fff;
    border-radius:18px;
    padding:28px 30px;
    margin:28px 0;
}

.department-next-steps strong.department-next-steps-title{
    display:block;
    font-size:17px;
    margin-bottom:14px;
}

.department-next-steps ol{
    margin:0;
    padding-left:20px;
    line-height:1.9;
    font-size:14.5px;
}

@media(max-width:600px){
    .department-glance-grid{
        grid-template-columns:1fr;
    }
}



/* ========================================================= */
/* ENTERPRISE COMPONENTS V4 - MANDATORY TEMPLATE COMPONENTS */
/* ========================================================= */

.department-start-here{
    background:linear-gradient(135deg,#0B1220,#15294D);
    color:#fff;
    border-radius:18px;
    padding:24px 28px;
    margin:0 auto 20px;
    display:flex;
    gap:16px;
    align-items:flex-start;
}

.department-start-here .sh-icon{
    font-size:26px;
    flex-shrink:0;
}

.department-start-here strong{
    display:block;
    font-size:15px;
    margin-bottom:6px;
}

.department-start-here p{
    margin:0;
    font-size:13.5px;
    color:#CBD5E1;
    line-height:1.7;
}

.department-start-here a{
    color:#7FB2FF;
    font-weight:700;
}

/* ---------- COST ESTIMATOR WIDGET ---------- */

/* ---------- CONTAINER QUERIES (progressive enhancement) ---------- */
/* Widgets adapt to their OWN box width, not just viewport width — useful
   if these components ever get embedded in a narrower sidebar/column
   layout elsewhere on the site. Browsers without container-query support
   simply keep the existing @media-based responsive behaviour — zero risk. */

.department-estimator, .department-wizard{
    container-type:inline-size;
}

@container (max-width: 420px){
    .department-estimator-row{
        grid-template-columns:1fr;
    }
}

.department-estimator{
    background:#F8FBFF;
    border:1.5px solid #E5EAF2;
    border-radius:18px;
    padding:26px 28px;
    margin:24px 0;
}

.department-estimator h3{
    margin:0 0 6px;
    font-size:17px;
    color:#0F172A;
}

.department-estimator .department-estimator-sub{
    font-size:13px;
    color:#64748B;
    margin-bottom:18px;
}

.department-estimator-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
    margin-bottom:14px;
}

.department-estimator-field label{
    display:block;
    font-size:12.5px;
    font-weight:700;
    color:#334155;
    margin-bottom:6px;
}

.department-estimator-field select, .department-estimator-field input{
    width:100%;
    height:42px;
    border:1.5px solid #E5EAF2;
    border-radius:10px;
    padding:0 12px;
    font-size:14px;
    background:#fff;
}

.department-estimator-result{
    margin-top:16px;
    background:#fff;
    border:1.5px solid #DBEAFE;
    border-radius:14px;
    padding:18px 20px;
    display:none;
}

.department-estimator-result.show{
    display:block;
}

.department-estimator-result .department-estimator-figure{
    font-size:26px;
    font-weight:800;
    color:#0B5ED7;
}

.department-estimator-result .department-estimator-note{
    font-size:12px;
    color:#94A3B8;
    margin-top:6px;
}

.department-estimator-toggle{
    display:inline-flex;
    background:#EEF2F7;
    border-radius:999px;
    padding:3px;
    margin-bottom:14px;
}

.department-estimator-toggle button{
    border:none;
    background:transparent;
    padding:8px 18px;
    border-radius:999px;
    font-size:13px;
    font-weight:700;
    cursor:pointer;
    color:#64748B;
}

.department-estimator-toggle button.active{
    background:#0B5ED7;
    color:#fff;
}

/* ---------- WIZARD ---------- */

.department-wizard{
    background:#fff;
    border:1.5px solid #E5EAF2;
    border-radius:18px;
    padding:26px 28px;
    margin:24px 0;
}

.department-wizard-step{
    display:none;
}

.department-wizard-step.active{
    display:block;
}

.department-wizard h3{
    margin:0 0 16px;
    font-size:16px;
    color:#0F172A;
}

.department-wizard-options{
    display:grid;
    gap:10px;
}

.department-wizard-options button{
    text-align:left;
    background:#F8FBFF;
    border:1.5px solid #E5EAF2;
    border-radius:12px;
    padding:14px 16px;
    font-size:14px;
    font-weight:600;
    color:#0F172A;
    cursor:pointer;
    transition:.2s;
}

.department-wizard-options button:hover{
    border-color:#0B5ED7;
    background:#EEF6FF;
}

.department-wizard-result{
    display:none;
    background:#EEF6FF;
    border:1.5px solid #DBEAFE;
    border-radius:14px;
    padding:18px 20px;
    font-size:14px;
    color:#0F172A;
}

.department-wizard-result.show{
    display:block;
}

.department-wizard-restart{
    margin-top:12px;
    background:none;
    border:none;
    color:#0B5ED7;
    font-weight:700;
    font-size:13px;
    cursor:pointer;
}

/* ---------- STICKY QUOTE CTA ---------- */

.department-sticky-cta{
    position:fixed;
    bottom:0;
    left:0;
    right:0;
    background:#0B1220;
    color:#fff;
    padding:14px 20px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:16px;
    z-index:400;
    transform:translateY(100%);
    transition:transform .3s;
    box-shadow:0 -8px 24px rgba(0,0,0,.15);
}

.department-sticky-cta.visible{
    transform:translateY(0);
}

.department-sticky-cta span{
    font-size:13.5px;
    color:#CBD5E1;
}

.department-sticky-cta a{
    background:#0B5ED7;
    color:#fff;
    padding:10px 22px;
    border-radius:999px;
    font-weight:700;
    font-size:13.5px;
    white-space:nowrap;
}

/* ---------- MID-ARTICLE CTA ---------- */

.department-mid-cta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    background:#EEF6FF;
    border:1.5px solid #DBEAFE;
    border-radius:14px;
    padding:16px 22px;
    margin:24px 0;
    flex-wrap:wrap;
}

.department-mid-cta p{
    margin:0;
    font-size:14px;
    color:#0F172A;
    font-weight:600;
}

.department-mid-cta a{
    background:#0B5ED7;
    color:#fff;
    padding:9px 18px;
    border-radius:999px;
    font-weight:700;
    font-size:13px;
    white-space:nowrap;
}

/* ---------- GLOSSARY TOOLTIP ---------- */

dfn.department-gloss{
    font-style:normal;
    border-bottom:1.5px dotted #0B5ED7;
    cursor:help;
    position:relative;
    font-weight:600;
    color:#0B5ED7;
}

dfn.department-gloss .department-gloss-tip{
    position:absolute;
    bottom:calc(100% + 8px);
    left:50%;
    transform:translateX(-50%);
    background:#0F172A;
    color:#fff;
    font-size:12.5px;
    font-weight:400;
    padding:10px 14px;
    border-radius:10px;
    width:240px;
    opacity:0;
    visibility:hidden;
    transition:.2s;
    z-index:60;
    line-height:1.5;
}

dfn.department-gloss:hover .department-gloss-tip,
dfn.department-gloss:focus .department-gloss-tip{
    opacity:1;
    visibility:visible;
}

/* ---------- GUIDE LISTS (Popular / Recently Updated / Next) ---------- */

.department-guide-list{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;
    margin:24px 0;
}

.department-guide-list-col{
    background:#F8FBFF;
    border:1px solid #E5EAF2;
    border-radius:14px;
    padding:18px 20px;
}

.department-guide-list-col strong{
    display:block;
    font-size:13px;
    color:#0F172A;
    margin-bottom:10px;
}

.department-guide-list-col ul{
    margin:0;
    padding:0;
    list-style:none;
}

.department-guide-list-col li{
    padding:6px 0;
    font-size:13.5px;
    border-bottom:1px solid #EEF2F7;
}

.department-guide-list-col li:last-child{
    border-bottom:none;
}

.department-guide-list-col a{
    color:#0B5ED7;
    font-weight:600;
}

.department-next-guide{
    display:flex;
    align-items:center;
    justify-content:space-between;
    background:#0B1220;
    color:#fff;
    border-radius:16px;
    padding:22px 26px;
    margin:24px 0;
    gap:16px;
    flex-wrap:wrap;
}

.department-next-guide span{
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.5px;
    color:#94A3B8;
    display:block;
    margin-bottom:4px;
}

.department-next-guide strong{
    font-size:16px;
}

.department-next-guide a.department-next-guide-btn{
    background:#0B5ED7;
    color:#fff;
    padding:10px 20px;
    border-radius:999px;
    font-weight:700;
    font-size:13.5px;
    white-space:nowrap;
}

@media(max-width:700px){
    .department-estimator-row, .department-guide-list{
        grid-template-columns:1fr;
    }
    .department-sticky-cta{
        flex-direction:column;
        gap:8px;
        padding:12px 16px;
    }
}



/* ========================================================= */
/* RESPONSIVE & DESIGN SYSTEM V5 */
/* ========================================================= */

/*
BREAKPOINT STRATEGY (documented):
  320px  - smallest supported phone (iPhone SE class)
  375px  - standard phone (iPhone 12/13/14 class)
  480px  - large phone / phablet
  768px  - portrait tablet / small laptop threshold
  1024px - landscape tablet / small laptop
  1280px - standard desktop (site max-width container)
  1440px - large desktop
  1920px - full HD wide monitor (content stays capped at --container width,
           extra space becomes side margin — no separate layout needed)
  Ultrawide/4K/5K/TV: intentionally NOT given bespoke layouts. The container
  max-width + centered layout already scales correctly on any width beyond
  1920px without a dedicated breakpoint — building one would add maintenance
  cost for zero visible difference on real devices.
*/

/* ---------- FLUID TYPOGRAPHY ---------- */

html{
    font-size:clamp(15px, 0.9vw + 13px, 17px);
}

h1{
    font-size:clamp(28px, 4vw + 12px, 44px) !important;
    line-height:1.15;
}

h2{
    font-size:clamp(21px, 2vw + 14px, 28px) !important;
}

h3{
    font-size:clamp(17px, 1vw + 13px, 20px) !important;
}

/* ---------- FLUID SPACING ---------- */

.container{
    padding-left:clamp(16px, 4vw, 40px);
    padding-right:clamp(16px, 4vw, 40px);
}

section{
    padding:clamp(28px, 5vw, 56px) 0 !important;
}

/* ---------- SAFE AREA (notch / Dynamic Island) ---------- */

.department-header, .masthead, footer.footer{
    padding-left:env(safe-area-inset-left);
    padding-right:env(safe-area-inset-right);
}

.department-sticky-cta{
    padding-bottom:calc(14px + env(safe-area-inset-bottom));
}

/* ---------- HORIZONTAL OVERFLOW PREVENTION ---------- */

body{
    overflow-x:hidden;
}

.department-comparison-wrap, table{
    max-width:100%;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
}

img, svg{
    max-width:100%;
    height:auto;
}

/* ---------- REDUCED MOTION ---------- */

@media (prefers-reduced-motion: reduce){
    *, *::before, *::after{
        animation-duration:0.01ms !important;
        animation-iteration-count:1 !important;
        transition-duration:0.01ms !important;
        scroll-behavior:auto !important;
    }
}

/* ---------- HIGH CONTRAST / FORCED COLORS ---------- */

@media (forced-colors: active){
    .btn-primary, .department-conversion-item, .department-next-guide-btn{
        border:2px solid ButtonText;
    }
    .department-warning, .department-tip, .department-risk{
        border-width:2px;
    }
}

/* ---------- FOCUS MANAGEMENT ---------- */

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
summary:focus-visible{
    outline:3px solid var(--gold-accent);
    outline-offset:2px;
}

/* ---------- DARK MODE ---------- */

body.dark-mode{
    background:#0B1220;
    color:#E2E8F0;
}

body.dark-mode .department-header,
body.dark-mode section.section-white,
body.dark-mode section.section-light,
body.dark-mode .seo{
    background:#0F172A !important;
    color:#E2E8F0;
}

body.dark-mode h1, body.dark-mode h2, body.dark-mode h3{
    color:#F1F5F9 !important;
}

body.dark-mode p, body.dark-mode li{
    color:#CBD5E1;
}

body.dark-mode .department-glance,
body.dark-mode .department-checklist,
body.dark-mode .department-estimator,
body.dark-mode .department-wizard,
body.dark-mode nav[aria-label="Table of contents"]{
    background:#15294D !important;
    border-color:#1E3A5F !important;
}

body.dark-mode .department-comparison th{
    background:#0B5ED7;
}

body.dark-mode .department-comparison td{
    background:#0F172A;
    color:#CBD5E1;
    border-color:#1E3A5F;
}

.dark-mode-toggle{
    background:#F1F5F9;
    border:1px solid #E5EAF2;
    border-radius:999px;
    width:44px;
    height:44px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    font-size:16px;
}

/* ---------- BACK TO TOP ---------- */

.back-to-top{
    position:fixed;
    right:20px;
    bottom:80px;
    width:46px;
    height:46px;
    border-radius:50%;
    background:#0B5ED7;
    color:#fff;
    border:none;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:18px;
    cursor:pointer;
    box-shadow:0 8px 20px rgba(11,94,215,.35);
    opacity:0;
    visibility:hidden;
    transform:translateY(10px);
    transition:.25s;
    z-index:350;
}

.back-to-top.visible{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
}

/* ---------- SCROLL-SPY TOC ACTIVE STATE ---------- */

nav[aria-label="Table of contents"] a.toc-active{
    color:#0B5ED7 !important;
    font-weight:800;
    background:#EEF6FF;
    border-radius:8px;
    padding-left:8px !important;
}

/* ---------- FLUID / RESPONSIVE FOR SMALLEST DEVICES (320-374px) ---------- */

@media(max-width:374px){
    .department-glance-grid, .department-estimator-row{
        grid-template-columns:1fr !important;
    }
    .btn-primary, .btn-secondary{
        padding-left:20px !important;
        padding-right:20px !important;
    }
    .back-to-top{
        right:14px;
        bottom:70px;
        width:42px;
        height:42px;
    }
}

/* ---------- FOLDABLE / NARROW TABLET (browsers report these as ~717-720px) ---------- */

@media(min-width:280px) and (max-width:480px){
    h1{ font-size:clamp(24px, 6vw, 32px) !important; }
    .department-header-ctas{ flex-wrap:wrap; }
}

