.comprehensive-page { background: var(--paper); }

.comprehensive-hero {
  display: flex;
  min-height: calc(100svh - 110px);
  align-items: center;
  border-top: 1px solid #e7e5df;
  background: linear-gradient(90deg, rgba(217, 37, 54, 0.035) 1px, transparent 1px) 0 0 / 120px 100%, var(--paper);
}

.comprehensive-hero-inner {
  display: grid;
  align-items: center;
  padding: clamp(68px, 8.2vh, 104px) 0;
  grid-template-columns: minmax(0, 1.16fr) minmax(390px, 0.84fr);
  gap: clamp(66px, 7.4vw, 116px);
}

.comprehensive-hero-copy { max-width: 860px; }

.comprehensive-breadcrumbs {
  display: flex;
  margin-bottom: 42px;
  align-items: center;
  flex-wrap: wrap;
  gap: 9px;
  color: #7a7b7d;
  font-size: 12px;
  line-height: 1.4;
}

.comprehensive-breadcrumbs a { transition: color 180ms ease; }
.comprehensive-breadcrumbs a:hover,
.comprehensive-breadcrumbs a:focus-visible { color: var(--red); }

.comprehensive-hero h1 {
  max-width: 900px;
  margin: 0;
  font-size: clamp(43px, 4vw, 61px);
  font-weight: 500;
  letter-spacing: -0.052em;
  line-height: 1.045;
  text-wrap: balance;
}

.comprehensive-hero-lead {
  max-width: 790px;
  margin: 28px 0 0;
  color: var(--muted);
  font-size: clamp(18px, 1.32vw, 20px);
  line-height: 1.58;
}

.comprehensive-facts {
  display: flex;
  margin: 29px 0 0;
  padding: 0;
  flex-wrap: wrap;
  list-style: none;
}

.comprehensive-facts li {
  position: relative;
  padding: 0 18px 0 17px;
  color: #55565a;
  font-size: 12px;
  font-weight: 500;
}

.comprehensive-facts li:first-child { padding-left: 14px; }
.comprehensive-facts li::before { position: absolute; top: 6px; left: 0; width: 5px; height: 5px; border-radius: 50%; background: var(--red); content: ""; }

.comprehensive-hero-actions { display: flex; margin-top: 34px; align-items: center; flex-wrap: wrap; gap: 26px; }
.comprehensive-primary-button { min-width: 274px; }
.comprehensive-secondary-link { display: inline-flex; min-height: 44px; align-items: center; padding: 6px 0 3px; border-bottom: 1px solid #a6a5a1; font-size: 14px; font-weight: 500; transition: border-color 180ms ease, color 180ms ease; }
.comprehensive-secondary-link:hover,
.comprehensive-secondary-link:focus-visible { border-color: var(--red); color: var(--red); }

.comprehensive-system { display: flex; min-height: 510px; align-self: stretch; flex-direction: column; justify-content: center; padding: 39px 40px 38px; border: 1px solid #d6d4cf; background: rgba(255, 255, 255, 0.76); box-shadow: 0 26px 70px rgba(32, 33, 36, 0.07); }
.comprehensive-system > p { margin: 0 0 23px; color: var(--red); font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; }
.comprehensive-system > strong { max-width: 390px; font-size: clamp(29px, 2.45vw, 40px); font-weight: 500; letter-spacing: -0.043em; line-height: 1.12; }
.comprehensive-system ol { margin: 38px 0 0; padding: 0; border-top: 1px solid #d8d6d1; list-style: none; }
.comprehensive-system li { display: grid; min-height: 51px; align-items: center; border-bottom: 1px solid #d8d6d1; grid-template-columns: 44px 1fr; }
.comprehensive-system li span { color: var(--red); font-size: 10px; font-weight: 600; letter-spacing: 0.1em; }
.comprehensive-system li b { font-size: 14px; font-weight: 500; }
.comprehensive-system small { max-width: 370px; margin-top: 23px; color: var(--muted); font-size: 13px; line-height: 1.55; }

.comprehensive-control,
.comprehensive-priority,
.comprehensive-fit,
.comprehensive-formats { padding: clamp(64px, 6.2vw, 80px) 0; }

.comprehensive-section-header { max-width: 960px; margin-bottom: 48px; }
.comprehensive-section-header h2,
.comprehensive-priority-copy h2 { margin: 0; font-size: clamp(34px, 3.35vw, 49px); font-weight: 500; letter-spacing: -0.042em; line-height: 1.1; text-wrap: balance; }
.comprehensive-section-header > p:last-child,
.comprehensive-priority-copy > p:not(.section-label):not(.comprehensive-regulation-note) { max-width: 800px; margin: 24px 0 0; color: var(--muted); font-size: 17px; line-height: 1.58; }

.comprehensive-control { background: var(--graphite); color: var(--white); }
.comprehensive-light-header { max-width: 1010px; }
.comprehensive-light-label { margin: 0 0 20px; color: #ff6674; font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; }
.comprehensive-light-header > p:last-child { color: #dedfe1; }
.comprehensive-control-grid { display: grid; border-top: 1px solid #4d4e51; border-left: 1px solid #4d4e51; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.comprehensive-control-grid article { min-height: 244px; padding: 27px 27px 30px; border-right: 1px solid #4d4e51; border-bottom: 1px solid #4d4e51; background: #26272a; }
.comprehensive-control-grid article > span { display: block; margin-bottom: 34px; color: #ff6674; font-size: 11px; font-weight: 600; letter-spacing: 0.11em; }
.comprehensive-control-grid h3 { margin: 0 0 14px; color: var(--white); font-size: 22px; font-weight: 500; letter-spacing: -0.027em; line-height: 1.2; }
.comprehensive-control-grid p { margin: 0; color: #dedfe1; font-size: 14px; line-height: 1.62; }
.comprehensive-geo-link { display: grid; min-height: 82px; margin-top: 18px; align-items: center; padding: 18px 22px; border: 1px solid #5b5c60; background: #2b2c2f; grid-template-columns: 210px minmax(0, 1fr) 28px; gap: 22px; transition: border-color 180ms ease, background 180ms ease; }
.comprehensive-geo-link:hover,
.comprehensive-geo-link:focus-visible { border-color: #ff6674; background: #30282b; }
.comprehensive-geo-link > span { color: #ff8b95; font-size: 10px; font-weight: 600; letter-spacing: 0.11em; line-height: 1.4; text-transform: uppercase; }
.comprehensive-geo-link strong { color: var(--white); font-size: 17px; font-weight: 500; line-height: 1.4; }
.comprehensive-geo-link i { color: #ff6674; font-size: 22px; font-style: normal; transition: transform 180ms ease; }
.comprehensive-geo-link:hover i,
.comprehensive-geo-link:focus-visible i { transform: translateX(4px); }
.comprehensive-control-note { max-width: 1010px; margin: 32px 0 0; padding-left: 20px; border-left: 2px solid var(--red); color: #e3e3e4; font-size: 17px; font-weight: 500; line-height: 1.62; }

.comprehensive-priority { border-top: 1px solid #e3e1dc; background: var(--paper); }
.comprehensive-priority-inner { display: grid; align-items: start; grid-template-columns: minmax(0, 0.9fr) minmax(480px, 1.1fr); gap: clamp(62px, 8vw, 126px); }
.comprehensive-priority-copy { position: sticky; top: 138px; }
.comprehensive-process { display: grid; min-height: 68px; align-items: center; margin-top: 33px; padding: 0 15px; border-top: 1px solid #d6d4cf; border-bottom: 1px solid #d6d4cf; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr; gap: 7px; }
.comprehensive-process span { font-size: 11px; font-weight: 500; text-align: center; }
.comprehensive-process i { color: var(--red); font-size: 15px; font-style: normal; }
.comprehensive-regulation-note { max-width: 650px; margin: 25px 0 0; padding-left: 16px; border-left: 2px solid var(--red); color: #525356; font-size: 14px; line-height: 1.58; }
.comprehensive-priority-list { margin: 0; padding: 0; border-top: 1px solid #d8d6d1; list-style: none; }
.comprehensive-priority-list li { display: grid; min-height: 190px; align-items: start; padding: 27px 27px 30px; border-right: 1px solid #d8d6d1; border-bottom: 1px solid #d8d6d1; border-left: 1px solid #d8d6d1; grid-template-columns: 54px 1fr; gap: 8px; }
.comprehensive-priority-list > li > span { color: var(--red); font-size: 10px; font-weight: 600; letter-spacing: 0.11em; }
.comprehensive-priority-list small { display: block; margin-bottom: 14px; color: #858689; font-size: 10px; font-weight: 600; letter-spacing: 0.11em; text-transform: uppercase; }
.comprehensive-priority-list h3 { margin: 0 0 12px; font-size: 22px; font-weight: 500; letter-spacing: -0.026em; line-height: 1.22; }
.comprehensive-priority-list p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.6; }

.comprehensive-fit { background: var(--white); }
.comprehensive-fit-grid { display: grid; border-top: 1px solid #d8d6d1; border-left: 1px solid #d8d6d1; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.comprehensive-fit-grid article { min-height: 315px; padding: 31px 33px 36px; border-right: 1px solid #d8d6d1; border-bottom: 1px solid #d8d6d1; background: var(--paper); }
.comprehensive-card-meta { display: flex; margin-bottom: 62px; align-items: center; justify-content: space-between; }
.comprehensive-card-meta span,
.comprehensive-card-meta small { color: var(--red); font-size: 10px; font-weight: 600; letter-spacing: 0.11em; text-transform: uppercase; }
.comprehensive-card-meta small { color: #858689; }
.comprehensive-fit-grid h3 { margin: 0 0 17px; font-size: clamp(25px, 2.1vw, 31px); font-weight: 500; letter-spacing: -0.032em; line-height: 1.18; }
.comprehensive-fit-grid p { max-width: 570px; margin: 0; color: var(--muted); font-size: 15px; line-height: 1.64; }

.comprehensive-formats { border-top: 1px solid #e3e1dc; background: var(--white); }
.comprehensive-format-grid { display: grid; border-top: 1px solid #d8d6d1; border-left: 1px solid #d8d6d1; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.comprehensive-format-grid article { position: relative; min-height: 325px; padding: 31px 32px 36px; border-right: 1px solid #d8d6d1; border-bottom: 1px solid #d8d6d1; background: var(--paper); }
.comprehensive-format-grid article > span { display: block; margin-bottom: 68px; color: var(--red); font-size: 10px; font-weight: 600; letter-spacing: 0.11em; text-transform: uppercase; }
.comprehensive-format-grid h3 { margin: 0 0 17px; font-size: clamp(25px, 2.1vw, 31px); font-weight: 500; letter-spacing: -0.032em; line-height: 1.18; }
.comprehensive-format-grid p { max-width: 580px; margin: 0; color: var(--muted); font-size: 15px; line-height: 1.64; }
.comprehensive-format-grid .is-featured { background: rgba(217, 37, 54, 0.035); }
.comprehensive-format-grid .is-featured::before { position: absolute; inset: -1px; z-index: 1; border: 1px solid var(--red); content: ""; pointer-events: none; }
.comprehensive-commercial { display: grid; align-items: center; margin-top: 24px; padding: 27px 31px; border: 1px solid #d8d6d1; background: #f7f5f1; grid-template-columns: minmax(300px, 0.82fr) minmax(0, 1.18fr); gap: 48px; }
.comprehensive-commercial span { display: block; margin-bottom: 9px; color: var(--red); font-size: 10px; font-weight: 600; letter-spacing: 0.11em; text-transform: uppercase; }
.comprehensive-commercial strong { display: block; max-width: 460px; font-size: 20px; font-weight: 500; line-height: 1.35; }
.comprehensive-commercial p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.62; }
.comprehensive-contact { background: var(--paper); }
.comprehensive-contact .contact-inner { min-height: 0; padding-top: 72px; padding-bottom: 72px; }
.comprehensive-contact h2 { font-size: clamp(34px, 3.4vw, 50px); letter-spacing: -0.042em; line-height: 1.1; }

@media (max-width: 1060px) {
  .comprehensive-hero { min-height: auto; }
  .comprehensive-hero-inner { padding: 64px 0 82px; grid-template-columns: 1fr; gap: 50px; }
  .comprehensive-system { min-height: auto; }
  .comprehensive-control-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .comprehensive-priority-inner { grid-template-columns: minmax(0, 0.88fr) minmax(430px, 1.12fr); gap: 54px; }
}

@media (max-width: 930px) {
  .comprehensive-priority-inner { grid-template-columns: 1fr; gap: 46px; }
  .comprehensive-priority-copy { position: static; }
  .comprehensive-commercial { grid-template-columns: 1fr; gap: 24px; }
}

@media (max-width: 700px) {
  .comprehensive-hero { background: linear-gradient(90deg, rgba(217, 37, 54, 0.035) 1px, transparent 1px) 0 0 / 72px 100%, var(--paper); }
  .comprehensive-hero-inner { padding: 46px 0 62px; gap: 32px; }
  .comprehensive-breadcrumbs { margin-bottom: 29px; font-size: 11px; }
  .comprehensive-hero h1 { font-size: clamp(34px, 9.25vw, 43px); line-height: 1.045; }
  .comprehensive-hero-lead { margin-top: 22px; font-size: 16px; line-height: 1.55; }
  .comprehensive-facts { align-items: flex-start; flex-direction: column; gap: 10px; }
  .comprehensive-facts li { padding-left: 14px; }
  .comprehensive-hero-actions { align-items: stretch; flex-direction: column; gap: 13px; }
  .comprehensive-primary-button { width: 100%; min-width: 0; }
  .comprehensive-secondary-link { align-self: flex-start; }
  .comprehensive-system { padding: 23px 20px 22px; }
  .comprehensive-system > strong { font-size: 28px; }
  .comprehensive-system ol { margin-top: 23px; }
  .comprehensive-control,
  .comprehensive-priority,
  .comprehensive-fit,
  .comprehensive-formats { padding: 50px 0; }
  .comprehensive-control { padding: 44px 0; }
  .comprehensive-section-header { margin-bottom: 34px; }
  .comprehensive-section-header h2,
  .comprehensive-priority-copy h2,
  .comprehensive-contact h2 { font-size: clamp(30px, 8.3vw, 38px); }
  .comprehensive-section-header > p:last-child,
  .comprehensive-priority-copy > p:not(.section-label):not(.comprehensive-regulation-note) { font-size: 15px; }
  .comprehensive-control-grid,
  .comprehensive-fit-grid,
  .comprehensive-format-grid { grid-template-columns: 1fr; }
  .comprehensive-control-grid article,
  .comprehensive-fit-grid article,
  .comprehensive-format-grid article { min-height: 0; padding: 24px 22px 27px; }
  .comprehensive-control-grid article > span,
  .comprehensive-card-meta,
  .comprehensive-format-grid article > span { margin-bottom: 23px; }
  .comprehensive-geo-link { padding: 20px; grid-template-columns: 1fr 24px; gap: 9px 14px; }
  .comprehensive-geo-link > span { grid-column: 1 / -1; }
  .comprehensive-geo-link i { grid-column: 2; grid-row: 2; }
  .comprehensive-control-note { margin-top: 24px; padding-left: 14px; font-size: 15px; }
  .comprehensive-process { min-height: 104px; margin-top: 27px; padding: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; }
  .comprehensive-process span { display: grid; min-height: 52px; place-items: center; padding: 8px; }
  .comprehensive-process i { display: none; }
  .comprehensive-process span:nth-of-type(odd) { border-right: 1px solid #d6d4cf; }
  .comprehensive-process span:nth-of-type(-n + 2) { border-bottom: 1px solid #d6d4cf; }
  .comprehensive-priority-list li { min-height: 0; padding: 23px 20px 25px; grid-template-columns: 31px 1fr; gap: 5px; }
  .comprehensive-commercial { margin-top: 18px; padding: 23px 21px 25px; }
  .comprehensive-contact .contact-inner { padding-top: 48px; padding-bottom: 48px; }
}
