@charset "UTF-8";
/* Presentation-only layer for the approved infrastructure consultation page. */
.infra-consult-page,
.infra-consult-modal {
  --blue: var(--ai-cobalt, #355bfa);
  --blue-dark: #2849d4;
  --consult-violet: var(--ai-violet, #7155ed);
  --consult-cyan: var(--ai-cyan, #32acc4);
  --consult-ink: var(--ai-ink, #14243f);
  --consult-body: var(--ai-body, #526581);
  --consult-line: var(--ai-line, #dde5f2);
  color: var(--consult-ink);
}
.infra-consult-page { background: #fff; }
.infra-consult-page .consult-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 70px 0 65px;
  border-color: var(--consult-line);
  background: #fff;
}
.infra-consult-page .consult-hero::before {
  content: "";
  position: absolute;
  inset: 0 0 0 43%;
  z-index: -1;
  background: url("assets/ai-network-field.svg") right center / cover no-repeat;
  opacity: .55;
  pointer-events: none;
}
.infra-consult-page .consult-hero-layout { gap: 60px; }
.infra-consult-page .consult-hero .eyebrow {
  display: inline-flex;
  align-items: center;
  padding: 5px 11px;
  border: 1px solid #dce5fb;
  border-radius: 6px;
  background: #f8faff;
  color: #516ec2;
  font-size: 10px;
  letter-spacing: .08em;
  margin-bottom: 23px;
}
.infra-consult-page .consult-hero h1 {
  color: var(--consult-ink);
  font-size: clamp(38px, 3.7vw, 50px);
  line-height: 1.35;
  font-weight: 650;
  letter-spacing: -.045em;
  margin-bottom: 23px;
}
.infra-consult-page .consult-hero h1 span { color: var(--blue); }
.infra-consult-page .consult-hero-copy > p {
  color: var(--consult-body);
  font-size: 15px;
  line-height: 1.95;
  margin-bottom: 28px;
}
.infra-consult-page .consult-actions { gap: 24px; flex-wrap: wrap; }
.infra-consult-page .consult-actions .btn {
  font-size: 13px;
  min-height: 46px;
  padding: 12px 19px;
  border-radius: 7px;
  box-shadow: 0 6px 18px #355bfa17;
}
.infra-consult-page .consult-actions .text-link { font-size: 12px; color: #536e9d; }
.infra-consult-page .consult-hero-copy > .consult-position {
  color: #71829c !important;
  font-size: 11px !important;
  line-height: 1.9 !important;
  margin-top: 23px !important;
}
.infra-consult-page .consult-device {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 29px 29px 25px;
  border: 1px solid #dbe4f4;
  border-radius: 19px;
  background: linear-gradient(145deg, #fff 22%, #f7faff);
  box-shadow: 0 20px 55px #244a9410, 0 2px 6px #244a9405;
}
.infra-consult-page .consult-device::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background-image: linear-gradient(#91a9d80b 1px, transparent 1px), linear-gradient(90deg, #91a9d80b 1px, transparent 1px);
  background-size: 27px 27px;
  pointer-events: none;
}
.infra-consult-page .consult-device::after {
  content: "";
  position: absolute;
  inset: 10px;
  z-index: -1;
  border: 1px solid #fff;
  border-radius: 12px;
  pointer-events: none;
}
.infra-consult-page .consult-device-top {
  padding-bottom: 16px;
  border-bottom: 1px solid #e4ebf7;
  color: #657c9d;
  font-size: 10px;
  letter-spacing: .025em;
}
.infra-consult-page .consult-device-top .status-dot {
  background: var(--consult-cyan);
  box-shadow: 0 0 0 4px #32acc40d;
}
.infra-consult-page .consult-device img { margin: 24px auto 20px; }
.infra-consult-page .consult-device-tags { gap: 8px; }
.infra-consult-page .consult-device-tags span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 5px 11px;
  color: #59749b;
  border: 1px solid #dce5f4;
  border-radius: 5px;
  background: #ffffffed;
  font-size: 10px;
}
.infra-consult-page .consult-device-tags span::before {
  content: "";
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--blue);
}
.infra-consult-page .consult-device-tags span:nth-child(2)::before { background: var(--consult-violet); }
.infra-consult-page .consult-device-tags span:nth-child(3)::before { background: var(--consult-cyan); }
.infra-consult-page .consult-device > p { color: #75869f; font-size: 10px; line-height: 1.9; margin-top: 18px; }
.infra-consult-page .consult-section { padding: 66px 0; border-color: var(--consult-line); }
.infra-consult-page .consult-heading { margin-bottom: 31px; }
.infra-consult-page .consult-heading h2 {
  color: var(--consult-ink);
  font-size: 32px;
  line-height: 1.45;
  letter-spacing: -.035em;
}
.infra-consult-page .consult-heading .eyebrow { color: #627dc0; font-size: 10px; letter-spacing: .13em; margin-bottom: 13px; }
.infra-consult-page .consult-heading > p { color: #697d99; font-size: 13px; line-height: 1.9; }
.infra-consult-page .consult-grid { gap: 23px; }
.infra-consult-page .consult-card {
  --consult-accent: var(--blue);
  position: relative;
  min-width: 0;
  border: 1px solid #dfe6f2;
  border-radius: 13px;
  padding: 28px 27px 26px;
  background: #fff;
  box-shadow: 0 9px 27px #263e7b07;
}
.infra-consult-page .consult-card:nth-child(2) { --consult-accent: var(--consult-violet); }
.infra-consult-page .consult-card:nth-child(3) { --consult-accent: var(--consult-cyan); }
.infra-consult-page .consult-card::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 27px;
  width: 36px;
  height: 2px;
  border-radius: 2px;
  background: var(--consult-accent);
  opacity: .65;
}
.infra-consult-page .consult-card-top { color: #6982a5; font-size: 10px; letter-spacing: .035em; margin-bottom: 25px; }
.infra-consult-page .consult-card h3 { color: #203858; font-size: 21px; line-height: 1.55; margin-bottom: 15px; }
.infra-consult-page .consult-card p { color: var(--consult-body); font-size: 13px; line-height: 1.95; margin-bottom: 24px; }
.infra-consult-page .consult-card small { color: #5e7b9e; font-size: 11px; line-height: 1.85; border-color: #e5ebf5; padding-top: 16px; }
.infra-consult-page .consult-barrier-result {
  align-items: center;
  gap: 22px;
  padding: 21px 24px;
  border: 1px solid #dfe7f5;
  border-left: 3px solid #b5c6f6;
  border-radius: 9px;
  background: linear-gradient(110deg, #f9fbff, #fff);
  margin-top: 25px;
}
.infra-consult-page .consult-barrier-result > span {
  color: #637eac;
  border: 1px solid #dde6f6;
  padding: 4px 9px;
  border-radius: 5px;
  background: #fff;
  font-size: 10px;
  line-height: 1.8;
  margin-top: 0;
}
.infra-consult-page .consult-barrier-result strong { color: #395780; font-size: 17px; line-height: 1.65; }
.infra-consult-page .consult-barrier-result p { color: #697f9e; font-size: 12px; line-height: 1.9; }
.infra-consult-page .consult-framework-card {
  background: linear-gradient(145deg, #fff, #fcfdff);
  box-shadow: var(--ai-shadow, 0 18px 48px #263e7b0c);
}
.infra-consult-page .consult-framework-card .consult-card-top { margin-bottom: 23px; }
.infra-consult-page .consult-card-symbol {
  width: 39px;
  height: 39px;
  border-radius: 10px;
  background: #f2f5ff;
  color: var(--consult-accent);
  border: 1px solid #e4eafb;
  box-shadow: inset 0 1px 0 #fff, 0 4px 10px #355bfa05;
  font-size: 21px;
}
.infra-consult-page .consult-framework-card:nth-child(2) .consult-card-symbol { background: #f7f4ff; border-color: #ece5fd; }
.infra-consult-page .consult-framework-card:nth-child(3) .consult-card-symbol { background: #f0fafb; border-color: #dceff3; }
.infra-consult-page .consult-scope-list { gap: 9px; padding-top: 18px; border-color: #e3eaf6; }
.infra-consult-page .consult-scope-list li { color: #617a9b; font-size: 11px; line-height: 1.9; }
.infra-consult-page .consult-scope-list li::before { background: var(--consult-accent); width: 4px; height: 4px; border-radius: 1px; opacity: .65; }
.infra-consult-page .consult-framework-note { color: #73839b; font-size: 11px; line-height: 1.9; margin-top: 21px; }
.infra-consult-page .consult-steps {
  position: relative;
  gap: 20px;
  padding: 28px 14px;
  border: 1px solid #e0e7f3;
  border-radius: 13px;
  background: linear-gradient(180deg, #fff, #fcfdff);
}
.infra-consult-page .consult-step { position: relative; display: block; padding: 0 14px; min-width: 0; }
.infra-consult-page .consult-step::after {
  content: "";
  position: absolute;
  top: 21px;
  left: 68px;
  right: -19px;
  height: 1px;
  background: linear-gradient(90deg, #cedaf4, #e4edf9);
}
.infra-consult-page .consult-step:last-child::after { display: none; }
.infra-consult-page .consult-step > span {
  position: relative;
  width: 43px;
  height: 43px;
  margin: 0 0 19px;
  border-color: #d7e2f6;
  border-radius: 12px;
  background: #fff;
  color: #5e7fc1;
  box-shadow: 0 4px 11px #355bfa08;
  font-size: 11px;
}
.infra-consult-page .consult-step h3 { color: #2b4263; font-size: 17px; line-height: 1.5; margin-bottom: 10px; }
.infra-consult-page .consult-step p { color: #677e9d; font-size: 12px; line-height: 1.9; }
.infra-consult-page .consult-contact {
  position: relative;
  padding: 70px 0 74px;
  border-color: var(--consult-line);
  background: #fff;
}
.infra-consult-page .consult-contact-layout { gap: 78px; }
.infra-consult-page .consult-contact-copy { padding-top: 7px; }
.infra-consult-page .consult-contact-copy .eyebrow { color: #5a76bb; font-size: 10px; letter-spacing: .13em; margin-bottom: 18px; }
.infra-consult-page .consult-contact h2 { color: var(--consult-ink); font-size: 36px; line-height: 1.5; margin-bottom: 23px; }
.infra-consult-page .consult-contact-copy > p { color: var(--consult-body); font-size: 14px; line-height: 1.95; }
.infra-consult-page .consult-scope {
  color: #70839e;
  border: 1px solid #e0e8f6;
  border-left: 3px solid #a8bcf2;
  border-radius: 7px;
  padding: 16px 18px;
  background: #fbfcff;
  font-size: 11px;
  line-height: 1.95;
}
.infra-consult-page .consult-form-panel {
  position: relative;
  min-width: 0;
  padding: 31px 30px 29px;
  border: 1px solid #dce5f4;
  border-radius: 14px;
  background: #fff;
  box-shadow: var(--ai-shadow, 0 18px 48px #263e7b0c);
}
.infra-consult-page .consult-form-panel::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 30px;
  width: 72px;
  height: 2px;
  border-radius: 2px;
  background: linear-gradient(90deg, var(--blue), var(--consult-violet), var(--consult-cyan));
  opacity: .7;
}
.infra-consult-page .consult-form-panel h3 { color: #263e60; font-size: 23px; line-height: 1.5; margin-bottom: 9px; }
.infra-consult-page .consult-form-panel > p { color: #73839c; font-size: 12px; line-height: 1.9; margin-bottom: 24px; }
.infra-consult-page .consult-form label,
.infra-consult-modal .consult-form label { color: #536b8c; font-size: 12px; line-height: 1.7; margin-bottom: 16px; }
.infra-consult-page .consult-form input:not([type="checkbox"]),
.infra-consult-page .consult-form textarea,
.infra-consult-modal .consult-form input:not([type="checkbox"]),
.infra-consult-modal .consult-form textarea {
  min-width: 0;
  width: 100%;
  color: #2c4262;
  background: #fcfdff;
  border: 1px solid #dce5f3;
  border-radius: 7px;
  box-shadow: inset 0 1px 2px #263e7b03;
  padding: 11px 12px;
  margin-top: 7px;
  font-size: 13px;
  line-height: 1.75;
}
.infra-consult-page .consult-form input::placeholder,
.infra-consult-page .consult-form textarea::placeholder,
.infra-consult-modal .consult-form input::placeholder,
.infra-consult-modal .consult-form textarea::placeholder { color: #8393ab; }
.infra-consult-page .consult-form input:not([type="checkbox"]):focus,
.infra-consult-page .consult-form textarea:focus,
.infra-consult-modal .consult-form input:not([type="checkbox"]):focus,
.infra-consult-modal .consult-form textarea:focus {
  outline: none;
  background: #fff;
  border-color: #9db3f4;
  box-shadow: 0 0 0 3px #355bfa0c;
}
.infra-consult-page .consult-form .consent,
.infra-consult-modal .consult-form .consent { color: #657d9d; font-size: 11px; line-height: 1.95; gap: 9px; margin-top: 19px; }
.infra-consult-page .consult-form .consent input,
.infra-consult-modal .consult-form .consent input { width: 15px; height: 15px; margin-top: 4px; accent-color: var(--blue); border-radius: 3px; }
.infra-consult-page .consult-form .consent button,
.infra-consult-modal .consult-form .consent button { color: #426bcb; text-decoration-color: #b4c5ec; }
.infra-consult-page .consult-form-footer,
.infra-consult-modal .consult-form-footer { gap: 16px; padding-top: 4px; }
.infra-consult-page .consult-form-footer > span,
.infra-consult-modal .consult-form-footer > span { color: #7689a4; font-size: 10px; line-height: 1.8; }
.infra-consult-page .consult-form-footer .btn,
.infra-consult-modal .consult-form-footer .btn { min-height: 44px; border-radius: 7px; font-size: 12px; padding: 11px 17px; }
.infra-consult-page .consult-status:not([hidden]),
.infra-consult-modal .consult-status:not([hidden]) { padding: 11px 13px; border: 1px solid #dce7fa; border-radius: 6px; background: #f6f9ff; color: #496caa; font-size: 11px; line-height: 1.85; margin-top: 15px; }
.infra-consult-modal .consult-status[hidden],
.infra-consult-modal .consult-modal-privacy[hidden],
.infra-consult-page .consult-status[hidden] { display: none; }
#site-modal:has(.infra-consult-modal),
#site-modal:has(#infra-privacy-title) { border-color: #d9e3f5; box-shadow: 0 24px 80px #17346a2c; background: #fff; }
.infra-consult-modal .modal-intro .eyebrow { color: #657fc0; font-size: 10px; letter-spacing: .12em; }
.infra-consult-modal .modal-intro h2 { color: var(--consult-ink); font-size: 28px; line-height: 1.5; letter-spacing: -.03em; margin-bottom: 13px; }
.infra-consult-modal .modal-intro > p { color: var(--consult-body); font-size: 13px; line-height: 1.9; }
.infra-consult-modal .consult-form { margin-top: 25px; }
.infra-consult-modal .consult-modal-privacy {
  padding: 18px 19px;
  border: 1px solid #dce6f5;
  border-left: 3px solid #acbff1;
  border-radius: 8px;
  background: #fafcff;
}
.infra-consult-modal .consult-modal-privacy h2 { color: #36537d; font-size: 20px; }
.infra-consult-modal .consult-modal-privacy p { color: #647c9d; font-size: 12px; line-height: 1.95; }
.infra-consult-modal .consult-preview-label { color: #6981a7; background: #f0f5fd; border: 1px solid #e2eaf8; }
@media (max-width: 1000px) {
  .infra-consult-page .consult-hero { padding-block: 54px; }
  .infra-consult-page .consult-hero-layout { gap: 34px; }
  .infra-consult-page .consult-hero h1 { font-size: 39px; }
  .infra-consult-page .consult-hero-copy > p { font-size: 14px; }
  .infra-consult-page .consult-device { padding: 24px 23px 22px; }
  .infra-consult-page .consult-heading h2 { font-size: 29px; }
  .infra-consult-page .consult-card { padding: 25px 23px; }
  .infra-consult-page .consult-card h3 { font-size: 20px; }
  .infra-consult-page .consult-contact-layout { gap: 43px; }
  .infra-consult-page .consult-steps { gap: 26px 17px; padding: 26px 12px; }
  .infra-consult-page .consult-step:nth-child(2n)::after { display: none; }
}
@media (max-width: 700px) {
  .infra-consult-page .consult-hero { padding: 38px 0 39px; }
  .infra-consult-page .consult-hero::before { inset: 25% -12% 0 15%; opacity: .3; }
  .infra-consult-page .consult-hero-layout { gap: 30px; }
  .infra-consult-page .consult-hero .eyebrow { font-size: 9px; padding: 4px 9px; margin-bottom: 20px; }
  .infra-consult-page .consult-hero h1 { font-size: clamp(31px, 8.6vw, 39px); line-height: 1.4; margin-bottom: 19px; }
  .infra-consult-page .consult-hero-copy > p { font-size: 14px; line-height: 1.95; margin-bottom: 25px; }
  .infra-consult-page .consult-hero-copy > .consult-position { font-size: 10px !important; margin-top: 19px !important; }
  .infra-consult-page .consult-actions { gap: 18px; }
  .infra-consult-page .consult-actions .btn { min-height: 44px; font-size: 12px; padding: 11px 15px; }
  .infra-consult-page .consult-actions .text-link { font-size: 11px; }
  .infra-consult-page .consult-device { padding: 24px 22px 22px; border-radius: 15px; }
  .infra-consult-page .consult-device-top { font-size: 9px; padding-bottom: 14px; gap: 12px; }
  .infra-consult-page .consult-device-top > span { min-width: 0; }
  .infra-consult-page .consult-device img { margin-top: 21px; margin-bottom: 18px; }
  .infra-consult-page .consult-device-tags span { font-size: 9px; padding: 4px 9px; gap: 6px; }
  .infra-consult-page .consult-device > p { font-size: 9px; line-height: 1.9; }
  .infra-consult-page .consult-section { padding: 43px 0; }
  .infra-consult-page .consult-heading { margin-bottom: 25px; }
  .infra-consult-page .consult-heading h2 { font-size: 28px; line-height: 1.5; }
  .infra-consult-page .consult-heading .eyebrow { font-size: 9px; margin-bottom: 12px; }
  .infra-consult-page .consult-heading > p { font-size: 12px; line-height: 1.9; }
  .infra-consult-page .consult-grid { gap: 17px; }
  .infra-consult-page .consult-card { padding: 27px 25px; border-radius: 12px; }
  .infra-consult-page .consult-card::before { left: 25px; }
  .infra-consult-page .consult-card-top { margin-bottom: 22px; }
  .infra-consult-page .consult-card h3 { font-size: 22px; margin-bottom: 15px; }
  .infra-consult-page .consult-card p { font-size: 14px; line-height: 1.95; margin-bottom: 23px; }
  .infra-consult-page .consult-card small { font-size: 11px; }
  .infra-consult-page .consult-barrier-result { padding: 19px 20px; margin-top: 20px; }
  .infra-consult-page .consult-barrier-result > span { display: inline-block; margin-bottom: 11px; }
  .infra-consult-page .consult-barrier-result strong { font-size: 16px; line-height: 1.75; }
  .infra-consult-page .consult-barrier-result p { font-size: 12px; line-height: 1.9; }
  .infra-consult-page .consult-card-symbol { width: 37px; height: 37px; font-size: 20px; }
  .infra-consult-page .consult-scope-list li { font-size: 12px; line-height: 1.9; }
  .infra-consult-page .consult-framework-note { font-size: 10px; line-height: 1.95; }
  .infra-consult-page .consult-steps { padding: 24px 22px; gap: 28px; }
  .infra-consult-page .consult-step { display: flex; gap: 15px; padding: 0; }
  .infra-consult-page .consult-step > span { width: 43px; height: 43px; margin: 0; flex-shrink: 0; }
  .infra-consult-page .consult-step > div { min-width: 0; }
  .infra-consult-page .consult-step:not(:last-child)::after { display: block; left: 21px; top: 50px; bottom: -20px; right: auto; width: 1px; height: auto; background: #d9e4f7; }
  .infra-consult-page .consult-step h3 { font-size: 17px; line-height: 1.55; margin: 3px 0 10px; }
  .infra-consult-page .consult-step p { font-size: 13px; line-height: 1.9; }
  .infra-consult-page .consult-contact { padding: 44px 0 48px; }
  .infra-consult-page .consult-contact-layout { gap: 29px; }
  .infra-consult-page .consult-contact-copy { padding-top: 0; }
  .infra-consult-page .consult-contact h2 { font-size: 31px; line-height: 1.5; }
  .infra-consult-page .consult-contact-copy > p { font-size: 14px; line-height: 1.95; }
  .infra-consult-page .consult-scope { padding: 15px 16px; font-size: 11px; line-height: 1.95; }
  .infra-consult-page .consult-form-panel { padding: 27px 22px 25px; border-radius: 12px; }
  .infra-consult-page .consult-form-panel::before { left: 22px; }
  .infra-consult-page .consult-form-panel h3 { font-size: 23px; }
  .infra-consult-page .consult-form-panel > p { font-size: 12px; line-height: 1.9; }
  .infra-consult-page .consult-form label,
  .infra-consult-modal .consult-form label { font-size: 12px; }
  .infra-consult-page .consult-form input:not([type="checkbox"]),
  .infra-consult-page .consult-form textarea,
  .infra-consult-modal .consult-form input:not([type="checkbox"]),
  .infra-consult-modal .consult-form textarea { font-size: 16px; padding: 10px 11px; line-height: 1.65; }
  .infra-consult-page .consult-form .consent,
  .infra-consult-modal .consult-form .consent { font-size: 10px; }
  .infra-consult-page .consult-form-footer,
  .infra-consult-modal .consult-form-footer { gap: 13px; }
  .infra-consult-page .consult-form-footer > span,
  .infra-consult-modal .consult-form-footer > span { font-size: 10px; }
  .infra-consult-page .consult-form-footer .btn,
  .infra-consult-modal .consult-form-footer .btn { min-height: 44px; font-size: 12px; }
  .infra-consult-modal .modal-intro h2 { font-size: 25px; line-height: 1.5; }
  .infra-consult-modal .modal-intro > p { font-size: 12px; line-height: 1.95; }
  .infra-consult-modal .consult-modal-privacy { padding: 16px; }
}
@media (max-width: 370px) {
  .infra-consult-page .consult-device-top { flex-direction: column; align-items: flex-start; gap: 8px; }
  .infra-consult-page .consult-actions { gap: 17px; }
  .infra-consult-page .consult-actions .btn { padding-inline: 12px; font-size: 11px; }
  .infra-consult-page .consult-actions .text-link { font-size: 10px; }
  .infra-consult-page .consult-device-tags { gap: 6px; }
  .infra-consult-page .consult-device-tags span { font-size: 8px; padding-inline: 7px; }
  .infra-consult-page .consult-heading h2 { font-size: 26px; }
}
