/* iCargoFinsure design system, site-wide layer.
   Visual language from the approved mockup: light #FAFAFA canvas, Urbanist text with Poppins for the
   hero and navigation, pill controls, one orange accent (#FF7B19) plus a deep navy (#054475), flat
   surfaces with hairline borders, black footer. Loaded after site.css and each page's own stylesheet,
   so it restyles every page without changing markup or behaviour. Not touched by the build scripts. */

@font-face{font-family:"Urbanist";src:url(fonts/urbanist-var.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Urbanist";src:url(fonts/urbanist-var-italic.woff2) format("woff2");font-weight:100 900;font-style:italic;font-display:swap}
@font-face{font-family:"Poppins";src:url(fonts/poppins-500.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Poppins";src:url(fonts/poppins-600.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Poppins";src:url(fonts/poppins-700.woff2) format("woff2");font-weight:700;font-display:swap}

/* ---------- Tokens ---------- */
:root{
  --hm-bg:#FAFAFA; --hm-surface:#FFFFFF; --hm-card:#F6F6F6; --hm-line:#EEEEEE; --hm-line-2:#E4E4E4;
  --hm-ink:#111111; --hm-text:#1C1C1C; --hm-muted:#5F5F5F; --hm-soft:#8A8A8A;
  --hm-accent:#FF7B19; --hm-accent-hover:#F06B0A; --hm-accent-soft:#FFF2E6; --hm-accent-ink:#B4500A;
  --hm-navy:#054475; --hm-navy-hover:#04365D;
  --hm-foot:#110E0F; --hm-foot-line:#2B2728; --hm-foot-muted:#8E8A8B;
  --hm-font:"Urbanist",system-ui,-apple-system,"Segoe UI",sans-serif;
  --hm-display:"Poppins","Urbanist",system-ui,sans-serif;
  --hm-wrap:1066px; --hm-gutter:24px;
  --hm-r-sm:10px; --hm-r:16px; --hm-r-lg:21px;
  --hm-ease:cubic-bezier(.22,.7,.2,1); --hm-t:200ms;

  /* Re-point the original site tokens at the new palette and type */
  --orange:var(--hm-accent); --navy:var(--hm-navy); --navy-600:var(--hm-navy); --navy-700:var(--hm-navy-hover);
  --navy-50:#EEF4F9; --navy-100:#DCE7F1; --navy-200:#B5CADD;
  --canvas:var(--hm-bg); --line:var(--hm-line); --text:var(--hm-text); --text-muted:var(--hm-muted);
  --link:var(--hm-navy); --focus:var(--hm-navy);
  --font-display:var(--hm-font); --font-body:var(--hm-font);
  --r1:var(--hm-r-sm); --r2:var(--hm-r);
}
:root[data-theme="dark"]{--hm-bg:#0E1330;--hm-surface:#141A3D;--hm-card:#141A3D;--hm-line:#262E5A;--hm-text:#ECEFF8;--hm-muted:#A9B3D1;--link:#9DB6F0}
::selection{background:rgba(255,123,25,.25)}
body{background:var(--hm-bg);font-family:var(--hm-font);font-weight:400;letter-spacing:.005em}
h1,h2,h3,h4{font-family:var(--hm-font);font-weight:600;letter-spacing:-.01em}
:focus-visible{outline:2px solid var(--hm-navy);outline-offset:3px}

/* ---------- Header (mockup: logo, centred pill navigation, navy pill action) ---------- */
.site-header{background:var(--hm-bg);border-bottom:1px solid var(--hm-line);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
:root[data-theme="dark"] .site-header{background:var(--hm-bg)}
.site-header .container,.hm-footer .container{max-width:calc(var(--hm-wrap) + 2*var(--hm-gutter));padding-inline:var(--hm-gutter)}
/* The header holds seven menu items and the action, so it may run wider than the page column. */
.site-header .container{max-width:calc(1320px + 2*var(--hm-gutter))}
.brand img{height:36px;width:auto}
.site-header .header-cta{white-space:nowrap;display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:0 22px 0 6px;border:0;border-radius:999px;background:var(--hm-navy);color:#fff;font:500 .906rem/1 var(--hm-display);letter-spacing:0;box-shadow:none;transition:background-color var(--hm-t)}
.site-header .header-cta::before{content:"";flex:none;width:34px;height:34px;border-radius:50%;border:1.5px solid rgba(255,255,255,.9);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='5.5' width='16' height='14' rx='2'/%3E%3Cpath d='M8 3.5v4M16 3.5v4M4 10h16'/%3E%3C/svg%3E") center/16px no-repeat}
.site-header .header-cta:hover{background:var(--hm-navy-hover);color:#fff}
/* Desktop, from 1200px: everything fits on one line, nothing is clipped (compact from 1200 to 1439px). */
@media (min-width:1200px){
  .site-header .bar{min-height:96px;gap:20px}
  .nav{margin:0 auto;gap:2px;padding:5px;border-radius:999px;background:#F2F2F2}
  .nav > a,.nav .nav-top{display:inline-flex;align-items:center;min-height:40px;white-space:nowrap;padding:0 14px;border:0;border-radius:999px;color:#2A2A2A;font:500 .875rem/1 var(--hm-display);letter-spacing:0;transition:background-color var(--hm-t),color var(--hm-t),box-shadow var(--hm-t)}
  /* One pill per item. A dropdown item (label + arrow) highlights as a single shape, never half of it. */
  /* Hover/open: soft grey. Selected: solid white with a shadow, as in the mockup. The two never look alike. */
  .nav > a:hover,.nav-dd:hover,.nav-dd:focus-within,.nav-dd.open{background:#E4E4E4}
  .nav a,.nav a:hover,.nav .nav-top,.nav a[aria-current]{color:#1F1F1F}
  .nav > a[aria-current],.nav-dd:has(> .nav-top[aria-current]),
  .nav > a[aria-current]:hover,.nav-dd:has(> .nav-top[aria-current]):hover{background:#fff;box-shadow:0 1px 2px rgba(17,17,17,.08),0 2px 8px -2px rgba(17,17,17,.12)}
  .nav-dd{display:inline-flex;align-items:center;min-height:40px;border-radius:999px;transition:background-color var(--hm-t),box-shadow var(--hm-t)}
  .nav-dd .nav-top,.nav-dd .nav-top:hover,.nav-dd .nav-top[aria-current]{padding-right:2px;background:none;box-shadow:none}
  .nav-caret{width:26px;height:40px;margin:0 8px 0 0;border-radius:999px;color:#5A5A5A}
  .nav-dd:hover .nav-caret,.nav-dd.open .nav-caret,.nav-dd:has(> .nav-top[aria-current]) .nav-caret{color:var(--hm-ink)}
  .nav > a,.nav-dd{position:relative}
  .nav > a:active,.nav-dd:active{background:#D9D9D9}
  .nav > a:focus-visible,.nav-dd .nav-top:focus-visible,.nav-caret:focus-visible{outline:2px solid var(--hm-navy);outline-offset:2px}
  .nav-menu{top:calc(100% + 12px);left:0;min-width:280px;padding:8px;border:1px solid var(--hm-line);border-radius:var(--hm-r);background:#fff;box-shadow:0 22px 48px -20px rgba(17,17,17,.28)}
  .nav-dd:hover .nav-menu,.nav-dd:focus-within .nav-menu,.nav-dd.open .nav-menu{animation:icf-menu-in .16s var(--hm-ease)}
  .nav-menu::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px} /* hover bridge: the menu stays open on the way down */
  .nav-menu a{display:flex;align-items:center;min-height:44px;padding:0 14px;border:0;border-radius:var(--hm-r-sm);font:500 .9375rem/1.3 var(--hm-font);color:var(--hm-text);white-space:nowrap;transition:background-color var(--hm-t),color var(--hm-t)}
  .nav-menu a:hover,.nav-menu a:focus-visible{background:var(--hm-card);color:var(--hm-ink)}
  .nav-menu a[aria-current]{color:var(--hm-navy);font-weight:600;background:var(--navy-50);box-shadow:inset 3px 0 0 var(--hm-accent)}
}
@keyframes icf-menu-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
@media (min-width:1200px) and (max-width:1439px){
  .nav > a,.nav .nav-top{padding:0 10px;font-size:.8125rem}
  .site-header .header-cta{padding:0 18px;font-size:.8125rem}
  .site-header .header-cta::before{display:none}
}

/* Below 1200px: logo + one Menu button; the menu opens as a full-screen panel. */
@media (max-width:1199px){
  .site-header .bar{flex-wrap:wrap;gap:0 16px;min-height:68px;padding-block:12px}
  .nav,.site-header .header-cta{display:none}
  .nav-toggle{display:inline-flex;align-items:center;gap:10px;margin-left:auto;min-height:44px;padding:0 16px 0 14px;border:1.5px solid var(--hm-line-2);border-radius:999px;background:#fff;color:var(--hm-ink);font-size:0;cursor:pointer;transition:background-color var(--hm-t),border-color var(--hm-t)}
  .nav-toggle::before{content:"";width:18px;height:12px;background:linear-gradient(currentColor 0 0) 0 0/100% 2px no-repeat,linear-gradient(currentColor 0 0) 0 50%/100% 2px no-repeat,linear-gradient(currentColor 0 0) 0 100%/100% 2px no-repeat;transition:transform var(--hm-t) var(--hm-ease)}
  .nav-toggle::after{content:"Menu";font:500 .9375rem/1 var(--hm-display)}
  .nav-toggle:hover{border-color:#CFCFCF}
  .nav-toggle[aria-expanded="true"]::before{height:18px;background:linear-gradient(currentColor 0 0) 50% 50%/100% 2px no-repeat,linear-gradient(currentColor 0 0) 50% 50%/2px 100% no-repeat;transform:rotate(45deg)}
  .nav-toggle[aria-expanded="true"]::after{content:"Close"}

  /* Open: the header becomes a full-screen panel over the page; the page behind does not scroll. */
  .site-header.open{position:fixed;inset:0;z-index:120;height:100dvh;overflow-y:auto;overscroll-behavior:contain;background:var(--hm-bg)}
  html:has(.site-header.open){overflow:hidden}
  html:has(.site-header.open) .m-bar,html:has(.site-header.open) .wa-fab,html:has(.site-header.open) .consent{display:none!important}
  .site-header.open .bar{align-content:flex-start;min-height:100%;padding-bottom:28px}
  .site-header.open .nav{display:flex;flex-direction:column;align-items:stretch;order:3;width:100%;margin:16px 0 0;padding:0;gap:0;background:none;border-radius:0;animation:icf-menu-in .2s var(--hm-ease)}
  .site-header.open .nav > a,.site-header.open .nav .nav-top{display:flex;align-items:center;min-height:56px;padding:0 4px;border:0;text-align:left;color:var(--hm-ink);font:600 1.125rem/1.3 var(--hm-font);white-space:normal}
  .site-header.open .nav > a,.site-header.open .nav-dd{border-bottom:1px solid var(--hm-line)}
  .site-header.open .nav > a[aria-current],.site-header.open .nav .nav-top[aria-current]{color:var(--hm-navy);box-shadow:inset 3px 0 0 var(--hm-accent);padding-left:14px}
  .site-header.open .nav-dd{display:flex;flex-wrap:wrap;align-items:center;width:100%}
  .site-header.open .nav-dd .nav-top{flex:1}
  .site-header.open .nav-caret{width:48px;height:48px;margin:0;border-radius:50%;color:var(--hm-ink)}
  .site-header.open .nav-caret:hover{background:var(--hm-card)}
  .nav-dd:hover .nav-menu,.nav-dd:focus-within .nav-menu{display:none}
  .nav-menu{position:static;display:none;flex-direction:column;width:100%;min-width:0;margin:0 0 10px;padding:6px;border:0;border-radius:var(--hm-r);background:#F2F2F2;box-shadow:none}
  .site-header.open .nav-dd.open .nav-menu{display:flex}
  .site-header.open .nav-menu a{display:flex;align-items:center;min-height:48px;padding:0 14px;border:0;border-radius:var(--hm-r-sm);color:var(--hm-text);font:500 1rem/1.3 var(--hm-font);white-space:normal}
  .site-header.open .nav-menu a:hover{background:#fff}
  .site-header.open .nav-menu a[aria-current]{background:#fff;color:var(--hm-navy);font-weight:600;box-shadow:inset 3px 0 0 var(--hm-accent)}
  .site-header.open .header-cta{display:inline-flex;justify-content:center;order:4;width:100%;min-height:52px;margin-top:24px;font-size:1rem}
}
@media (max-width:1199px) and (prefers-reduced-motion:reduce){.site-header.open .nav{animation:none}}

/* ---------- Buttons ---------- */
.btn{border-radius:999px;font-family:var(--hm-font);font-weight:600;letter-spacing:.005em;transition:background-color var(--hm-t),border-color var(--hm-t),color var(--hm-t)}
.btn-primary{background:var(--hm-accent);color:#fff;border-color:var(--hm-accent)}
.btn-primary:hover{background:var(--hm-accent-hover);border-color:var(--hm-accent-hover);color:#fff}
.btn-outline{background:transparent;color:var(--hm-navy);border-color:var(--hm-navy)}
.btn-outline:hover{background:var(--hm-navy);color:#fff}
.btn-ghost{border-radius:999px}
.btn-quiet,.link-quiet{color:var(--hm-navy)}

/* ---------- Surfaces ---------- */
.section.alt{background:var(--hm-surface);border-color:var(--hm-line)}
.card,.panel,.rcard,.acard{border-radius:var(--hm-r)}
.card{border-color:var(--hm-line);box-shadow:none;transition:border-color var(--hm-t),box-shadow var(--hm-t)}
a.card:hover{border-color:var(--hm-line-2);box-shadow:0 14px 34px -22px rgba(17,17,17,.35)}
.card h3,.section-head h2,.page-hero h1,.pr-hero h1{font-weight:600;letter-spacing:-.015em}
.eyebrow{color:var(--hm-ink);font-weight:500;letter-spacing:.06em}
.on-night .eyebrow{color:#C9D3E8}
.page-hero{background:var(--hm-bg);border-bottom-color:var(--hm-line)}
.pr-hero{background:var(--hm-bg)}
.cta-strip{background:var(--hm-surface)}
.cta-strip p{color:var(--hm-ink);font-family:var(--hm-font);font-weight:600}
.badge{border-radius:999px}

/* ---------- Forms ---------- */
input[type=text],input[type=email],input[type=tel],input[type=number],input[type=search],input[type=url],select,textarea{border-radius:var(--hm-r-sm);border:1.5px solid var(--hm-line-2);background:var(--hm-surface);transition:border-color var(--hm-t),box-shadow var(--hm-t)}
input:hover,select:hover,textarea:hover{border-color:#CFCFCF}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--hm-navy);box-shadow:0 0 0 4px rgba(5,68,117,.14)}
.field.invalid input,.field.invalid select,.field.invalid textarea{border-color:var(--fail);box-shadow:0 0 0 4px rgba(180,35,24,.1)}
.check input{accent-color:var(--hm-navy)}
.aud-btn{border-radius:999px}
.aud-btn[aria-pressed="true"]{background:var(--hm-navy);border-color:var(--hm-navy)}

/* ---------- FAQ (other pages) ---------- */
.faq details{border-bottom-color:var(--hm-line-2)}
.faq summary::after{color:var(--hm-ink)}

/* ---------- Footer (mockup: black, split top row, link columns, bottom bar) ---------- */
.hm-footer{background:var(--hm-foot);color:#fff;border-top:0;padding:0}
.hm-footer a{color:inherit;text-decoration:none}
.hm-footer a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.hm-foot-top{position:relative;display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--hm-foot-line)}
.hm-foot-top::before{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;background:var(--hm-foot-line)}
.hm-foot-brand{padding:116px 40px 64px 0}
.hm-foot-word{display:block;font:600 clamp(2.75rem,4.4vw,4rem)/1 var(--hm-font);letter-spacing:-.02em}
.hm-foot-word:hover{text-decoration:none!important}
.hm-foot-tag{margin-top:52px;max-width:13em;font:500 clamp(1.6rem,2.8vw,2.5rem)/1.3 var(--hm-font);text-transform:uppercase;letter-spacing:.005em}
.hm-foot-contact{padding:96px 0 52px 183px}
.hm-foot-mail{display:flex;align-items:center;justify-content:space-between;padding-bottom:16px;border-bottom:1px solid #3A3637;font-size:1.25rem;font-weight:500}
.hm-foot-mail svg,.hm-social svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.hm-foot-contact dl{display:grid;grid-template-columns:1fr 1fr;gap:44px 24px;margin:58px 0 0}
.hm-foot-contact dt{color:var(--hm-foot-muted);font-size:1rem;font-weight:500;text-transform:uppercase;letter-spacing:.02em}
.hm-foot-contact dd{margin:10px 0 0;font-size:.875rem;line-height:1.5}
.hm-foot-links{display:grid;grid-template-columns:repeat(3,1fr) 1.1fr;gap:24px;padding:56px 0 40px 32px}
.hm-foot-links h3{margin:0 0 22px;color:#fff;font:500 1.0625rem/1.2 var(--hm-font);text-transform:none;letter-spacing:0}
.hm-foot-links ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.hm-foot-links li a{color:#D4D0D1;font-size:.875rem;padding:2px 0;display:inline-block}
.hm-foot-mark{display:grid;justify-items:center;align-content:start;gap:28px;padding-top:4px}
.hm-foot-ghost{width:132px;height:132px;fill:#3B3738}
.hm-foot-ghost path+path{fill:var(--hm-foot)}
.hm-foot-links .hm-social{list-style:none;margin:0;padding:0;display:flex;gap:6px}
.hm-social a{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;color:#fff;transition:background-color var(--hm-t)}
.hm-social a:hover{background:#2A2627;text-decoration:none}
.hm-social svg{width:20px;height:20px;fill:currentColor;stroke:none}
.hm-social li:last-child svg{fill:none}
.hm-foot-legal{max-width:none;margin:0;padding:0 0 22px 32px;color:#77726F;font-size:.75rem;line-height:1.55}
.hm-foot-bar{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:26px 36px;border-top:1px solid var(--hm-foot-line);color:var(--hm-foot-muted);font-size:.8125rem}
.hm-foot-bar a{color:var(--hm-foot-muted)}
.hm-footer .disclaimer-note{margin:0;padding:0 36px 26px;color:var(--hm-foot-muted);font-size:.8125rem;text-align:center}
.hm-footer .disclaimer-note a,.hm-footer .disclaimer-note button{color:#D4D0D1}
@media (max-width:1000px){
  .hm-foot-contact{padding-left:48px}
  .hm-foot-links{grid-template-columns:repeat(3,1fr);padding-left:0}
  .hm-foot-mark{grid-column:1/-1;grid-auto-flow:column;justify-content:start;align-items:center}
  .hm-foot-ghost{width:64px;height:64px}
}
@media (max-width:760px){
  .hm-foot-top{grid-template-columns:1fr}
  .hm-foot-top::before{display:none}
  .hm-foot-brand{padding:72px 0 40px;border-bottom:1px solid var(--hm-foot-line)}
  .hm-foot-tag{margin-top:28px}
  .hm-foot-contact{padding:40px 0}
  .hm-foot-links{grid-template-columns:1fr 1fr;gap:36px 24px}
  .hm-foot-legal{padding-left:0}
  .hm-foot-bar{padding-inline:0;flex-direction:column;align-items:flex-start}
  .hm-footer .disclaimer-note{padding-inline:0;text-align:left}
}
@media (max-width:420px){.hm-foot-contact dl{grid-template-columns:1fr}}

/* ---------- Consent: floating card on wide screens ---------- */
.consent{border-top-color:var(--hm-line)}
@media (min-width:901px){
  html.icf-consent-open body{padding-bottom:0!important} /* the card floats; no need to push the footer up */
  .consent{left:24px;right:auto;bottom:24px;max-width:600px;padding:18px 20px;border:1px solid var(--hm-line);border-radius:var(--hm-r);box-shadow:0 24px 50px -24px rgba(17,17,17,.35)}
}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;scroll-behavior:auto!important}}

/* ---------- No sideways scrolling, anywhere ---------- */
/* Media never wider than its column, and grid/flex children may shrink below their content width. */
img,picture,video,canvas,iframe,svg{max-width:100%}
picture{display:inline-block}
.article-grid > *,.grid > *,.pr-hero-grid > *,.pb-grid > *{min-width:0}
/* Safety net: clip (unlike hidden) creates no scroll container, so the sticky header keeps working. */
html{overflow-x:clip}
@supports not (overflow:clip){html{overflow-x:hidden}}
