:root {
  --navy: #0f2c4a;
  --deep: #081f35;
  --blue: #10536e;
  --cyan: #04b9dc;
  --ink: #102033;
  --muted: #5d7287;
  --line: #dbe5ec;
  --wash: #f4f8fa;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: #fff; color: var(--ink); font-family: Arial, Helvetica, sans-serif; line-height: 1.6; }
a { color: inherit; }
.irc-shell { width: min(1160px, calc(100% - 40px)); margin: 0 auto; }
.irc-hero { padding: 76px 0 82px; background: radial-gradient(circle at 90% 10%, rgba(4,185,220,.14), transparent 26%), linear-gradient(180deg,#fff,#f7fafb); border-bottom: 1px solid #e3e9ee; }
.irc-hero-grid { display: grid; grid-template-columns: 1.08fr .92fr; gap: 64px; align-items: center; }
.irc-kicker { margin: 0 0 10px; color: var(--blue); font-size: 11px; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.irc-logo-row { display: flex; align-items: center; gap: 16px; margin: 0 0 24px; }
.irc-logo { width: 116px; height: 42px; transform: skewX(-12deg); transform-origin: 50% 100%; overflow: visible; }
.irc-logo-row strong { padding-left: 16px; border-left: 1px solid #cedae2; color: #536b7e; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; }
.irc-hero h1 { margin: 0; max-width: 780px; color: var(--navy); font-size: clamp(40px,5vw,58px); line-height: 1.02; letter-spacing: -.04em; }
.irc-lead { max-width: 790px; margin: 24px 0 0; color: #526b80; font-size: clamp(18px,2vw,21px); line-height: 1.65; }
.irc-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 30px; }
.irc-button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 21px; border: 1px solid var(--blue); border-radius: 8px; background: var(--blue); color: #fff!important; font-weight: 800; text-decoration: none; cursor: pointer; }
.irc-button.secondary { background: #fff; color: var(--navy)!important; border-color: #cbd8e2; }
.irc-note { margin: 17px 0 0; color: #6d8192; font-size: 13px; }
.irc-country-context { display: inline-flex; margin: 16px 0 0; padding: 8px 12px; border: 1px solid #cfe2e8; border-radius: 999px; background: #eef8fa; color: var(--blue); font-size: 12px; font-weight: 800; }
.irc-country-context[hidden] { display: none; }
.irc-panel { padding: 32px; border-radius: 20px; background: linear-gradient(145deg,#043083,#10536e 62%,#01c2e5 145%); color: #fff; box-shadow: 0 26px 62px rgba(15,44,74,.18); }
.irc-panel .irc-kicker { color: #b7edf5; }
.irc-panel h2 { margin: 0 0 22px; font-size: 30px; line-height: 1.12; }
.irc-panel-list { display: grid; gap: 10px; }
.irc-panel-item { display: grid; grid-template-columns: 36px 1fr; gap: 12px; padding: 14px; border: 1px solid rgba(255,255,255,.18); border-radius: 10px; background: rgba(255,255,255,.08); }
.irc-panel-item > span { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; background: rgba(255,255,255,.13); font-size: 10px; font-weight: 900; }
.irc-panel-item b,.irc-panel-item small { display: block; }
.irc-panel-item small { margin-top: 2px; color: #d8eaf0; line-height: 1.45; }
.irc-section { padding: 78px 0; }
.irc-section.alt { background: var(--wash); }
.irc-section.dark { background: radial-gradient(circle at 92% 8%, rgba(4,185,220,.15), transparent 24%), var(--deep); color: #fff; }
.irc-heading { max-width: 860px; }
.irc-heading h2 { margin: 0; color: var(--navy); font-size: clamp(32px,4vw,46px); line-height: 1.08; letter-spacing: -.03em; }
.irc-heading > p:not(.irc-kicker) { margin: 17px 0 0; color: var(--muted); font-size: 18px; }
.dark .irc-heading h2 { color: #fff; }
.dark .irc-heading > p:not(.irc-kicker) { color: #bdcfda; }
.dark .irc-kicker { color: #80d8e8; }
.irc-cards { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; margin-top: 36px; }
.irc-card { padding: 29px; border: 1px solid #dce6ec; border-radius: 14px; background: #fff; }
.irc-card .number { display: grid; width: 38px; height: 38px; place-items: center; margin-bottom: 20px; border-radius: 50%; background: #eaf5f8; color: var(--blue); font-size: 10px; font-weight: 900; }
.irc-card h3,.irc-step h3,.irc-service h3 { margin: 0; color: var(--navy); font-size: 22px; line-height: 1.2; }
.irc-card p,.irc-step p,.irc-service p { margin: 10px 0 0; color: var(--muted); }
.irc-services { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; margin-top: 36px; }
.irc-service { padding: 27px; border: 1px solid #2a4961; border-radius: 13px; background: #12354f; }
.irc-service > span { color: #72d4e6; font-size: 10px; font-weight: 900; letter-spacing: .14em; }
.irc-service h3 { margin-top: 11px; color: #fff; }
.irc-service p { color: #c2d3dc; }
.irc-split { display: grid; grid-template-columns: .92fr 1.08fr; gap: 70px; align-items: start; }
.irc-steps { display: grid; gap: 15px; }
.irc-step { display: grid; grid-template-columns: 42px 1fr; gap: 15px; padding-bottom: 17px; border-bottom: 1px solid #e1e8ed; }
.irc-step:last-child { border: 0; }
.irc-step > span { display: grid; width: 37px; height: 37px; place-items: center; border-radius: 10px; background: var(--navy); color: #fff; font-size: 11px; font-weight: 900; }
.irc-band { padding: 47px 0; background: #edf6f8; border-block: 1px solid #d8e6eb; }
.irc-band-grid { display: grid; grid-template-columns: 1fr .9fr; gap: 60px; align-items: center; }
.irc-band h2 { margin: 0; color: var(--navy); font-size: clamp(29px,3.6vw,41px); line-height: 1.08; }
.irc-band p { margin: 0; color: var(--muted); font-size: 17px; }
.irc-geography { background: #fbfcfd; border-block: 1px solid #e4ebef; }
.irc-regions { display: grid; grid-template-columns: repeat(2,1fr); gap: 16px; margin-top: 34px; }
.irc-regions-wide { grid-template-columns: repeat(3,1fr); }
.irc-region { padding: 23px; border: 1px solid #dce6ec; border-radius: 13px; background: #fff; }
.irc-region.featured { border-color: #abd9e3; background: linear-gradient(180deg,#f7fdfe,#fff); }
.irc-region h3 { margin: 0 0 14px; color: var(--navy); font-size: 19px; line-height: 1.2; }
.irc-country-list { display: flex; flex-wrap: wrap; gap: 7px; }
.irc-country-list span { display: inline-flex; align-items: center; min-height: 30px; padding: 5px 9px; border: 1px solid #d6e3e9; border-radius: 999px; background: #f6f9fa; color: #425e72; font-size: 12px; font-weight: 700; }
.irc-audiences { display: grid; gap: 0; padding: 28px; border: 1px solid #d9e5eb; border-radius: 16px; background: #f6fafb; }
.irc-audience { padding: 17px 0; border-bottom: 1px solid #dde7ec; }
.irc-audience:last-child { border: 0; }
.irc-audience b { color: var(--navy); font-size: 12px; letter-spacing: .07em; }
.irc-audience p { margin: 5px 0 0; color: var(--muted); }
.irc-trust { padding: 54px 0; background: #edf5f8; border-block: 1px solid #d8e5eb; }
.irc-trust-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 64px; align-items: center; }
.irc-trust h2 { margin: 0; color: var(--navy); font-size: clamp(31px,4vw,44px); line-height: 1.08; }
.irc-trust p { margin: 0; color: var(--muted); font-size: 17px; }
.irc-trust-links { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 19px; }
.irc-trust-links a { padding: 8px 11px; border: 1px solid #cbdce4; border-radius: 7px; background: #fff; color: var(--navy); font-size: 12px; font-weight: 800; text-decoration: none; }
.irc-form-section { background: #f8fafb; }
.irc-form-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 66px; align-items: start; }
.irc-assurance { margin-top: 25px; padding: 18px 20px; border-left: 3px solid var(--cyan); background: #edf7f9; }
.irc-assurance p { margin: 5px 0 0; color: var(--muted); font-size: 15px; }
.irc-form { display: grid; gap: 16px; padding: 29px; border: 1px solid #d9e4ea; border-radius: 16px; background: #fff; box-shadow: 0 17px 46px rgba(15,44,74,.07); }
.irc-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.irc-form label { display: grid; gap: 6px; color: #2d4860; font-size: 13px; font-weight: 800; }
.irc-form input,.irc-form select,.irc-form textarea { width: 100%; border: 1px solid #cbd8e1; border-radius: 8px; background: #fff; color: var(--ink); font: inherit; font-size: 15px; }
.irc-form input,.irc-form select { min-height: 46px; padding: 10px 12px; }
.irc-form textarea { min-height: 118px; padding: 11px 12px; resize: vertical; }
.irc-form input:focus,.irc-form select:focus,.irc-form textarea:focus { border-color: var(--blue); outline: 3px solid rgba(16,83,110,.09); }
.irc-check { grid-template-columns: 19px 1fr!important; align-items: start; gap: 9px!important; padding: 13px; border: 1px solid #dce7ec; border-radius: 9px; background: #f7fafb; font-weight: 500!important; line-height: 1.45; }
.irc-check input { width: 17px; height: 17px; min-height: 17px; margin: 2px 0 0; }
.irc-submit { width: 100%; }
.irc-submit:disabled { opacity: .7; cursor: wait; }
.irc-status { min-height: 22px; margin: 0; color: var(--blue); font-size: 13px; font-weight: 800; }
.irc-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.irc-boundary { padding: 29px 0; background: #eef4f7; border-block: 1px solid #d8e2e8; text-align: center; }
.irc-boundary .irc-shell { max-width: 1020px; }
.irc-boundary b { color: var(--navy); }
.irc-boundary p { margin: 7px 0 0; color: var(--muted); font-size: 14px; }
@media (max-width: 930px) {
  .irc-hero-grid,.irc-split,.irc-band-grid,.irc-trust-grid,.irc-form-grid { grid-template-columns: 1fr; gap: 40px; }
  .irc-cards,.irc-services { grid-template-columns: 1fr; }
  .irc-regions-wide { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 620px) {
  .irc-shell { width: min(100% - 30px,1160px); }
  .irc-hero { padding: 50px 0 55px; }
  .irc-logo { width: 92px; height: 34px; }
  .irc-logo-row strong { padding-left: 11px; font-size: 10px; }
  .irc-hero h1 { font-size: 39px; }
  .irc-actions { display: grid; }
  .irc-button { width: 100%; }
  .irc-panel,.irc-card,.irc-service,.irc-audiences,.irc-form { padding: 22px; }
  .irc-section { padding: 57px 0; }
  .irc-heading h2,.irc-trust h2 { font-size: 34px; }
  .irc-form-row { grid-template-columns: 1fr; }
  .irc-regions,.irc-regions-wide { grid-template-columns: 1fr; }
  .irc-country-context { border-radius: 10px; }
}
