:root {
  --il-ink: #10233f;
  --il-muted: #5c6f86;
  --il-line: #cddbe7;
  --il-paper: #ffffff;
  --il-mist: #f3f8fc;
  --il-lake: #1d77b6;
  --il-aqua: #42a7a0;
  --il-red: #e43c50;
  --il-sand: #c8923c;
}

body.city-page-ilawa {
  background: var(--il-paper);
  color: var(--il-ink);
  font-family: "Plus Jakarta Sans", sans-serif;
}

.il-main,
.il-main * {
  box-sizing: border-box;
}

.il-main {
  overflow: clip;
  background: var(--il-paper);
  color: var(--il-ink);
}

.il-shell {
  width: min(1180px, calc(100% - 40px));
  margin-inline: auto;
}

.il-kicker {
  margin: 0 0 15px;
  color: var(--il-red);
  font-size: .74rem;
  font-weight: 800;
  letter-spacing: .16em;
  line-height: 1.45;
  text-transform: uppercase;
}

.il-hero {
  position: relative;
  padding: 132px 0 72px;
  border-bottom: 1px solid var(--il-line);
  background:
    radial-gradient(circle at 86% 14%, rgba(66, 167, 160, .12), transparent 28%),
    linear-gradient(180deg, #fff 0%, #f8fbfd 100%);
}

.il-hero::after {
  position: absolute;
  inset: auto 0 0;
  height: 5px;
  content: "";
  background: linear-gradient(90deg, var(--il-lake) 0 31%, var(--il-aqua) 31% 58%, var(--il-sand) 58% 79%, var(--il-red) 79% 100%);
}

.il-crumbs {
  display: flex;
  gap: 9px;
  margin-bottom: 42px;
  color: var(--il-muted);
  font-size: .76rem;
  font-weight: 700;
}

.il-crumbs a {
  color: inherit;
  text-decoration: none;
}

.il-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(500px, 1.1fr);
  gap: 62px;
  align-items: center;
}

.il-hero h1 {
  max-width: 680px;
  margin: 0;
  color: var(--il-ink);
  font-size: clamp(3rem, 5vw, 5.25rem);
  font-weight: 800;
  letter-spacing: -.065em;
  line-height: .97;
}

.il-hero h1 em {
  display: block;
  color: var(--il-red);
  font-style: normal;
}

.il-lead {
  max-width: 630px;
  margin: 27px 0 0;
  color: var(--il-muted);
  font-size: clamp(1rem, 1.5vw, 1.18rem);
  line-height: 1.72;
}

.il-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 30px;
}

.il-btn {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 11px;
  padding: 13px 19px;
  border: 1px solid var(--il-line);
  border-radius: 12px;
  background: #fff;
  color: var(--il-ink);
  font-size: .86rem;
  font-weight: 800;
  text-decoration: none;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.il-btn--primary {
  border-color: var(--il-ink);
  background: var(--il-ink);
  color: #fff;
}

.il-btn:hover {
  transform: translateY(-2px);
  border-color: var(--il-lake);
  box-shadow: 0 11px 24px rgba(16, 35, 63, .11);
}

.il-btn:focus-visible,
.il-main summary:focus-visible,
.il-main a:focus-visible {
  outline: 3px solid rgba(29, 119, 182, .36);
  outline-offset: 4px;
}

.il-disclaimer {
  max-width: 620px;
  margin: 19px 0 0;
  color: #718198;
  font-size: .73rem;
  line-height: 1.58;
}

.il-hero-visual,
.il-signature figure {
  margin: 0;
}

.il-hero-visual img,
.il-signature img {
  display: block;
  width: 100%;
  height: auto;
}

.il-hero-visual figcaption,
.il-signature figcaption {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 18px;
  padding: 13px 3px 0;
  color: var(--il-muted);
  font-size: .7rem;
  line-height: 1.45;
}

.il-hero-visual figcaption strong,
.il-signature figcaption strong {
  color: var(--il-ink);
}

.il-context {
  padding: 0;
  border-bottom: 1px solid var(--il-line);
  background: #fff;
}

.il-context-grid {
  display: grid;
  grid-template-columns: 1.35fr repeat(3, .75fr);
  border-left: 1px solid var(--il-line);
}

.il-context-grid > * {
  min-width: 0;
  padding: 38px 25px;
  border-right: 1px solid var(--il-line);
}

.il-context h2 {
  max-width: 420px;
  margin: 0;
  font-size: clamp(1.55rem, 2.7vw, 2.55rem);
  font-weight: 800;
  letter-spacing: -.04em;
  line-height: 1.08;
}

.il-context article span {
  display: block;
  margin-bottom: 13px;
  color: var(--il-red);
  font-size: .66rem;
  font-weight: 800;
  letter-spacing: .12em;
  line-height: 1.4;
  text-transform: uppercase;
}

.il-context article h3,
.il-offer-list h3,
.il-decision-list h3 {
  margin: 0;
  color: var(--il-ink);
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.3;
}

.il-context article p,
.il-offer-list p,
.il-decision-list p {
  margin: 10px 0 0;
  color: var(--il-muted);
  font-size: .84rem;
  line-height: 1.65;
}

.il-section {
  padding: 88px 0;
}

.il-section-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, .48fr);
  gap: 60px;
  align-items: end;
  margin-bottom: 45px;
}

.il-section h2,
.il-source h2 {
  max-width: 760px;
  margin: 0;
  color: var(--il-ink);
  font-size: clamp(2rem, 4vw, 4rem);
  font-weight: 800;
  letter-spacing: -.055em;
  line-height: 1.03;
}

.il-section-head > p,
.il-signature-copy > p,
.il-decisions-grid > div > p,
.il-faq-grid > div > p,
.il-source-grid > div > p {
  margin: 0;
  color: var(--il-muted);
  font-size: .96rem;
  line-height: 1.75;
}

.il-offer-list {
  border-top: 1px solid var(--il-line);
}

.il-offer-list article {
  display: grid;
  grid-template-columns: 18px minmax(240px, .62fr) minmax(0, 1fr);
  gap: 18px;
  align-items: start;
  padding: 25px 0;
  border-bottom: 1px solid var(--il-line);
}

.il-offer-list i,
.il-decision-list i {
  display: block;
  width: 12px;
  height: 12px;
  margin-top: 5px;
  border: 3px solid currentColor;
  border-radius: 50%;
  color: var(--il-lake);
}

.il-offer-list article:nth-child(2) i { color: var(--il-aqua); }
.il-offer-list article:nth-child(3) i { color: var(--il-sand); }
.il-offer-list article:nth-child(4) i { color: var(--il-red); }

.il-offer-list p { margin: 0; }

.il-signature {
  padding: 88px 0;
  border-block: 1px solid var(--il-line);
  background:
    linear-gradient(rgba(29, 119, 182, .055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(29, 119, 182, .055) 1px, transparent 1px),
    var(--il-mist);
  background-size: 26px 26px;
}

.il-signature-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(330px, .72fr);
  gap: 64px;
  align-items: center;
}

.il-signature-copy ul {
  display: grid;
  gap: 15px;
  margin: 26px 0 0;
  padding: 0;
  list-style: none;
}

.il-signature-copy li {
  padding-left: 18px;
  border-left: 3px solid var(--il-lake);
  color: var(--il-muted);
  font-size: .86rem;
  line-height: 1.55;
}

.il-signature-copy li:nth-child(2) { border-color: var(--il-aqua); }
.il-signature-copy li:nth-child(3) { border-color: var(--il-sand); }
.il-signature-copy li:nth-child(4) { border-color: var(--il-red); }

.il-signature-copy li strong {
  display: block;
  margin-bottom: 3px;
  color: var(--il-ink);
}

.il-deliver {
  padding: 0;
  border-bottom: 1px solid var(--il-line);
  background: #fff;
}

.il-deliver-grid {
  display: grid;
  grid-template-columns: 1.5fr repeat(4, .72fr);
  border-left: 1px solid var(--il-line);
}

.il-deliver-grid > div {
  min-width: 0;
  padding: 32px 22px;
  border-right: 1px solid var(--il-line);
}

.il-deliver-grid strong,
.il-deliver-grid span {
  display: block;
}

.il-deliver-grid strong {
  color: var(--il-ink);
  font-size: .9rem;
  line-height: 1.45;
}

.il-deliver-grid > div:first-child strong {
  font-size: 1.14rem;
}

.il-deliver-grid span {
  margin-top: 8px;
  color: var(--il-muted);
  font-size: .72rem;
  line-height: 1.55;
}

.il-decisions-grid,
.il-faq-grid,
.il-source-grid {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(450px, 1.2fr);
  gap: 82px;
  align-items: start;
}

.il-decision-list {
  border-top: 1px solid var(--il-line);
}

.il-decision-list article {
  display: grid;
  grid-template-columns: 18px 1fr;
  gap: 14px;
  padding: 22px 0;
  border-bottom: 1px solid var(--il-line);
}

.il-decision-list article:nth-child(2) i { color: var(--il-aqua); }
.il-decision-list article:nth-child(3) i { color: var(--il-red); }

.il-faq {
  border-top: 1px solid var(--il-line);
  background: var(--il-mist);
}

.il-faq details {
  border-top: 1px solid var(--il-line);
}

.il-faq details:last-child {
  border-bottom: 1px solid var(--il-line);
}

.il-faq summary {
  display: flex;
  min-height: 62px;
  cursor: pointer;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 18px 2px;
  color: var(--il-ink);
  font-size: .9rem;
  font-weight: 800;
  list-style: none;
}

.il-faq summary::-webkit-details-marker { display: none; }

.il-faq details p {
  margin: 0;
  padding: 0 44px 20px 2px;
  color: var(--il-muted);
  font-size: .84rem;
  line-height: 1.7;
}

.il-source {
  padding: 64px 0;
  border-block: 1px solid var(--il-line);
  background: #fff;
}

.il-source h2 {
  font-size: clamp(1.6rem, 3vw, 3.1rem);
}

.il-source a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  color: var(--il-lake);
  font-size: .86rem;
  font-weight: 800;
  text-underline-offset: 4px;
}

.il-source-grid > div:last-child p {
  margin-top: 18px;
  font-size: .78rem;
}

@media (max-width: 980px) {
  .il-hero-grid,
  .il-signature-grid,
  .il-decisions-grid,
  .il-faq-grid,
  .il-source-grid {
    grid-template-columns: 1fr;
  }

  .il-hero-grid { gap: 44px; }
  .il-context-grid { grid-template-columns: repeat(3, 1fr); }
  .il-context-grid > div { grid-column: 1 / -1; }
  .il-deliver-grid { grid-template-columns: repeat(2, 1fr); }
  .il-deliver-grid > div:first-child { grid-column: 1 / -1; }
}

@media (max-width: 700px) {
  .il-shell { width: min(100% - 32px, 560px); }
  .il-hero { padding: 102px 0 50px; }
  .il-crumbs { margin-bottom: 28px; font-size: .68rem; }
  .il-hero h1 { font-size: clamp(2.48rem, 12.2vw, 3.55rem); }
  .il-lead { font-size: .98rem; }
  .il-actions { display: grid; }
  .il-btn { width: 100%; }
  .il-hero-visual figcaption,
  .il-signature figcaption { align-items: flex-start; flex-direction: column; gap: 3px; }
  .il-context-grid { display: block; border-left: 0; }
  .il-context-grid > * { padding: 29px 16px; border-right: 0; border-bottom: 1px solid var(--il-line); }
  .il-context-grid > *:last-child { border-bottom: 0; }
  .il-section,
  .il-signature { padding: 66px 0; }
  .il-section-head { grid-template-columns: 1fr; gap: 18px; margin-bottom: 32px; }
  .il-section h2 { font-size: clamp(2rem, 10vw, 3rem); }
  .il-offer-list article { grid-template-columns: 18px 1fr; gap: 12px; }
  .il-offer-list article p { grid-column: 2; }
  .il-signature-grid { gap: 38px; }
  .il-deliver-grid { display: block; border-left: 0; }
  .il-deliver-grid > div { padding: 25px 16px; border-right: 0; border-bottom: 1px solid var(--il-line); }
  .il-deliver-grid > div:last-child { border-bottom: 0; }
  .il-decisions-grid,
  .il-faq-grid,
  .il-source-grid { gap: 35px; }
  .il-source { padding: 52px 0; }
}

@media (prefers-reduced-motion: reduce) {
  .il-main *,
  .il-main *::before,
  .il-main *::after {
    scroll-behavior: auto !important;
    transition: none !important;
  }
}
