/*
Theme Name: ITS Hamilton
Template: kadence
Version: 1.0.59
Text Domain: its-hamilton
*/

:root{
  --bg:#FFFFFF; --soft:#F4F6FA; --ink:#0E1A2B; --muted:#4A5568; --line:#E2E6EE; --field:#C7CEDA;
  --accent:#2340D6; --accent-text:#2340D6; --accent-hover:#16289A; --accent-soft:#EEF1FF; --accent-soft-ink:#16289A;
  --hero:#0E1A2B; --hero-2:#16243A; --hero-line:#2A3A55; --hero-ink:#FFFFFF; --hero-muted:#C2CBDA; --hero-faint:#AEB9CC; --hero-accent:#9FB0FF;
  --risk:#B4410C; --ok:#15803D; --ok-soft:#ECFDF3;
  --display:'Bricolage Grotesque', Inter, 'Segoe UI', system-ui, sans-serif;
  --body:Inter, system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  color-scheme: light;
  box-sizing:border-box; padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);
}

:root[data-theme="dark"]{
  --bg:#0B1320; --soft:#111B2B; --ink:#E8ECF3; --muted:#A9B4C6; --line:#24324A; --field:#3A4A66;
  --accent:#3654E8; --accent-text:#93A6FF; --accent-hover:#B8C4FF; --accent-soft:#1A2648; --accent-soft-ink:#C9D3FF;
  --hero:#070E19; --hero-2:#111B2B; --hero-line:#24324A;
  --risk:#FDBA8C; --ok:#4ADE80; --ok-soft:#0F2A1C;
  color-scheme: dark;
}
html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 90px)}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--hero)}
img{max-width:100%}
a{color:var(--accent-text)} a:hover{color:var(--accent-hover)}
:focus-visible{outline:3px solid #FFB547;outline-offset:2px;border-radius:6px}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
h1,h2,h3{margin:0}
.display{font-family:var(--display);font-weight:700;letter-spacing:-0.025em;line-height:1.05}
.h2{font-family:var(--display);font-weight:700;font-size:clamp(32px,4vw,48px);line-height:1.1;letter-spacing:-0.02em}
.kicker{margin:0 0 12px;font-size:15px;font-weight:600;color:var(--accent-text)}
.lead{font-size:18px;color:var(--muted);max-width:620px}
.muted{color:var(--muted)}
section.band{padding:96px 0}
section.soft{background:var(--soft)}

/* top bar + header */
.topbar{background:#0A1422;color:#C2CBDA;font-size:14px}
.topbar .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 24px;padding-top:9px;padding-bottom:9px}
.topbar a{color:#FFFFFF;text-decoration:none;font-weight:600}
header.site{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:var(--hero);color:var(--hero-ink);border-bottom:1px solid var(--hero-line)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:14px;padding-bottom:14px}
.brand{display:flex;align-items:center;gap:12px;color:#FFFFFF;text-decoration:none}
.brand:hover{color:#FFFFFF}
.logo-img{width:54px;height:auto;flex:none;display:block}
.mark{width:40px;height:40px;border-radius:11px;background:var(--accent);display:flex;align-items:center;justify-content:center;flex:none}
.brand-name{font-family:var(--display);font-weight:700;font-size:21px;line-height:1.1;display:block}
.brand-sub{font-size:12px;color:var(--hero-faint);display:block;white-space:nowrap}
.brand{flex:none}
nav.main{display:flex;align-items:center;gap:2px}
nav.main a{color:#D5DCE8;text-decoration:none;font-size:15px;padding:10px 12px;border-radius:999px;white-space:nowrap}
.hdr-actions{flex:none}
.hdr-cta{white-space:nowrap}
nav.main a:hover{color:#FFFFFF;background:rgba(255,255,255,.07)}
nav.main a[aria-current="page"]{color:#FFFFFF;background:rgba(255,255,255,.12)}
.hdr-actions{display:flex;align-items:center;gap:8px}
.icon-btn{width:44px;height:44px;border-radius:999px;border:1px solid var(--hero-line);background:transparent;color:#FFFFFF;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.menu-btn{display:none}
@media (max-width:1380px){
  nav.main a{padding:10px 9px}
}
@media (max-width:1240px){
  .menu-btn{display:inline-flex}
  nav.main{display:none;position:absolute;left:0;right:0;top:100%;background:var(--hero);border-bottom:1px solid var(--hero-line);flex-direction:column;align-items:stretch;padding:8px 16px 16px}
  nav.main.open{display:flex}
  nav.main a{padding:14px 12px;border-radius:12px}
  .hdr-cta{display:none}
}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:14px 26px;border-radius:999px;font:inherit;font-weight:600;text-decoration:none;cursor:pointer;border:1px solid transparent;transition:background .15s,border-color .15s}
.btn-primary{background:var(--accent);color:#FFFFFF}
.btn-primary:hover{background:#1B33B4;color:#FFFFFF}
.btn-ghost-dark{background:transparent;color:#FFFFFF;border-color:#4A5A75}
.btn-ghost-dark:hover{color:#FFFFFF;border-color:#FFFFFF}
.btn-light{background:#FFFFFF;color:#0E1A2B}
.btn-light:hover{background:#E8ECF7;color:#0E1A2B}
.btn-outline{background:transparent;color:var(--ink);border-color:var(--field)}
.btn-outline:hover{border-color:var(--ink);color:var(--ink)}
.btn-sm{min-height:44px;padding:10px 18px;font-size:15px}

/* hero */
.hero{background:var(--hero);color:var(--hero-ink);padding:72px 0 96px}
.hero .wrap{display:flex;flex-wrap:wrap;gap:56px;align-items:center}
.hero-copy{flex:1 1 520px;min-width:0}
.hero-copy h1{font-size:clamp(44px,6.4vw,80px)}
.hero-copy p.sub{margin:24px 0 0;font-size:19px;line-height:1.6;color:var(--hero-muted);max-width:560px}
.badge{display:inline-flex;align-items:center;gap:8px;margin:0 0 22px;font-size:14px;font-weight:500;color:#C9D3FF;border:1px solid #33425A;border-radius:999px;padding:6px 14px}
.dot{width:8px;height:8px;border-radius:50%;background:#4ADE80;flex:none}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:48px;max-width:520px}
.stats b{display:block;font-family:var(--display);font-size:36px;line-height:1;font-weight:700}
.stats span{display:block;margin-top:6px;font-size:14px;color:var(--hero-faint)}
.convo{flex:1 1 400px;min-width:0;background:var(--hero-2);border:1px solid var(--hero-line);border-radius:24px;padding:28px}
.convo-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:13px;color:var(--hero-faint)}
.convo-head strong{color:var(--hero-accent);font-weight:600}
.bubble{border-radius:16px;padding:18px 20px;margin-top:12px}
.bubble small{display:block;font-size:13px;color:var(--hero-faint)}
.bubble p{margin:6px 0 0;font-size:20px;font-weight:500;line-height:1.4}
.bubble.them{background:var(--hero);margin-top:22px}
.bubble.us{background:var(--accent)}
.bubble.us small{color:#DCE3FF}
.bubble.us p{transition:opacity .2s}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{font:inherit;font-size:14px;font-weight:500;min-height:44px;padding:10px 16px;border-radius:999px;cursor:pointer;background:transparent;color:#D5DCE8;border:1px solid #33425A}
.chip[aria-pressed="true"]{background:#FFFFFF;color:#0E1A2B;border-color:#FFFFFF}
.chip-l{font:inherit;font-size:15px;font-weight:500;min-height:44px;padding:10px 18px;border-radius:999px;cursor:pointer;background:var(--bg);color:var(--ink);border:1px solid var(--field)}
.chip-l[aria-pressed="true"]{background:var(--accent);color:#FFFFFF;border-color:var(--accent)}

/* page hero (inner pages) */
.page-hero{background:var(--hero);color:var(--hero-ink);padding:64px 0 72px}
.crumbs{font-size:14px;color:var(--hero-faint);margin:0 0 18px}
.crumbs a{color:var(--hero-faint);text-decoration:none}
.crumbs a:hover{color:#FFFFFF}
.page-hero h1{font-size:clamp(40px,5.4vw,64px)}
.page-hero p{margin:20px 0 0;font-size:19px;color:var(--hero-muted);max-width:640px}

/* grids & cards */
.grid{display:grid;gap:20px}
.g3{grid-template-columns:repeat(auto-fit,minmax(290px,1fr))}
.g2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
.card{border:1px solid var(--line);border-radius:20px;padding:30px;background:var(--bg);display:flex;flex-direction:column;gap:12px}
.card h3{font-size:20px;font-weight:600;letter-spacing:-0.01em}
.card p{margin:0;color:var(--muted)}
.card .more{margin-top:auto;padding-top:6px;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:6px;min-height:44px}
.ico{width:48px;height:48px;border-radius:14px;background:var(--accent-soft);color:var(--accent-text);display:flex;align-items:center;justify-content:center}
.split{display:flex;flex-wrap:wrap;gap:56px}
.split > .a{flex:1 1 420px;min-width:0}
.split > .b{flex:1 1 520px;min-width:0}
.head-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:52px}
.risk{background:var(--bg);border-radius:16px;padding:24px}
.risk .tag{font-size:13px;font-weight:600;color:var(--risk);margin:0}
.risk h3{font-size:18px;font-weight:600;margin:6px 0 6px}
.risk p{margin:0;font-size:15px;color:var(--muted)}
.tile{border:1px solid var(--line);border-radius:16px;padding:22px 24px}
.tile h3{font-size:17px;font-weight:600}
.tile p{margin:6px 0 0;font-size:15px;color:var(--muted)}
.linkrow{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid var(--line);border-radius:14px;padding:14px 18px;min-height:56px;text-decoration:none;color:var(--ink);font-weight:500;background:var(--bg)}
.linkrow:hover{border-color:var(--accent-text);color:var(--ink)}
.linkrow small{display:block;font-weight:400;color:var(--muted);font-size:14px}
.stack{display:flex;flex-direction:column;gap:10px}
.pill{display:inline-block;background:var(--accent-soft);color:var(--accent-soft-ink);border-radius:999px;padding:8px 16px;font-size:14px;font-weight:500}
.pills{display:flex;flex-wrap:wrap;gap:8px}
.steps{counter-reset:s;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
.step{background:var(--bg);border-radius:20px;padding:30px;border:1px solid var(--line)}
.step .n{font-family:var(--display);font-size:42px;font-weight:700;color:var(--accent-text);line-height:1}
.step h3{font-size:19px;font-weight:600;margin:18px 0 8px}
.step p{margin:0;color:var(--muted)}

/* languages */
.lang-dark{background:var(--hero);color:#FFFFFF}
.lang-pill{border:1px solid #33425A;border-radius:999px;padding:8px 16px;font-size:14px;color:#E3E8F0}
.lang-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.lang-item{border:1px solid var(--line);border-radius:14px;padding:14px 16px;display:flex;justify-content:space-between;align-items:center;gap:8px;background:var(--bg)}
.lang-item small{color:var(--muted);font-size:13px}
.search{position:relative;max-width:440px}
.search input{width:100%;padding-left:46px}
.search svg{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--muted)}

/* forms */
.field{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:500}
.field input,.field textarea,.field select,.search input{font:inherit;font-weight:400;font-size:16px;color:var(--ink);background:var(--bg);padding:13px 16px;border:1px solid var(--field);border-radius:12px;min-height:48px}
.field textarea{resize:vertical;min-height:120px}
.field input:focus,.field textarea:focus,.search input:focus{outline:none;border-color:var(--accent-text);box-shadow:0 0 0 3px var(--accent-soft)}
.field .err{color:#C2410C;font-weight:500;font-size:13px;display:none}
.field.invalid input{border-color:#C2410C}
.field.invalid .err{display:block}
.form{background:var(--bg);border:1px solid var(--line);border-radius:24px;padding:34px;display:flex;flex-direction:column;gap:22px}
.form fieldset{border:0;margin:0;padding:0}
.form legend{font-size:15px;font-weight:600;margin-bottom:12px;padding:0}
.fgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.drop{display:flex;align-items:center;justify-content:center;gap:10px;border:1.5px dashed var(--field);border-radius:14px;padding:22px;color:var(--muted);cursor:pointer;text-align:center}
.drop:hover{border-color:var(--accent-text);color:var(--ink)}
.drop input{position:absolute;width:1px;height:1px;opacity:0}
.form-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}
.success{display:none;background:var(--ok-soft);border-radius:24px;padding:40px;border:1px solid var(--line)}
.success h3{font-family:var(--display);font-size:30px;margin:14px 0 8px}
.success .tick{width:52px;height:52px;border-radius:50%;background:var(--ok);color:#FFFFFF;display:flex;align-items:center;justify-content:center}
.contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:32px}
.contact-grid p{margin:0;font-size:14px;color:var(--muted)}
.contact-grid a,.contact-grid strong{font-size:18px;font-weight:600;text-decoration:none;color:var(--ink)}
.contact-grid a{color:var(--accent-text)}
.wide{grid-column:1/-1}

/* faq */
details{border-bottom:1px solid var(--line)}
summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 0;font-size:18px;font-weight:600;min-height:44px}
summary::-webkit-details-marker{display:none}
summary .plus{flex:none;width:32px;height:32px;border-radius:50%;border:1px solid var(--field);display:flex;align-items:center;justify-content:center;transition:transform .2s}
details[open] summary .plus{transform:rotate(45deg)}
details p{margin:0 0 22px;color:var(--muted);max-width:720px}

/* banner + footer */
.banner{background:var(--accent);color:#FFFFFF;border-radius:28px;padding:52px 48px;display:flex;flex-wrap:wrap;gap:32px;align-items:center;justify-content:space-between}
.banner h2{font-family:var(--display);font-size:clamp(28px,3.4vw,40px);line-height:1.12;letter-spacing:-0.02em}
.banner p{margin:14px 0 0;color:#DCE3FF;max-width:560px}
footer.site{background:var(--hero);color:#C2CBDA;padding:72px 0 36px}
.fcols{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:36px}
.fcols h4{margin:0 0 12px;font-size:14px;font-weight:600;color:#FFFFFF}
.fcols a{display:block;color:#C2CBDA;text-decoration:none;font-size:15px;padding:5px 0}
.fcols a:hover{color:#FFFFFF}
.fbottom{margin-top:52px;padding-top:22px;border-top:1px solid var(--hero-line);display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:14px;color:var(--hero-faint)}
.mock-note{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:40;background:#FFB547;color:#1F1300;font-size:13px;font-weight:600;padding:8px 14px;border-radius:999px}

[data-page]{display:none}
[data-page].active{display:block;animation:pagein .25s ease-out}
@keyframes pagein{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion: reduce){[data-page].active{animation:none}.bubble.us p,summary .plus{transition:none}}
@media (max-width:640px){
  section.band{padding:72px 0}
  .hero{padding:52px 0 72px}
  .banner{padding:36px 26px}
  .form{padding:24px}
  .contact-grid{grid-template-columns:1fr}
  .stats b{font-size:30px}
  .topbar .wrap{justify-content:center;text-align:center}
  .topbar .msg{display:none}
}


:root[data-theme="dark"] { color-scheme: light; }
body.its-site { background: var(--bg); color: var(--ink); font-family: var(--body); }
.its-content > section { margin: 0; }
.its-content h1, .its-content h2, .its-content h3 { color: inherit; }
.its-content .page-hero .crumbs { margin: 0 0 18px; font-size: 14px; }
.its-content .wp-block-group { box-sizing: border-box; }
.its-content summary::after { content: '+'; flex: none; width: 32px; height: 32px; border: 1px solid var(--field); border-radius: 50%; display: grid; place-items: center; }
.its-content details[open] summary::after { content: '−'; }
.its-content [hidden] { display: none !important; }
.its-content .search input { padding-inline-start: 46px; }
.its-content .its-request-panel h3 { margin-bottom: 12px; }
.its-content iframe { display: block; width: 100%; border: 0; min-height: 600px; }
.its-content .lang-pill:hover { color: white; }
.its-legacy { max-width: 1200px; margin-inline: auto; padding: 48px 24px; }
.its-legacy img { height: auto; }
.its-skip:not(:focus) { position: absolute; clip-path: inset(50%); }
.its-skip:focus { position: fixed; top: 12px; left: 12px; z-index: 99999; background: white; padding: 12px; }
.admin-bar header.site { top: var(--wp-admin--admin-bar--height, 32px); }
nav.main .its-mobile-cta { display: none; }
footer.site .logo-img { width: 48px; }
footer.site .its-footer-brand { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
footer.site .fbottom a { color: inherit; }
.its-content :focus-visible { outline: 3px solid #FFB547; outline-offset: 2px; }
@media (max-width: 1240px) {
  nav.main .its-mobile-cta { display: inline-flex; color: var(--ink); align-self: start; }
  nav.main .its-mobile-cta:hover { background: #E8ECF7; color: var(--ink); }
}
@media (max-width: 640px) {
  header.site .wrap { padding-inline: 14px; gap: 8px; }
  header.site .brand { gap: 8px; }
  header.site .brand-sub { font-size: 10px; }
  header.site .logo-img { width: 42px; }
  .its-content .g3, .its-content .g2, .its-content .steps { grid-template-columns: minmax(0, 1fr); }
  .its-content .banner { padding-inline: 22px; }
  .its-content .convo { padding: 20px; }
  .its-content .stats { gap: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .its-content *, header.site * { scroll-behavior: auto; transition: none; }
}

.its-site #masthead .site-top-header-wrap .site-header-row-container-inner,
.its-site #masthead .site-mobile-top-header-wrap .site-header-row-container-inner { background: #0A1422; }
.its-site #masthead .site-main-header-wrap .site-header-row-container-inner,
.its-site #masthead .site-mobile-main-header-wrap .site-header-row-container-inner { background: var(--hero); border-bottom: 1px solid var(--hero-line); }
.its-site #masthead .site-container,
.its-site #colophon .site-container { max-width: 1200px; padding-inline: 24px; }
.its-site #masthead .site-header-top-section-left,
.its-site #masthead .site-header-item[data-section="kadence_customizer_header_html"],
.its-site #masthead .site-header-item[data-section="kadence_customizer_mobile_html"],
.its-site #masthead .header-html, .its-site #masthead .header-html-inner { width: 100%; }
.its-topbar { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 4px 20px; padding-block: 9px; color: #C2CBDA; font: 400 14px/1.4 var(--body); }
.its-topbar a { color: #fff; font-weight: 700; text-decoration: none; white-space: nowrap; }
.its-site #masthead .site-top-header-inner-wrap,
.its-site #masthead .site-mobile-top-header-inner-wrap { min-height: 0; }
.its-site #masthead .site-main-header-inner-wrap,
.its-site #masthead .site-mobile-main-header-inner-wrap { min-height: 74px; }
.its-site #masthead .site-branding { padding-block: 0; margin: 0; }
.its-site #masthead .site-branding .site-title { color: #fff; font: 700 21px/1.1 var(--display); }
.its-site #masthead .site-branding .site-description { color: #AEB9CC; font: 400 12px/1.4 var(--body); white-space: nowrap; }
.its-site #masthead .site-branding .custom-logo { width: 54px; }
.its-site #masthead .primary-menu-container > ul { flex-wrap: nowrap; }
.its-site #masthead .primary-menu-container > ul > li.menu-item > a { min-height: 44px; padding: 10px 7px; border-radius: 999px; color: #D5DCE8; font-size: 15px; white-space: nowrap; }
.its-site #masthead .primary-menu-container > ul > li.menu-item > a:hover { background: rgb(255 255 255 / 7%); color: #fff; }
.its-site #masthead .primary-menu-container > ul > li.current-menu-item > a { background: rgb(255 255 255 / 12%); color: #fff; }
.its-site #masthead .header-button { background: #fff; color: var(--ink); border: 0; border-radius: 999px; padding: 10px 18px; min-height: 44px; font-size: 15px; font-weight: 600; white-space: nowrap; }
.its-site #masthead .header-button:hover { background: #E8ECF7; color: var(--ink); }
.its-site #masthead .menu-toggle-open { color: white; min-height: 44px; min-width: 44px; }
.its-site #mobile-drawer .drawer-inner { background: var(--hero); }
.its-site #mobile-drawer .mobile-navigation a { min-height: 44px; color: #fff; }
.its-site #mobile-drawer .mobile-navigation li:last-child a { color: var(--ink); background: white; border-radius: 999px; padding-inline: 18px; margin-top: 16px; }
.its-site #colophon, .its-site #colophon .site-footer-row-container-inner { background: var(--hero); color: var(--its-turquoise-text); }
.its-site #colophon .site-top-footer-inner-wrap { padding-top: 72px; padding-bottom: 32px; }
.its-site #colophon .site-bottom-footer-inner-wrap { padding-block: 22px 36px; }
.its-footer-col h2 { color: #fff; font-size: 14px; margin: 0 0 12px; }
.its-footer-col a { display: block; color: var(--its-turquoise-text); padding-block: 5px; text-decoration: none; }
.its-footer-col a:hover { color: white; text-decoration: underline; }
.its-footer-col p { margin: 0; }
.its-footer-brand { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; color: white; font: 700 22px/1.2 var(--display); }
.its-footer-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; color: var(--its-turquoise-text); font-size: 14px; }
.its-site .its-content .wp-block-group { margin-block-start: 0; }
.its-site .its-content .wp-block-heading { margin-block: 0; }
.its-site .its-content .lang-item[hidden] { display: none; }
.its-site .its-content .badge { margin-block: 0 22px; }
.its-site .its-content .card a, .its-site .its-content .btn, .its-site .its-content .linkrow { text-decoration: none; }
.its-site .its-content .page-hero .display, .its-site .its-content .hero .display { color: white; }
.its-site .its-content .wp-block-details { margin-block: 0; }
@media (max-width: 800px) {
  .its-site #colophon .site-top-footer-inner-wrap { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
}
@media (max-width: 640px) {
  .its-site #masthead .site-container { padding-inline: 14px; }
  .its-site #masthead .site-branding .site-description { font-size: 10px; }
  .its-site #masthead .site-branding .custom-logo { width: 42px; }
  .its-topbar { justify-content: center; font-size: 12px; text-align: center; }
  .its-topbar .its-availability { display: none; }
  .its-footer-col { overflow-wrap: anywhere; }
}

.its-content .its-principles { padding: 30px; }
.its-content .its-principles .wp-block-image { margin: 0 0 24px; }
.its-content .wp-block-button .wp-block-button__link { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 14px 26px; border-radius: 999px; font: inherit; font-weight: 600; text-decoration: none; border: 1px solid transparent; }
.its-content .wp-block-button.btn-primary, .its-content .wp-block-button.btn-light, .its-content .wp-block-button.btn-ghost-dark, .its-content .wp-block-button.btn-outline { padding: 0; border: 0; background: transparent; }
.its-content .wp-block-button.btn-primary .wp-block-button__link { background: var(--accent); color: #fff; }
.its-content .wp-block-button.btn-primary .wp-block-button__link:hover { background: #1B33B4; }
.its-content .wp-block-button.btn-light .wp-block-button__link { background: #fff; color: var(--ink); }
.its-content .wp-block-button.btn-light .wp-block-button__link:hover { background: #E8ECF7; }
.its-content .wp-block-button.btn-ghost-dark .wp-block-button__link { background: transparent; color: #fff; border-color: #4A5A75; }
.its-content .wp-block-button.btn-ghost-dark .wp-block-button__link:hover { border-color: #fff; }
.its-content .wp-block-button.btn-outline .wp-block-button__link { background: transparent; color: var(--ink); border-color: var(--field); }
.its-content .wp-block-button.btn-outline .wp-block-button__link:hover { border-color: var(--ink); }
body.its-designed-page #inner-wrap,
body.its-designed-page #main.its-content { width: 100%; max-width: none; margin: 0; padding: 0; }
body.its-designed-page #main.its-content > section { width: 100%; max-width: none; margin-inline: 0; }
.its-site .its-content .wrap { width: 100%; max-width: 1200px; margin-inline: auto; }
.its-site .its-content .hero .wrap { display: flex; flex-wrap: wrap; align-items: center; gap: 56px; }
.its-site .its-content .split { display: flex; flex-wrap: wrap; gap: 56px; }
.its-site .its-content .head-row { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 24px; }
.its-site .its-content .grid, .its-site .its-content .steps, .its-site .its-content .stats,
.its-site .its-content .lang-grid, .its-site .its-content .contact-grid { display: grid; }
.its-site .its-content .cta-row { display: flex; flex-wrap: wrap; gap: 12px; margin-block-start: 34px; }
.its-site .its-content .stats { margin-block-start: 48px; }
.its-site .its-content .pills, .its-site .its-content .chips, .its-site .its-content .banner { display: flex; flex-wrap: wrap; }
.its-site .its-content .stack, .its-site .its-content .card { display: flex; }
.its-site .its-content .bubble p { color: #fff; }
.its-site .its-content .badge { display: inline-flex; }
.its-site #masthead .site-top-header-inner-wrap,
.its-site #masthead .site-mobile-top-header-inner-wrap { display: grid; grid-template-columns: minmax(0, 1fr) 0; }
.its-site .its-content .wp-block-group > .wp-block-group__inner-container { display: contents; }
.its-site .its-content .split > .wp-block-group__inner-container > .a { flex: 1 1 420px; min-width: 0; }
.its-site .its-content .split > .wp-block-group__inner-container > .b { flex: 1 1 520px; min-width: 0; }
.its-site .its-content .hero .wrap { display: flex !important; }
.its-site .its-content .stats, .its-site .its-content .grid, .its-site .its-content .steps { display: grid !important; }
.its-site .its-content .cta-row, .its-site .its-content .split, .its-site .its-content .head-row { display: flex !important; }
.its-site .its-content .hero-copy { flex-basis: 550px; }
.its-site .its-content .hero-copy h1 { line-height: 1.02; letter-spacing: -.03em; }
@media (max-width: 440px) {
  .its-site .its-content .hero-copy h1 { font-size: clamp(34px, 10.3vw, 44px); }
}
.its-site .its-content .split .its-about-a { flex-basis: 380px; }
.its-site .its-content .split .its-about-b { flex-basis: 560px; }

.its-site .its-content .its-request .chip-l[aria-pressed="true"] {
  background: #2340D6;
  color: #fff;
  border-color: #2340D6;
}

.its-language-directory { max-width: 1200px; padding: 64px 24px 88px; margin-inline: auto; }
.its-lang-tools { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: 20px; }
.its-language-directory h2 { font: 700 clamp(28px, 4vw, 40px)/1.1 var(--display); }
.its-language-directory #langCount { margin: 8px 0 0; color: var(--muted); font-size: 15px; }
.its-lang-search { position: relative; flex: 0 1 350px; }
.its-lang-search input { width: 100%; min-height: 48px; padding: 10px 14px 10px 44px; border: 1px solid var(--field); border-radius: 12px; font: inherit; }
.its-lang-search svg { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); pointer-events: none; }
.its-language-directory svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.its-lang-meta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; margin: 24px 0 20px; }
.its-lang-jumps { display: flex; flex-wrap: wrap; gap: 6px; }
.its-lang-jumps a { display: grid; place-items: center; min-width: 44px; min-height: 44px; padding: 0 8px; border-radius: 8px; background: var(--soft); color: var(--ink); font-size: 14px; font-weight: 600; text-decoration: none; }
.its-lang-jumps a:hover { background: var(--accent-soft); color: var(--accent); }
.its-lang-legend { display: flex; flex-wrap: wrap; gap: 14px; color: var(--muted); font-size: 13px; }
.its-lang-legend span { display: flex; align-items: center; gap: 5px; }
.its-lang-legend svg, .its-lang-icon { color: var(--accent); }
.its-lang-directory-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; gap: 16px; }
.its-lang-group { overflow: hidden; border: 1px solid var(--line); border-radius: 15px; background: white; scroll-margin-top: 20px; }
.its-language-directory .its-lang-group h3 { display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; margin: 0; background: var(--accent-soft); color: var(--ink); font: 700 17px/1.4 var(--display); }
.its-lang-group h3 span { color: var(--accent); font: 600 12px/1.4 var(--body); }
.its-lang-group ul { list-style: none; margin: 0; padding: 0 14px; }
.its-language-directory .lang-item { display: flex; align-items: center; justify-content: space-between; min-height: 40px; padding: 7px 2px; margin: 0; border: 0; border-radius: 0; font-size: 14px; }
.its-lang-group .lang-item + .lang-item { border-top: 1px solid var(--line); }
.its-lang-name { overflow-wrap: anywhere; }
.its-lang-flags { display: inline-flex; gap: 3px; vertical-align: middle; margin-inline-start: 6px; }
.its-lang-flags:empty { display: none; }
.its-lang-flags img { display: block; width: 20px; height: 15px; border-radius: 2px; outline: 1px solid rgb(0 0 0 / 10%); outline-offset: -1px; }
.its-lang-services { display: grid; grid-template-columns: repeat(2, 20px); gap: 8px; }
.its-lang-icon { display: grid; place-items: center; }
.its-lang-icon:last-child { grid-column: 2; }
.its-lang-empty { padding: 20px; border: 1px solid var(--line); border-radius: 12px; background: var(--soft); }
.its-lang-empty p { margin: 8px 0 0; }
@media (max-width: 900px) { .its-lang-directory-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 580px) {
  .its-language-directory { padding: 40px 20px 64px; }
  .its-lang-directory-grid { grid-template-columns: minmax(0, 1fr); }
  .its-lang-search { flex: 1 1 100%; }
}


body.its-designed-page #main.its-content > .its-language-directory { max-width: 1200px; margin-inline: auto; }
.its-content:has(> .its-language-directory) .page-hero { padding: 40px 0 48px; }


/* Kadence applies a separate background once the main row sticks. */
.its-site #masthead .kadence-sticky-header.item-is-fixed,
.its-site #masthead .kadence-sticky-header.item-is-fixed .site-header-row-container-inner {
  background-color: var(--hero);
}


.its-content .its-provider-requests, .its-content .its-provider-sectors { padding-block: 60px; }
.its-provider-wrap .lead { margin-bottom: 22px; }
.its-provider-options, .its-sector-grid { display: grid; gap: 14px; }
.its-provider-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.its-provider-option { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 14px; min-height: 92px; padding: 15px; border: 1px solid var(--line); border-radius: 16px; color: var(--ink); background: white; text-decoration: none; }
.its-provider-option:hover { border-color: var(--accent); color: var(--accent); }
.its-provider-option small { display: block; margin-top: 3px; color: var(--muted); font-size: 13px; }
.its-provider-icon { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; background: var(--accent-soft); color: var(--accent); }
.its-provider-icon svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.its-provider-arrow { color: var(--accent); font-size: 21px; }
.its-provider-general { grid-column: 1 / -1; background: var(--soft); }
.its-sector-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.its-sector-card { min-width: 0; padding: 20px; border: 1px solid var(--line); border-radius: 16px; background: white; }
.its-sector-card h3 { margin: 12px 0 4px; font-size: 17px; }
.its-sector-card p { margin: 0; color: var(--muted); font-size: 14px; }
.its-provider-sectors .head-row { margin-bottom: 24px; }
@media (max-width: 760px) {
  .its-provider-options { grid-template-columns: minmax(0, 1fr); }
  .its-sector-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 480px) {
  .its-content .its-provider-requests, .its-content .its-provider-sectors { padding-block: 40px; }
  .its-sector-grid { grid-template-columns: minmax(0, 1fr); }
}


.its-content .its-home-sectors { padding-block: 64px; background: linear-gradient(165deg, #fff 58%, var(--soft)); }
.its-home-sectors-wrap { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3.5fr); align-items: center; gap: clamp(24px, 4vw, 54px); }
.its-home-sectors .kicker { display: flex; align-items: center; gap: 8px; text-transform: uppercase; font-size: 13px; }
.its-home-sectors .kicker::before { content: ""; width: 22px; height: 3px; background: var(--accent); border-radius: 2px; }
.its-home-sectors .h2 span { color: var(--accent); }
.its-home-sectors .lead { font-size: 16px; margin-bottom: 22px; }
.its-home-sector-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.its-home-sector { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: 12px; padding: 15px; min-height: 100px; border: 1px solid var(--line); border-radius: 15px; background: #fff; box-shadow: 0 2px 6px rgb(14 26 43 / 6%); }
.its-content .its-home-sector h3 { font: 700 16px/1.25 var(--display); margin: 0 0 4px; }
.its-home-sector p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.45; }
@media (max-width: 900px) { .its-home-sectors-wrap { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 540px) {
  .its-content .its-home-sectors { padding-block: 44px; }
  .its-home-sector-grid { grid-template-columns: minmax(0, 1fr); }
  .its-home-sector { min-height: 0; }
}
.its-content .its-home-sectors .h2 { font-size: clamp(31px, 3vw, 40px); line-height: 1.08; }


.its-content .its-home-risks { padding-block: 64px; }
.its-home-risks .kicker { display: flex; align-items: center; gap: 8px; text-transform: uppercase; font-size: 13px; }
.its-home-risks .kicker::before { content: ""; width: 22px; height: 3px; background: var(--accent); border-radius: 2px; }
.its-content .its-home-risks .h2 { font-size: clamp(31px, 3vw, 40px); line-height: 1.08; }
.its-home-risks .h2 span { color: var(--accent); }
.its-home-risks .lead { font-size: 16px; margin-bottom: 22px; }
.its-home-risks .its-home-sector { min-height: 112px; }
.its-risk-label { display: inline-block; padding: 2px 6px; margin-bottom: 5px; background: #fce8e8; color: #8f1d2c; border-radius: 5px; font-size: 11px; font-weight: 700; line-height: 1.3; }
@media (max-width: 540px) {
  .its-content .its-home-risks { padding-block: 44px; }
  .its-home-risks .its-home-sector { min-height: 0; }
}


.its-home-languages { padding-block: 60px; background: linear-gradient(135deg, #fff 37%, #edf5ff); }
.its-home-language-intro { display: grid; grid-template-columns: 1.05fr 1fr; align-items: center; gap: 24px; }
.its-content .its-home-languages .h2 { font-size: clamp(32px, 4vw, 48px); line-height: 1.08; }
.its-home-languages .h2 span { color: var(--accent); }
.its-home-languages .lead { font-size: 16px; max-width: 460px; }
.its-home-language-services { display: flex; flex-wrap: wrap; gap: 10px 20px; margin-top: 18px; }
.its-home-language-services a { display: grid; gap: 2px; min-height: 44px; color: var(--accent); text-decoration: none; }
.its-home-language-services a:hover { text-decoration: underline; }
.its-home-language-services small { color: var(--muted); }
.its-language-art { position: relative; width: min(100%, 480px); aspect-ratio: 1.6; justify-self: center; display: grid; place-items: center; }
.its-language-globe { width: 68%; height: auto; filter: drop-shadow(0 14px 18px rgb(26 81 151 / 24%)); }
.its-language-art span { position: absolute; padding: 6px 12px; border-radius: 10px; background: #fff; color: var(--ink); font-size: 13px; font-weight: 600; box-shadow: 0 3px 13px rgb(35 64 214 / 14%); white-space: nowrap; }
.its-language-art span:nth-of-type(1) { top: 12%; left: 16%; }
.its-language-art span:nth-of-type(2) { top: 14%; right: 15%; }
.its-language-art span:nth-of-type(3) { top: 42%; left: 2%; }
.its-language-art span:nth-of-type(4) { top: 44%; right: 4%; }
.its-language-art span:nth-of-type(5) { bottom: 17%; left: 12%; }
.its-language-art span:nth-of-type(6) { bottom: 14%; right: 3%; }
.its-featured-languages { background: #eaf1fc; border: 1px solid #dce7f8; border-radius: 18px; padding: 20px; margin-top: 20px; }
.its-featured-bar { display: flex; flex-wrap: wrap; gap: 12px 16px; align-items: center; justify-content: space-between; }
.its-featured-bar h3 { font-size: 20px; }
.its-featured-bar form { display: flex; flex: 0 1 390px; gap: 6px; min-width: 0; }
.its-featured-bar input { flex: 1; min-width: 0; min-height: 44px; border: 1px solid var(--field); border-radius: 999px; padding: 8px 14px; background: #fff; }
.its-all-languages { display: inline-flex; gap: 8px; align-items: center; min-height: 44px; color: var(--accent); font-weight: 700; }
.its-featured-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; margin-top: 12px; }
.its-featured-grid a { display: flex; align-items: center; gap: 7px; min-height: 49px; padding: 7px; color: var(--ink); background: #fff; border-radius: 10px; border: 1px solid transparent; font-size: 13px; font-weight: 600; text-decoration: none; overflow-wrap: anywhere; }
.its-featured-grid a:hover { border-color: var(--accent); color: var(--accent); }
.its-featured-flags { display: inline-flex; flex: none; align-items: center; gap: 3px; }
.its-featured-flags img { display: block; width: 24px; height: 18px; border-radius: 2px; outline: 1px solid rgb(0 0 0 / 10%); outline-offset: -1px; }
@media (max-width: 900px) { .its-featured-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 680px) {
  .its-home-languages { padding-block: 40px; }
  .its-home-language-intro { grid-template-columns: minmax(0, 1fr); }
  .its-language-art { width: min(100%, 350px); }
}
@media (max-width: 450px) { .its-featured-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }


/* Turquoise header and homepage hero palette. */
.its-site {
  --its-turquoise: #086b70;
  --its-turquoise-deep: #07565a;
  --its-turquoise-panel: #105d63;
  --its-turquoise-text: #f3fffe;
  --its-turquoise-line: #c9faf34d;
}
.its-site #masthead .site-top-header-wrap .site-header-row-container-inner,
.its-site #masthead .site-mobile-top-header-wrap .site-header-row-container-inner { background: var(--its-turquoise-deep); }
.its-site #masthead .site-main-header-wrap .site-header-row-container-inner,
.its-site #masthead .site-mobile-main-header-wrap .site-header-row-container-inner,
.its-site #masthead .kadence-sticky-header.item-is-fixed,
.its-site #masthead .kadence-sticky-header.item-is-fixed .site-header-row-container-inner {
  background-color: var(--its-turquoise);
  border-color: var(--its-turquoise-line);
}
.its-site #masthead .its-topbar,
.its-site #masthead .site-branding .site-description,
.its-site #masthead .primary-menu-container > ul > li.menu-item > a { color: var(--its-turquoise-text); }
.its-site #mobile-drawer .drawer-inner { background: var(--its-turquoise-deep); }
.its-site.home .its-content .hero {
  --hero: var(--its-turquoise);
  --hero-2: var(--its-turquoise-panel);
  --hero-line: var(--its-turquoise-line);
  --hero-muted: var(--its-turquoise-text);
  --hero-faint: var(--its-turquoise-text);
  --hero-accent: var(--its-turquoise-text);
}
.its-site.home .its-content .hero .badge { color: var(--its-turquoise-text); border-color: var(--its-turquoise-line); }
.its-site.home .its-content .hero .bubble.them { background: var(--its-turquoise-deep); }
.its-site.home .its-content .hero .chip:not([aria-pressed="true"]),
.its-site.home .its-content .hero .wp-block-button.btn-ghost-dark .wp-block-button__link { color: var(--its-turquoise-text); border-color: #e0fffa; }
.its-site.home .its-content .hero .wp-block-button.btn-primary .wp-block-button__link { background: #fff; color: var(--its-turquoise-deep); }
.its-site.home .its-content .hero .wp-block-button.btn-primary .wp-block-button__link:hover { background: #e7f7f5; }


.its-site .btn.btn-primary,
.its-site .its-content .wp-block-button.btn-primary .wp-block-button__link,
.its-site .its-content .its-request .chip-l[aria-pressed="true"] {
  background: var(--its-turquoise);
  color: #fff;
  border-color: var(--its-turquoise);
}
.its-site .btn.btn-primary:hover,
.its-site .its-content .wp-block-button.btn-primary .wp-block-button__link:hover {
  background: var(--its-turquoise-deep);
  color: #fff;
  border-color: var(--its-turquoise-deep);
}
.its-site.home .its-content .hero .wp-block-button.btn-primary .wp-block-button__link { border-color: #fff; }
.its-site.home .its-content .hero .bubble.us { background: #fff; }
.its-site.home .its-content .hero .bubble.us p,
.its-site.home .its-content .hero .bubble.us small { color: var(--its-turquoise-deep); }


/* Use the approved palette for dark site surfaces and their primary actions. */
.its-site {
  --hero: var(--its-turquoise);
  --hero-2: var(--its-turquoise-panel);
  --hero-line: var(--its-turquoise-line);
  --hero-muted: var(--its-turquoise-text);
  --hero-faint: var(--its-turquoise-text);
  --hero-accent: var(--its-turquoise-text);
}
.its-site .its-content .page-hero .btn.btn-primary,
.its-site .its-content .page-hero .wp-block-button.btn-primary .wp-block-button__link {
  background: #fff;
  color: var(--its-turquoise-deep);
  border-color: #fff;
}
.its-site .its-content .page-hero .btn.btn-primary:hover,
.its-site .its-content .page-hero .wp-block-button.btn-primary .wp-block-button__link:hover {
  background: #e7f7f5;
  color: var(--its-turquoise-deep);
}
.its-site .its-content .page-hero .btn.btn-ghost-dark,
.its-site .its-content .page-hero .wp-block-button.btn-ghost-dark .wp-block-button__link { border-color: #e0fffa; }


.its-site .its-content .banner {
  background: #f6efe4;
  border: 1px solid #e8dac7;
  color: var(--ink);
}
.its-site .its-content .banner p { color: var(--muted); }
.its-site .its-content .banner .btn.btn-light,
.its-site .its-content .banner .wp-block-button.btn-light .wp-block-button__link {
  background: var(--its-turquoise);
  color: #fff;
}
.its-site .its-content .banner .btn.btn-light:hover,
.its-site .its-content .banner .wp-block-button.btn-light .wp-block-button__link:hover {
  background: var(--its-turquoise-deep);
  color: #fff;
}

.its-content :is(#its-contact-cognito, #its-careers-cognito) { min-height: 0; }

/* Category navigation */
.its-site #masthead .primary-menu-container > ul > li.menu-item > a { padding-inline: 8px; }
.its-site #masthead .primary-menu-container > ul > li.current-menu-ancestor > a,
.its-site #masthead .primary-menu-container > ul > li.current-menu-parent > a { background: rgb(255 255 255 / 15%); color: #fff; }
.its-site #masthead .primary-menu-container .sub-menu { background: #fff; min-width: 235px; border-radius: 10px; box-shadow: 0 8px 24px rgb(0 0 0 / 18%); }
.its-site #masthead .primary-menu-container .sub-menu a { background: #fff; color: var(--ink); padding: 12px 16px; }
.its-site #masthead .primary-menu-container .sub-menu a:hover,
.its-site #masthead .primary-menu-container .sub-menu .current-menu-item > a { background: #eaf4f4; color: var(--ink); }
.its-site #masthead .primary-menu-container .sub-menu a:focus-visible { outline: 2px solid #07535a; outline-offset: -3px; }
.its-site #masthead .primary-menu-container > ul > li > a:focus-visible,
.its-site #masthead .header-button:focus-visible,
.its-site #masthead .dropdown-nav-special-toggle:focus-visible,
.its-site #mobile-drawer .mobile-navigation :is(a, button):focus-visible { outline: 2px solid #fff; outline-offset: -3px; }
.its-site #mobile-drawer .mobile-navigation ul li:last-child a { background: transparent; color: #fff; border-radius: 0; margin-top: 0; }
.its-site #mobile-drawer .mobile-navigation .sub-menu a { padding-inline-start: 22px; }
.its-site #mobile-drawer .mobile-navigation .drawer-sub-toggle { min-width: 44px; min-height: 44px; color: #fff; }
.its-site #mobile-drawer .mobile-navigation .current-menu-item > a,
.its-site #mobile-drawer .mobile-navigation .current-menu-ancestor > .drawer-nav-drop-wrap { background: rgb(255 255 255 / 12%); }
.its-site #mobile-drawer .mobile-navigation ul li.its-book-menu-item > a { background: #fff; color: var(--ink); border-radius: 999px; margin-block: 12px; padding-inline: 18px; }
.its-site #mobile-drawer .mobile-navigation ul li.its-book-menu-item > a:focus-visible { outline-color: #07535a; }

/* Desktop category panels retain Kadence's native visibility and keyboard controls. */
.its-site #masthead .primary-menu-container { position: relative; }
.its-site #masthead .primary-menu-container > ul > .its-mega { position: static; }
.its-site #masthead .its-mega-services { --panel-art: url('assets/img/menu-services.png'); --panel-title: "Language services that connect people"; --panel-label: "Our services"; --panel-tint: #dcefff; }
.its-site #masthead .its-mega-organizations { --panel-art: url('assets/img/menu-for_organizations.png'); --panel-title: "Language access for your sector"; --panel-label: "For organizations"; --panel-tint: #d8f3ef; }
.its-site #masthead .its-mega-team { --panel-art: url('assets/img/menu-join_our_team.png'); --panel-title: "Help people understand and be understood"; --panel-label: "Join our team"; --panel-tint: #e7ecff; }
.its-site #masthead .its-mega-company { --panel-art: url('assets/img/menu-about_us.png'); --panel-title: "Meet the team behind ITS Hamilton"; --panel-label: "About us"; --panel-tint: #e5f4f7; }
.its-site #masthead .primary-menu-container .its-mega > .sub-menu {
  inset-inline: auto 0; width: 670px; max-width: calc(100vw - 48px);
  padding: 12px 12px 12px 236px; min-height: 252px;
  background: #fff; border: 1px solid #d8e5eb; border-radius: 16px;
  box-shadow: 0 20px 48px rgb(4 35 42 / 25%); overflow: hidden;
}
.its-site #masthead .its-mega > .sub-menu::before,
.its-site #masthead .its-mega > .sub-menu::after {
  position: absolute; inset-inline-start: 0; width: 224px; box-sizing: border-box; pointer-events: none;
}
.its-site #masthead .its-mega > .sub-menu::before {
  content: var(--panel-title); inset-block: 0; display: block;
  padding: 123px 22px 20px; color: #10283a; font: 700 24px/1.08 var(--display);
  background: linear-gradient(to bottom, transparent 60px, var(--panel-tint) 85px, #f7fcfc 100%), var(--panel-art) center -3px / 105% auto no-repeat, var(--panel-tint);
}
.its-site #masthead .its-mega > .sub-menu::after {
  content: var(--panel-label); inset-block-start: 92px; padding: 0 22px;
  color: #07535a; font-size: 11px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase;
}
.its-site #masthead .primary-menu-container .its-mega > .sub-menu > li { width: 100%; }
.its-site #masthead .primary-menu-container .its-mega > .sub-menu > li > a {
  width: 100%; box-sizing: border-box;
  display: flex; justify-content: space-between; align-items: center; gap: 12px;
  padding: 10px 14px; min-height: 53px; border-radius: 9px; white-space: normal;
}
.its-site #masthead .its-mega > .sub-menu > li > a::after {
  content: ""; width: 7px; height: 7px; border: solid #08777e; border-width: 0 2px 2px 0; transform: rotate(-45deg); flex: none;
}
.its-site #masthead .its-mega-link { display: grid; gap: 3px; line-height: 1.25; }
.its-site #masthead .its-mega-link strong { font-size: 15px; color: #10283a; }
.its-site #masthead .its-mega-link > span { font-size: 12px; color: #425766; }

.its-site #masthead .its-mega-icon { display: grid; place-items: center; flex: 0 0 36px; height: 36px; border-radius: 8px; background: #e7f3fc; color: #0871bd; }
.its-site #masthead .its-mega-icon svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }
.its-site #masthead .its-mega-link { flex: 1; }

.its-ow-form .its-ow-unlock { max-width: 620px; margin-inline: auto; }
.its-ow-form .its-ow-embed { max-width: 1000px; margin-inline: auto; }
.its-ow-form .post-password-form p:has(input) { display: flex; flex-wrap: wrap; align-items: end; gap: 12px; }
.its-ow-form .post-password-form label { flex: 1 1 240px; }
.its-ow-form .post-password-form input[type="password"] { display: block; width: 100%; min-height: 44px; margin-top: 4px; }
.its-ow-form .post-password-form input[type="submit"] { min-height: 44px; background: #09676e; color: white; border-radius: 999px; padding-inline: 22px; }
.its-ow-form .post-password-form input:focus-visible { outline: 2px solid #07535a; outline-offset: 3px; }
.its-ow-form iframe { display: block; width: 100%; max-width: 100%; }

/* Match the chat turquoise on shared page surfaces. */
.its-site {
  --its-chat-turquoise: #47d6d6;
  --its-chat-ink: #10353a;
}
.its-site #masthead .site-main-header-wrap .site-header-row-container-inner,
.its-site #masthead .site-mobile-main-header-wrap .site-header-row-container-inner,
.its-site #masthead .kadence-sticky-header.item-is-fixed,
.its-site #masthead .kadence-sticky-header.item-is-fixed .site-header-row-container-inner {
  background-color: var(--its-chat-turquoise);
  border-color: rgb(16 53 58 / 24%);
}
.its-site #masthead .site-branding :is(.site-title, .site-description),
.its-site #masthead .menu-toggle-open,
.its-site #masthead .primary-menu-container > ul > li.menu-item > a {
  color: var(--its-chat-ink);
}
.its-site #masthead .primary-menu-container > ul > li.menu-item > a:is(:hover, :focus-visible),
.its-site #masthead .primary-menu-container > ul > li:is(.current-menu-item, .current-menu-ancestor, .current-menu-parent) > a {
  background: rgb(16 53 58 / 12%);
  color: var(--its-chat-ink);
}
.its-site #masthead .primary-menu-container > ul > li > a:focus-visible,
.its-site #masthead :is(.header-button, .menu-toggle-open, .dropdown-nav-special-toggle):focus-visible {
  outline-color: var(--its-chat-ink);
}
.its-site .its-content .page-hero,
.its-site.home .its-content .hero,
.its-site #colophon,
.its-site #colophon .site-footer-row-container-inner {
  --hero: var(--its-chat-turquoise);
  --hero-ink: var(--its-chat-ink);
  --hero-line: rgb(16 53 58 / 24%);
  --its-turquoise-text: var(--its-chat-ink);
  --hero-muted: var(--its-chat-ink);
  --hero-faint: var(--its-chat-ink);
  --hero-accent: var(--its-chat-ink);
}
.its-site .its-content .page-hero .display,
.its-site .its-content .hero .display,
.its-site #colophon :is(.its-footer-brand, .its-footer-col h2, a:hover) {
  color: var(--its-chat-ink);
}
.its-site .its-content .page-hero .btn.btn-ghost-dark,
.its-site .its-content .page-hero .wp-block-button.btn-ghost-dark .wp-block-button__link,
.its-site.home .its-content .hero .wp-block-button.btn-ghost-dark .wp-block-button__link {
  color: var(--its-chat-ink);
  border-color: var(--its-chat-ink);
}
.its-site.home .its-content .hero .convo {
  --its-turquoise-text: #f3fffe;
  --hero-faint: var(--its-turquoise-text);
  --hero-accent: var(--its-turquoise-text);
  color: var(--its-turquoise-text);
}

/* Match the contact strip to the main header. */
.its-site #masthead .site-top-header-wrap .site-header-row-container-inner,
.its-site #masthead .site-mobile-top-header-wrap .site-header-row-container-inner {
  background: var(--its-chat-turquoise);
}
.its-site #masthead .its-topbar,
.its-site #masthead .its-topbar a {
  color: var(--its-chat-ink);
}

/* Coordinate the homepage service accents with the turquoise palette. */
.its-site.home .its-content .band:has(#homeServices) {
  --accent-text: var(--its-turquoise-deep);
  --accent-hover: #10353a;
  --accent-soft: #e6f7f6;
}
.its-site.home .its-content #homeServices .card a.more {
  color: var(--accent-text);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.its-site.home .its-content #homeServices .card a.more:hover {
  color: var(--accent-hover);
}

/* Highlight top-level menu items with a compact pill. */
.its-site #masthead .primary-menu-container > ul > li.menu-item > a {
  font-weight: 600;
}
.its-site #masthead .primary-menu-container > ul > li.menu-item > a:is(:hover, :focus-visible),
.its-site #masthead .primary-menu-container > ul > li:is(.current-menu-item, .current-menu-ancestor, .current-menu-parent) > a {
  background: #e6f7f6;
  color: var(--its-chat-ink);
  text-decoration: none;
}

/* Share the teal accent palette across the public site. */
.its-site {
  --accent: var(--its-turquoise-deep);
  --accent-text: var(--its-turquoise-deep);
  --accent-hover: var(--its-chat-ink);
  --accent-soft: #e6f7f6;
  --accent-soft-ink: var(--its-chat-ink);
}
.its-site .its-home-languages {
  background: linear-gradient(135deg, #fff 37%, #f2fbfa);
}
.its-site .its-featured-languages {
  background: var(--accent-soft);
  border-color: #cae9e6;
}
.its-site #masthead .its-mega-icon {
  background: var(--accent-soft);
  color: var(--accent);
}

/* Keep the homepage service-area badge readable on bright turquoise. */
.its-site.home .its-content .hero .badge {
  background: var(--its-turquoise-deep);
  border-color: var(--its-turquoise-deep);
  color: #fff;
  font-weight: 600;
}
.its-site.home .its-content .hero .badge .dot {
  flex: none;
  background: #fff;
}

/* Add depth and separation to the turquoise footer. */
.its-site #colophon {
  border-block-start: 1px solid rgb(16 53 58 / 24%);
}
.its-site #colophon .site-top-footer-wrap .site-footer-row-container-inner {
  box-shadow: inset 0 6px 12px -9px rgb(16 53 58 / 55%);
}
@media (min-width: 1025px) {
  .its-site #colophon .its-footer-col {
    position: relative;
  }
  .its-site #colophon .site-footer-section:not(:first-child) .its-footer-col::before {
    content: "";
    position: absolute;
    inset-block: 2px 0;
    inset-inline-start: -12px;
    border-inline-start: 1px solid rgb(16 53 58 / 20%);
  }
}

/* Layer a turquoise wave between the footer columns and legal links. */
.its-site #colophon {
  --footer-wave: #2bbabf;
}
.its-site #colophon .site-top-footer-wrap .site-footer-row-container-inner {
  position: relative;
  isolation: isolate;
}
.its-site #colophon .site-top-footer-wrap .site-footer-row-container-inner::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: auto 0 0;
  height: clamp(34px, 6vw, 86px);
  pointer-events: none;
  background: var(--footer-wave);
  clip-path: polygon(0 54%, 5% 60%, 10% 66%, 15% 70%, 20% 72%, 25% 70%, 30% 65%, 35% 58%, 40% 48%, 45% 37%, 50% 28%, 55% 22%, 60% 20%, 65% 23%, 70% 29%, 75% 36%, 80% 41%, 85% 42%, 90% 39%, 95% 31%, 100% 20%, 100% 100%, 0 100%);
  clip-path: shape(from 0 54%, curve to 28% 67% with 10% 66% / 18% 79%, curve to 60% 20% with 40% 53% / 48% 20%, curve to 84% 42% with 69% 20% / 76% 42%, curve to 100% 20% with 90% 42% / 96% 30%, line to 100% 100%, line to 0 100%, close);
}
.its-site #colophon .site-top-footer-inner-wrap {
  padding-bottom: clamp(62px, 8vw, 108px);
}
.its-site #colophon .site-bottom-footer-wrap .site-footer-row-container-inner {
  background: var(--footer-wave);
}
.its-site #colophon .its-footer-col h2 {
  font-size: 15px;
}
.its-site #colophon .its-footer-col > a {
  display: flex;
  align-items: baseline;
  gap: 8px;
}
.its-site #colophon .its-footer-col > a::before {
  content: "";
  flex: 0 0 5px;
  width: 5px;
  height: 5px;
  border: solid currentColor;
  border-width: 1px 1px 0 0;
  transform: translateY(-2px) rotate(45deg);
}
.its-site #colophon .its-footer-col a:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

.its-site #masthead .site-main-header-inner-wrap,
.its-site #masthead .site-mobile-main-header-inner-wrap {
  min-height: 68px;
}

/* Use the brand palette for the contact strip and navigation. */
.its-site #masthead .site-top-header-wrap .site-header-row-container-inner,
.its-site #masthead .site-mobile-top-header-wrap .site-header-row-container-inner {
  background: var(--its-chat-turquoise);
}
.its-site #masthead .its-topbar,
.its-site #masthead .its-topbar a {
  color: var(--its-chat-ink);
}
.its-site #masthead .site-main-header-wrap .site-header-row-container-inner,
.its-site #masthead .site-mobile-main-header-wrap .site-header-row-container-inner,
.its-site #masthead .kadence-sticky-header.item-is-fixed .site-header-row-container-inner {
  background-color: var(--its-chat-turquoise);
  background-repeat: no-repeat;
  border-block-width: 0;
}
.its-site #masthead .site-main-header-wrap .site-branding {
  padding-inline-end: 18px;
}
.its-site #masthead .header-button {
  background: var(--its-turquoise-deep);
  color: #fff;
  box-shadow: 0 3px 8px rgb(16 53 58 / 20%);
}
.its-site #masthead .header-button:hover {
  background: var(--its-chat-ink);
  color: #fff;
}

.its-site #masthead .site-top-header-wrap .site-header-row-container-inner,
.its-site #masthead .site-mobile-top-header-wrap .site-header-row-container-inner,
.its-site #masthead .kadence-sticky-header.item-is-fixed {
  border-block-width: 0;
  box-shadow: none;
}

/* Lift the active menu link above the turquoise header. */
.its-site #masthead .site-main-header-wrap .primary-menu-container > ul > li.menu-item > a:is(:hover, :focus-visible),
.its-site #masthead .site-main-header-wrap .primary-menu-container > ul > li:is(.current-menu-item, .current-menu-ancestor, .current-menu-parent) > a {
  background: #e6f7f6;
  box-shadow: 0 2px 5px rgb(7 86 90 / 18%);
}
.its-site #masthead .site-main-header-wrap .header-button {
  margin-inline-start: 12px;
}

/* Tighten the transition from featured languages to the recruitment banner. */
.its-site.home .its-content .its-home-languages {
  padding-block-end: 32px;
}
.its-site.home .its-content section.band:has(> .wrap > .banner) {
  padding-block: clamp(32px, 4vw, 48px);
}

/* Reduce the gaps between the first three homepage sections. */
.its-site.home .its-content .hero {
  padding-block-end: clamp(36px, 4vw, 56px);
}
.its-site.home .its-content section.band:has(#homeServices) {
  padding-block: clamp(40px, 4vw, 56px);
}
.its-site.home .its-content .its-home-risks {
  padding-block-start: clamp(36px, 4vw, 52px);
}

/* Footer icons, credentials and a decorative globe. */
.its-site #colophon .site-top-footer-wrap .site-footer-row-container-inner {
  background-image: url('assets/img/footer-globe.svg');
  background-repeat: no-repeat;
  background-position: right max(24px, calc((100% - 1152px) / 2 + 30px)) top 52px;
  background-size: clamp(110px, 16vw, 230px) auto;
}
.its-site #colophon .its-footer-icon {
  display: inline-block;
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  color: var(--its-turquoise-deep);
}
.its-site #colophon .its-footer-col h2,
.its-site #colophon .its-footer-col p:has(> .its-footer-icon),
.its-site #colophon .its-footer-col a:has(> .its-footer-icon) {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}
.its-site #colophon .its-footer-col a:has(> .its-footer-icon)::before {
  content: none;
}
.its-site #colophon .its-footer-badges {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 5px;
  margin: 15px 0 0;
  padding: 12px 0 0;
  border-block-start: 1px solid rgb(7 86 90 / 35%);
  list-style: none;
}
.its-site #colophon .its-footer-badges li {
  display: grid;
  justify-items: center;
  align-content: start;
  gap: 5px;
  padding-inline: 2px;
  font-size: 12px;
  line-height: 1.25;
  text-align: center;
}
.its-site #colophon .its-footer-badges li + li {
  border-inline-start: 1px solid rgb(7 86 90 / 25%);
}

/* Keep the theme control available in both header layouts. */
.its-site #masthead .its-theme-toggle {
  padding: 4px 10px;
  min-height: 32px;
  border: 1px solid currentColor;
  border-radius: 999px;
  background: transparent;
  color: inherit;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}
.its-theme-toggle:focus-visible, .its-modes summary:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}
.its-site #masthead .its-theme-toggle[aria-pressed="true"] {
  background: #47d6d6;
  color: #10353a;
}

/* The turquoise palette remains the default until a visitor chooses dark mode. */
:root[data-its-theme="dark"] {
  color-scheme: dark;
  --bg: #08272c;
  --soft: #10353a;
  --ink: #f1fbfa;
  --muted: #c6e2df;
  --line: #34636a;
  --field: #619195;
}
[data-its-theme="dark"] .its-site {
  --hero: #0b2c31;
  --hero-2: #123f45;
  --hero-line: var(--line);
  --hero-ink: var(--ink);
  --hero-muted: var(--muted);
  --hero-faint: var(--muted);
  --hero-accent: #8be7e2;
  --accent: #8be7e2;
  --accent-text: var(--accent);
  --accent-hover: #b8f6f2;
  --accent-soft: #23565b;
  --accent-soft-ink: var(--ink);
  --global-palette3: var(--ink);
  --global-palette4: var(--muted);
  --global-palette5: var(--muted);
  --global-palette7: var(--line);
  --global-palette8: var(--soft);
  --global-palette9: var(--bg);
  --global-palette-highlight: var(--accent);
  background: var(--bg);
  color: var(--ink);
}
[data-its-theme="dark"] .its-site #masthead :is(.site-top-header-wrap,.site-mobile-top-header-wrap) .site-header-row-container-inner {
  background: #071f23;
}
[data-its-theme="dark"] .its-site #masthead :is(.site-main-header-wrap,.site-mobile-main-header-wrap,.kadence-sticky-header.item-is-fixed) .site-header-row-container-inner,
[data-its-theme="dark"] .its-site #masthead .kadence-sticky-header.item-is-fixed {
  background: var(--soft);
}
[data-its-theme="dark"] .its-site #masthead :is(.its-topbar,.its-topbar a,.site-title,.site-description,.menu-toggle-open),
[data-its-theme="dark"] .its-site #masthead .primary-menu-container > ul > li.menu-item > a {
  color: var(--ink);
}
[data-its-theme="dark"] .its-site #masthead .primary-menu-container > ul > li.menu-item > a:is(:hover,:focus-visible),
[data-its-theme="dark"] .its-site #masthead .primary-menu-container > ul > li:is(.current-menu-item,.current-menu-ancestor,.current-menu-parent) > a {
  background: var(--accent-soft);
  color: var(--ink);
}
[data-its-theme="dark"] .its-site #masthead .primary-menu-container > ul > li > a:focus-visible,
[data-its-theme="dark"] .its-site #masthead :is(.header-button,.menu-toggle-open,.dropdown-nav-special-toggle):focus-visible {
  outline-color: var(--accent);
}
[data-its-theme="dark"] .its-site #masthead .header-button,
[data-its-theme="dark"] .its-site #mobile-drawer .mobile-navigation ul li.its-book-menu-item > a {
  background: #47d6d6;
  color: #10353a;
}
[data-its-theme="dark"] .its-site #masthead .header-button:hover { background: #8be7e2; }
[data-its-theme="dark"] .its-site #masthead .primary-menu-container .sub-menu,
[data-its-theme="dark"] .its-site #masthead .primary-menu-container .sub-menu a {
  background: var(--soft);
  border-color: var(--line);
  color: var(--ink);
}
[data-its-theme="dark"] .its-site #masthead .primary-menu-container .sub-menu a:is(:hover,:focus-visible) { background: var(--accent-soft); }
[data-its-theme="dark"] .its-site #masthead .its-mega-link strong { color: var(--ink); }
[data-its-theme="dark"] .its-site #masthead .its-mega-link > span { color: var(--muted); }
[data-its-theme="dark"] .its-site .its-content :is(.hero,.page-hero),
[data-its-theme="dark"] .its-site #colophon {
  --hero: #0b2c31;
  --hero-2: #123f45;
  --hero-line: var(--line);
  --its-turquoise-text: var(--ink);
  --its-chat-ink: var(--ink);
  --hero-ink: var(--ink);
  --hero-muted: var(--muted);
  --hero-faint: var(--muted);
  --hero-accent: var(--accent);
}
[data-its-theme="dark"] .its-site .its-content :is(.its-home-sectors,.its-home-languages) { background: var(--bg); }
[data-its-theme="dark"] .its-site .its-content :is(.its-home-sector,.its-language-art span,.its-featured-languages,.its-featured-grid a,.its-featured-bar input,.its-lang-group,.its-provider-option,.its-sector-card,.banner) {
  background: var(--soft);
  border-color: var(--line);
  color: var(--ink);
}
[data-its-theme="dark"] .its-site .its-content .band:has(#homeServices) {
  --accent-text: var(--accent);
  --accent-hover: #b8f6f2;
  --accent-soft: #23565b;
}
[data-its-theme="dark"] .its-site #colophon { --footer-wave: #071f23; }
[data-its-theme="dark"] .its-site #colophon .its-footer-icon { color: var(--accent); }

/* Style native interpretation disclosures and preserve their built-in controls. */
.its-site .its-content .its-modes {
  background: radial-gradient(ellipse at bottom left, var(--accent-soft), transparent 65%), var(--soft);
}
.its-modes .a::after {
  content: "";
  display: block;
  width: min(58%, 235px);
  aspect-ratio: 240 / 220;
  margin-block-start: 16px;
  background: url('assets/img/footer-globe.svg') center / contain no-repeat;
  opacity: .8;
}
.its-site .its-content .its-modes details {
  margin-block-end: 10px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--bg);
  box-shadow: 0 4px 12px rgb(7 32 36 / 10%);
}
.its-site .its-content .its-modes details[open] {
  border-color: var(--accent-text);
  background: var(--accent-soft);
}
.its-site .its-content .its-modes summary {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 12px 16px;
  color: var(--ink);
}
.its-modes summary svg {
  width: 44px;
  height: 44px;
  padding: 8px;
  flex: 0 0 44px;
  border-radius: 10px;
  color: var(--accent-text);
  background: var(--bg);
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linejoin: round;
  stroke-linecap: round;
}
.its-site .its-content .its-modes summary::after {
  content: "";
  flex: 0 0 8px;
  width: 8px;
  height: 8px;
  margin-inline-start: auto;
  margin-inline-end: 5px;
  border: solid currentColor;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
.its-site .its-content .its-modes details[open] summary::after { transform: rotate(225deg); }
.its-site .its-content .its-modes details > p { padding-inline: 74px 20px; }
@media (max-width: 800px) {
  .its-modes .a::after { display: none; }
  .its-site .its-content .its-modes details > p { padding-inline-start: 16px; }
}


/* Keep footer descriptions and addresses legible in both color modes. */
.its-site #colophon .its-footer-col p {
  color: var(--its-turquoise-text);
}
