/* GIS R7 New-SST reference correction v2: complete replacement, not an extra old-theme layer.
   Scope body.gis-r7; legacy compatibility requires the additional gis-r7-legacy class.
   Reference spec SHA256 31a8820e1176c8afcd2c7cabe1a4346632234e14bf8fee88870343028c9767b3. */
/* Byte-identical new-sst.ru fonts, copied and licensed by root.
   Same-origin only. Every face swaps to the system fallback while loading. */
@font-face { font-family: "Inter"; font-style: normal; font-weight: 100 900; font-display: swap; src: url("/assets/fonts/inter-var-cyrillic.woff2") format("woff2"); unicode-range: U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 100 900; font-display: swap; src: url("/assets/fonts/inter-var-latin.woff2") format("woff2"); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: "Inter Tight"; font-style: normal; font-weight: 100 900; font-display: swap; src: url("/assets/fonts/intertight-var-cyrillic.woff2") format("woff2"); unicode-range: U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family: "Inter Tight"; font-style: normal; font-weight: 100 900; font-display: swap; src: url("/assets/fonts/intertight-var-latin.woff2") format("woff2"); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: "PT Mono"; font-style: normal; font-weight: 400; font-display: swap; src: url("/assets/fonts/ptmono-400-cyrillic.woff2") format("woff2"); unicode-range: U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family: "PT Mono"; font-style: normal; font-weight: 400; font-display: swap; src: url("/assets/fonts/ptmono-400-latin.woff2") format("woff2"); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
/* GIS visual R7. Opt-in only: use body.gis-r7 on the six rebuilt homes,
   the rebuilt reference article, the new connection library and its articles.
   No fonts, imports, external assets or script dependencies. Load after R6. */
body.gis-r7 {
  --r7-paper: #f8faff;
  --r7-white: #ffffff;
  --r7-ink: #132844;
  --r7-muted: #51647c;
  --r7-navy: #132844;
  --r7-navy-deep: #132844;
  --r7-dark-muted: #dce5f1;
  --r7-line: #dce5f1;
  --r7-accent: #2456d9;
  --r7-accent-hover: #163eab;
  --r7-lime: #2456d9;
  --r7-mint: #edf3ff;
  --r7-sand: #edf3ff;
  --r7-error: #a32833;
  --r7-radius: 8px;
  --r7-body-font: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --r7-serif: "Inter Tight", "Inter", system-ui, sans-serif;
  --gis-ink: var(--r7-ink);
  --gis-muted: var(--r7-muted);
  --gis-blue: var(--r7-accent);
  --gis-line: var(--r7-line);
  --gis-surface: var(--r7-paper);
  margin: 0;
  color: var(--r7-ink);
  background: var(--r7-paper);
  font: 400 17px/1.65 var(--r7-body-font);
  -webkit-text-size-adjust: 100%;
}
body.gis-r7 *, body.gis-r7 *::before, body.gis-r7 *::after { box-sizing: border-box; }
body.gis-r7 [hidden] { display: none !important; }
body.gis-r7 :where(main, section, article, aside, nav, form, figure, div, li) { min-width: 0; }
body.gis-r7 a { color: var(--r7-accent); text-underline-offset: .22em; text-decoration-thickness: 1px; }
body.gis-r7 a:hover { text-decoration-thickness: 2px; }
body.gis-r7 button, body.gis-r7 input, body.gis-r7 textarea, body.gis-r7 select { font: inherit; }
body.gis-r7 img, body.gis-r7 svg, body.gis-r7 video { display: block; max-width: 100%; }
body.gis-r7 img { height: auto; }
body.gis-r7 figure { margin: 0; }
body.gis-r7 p { margin: 0 0 18px; }
body.gis-r7 :where(h1, h2, h3, h4) { overflow-wrap: break-word; }
body.gis-r7 h1 {
  margin: 0 0 24px; font-size: clamp(38px, 4.6vw, 66px); line-height: 1.07;
  letter-spacing: -.048em; font-weight: 700; text-wrap: balance;
}
body.gis-r7 h2 {
  margin: 0 0 20px; font-size: clamp(28px, 2.8vw, 42px); line-height: 1.17;
  letter-spacing: -.035em; font-weight: 650; text-wrap: balance;
}
body.gis-r7 h3 { margin: 0 0 12px; font-size: 22px; line-height: 1.3; letter-spacing: -.02em; font-weight: 650; }
body.gis-r7 h4 { margin: 0 0 10px; font-size: 18px; line-height: 1.4; }
body.gis-r7 :focus-visible { outline: 3px solid var(--r7-accent); outline-offset: 4px; }
body.gis-r7 :where(.r7-hero, .r7-section--dark, .r7-section-ink, section.r7-contact, .r7-footer, .r7-price-card, .r7-article-next) :focus-visible {
  outline-color: var(--r7-lime);
}
body.gis-r7 :where(.gis-form, .r7-price-detail, .r7-contact .gis-form) :focus-visible { outline-color: var(--r7-accent); }
body.gis-r7 .gis-shell { width: min(1240px, calc(100% - 80px)); margin-inline: auto; }
body.gis-r7 .gis-skip {
  position: fixed; z-index: 100; inset: 10px auto auto 16px; transform: translateY(-160%);
  padding: 12px 18px; border: 2px solid var(--r7-accent); border-radius: var(--r7-radius);
  background: var(--r7-white); color: var(--r7-ink); font-weight: 650;
}
body.gis-r7 .gis-skip:focus { transform: none; }

/* Header: verified commercial identity and a small number of useful paths. */
body.gis-r7 .r7-header { background: var(--r7-paper); border-bottom: 1px solid var(--r7-line); }
body.gis-r7 .r7-header > .gis-shell { display: flex; min-height: 94px; align-items: center; justify-content: space-between; gap: 32px; padding-block: 16px; }
body.gis-r7 .r7-brand, body.gis-r7 .gis-logo {
  display: inline-flex; align-items: center; gap: 13px; max-width: 360px;
  color: var(--r7-ink); text-decoration: none; font-size: 21px; font-weight: 700;
  line-height: 1.2; letter-spacing: -.035em;
}
body.gis-r7 .r7-brand-copy { display: flex; flex-direction: column; gap: 6px; }
body.gis-r7 .r7-brand small, body.gis-r7 .gis-logo small {
  display: block; color: var(--r7-muted); font-size: 12px; line-height: 1.5;
  font-weight: 450; letter-spacing: .01em;
}
body.gis-r7 .r7-brand-mark {
  display: grid; place-items: center; flex: 0 0 40px; width: 40px; height: 40px;
  border-radius: 6px; background: var(--r7-navy); color: var(--r7-lime); font-size: 17px; letter-spacing: -.06em;
}
body.gis-r7 .r7-nav { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 10px 24px; font-size: 14px; font-weight: 600; }
body.gis-r7 .r7-nav > a { display: inline-flex; min-height: 44px; align-items: center; color: var(--r7-ink); text-decoration: none; }
body.gis-r7 .r7-nav > a:hover { color: var(--r7-accent); text-decoration: underline; }
body.gis-r7 .r7-nav > a.gis-btn, body.gis-r7 .r7-nav > a.gis-btn:hover { color: var(--r7-white); text-decoration: none; }
body.gis-r7 .r7-menu-toggle { display: none; min-height: 44px; padding: 10px 16px; border: 1px solid #7d90ac; border-radius: 5px; color: var(--r7-ink); background: transparent; font-size: 14px; line-height: 1.5; font-weight: 600; cursor: pointer; }
body.gis-r7 .r7-eyebrow {
  margin: 0 0 18px; color: var(--r7-accent); font-size: 11px; line-height: 1.6;
  font-weight: 750; letter-spacing: .13em; text-transform: uppercase; overflow-wrap: anywhere;
}
body.gis-r7 .r7-section-label { display: inline-flex; align-items: center; gap: 10px; }
body.gis-r7 .r7-section-label::before { content: ""; width: 28px; height: 2px; background: currentColor; }
body.gis-r7 .r7-note, body.gis-r7 .gis-note { color: var(--r7-muted); font-size: 14px; line-height: 1.6; }
body.gis-r7 .r7-tag { display: inline-flex; align-items: center; padding: 5px 9px; border: 1px solid var(--r7-line); border-radius: 4px; color: var(--r7-muted); font-size: 12px; line-height: 1.5; }

/* Buttons and functional compatibility: no transport, receipt or consent changes. */
body.gis-r7 .gis-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 50px;
  max-width: 100%; padding: 12px 21px; border: 1px solid var(--r7-accent); border-radius: 6px;
  background: var(--r7-accent); color: var(--r7-white); font-size: 15px; font-weight: 650;
  line-height: 1.45; text-align: center; text-decoration: none; overflow-wrap: anywhere;
  cursor: pointer; transition: background-color .15s ease, border-color .15s ease;
}
body.gis-r7 .gis-btn:hover { background: var(--r7-accent-hover); border-color: var(--r7-accent-hover); text-decoration: none; }
body.gis-r7 .gis-btn-secondary { background: transparent; color: var(--r7-ink); border-color: #7d90ac; }
body.gis-r7 .gis-btn-secondary:hover { background: var(--r7-mint); color: var(--r7-ink); border-color: var(--r7-accent); }
body.gis-r7 .gis-btn--small { min-height: 44px; padding: 10px 16px; font-size: 14px; }
body.gis-r7 .r7-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 28px 0 0; }
body.gis-r7 .r7-text-link { display: inline-flex; align-items: center; min-height: 44px; gap: 10px; font-size: 15px; font-weight: 600; }
body.gis-r7 button:disabled, body.gis-r7 .gis-btn[aria-disabled="true"] { opacity: .6; cursor: not-allowed; }

/* One dominant title; the technical illustration is explicitly a plan. */
body.gis-r7 .r7-hero {
  position: relative; padding: 66px 0 58px; background: var(--r7-navy-deep); color: var(--r7-white);
}
body.gis-r7 .r7-hero > .gis-shell, body.gis-r7 .r7-hero.gis-shell {
  display: grid; grid-template-columns: minmax(0, 1.24fr) minmax(0, .9fr); gap: 64px; align-items: center;
}
body.gis-r7 .r7-hero-copy h1 { max-width: 790px; }
body.gis-r7 .r7-hero-copy > p:not(.r7-eyebrow):not(.r7-note) { max-width: 660px; color: #edf3ff; font-size: 19px; line-height: 1.65; }
body.gis-r7 .r7-hero .r7-eyebrow { color: var(--r7-lime); }
body.gis-r7 .r7-hero .r7-note { margin-top: 20px; max-width: 650px; color: var(--r7-dark-muted); }
body.gis-r7 .r7-hero .gis-note { margin-top: 20px; max-width: 650px; color: var(--r7-dark-muted); }
body.gis-r7 .r7-hero a:not(.gis-btn) { color: var(--r7-lime); }
body.gis-r7 .r7-hero .gis-btn { background: var(--r7-lime); border-color: var(--r7-lime); color: var(--r7-navy-deep); }
body.gis-r7 .r7-hero .gis-btn:hover { background: #163eab; border-color: #163eab; }
body.gis-r7 .r7-hero .gis-btn-secondary { background: transparent; border-color: #7d90ac; color: var(--r7-white); }
body.gis-r7 .r7-hero .gis-btn-secondary:hover { background: #132844; border-color: var(--r7-dark-muted); }
body.gis-r7 .r7-hero-meta { display: flex; flex-wrap: wrap; gap: 8px 20px; margin: 26px 0 0; padding-top: 20px; border-top: 1px solid #51647c; font-size: 14px; color: var(--r7-dark-muted); }
body.gis-r7 .r7-hero-meta strong { color: var(--r7-white); font-weight: 600; }
body.gis-r7 .r7-journey {
  padding: 27px; border: 1px solid #51647c; border-radius: 10px;
  background: #132844; color: var(--r7-white);
}
body.gis-r7 .r7-journey-head { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 8px 14px; margin-bottom: 24px; }
body.gis-r7 .r7-journey :where(h2, h3) { margin: 0 0 12px; font-size: 22px; line-height: 1.25; letter-spacing: -.025em; }
body.gis-r7 .r7-journey-head p, body.gis-r7 .r7-journey-head .r7-eyebrow { margin: 0; }
body.gis-r7 .r7-journey-label { color: var(--r7-lime); font-size: 11px; font-weight: 650; line-height: 1.5; letter-spacing: .04em; text-transform: uppercase; }
body.gis-r7 .r7-journey-list { list-style: none; margin: 0; padding: 0; }
body.gis-r7 .r7-journey-list > li { position: relative; display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 16px; padding: 0 0 23px; }
body.gis-r7 .r7-journey-list > li:not(:last-child)::before { content: ""; position: absolute; left: 15px; top: 32px; bottom: 0; width: 1px; background: #51647c; }
body.gis-r7 .r7-journey-list > li:last-child { padding-bottom: 0; }
body.gis-r7 .r7-journey-number { position: relative; display: grid; place-items: center; width: 32px; height: 32px; border: 1px solid #7d90ac; border-radius: 50%; color: var(--r7-lime); font: 500 12px/1 var(--r7-body-font); }
body.gis-r7 .r7-journey-list strong { display: block; margin: 2px 0 5px; font-size: 16px; line-height: 1.35; font-weight: 600; }
body.gis-r7 .r7-journey-list p { margin: 0; color: #dce5f1; font-size: 14px; line-height: 1.55; }
body.gis-r7 .r7-journey figcaption, body.gis-r7 .r7-journey-caption { margin: 23px 0 0; padding-top: 16px; border-top: 1px solid #51647c; color: #dce5f1; font-size: 12px; line-height: 1.6; }
body.gis-r7 .r7-journey > figcaption { margin: 0 0 25px; padding: 0; border: 0; }
body.gis-r7 .r7-journey > figcaption .r7-eyebrow { display: block; margin-bottom: 11px; }
body.gis-r7 .r7-journey > figcaption strong { display: block; color: var(--r7-white); font-size: 24px; line-height: 1.3; font-weight: 600; letter-spacing: -.02em; }
body.gis-r7 .r7-journey > ol { list-style: none; margin: 0; padding: 0; }
body.gis-r7 .r7-journey > ol > li { position: relative; display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 16px; padding: 0 0 23px; }
body.gis-r7 .r7-journey > ol > li:not(:last-child)::before { content: ""; position: absolute; left: 15px; top: 32px; bottom: 0; width: 1px; background: #51647c; }
body.gis-r7 .r7-journey > ol > li:last-child { padding-bottom: 0; }
body.gis-r7 .r7-journey > ol > li > span { display: grid; place-items: center; width: 32px; height: 32px; border: 1px solid #7d90ac; border-radius: 50%; color: var(--r7-lime); font-size: 12px; line-height: 1; }
body.gis-r7 .r7-journey > ol b { display: block; margin: 2px 0 5px; color: var(--r7-white); font-size: 16px; line-height: 1.35; font-weight: 600; }
body.gis-r7 .r7-journey > ol small { display: block; color: #dce5f1; font-size: 13px; line-height: 1.6; }
body.gis-r7 .r7-journey > p { margin: 23px 0 0; padding-top: 16px; border-top: 1px solid #51647c; color: #dce5f1; font-size: 12px; line-height: 1.6; }
body.gis-r7 .r7-system { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; padding: 20px 0; border-block: 1px solid #51647c; margin-bottom: 23px; }
body.gis-r7 .r7-system-title { grid-column: 1 / -1; margin: 0 0 6px; color: var(--r7-white); font-size: 15px; font-weight: 600; }
body.gis-r7 .r7-system-node { padding: 9px 6px; border: 1px solid #51647c; border-radius: 5px; text-align: center; color: #edf3ff; font-size: 12px; }

/* A calm factual strip immediately after the hero. No implied metrics. */
body.gis-r7 .r7-proof { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); list-style: none; gap: 24px; padding: 27px 0; margin-block: 0; border-bottom: 1px solid var(--r7-line); }
body.gis-r7 .r7-proof > * { margin: 0; padding-right: 24px; border-right: 1px solid var(--r7-line); color: var(--r7-muted); font-size: 14px; line-height: 1.55; }
body.gis-r7 .r7-proof > :last-child { border-right: 0; padding-right: 0; }
body.gis-r7 .r7-proof strong { display: block; color: var(--r7-ink); font-size: 17px; line-height: 1.45; font-weight: 650; margin-bottom: 5px; }
body.gis-r7 .r7-section { padding-block: 72px; scroll-margin-top: 24px; }
body.gis-r7 .r7-section--tight { padding-block: 40px; }
body.gis-r7 .r7-section--muted { background: var(--r7-sand); }
body.gis-r7 .r7-section--white { background: var(--r7-white); }
body.gis-r7 .r7-section--dark { background: var(--r7-navy); color: var(--r7-white); }
body.gis-r7 .r7-section--dark .r7-eyebrow { color: var(--r7-lime); }
body.gis-r7 .r7-section--dark .r7-section-head p:not(.r7-eyebrow) { color: #dce5f1; }
body.gis-r7 .r7-section-ink { background: var(--r7-navy); color: var(--r7-white); }
body.gis-r7 .r7-section-ink .r7-eyebrow { color: var(--r7-lime); }
body.gis-r7 .r7-section-ink .r7-section-head > p:not(.r7-eyebrow) { color: #dce5f1; }
body.gis-r7 .r7-section-tint { background: #edf3ff; }
body.gis-r7 .r7-section-head { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .85fr); gap: 16px 64px; align-items: end; margin-bottom: 36px; }
body.gis-r7 .r7-section-head h2 { max-width: 660px; margin-bottom: 0; }
body.gis-r7 .r7-section-head > p { margin-bottom: 0; color: var(--r7-muted); font-size: 16px; }
body.gis-r7 .r7-section-head .r7-eyebrow { margin-bottom: 14px; }
body.gis-r7 .r7-section-head > .r7-eyebrow { grid-column: 1 / -1; margin: 0; }
body.gis-r7 .r7-section-head > h2:last-child { grid-column: 1 / -1; max-width: 960px; }
body.gis-r7 .r7-section-head--single { display: block; max-width: 800px; }
body.gis-r7 .r7-section-head--single h2 { margin-bottom: 18px; }
body.gis-r7 .r7-role-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
body.gis-r7 .r7-role {
  display: flex; flex-direction: column; gap: 10px; padding: 23px; border: 1px solid #dce5f1;
  border-top: 3px solid var(--r7-accent); border-radius: 5px; background: var(--r7-white);
  color: var(--r7-ink); text-decoration: none; transition: border-color .15s ease, background-color .15s ease;
}
body.gis-r7 a.r7-role:hover { border-color: var(--r7-accent); background: #f8faff; text-decoration: none; }
body.gis-r7 .r7-role h3 { font-size: 19px; margin: 0; }
body.gis-r7 .r7-role p { font-size: 14px; line-height: 1.65; color: var(--r7-muted); margin: 0; }
body.gis-r7 .r7-role .r7-text-link { margin-top: auto; padding-top: 10px; font-size: 14px; }
body.gis-r7 .r7-role-label { color: var(--r7-accent); font-size: 11px; line-height: 1.5; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
body.gis-r7 .r7-role-number { color: var(--r7-accent); font-size: 12px; font-weight: 600; line-height: 1.5; margin-bottom: 6px; }
body.gis-r7 .r7-choice-note { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 25px; padding: 20px 24px; border-left: 3px solid var(--r7-accent); background: var(--r7-mint); }
body.gis-r7 .r7-choice-note p { margin: 0; max-width: 760px; color: var(--r7-muted); font-size: 15px; }
body.gis-r7 .r7-choice-note .r7-text-link { flex-shrink: 0; }
body.gis-r7 .r7-worklist { border-top: 1px solid #dce5f1; }
body.gis-r7 .r7-workrow { display: grid; grid-template-columns: 52px minmax(0, 1.18fr) minmax(0, .82fr); gap: 24px; padding: 28px 0; border-bottom: 1px solid #dce5f1; align-items: start; }
body.gis-r7 .r7-workrow-number { font-size: 13px; font-weight: 650; color: var(--r7-accent); padding-top: 4px; font-variant-numeric: tabular-nums; }
body.gis-r7 .r7-work-number { font-size: 13px; font-weight: 650; color: var(--r7-accent); padding-top: 4px; font-variant-numeric: tabular-nums; }
body.gis-r7 .r7-workrow h3 { margin: 0; font-size: 24px; }
body.gis-r7 .r7-workrow p { margin: 0; font-size: 16px; color: var(--r7-muted); }
body.gis-r7 .r7-workrow strong { color: var(--r7-ink); font-weight: 600; }
body.gis-r7 .r7-workrow small { display: block; margin-top: 10px; color: var(--r7-muted); font-size: 13px; line-height: 1.6; }
body.gis-r7 .r7-workrow h3 + p { margin-top: 10px; }
body.gis-r7 .r7-work-check { padding-left: 22px; border-left: 2px solid #dce5f1; }
body.gis-r7 .r7-work-check > small { margin: 0 0 8px; color: var(--r7-accent); font-size: 10px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
body.gis-r7 .r7-work-check p { font-size: 14px; }

/* Price as a readable composition, with conditions next to the number. */
body.gis-r7 .r7-pricing { display: grid; grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr); gap: 26px; align-items: start; }
body.gis-r7 .r7-price-card { position: sticky; top: 24px; padding: 35px; background: var(--r7-navy-deep); color: var(--r7-white); border-radius: 9px; }
body.gis-r7 .r7-price-card .r7-eyebrow { color: var(--r7-lime); margin-bottom: 16px; }
body.gis-r7 .r7-price { margin: 0 0 14px; font-size: clamp(44px, 4.4vw, 64px); line-height: 1.06; letter-spacing: -.05em; font-weight: 600; color: var(--r7-lime); font-variant-numeric: lining-nums; }
body.gis-r7 .r7-total { margin: 26px 0 23px; font-size: clamp(44px, 4.4vw, 64px); line-height: 1.06; letter-spacing: -.05em; font-weight: 600; color: var(--r7-lime); font-variant-numeric: lining-nums; }
body.gis-r7 .r7-total span { font-size: .65em; }
body.gis-r7 .r7-price-card > h3 { max-width: 400px; font-size: 23px; line-height: 1.35; }
body.gis-r7 .r7-price-card > p:not(.r7-eyebrow) { color: #edf3ff; font-size: 14px; line-height: 1.7; }
body.gis-r7 .r7-price-caption { max-width: 430px; margin: 0 0 28px; color: #edf3ff; font-size: 16px; }
body.gis-r7 .r7-price-breakdown { margin: 0 0 22px; padding: 0; list-style: none; }
body.gis-r7 .r7-price-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 14px; padding: 15px 0; border-bottom: 1px solid #51647c; font-size: 14px; line-height: 1.65; }
body.gis-r7 .r7-price-row:first-child { border-top: 1px solid #51647c; }
body.gis-r7 .r7-price-row > :where(p, dt, dd, span) { margin: 0; }
body.gis-r7 .r7-price-row :where(strong, dd) { white-space: nowrap; color: var(--r7-white); font-weight: 650; font-variant-numeric: tabular-nums; }
body.gis-r7 .r7-price-card .r7-note { margin-bottom: 0; font-size: 13px; color: #dce5f1; }
body.gis-r7 .r7-price-card a:not(.gis-btn) { color: var(--r7-lime); }
body.gis-r7 .r7-price-card .gis-btn { margin-top: 24px; background: var(--r7-lime); border-color: var(--r7-lime); color: var(--r7-navy-deep); }
body.gis-r7 .r7-price-card .gis-btn:hover { background: #163eab; border-color: #163eab; }
body.gis-r7 .r7-price-detail { padding: 6px 29px; background: var(--r7-white); color: var(--r7-ink); border: 1px solid var(--r7-line); border-radius: 9px; }
body.gis-r7 .r7-price-detail h3 { font-size: 24px; }
body.gis-r7 .r7-price-detail p, body.gis-r7 .r7-price-detail li { color: var(--r7-muted); font-size: 16px; }
body.gis-r7 .r7-price-detail ul { padding-left: 20px; margin: 0 0 25px; }
body.gis-r7 .r7-price-detail li { margin-bottom: 8px; }
body.gis-r7 .r7-price-detail > .r7-price-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 17px 24px; padding: 25px 0; border-top: 0; border-bottom: 1px solid #dce5f1; color: var(--r7-ink); }
body.gis-r7 .r7-price-detail > .r7-price-row:last-child { border-bottom: 0; }
body.gis-r7 .r7-price-detail > .r7-price-row > div { grid-column: 1 / -1; display: grid; grid-template-columns: 22px minmax(0, 1fr) auto; gap: 10px 12px; align-items: start; }
body.gis-r7 .r7-price-detail .r7-price-row .r7-eyebrow { color: var(--r7-accent); margin: 3px 0 0; font-size: 10px; }
body.gis-r7 .r7-price-detail .r7-price-row h3 { margin: 0; font-size: 20px; }
body.gis-r7 .r7-price-detail .r7-price-row strong { color: var(--r7-accent); font-size: 20px; line-height: 1.35; letter-spacing: -.025em; }
body.gis-r7 .r7-price-detail .r7-price-row > p { margin: 0; font-size: 14px; line-height: 1.7; }
body.gis-r7 .r7-price-detail .r7-price-row > p b { color: var(--r7-ink); font-weight: 600; }
body.gis-r7 .r7-price-detail .r7-price-row > details { grid-column: 1 / -1; padding-top: 0; }
body.gis-r7 .r7-price-detail .r7-price-row summary { min-height: 44px; display: list-item; padding-block: 10px; color: var(--r7-accent); font-size: 13px; font-weight: 600; line-height: 1.65; cursor: pointer; }
body.gis-r7 .r7-price-detail .r7-price-row details p { margin: 4px 0 0; padding-bottom: 8px; font-size: 13px; line-height: 1.75; }
body.gis-r7 .r7-price-boundary { max-width: 920px; margin: 24px 0 0; padding-top: 18px; border-top: 1px solid #51647c; color: #dce5f1; font-size: 14px; line-height: 1.75; }
body.gis-r7 .r7-spec { margin-top: 24px; padding: 20px; background: var(--r7-paper); border-left: 3px solid var(--r7-accent); }
body.gis-r7 .r7-spec :last-child { margin-bottom: 0; }
body.gis-r7 .r7-bonus-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px 24px; }
body.gis-r7 .r7-bonus { padding: 25px 0 0; border-top: 2px solid var(--r7-accent); }
body.gis-r7 .r7-bonus h3 { font-size: 22px; }
body.gis-r7 .r7-bonus p { color: var(--r7-muted); font-size: 16px; margin-bottom: 14px; }
body.gis-r7 .r7-bonus-label { display: inline-flex; align-items: center; padding: 5px 9px; margin-bottom: 15px; border-radius: 4px; background: #edf3ff; color: #51647c; font-size: 11px; line-height: 1.5; font-weight: 650; letter-spacing: .04em; text-transform: uppercase; }
body.gis-r7 .r7-bonus-when { border-top: 1px solid var(--r7-line); padding-top: 14px; color: var(--r7-muted); font-size: 13px; line-height: 1.65; }
body.gis-r7 .r7-bonus-when strong { color: var(--r7-ink); font-weight: 600; }
body.gis-r7 .r7-bonus-category { display: inline-flex; align-items: center; padding: 5px 9px; margin-bottom: 15px; border-radius: 4px; background: #edf3ff; color: #51647c; font-size: 10px; line-height: 1.5; font-weight: 650; letter-spacing: .04em; text-transform: uppercase; }
body.gis-r7 .r7-bonus p.r7-bonus-condition { border-top: 1px solid #dce5f1; padding-top: 14px; margin: 0; color: var(--r7-muted); font-size: 12px; line-height: 1.75; }
body.gis-r7 .r7-bonus-bottom { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 22px 25px; margin-top: 32px; background: #f8faff; border: 1px solid #dce5f1; border-radius: 5px; }
body.gis-r7 .r7-bonus-bottom p { max-width: 800px; margin: 0; color: var(--r7-muted); font-size: 14px; line-height: 1.75; }
body.gis-r7 .r7-bonus-bottom .gis-btn { flex-shrink: 0; }

/* Actual public documents and useful routes, with a distinct featured spread. */
body.gis-r7 .r7-resources { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
body.gis-r7 .r7-resource { display: flex; flex-direction: column; align-items: flex-start; padding: 27px; border: 1px solid var(--r7-line); border-radius: var(--r7-radius); background: var(--r7-white); color: var(--r7-ink); text-decoration: none; }
body.gis-r7 a.r7-resource:hover { background: #edf3ff; border-color: #7d90ac; text-decoration: none; }
body.gis-r7 .r7-resource h3 { font-size: 23px; }
body.gis-r7 .r7-resource p { color: var(--r7-muted); font-size: 15px; }
body.gis-r7 .r7-resource .r7-text-link { margin-top: auto; padding-top: 8px; }
body.gis-r7 .r7-resource > span { color: var(--r7-accent); font-size: 11px; line-height: 1.5; margin-bottom: 25px; }
body.gis-r7 .r7-resource > b { margin-top: auto; color: var(--r7-accent); font-size: 23px; line-height: 1; }
body.gis-r7 .r7-resource--featured { grid-column: span 2; border-color: var(--r7-navy); background: var(--r7-navy); color: var(--r7-white); }
body.gis-r7 .r7-resource--featured p { color: #dce5f1; }
body.gis-r7 .r7-resource--featured .r7-eyebrow, body.gis-r7 .r7-resource--featured a { color: var(--r7-lime); }
body.gis-r7 a.r7-resource--featured:hover { background: #132844; border-color: #132844; }
body.gis-r7 .r7-resource--document { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 28px; align-items: center; }
body.gis-r7 .r7-document-preview, body.gis-r7 .r7-kp-preview { width: 160px; aspect-ratio: 210 / 297; height: auto; object-fit: contain; background: var(--r7-white); border: 1px solid #edf3ff; box-shadow: 0 8px 20px #13284424; }
body.gis-r7 .r7-document-caption { display: block; margin-top: 10px; color: #dce5f1; font-size: 11px; line-height: 1.6; }
body.gis-r7 .r7-resource-format { margin-bottom: 18px; color: var(--r7-accent); font-size: 11px; line-height: 1.5; font-weight: 650; letter-spacing: .08em; text-transform: uppercase; }
body.gis-r7 .r7-timeline { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; margin: 32px 0 0; padding: 0; list-style: none; }
body.gis-r7 .r7-step { border-top: 1px solid #dce5f1; padding-top: 19px; }
body.gis-r7 .r7-step-index { display: block; color: var(--r7-accent); font-size: 12px; font-weight: 650; margin: 0 0 20px; font-variant-numeric: tabular-nums; }
body.gis-r7 .r7-step > span { display: block; color: var(--r7-accent); font-size: 12px; font-weight: 650; margin: 0 0 20px; font-variant-numeric: tabular-nums; }
body.gis-r7 .r7-step h3 { font-size: 20px; }
body.gis-r7 .r7-step p { margin-bottom: 0; font-size: 15px; color: var(--r7-muted); }
body.gis-r7 .r7-step small { display: block; margin-top: 15px; padding-top: 12px; border-top: 1px solid var(--r7-line); color: var(--r7-accent); font-size: 12px; line-height: 1.7; }
body.gis-r7 .r7-schedule { display: grid; grid-template-columns: minmax(0, .6fr) minmax(0, .6fr) minmax(0, 1.3fr); gap: 28px; align-items: center; margin-top: 36px; padding: 25px; border-left: 3px solid var(--r7-accent); background: var(--r7-mint); }
body.gis-r7 .r7-schedule > div { display: flex; align-items: center; gap: 14px; }
body.gis-r7 .r7-schedule strong { flex-shrink: 0; color: var(--r7-accent); font-size: 43px; line-height: 1; font-weight: 550; letter-spacing: -.04em; }
body.gis-r7 .r7-schedule span { color: #51647c; font-size: 12px; line-height: 1.65; }
body.gis-r7 .r7-schedule p { margin: 0; color: var(--r7-muted); font-size: 13px; line-height: 1.75; }
body.gis-r7 .r7-timeline-note { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--r7-line); max-width: 960px; color: var(--r7-muted); font-size: 14px; }

/* Contact uses the existing form, enum values and strict accepted result. */
body.gis-r7 .r7-contact { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1fr); gap: 60px; align-items: start; color: var(--r7-ink); }
body.gis-r7 section.r7-contact { display: block; background: var(--r7-navy); color: var(--r7-white); }
body.gis-r7 .r7-contact > .gis-shell, body.gis-r7 .r7-contact.gis-shell, body.gis-r7 .r7-contact-layout { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1fr); gap: 72px; align-items: start; }
body.gis-r7 .r7-contact .r7-eyebrow { color: var(--r7-accent); }
body.gis-r7 section.r7-contact .r7-eyebrow { color: var(--r7-lime); }
body.gis-r7 .r7-contact-copy > p:not(.r7-eyebrow) { max-width: 540px; color: #dce5f1; }
body.gis-r7 .r7-contact-copy > h2 { max-width: 520px; }
body.gis-r7 .r7-contact-copy a, body.gis-r7 .r7-contact-address a { color: var(--r7-lime); }
body.gis-r7 .r7-contact-address { display: flex; flex-direction: column; align-items: flex-start; gap: 3px; margin: 30px 0; font-style: normal; }
body.gis-r7 .r7-contact-address a { min-height: 44px; display: inline-flex; align-items: center; font-size: 22px; line-height: 1.4; overflow-wrap: anywhere; }
body.gis-r7 section.r7-contact .r7-note { color: #dce5f1; }
body.gis-r7 div.r7-contact > div > h3 { max-width: 520px; font-size: 30px; line-height: 1.25; margin-bottom: 20px; }
body.gis-r7 div.r7-contact > div > p { color: var(--r7-muted); font-size: 16px; line-height: 1.75; }
body.gis-r7 .r7-contact .r7-proof { display: grid; grid-template-columns: 140px minmax(0, 1fr); gap: 22px; padding: 22px; margin: 27px 0; border: 1px solid #dce5f1; border-radius: 6px; background: var(--r7-mint); }
body.gis-r7 .r7-contact .r7-proof > * { border: 0; padding: 0; }
body.gis-r7 .r7-contact .r7-proof img { width: 140px; height: auto; object-fit: contain; background: var(--r7-white); box-shadow: 0 5px 15px #1328441a; }
body.gis-r7 .r7-contact .r7-proof h3 { font-size: 20px; line-height: 1.3; margin-bottom: 11px; }
body.gis-r7 .r7-contact .r7-proof p { margin-bottom: 12px; color: var(--r7-muted); font-size: 13px; line-height: 1.75; }
body.gis-r7 .r7-contact .r7-proof p.r7-eyebrow { color: var(--r7-accent); font-size: 10px; }
body.gis-r7 .r7-contact .r7-proof .r7-actions { gap: 8px 14px; margin-top: 14px; }
body.gis-r7 .r7-contact .r7-proof .gis-btn { min-height: 44px; padding: 9px 13px; font-size: 13px; }
body.gis-r7 .r7-contact .r7-proof .gis-offer-link { display: inline-flex; align-items: center; min-height: 44px; color: var(--r7-accent); font-size: 13px; font-weight: 600; }
body.gis-r7 .gis-form { padding: 30px; border: 1px solid #dce5f1; border-radius: 9px; background: var(--r7-white); color: var(--r7-ink); }
body.gis-r7 .gis-form h3 { margin-bottom: 14px; font-size: 25px; }
body.gis-r7 .gis-form > p { color: var(--r7-muted); font-size: 15px; }
body.gis-r7 .gis-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; }
body.gis-r7 .gis-field { display: block; margin: 0 0 17px; font-size: 14px; line-height: 1.5; font-weight: 600; }
body.gis-r7 .gis-field > span { color: var(--r7-muted); font-size: 12px; font-weight: 400; }
body.gis-r7 .gis-field input:not([type="checkbox"]):not([type="hidden"]), body.gis-r7 .gis-field textarea, body.gis-r7 .gis-field select {
  display: block; width: 100%; min-width: 0; min-height: 48px; margin-top: 7px; padding: 11px 12px;
  color: var(--r7-ink); background: #fff; border: 1px solid #7d90ac; border-radius: 5px;
  font-size: 16px; line-height: 1.4; font-weight: 400;
}
body.gis-r7 .gis-field select { padding-right: 30px; }
body.gis-r7 .gis-field textarea { min-height: 108px; resize: vertical; }
body.gis-r7 .gis-field :where(input, textarea)::placeholder { color: #51647c; opacity: 1; }
body.gis-r7 .gis-field :where(input, textarea, select)[aria-invalid="true"] { border: 2px solid var(--r7-error); }
body.gis-r7 .gis-check { display: flex; align-items: flex-start; gap: 12px; min-height: 44px; margin: 20px 0; font-size: 13px; line-height: 1.65; color: var(--r7-muted); cursor: pointer; }
body.gis-r7 .gis-check input[type="checkbox"] { flex: 0 0 20px; width: 20px; height: 20px; margin: 3px 0 0; accent-color: var(--r7-accent); }
body.gis-r7 .gis-form a { color: var(--r7-accent); }
body.gis-r7 .gis-form button[type="submit"] { width: 100%; }
body.gis-r7 .gis-form > small { display: block; margin-top: 12px; color: var(--r7-muted); font-size: 12px; line-height: 1.65; }
body.gis-r7 .gis-form [data-gis-status], body.gis-r7 .gis-form [data-gis-intake-status] { min-height: 1.5em; margin: 13px 0 0; font-size: 14px; line-height: 1.6; overflow-wrap: anywhere; }
body.gis-r7 .gis-form [data-state="error"] { color: var(--r7-error); }
body.gis-r7 .gis-intents { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0; }
body.gis-r7 :where(button, a)[data-gis-intent] { display: inline-flex; align-items: center; min-height: 44px; padding: 10px 12px; border: 1px solid #dce5f1; border-radius: 5px; color: var(--r7-ink); background: var(--r7-white); font-size: 14px; line-height: 1.4; text-decoration: none; cursor: pointer; }
body.gis-r7 :where(button, a)[data-gis-intent][aria-pressed="true"] { color: var(--r7-accent); border-color: var(--r7-accent); background: var(--r7-mint); }
body.gis-r7 a.r7-role[data-gis-intent] { display: flex; flex-direction: column; align-items: stretch; padding: 23px; border-top-width: 3px; background: var(--r7-white); }
body.gis-r7 .r7-role .r7-text-link[data-gis-intent], body.gis-r7 .r7-choice-note .r7-text-link[data-gis-intent] { align-self: flex-start; padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--r7-accent); font-size: 14px; line-height: 1.6; text-decoration: underline; }
body.gis-r7 .gis-offer-r6 { margin: 18px 0 0; padding: 22px; border: 1px solid #dce5f1; border-radius: 6px; background: #edf3ff; color: #132844; font: 400 15px/1.65 var(--r7-body-font); overflow-wrap: anywhere; }
body.gis-r7 .gis-offer-r6 h3 { font-size: 22px; line-height: 1.3; margin: 0 0 12px; }
body.gis-r7 .gis-offer-r6 p { margin: 0 0 14px; color: #132844; }
body.gis-r7 .gis-offer-r6 .gis-offer-kicker { color: #51647c; font-size: 11px; line-height: 1.5; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
body.gis-r7 .gis-offer-r6 .gis-offer-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 17px 0; }
body.gis-r7 .gis-offer-r6 .gis-offer-link { display: inline-flex; justify-content: center; align-items: center; min-height: 46px; padding: 10px 14px; border: 1px solid #7d90ac; border-radius: 5px; background: var(--r7-white); color: #132844; font-size: 14px; font-weight: 650; line-height: 1.5; text-decoration: none; }
body.gis-r7 .gis-offer-r6 .gis-offer-link:hover { background: #edf3ff; }
body.gis-r7 .gis-offer-r6 .gis-offer-note { margin-bottom: 0; font-size: 12px; line-height: 1.65; }

/* Book-like articles: a readable measure and an honest source apparatus. */
body.gis-r7 .r7-article { padding: 48px 0 72px; }
body.gis-r7 .r7-breadcrumb { display: flex; flex-wrap: wrap; gap: 8px 12px; margin-bottom: 31px; color: var(--r7-muted); font-size: 13px; line-height: 1.6; }
body.gis-r7 .r7-breadcrumb a { display: inline-flex; align-items: center; min-height: 44px; color: var(--r7-muted); }
body.gis-r7 .r7-article-header { max-width: 1040px; margin-bottom: 43px; padding-bottom: 31px; border-bottom: 1px solid #dce5f1; }
body.gis-r7 .r7-article-header h1 { max-width: 1000px; font-family: var(--r7-serif); font-size: clamp(34px, 3.8vw, 55px); line-height: 1.12; letter-spacing: -.026em; font-weight: 500; }
body.gis-r7 .r7-article-deck { max-width: 850px; font-size: 20px; line-height: 1.7; color: var(--r7-muted); }
body.gis-r7 .r7-article-meta { display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px 20px; margin-top: 22px; color: var(--r7-muted); font-size: 12px; line-height: 1.65; }
body.gis-r7 .r7-article-layout { display: grid; grid-template-columns: 232px minmax(0, 1fr); gap: 70px; align-items: start; }
body.gis-r7 .r7-toc { position: sticky; top: 24px; padding: 0 0 14px; border-top: 2px solid var(--r7-accent); border-bottom: 1px solid var(--r7-line); }
body.gis-r7 .r7-toc summary { display: flex; justify-content: space-between; gap: 12px; align-items: center; min-height: 50px; padding: 12px 0; color: var(--r7-ink); font-size: 14px; font-weight: 650; line-height: 1.5; list-style: none; cursor: pointer; }
body.gis-r7 .r7-toc summary::-webkit-details-marker { display: none; }
body.gis-r7 .r7-toc summary::after { content: ""; width: 7px; height: 7px; flex: 0 0 7px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); margin-right: 4px; }
body.gis-r7 .r7-toc details[open] > summary::after, body.gis-r7 details.r7-toc[open] > summary::after { transform: rotate(225deg); }
body.gis-r7 .r7-toc :where(ol, ul) { list-style: none; padding: 0; margin: 0; max-height: calc(100vh - 140px); overflow-y: auto; overscroll-behavior: contain; }
body.gis-r7 .r7-toc li { margin: 0; }
body.gis-r7 .r7-toc a { display: block; min-height: 44px; padding: 10px 10px 10px 0; color: var(--r7-muted); font-size: 13px; line-height: 1.65; text-decoration: none; overflow-wrap: anywhere; }
body.gis-r7 .r7-toc a:hover, body.gis-r7 .r7-toc a[aria-current="location"] { color: var(--r7-accent); text-decoration: underline; }
body.gis-r7 .r7-toc small { display: block; padding-top: 16px; color: var(--r7-muted); font-size: 11px; line-height: 1.65; }
body.gis-r7 .r7-article-body { max-width: 800px; font-size: 18px; line-height: 1.8; overflow-wrap: anywhere; }
body.gis-r7 .r7-article-body > :first-child { margin-top: 0; }
body.gis-r7 .r7-article-body :where(h2, h3, h4, section) { scroll-margin-top: 24px; }
body.gis-r7 .r7-article-body h2 { margin: 48px 0 19px; font: 500 31px/1.25 var(--r7-serif); letter-spacing: -.023em; text-wrap: balance; }
body.gis-r7 .r7-article-body h3 { margin: 29px 0 14px; font-size: 22px; line-height: 1.35; }
body.gis-r7 .r7-article-body h4 { margin-top: 25px; }
body.gis-r7 .r7-article-body p { margin-bottom: 20px; }
body.gis-r7 .r7-article-body :where(ul, ol) { margin: 18px 0 24px; padding-left: 25px; }
body.gis-r7 .r7-article-body li { padding-left: 4px; margin: 9px 0; }
body.gis-r7 .r7-article-body li::marker { color: var(--r7-accent); }
body.gis-r7 .r7-article-body blockquote { margin: 28px 0; padding: 20px 24px; border-left: 3px solid var(--r7-accent); background: var(--r7-mint); color: #51647c; font-size: 17px; }
body.gis-r7 .r7-article-body blockquote > :last-child { margin-bottom: 0; }
body.gis-r7 .r7-article-body :where(code, pre) { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size: .82em; }
body.gis-r7 .r7-article-body :not(pre) > code { padding: 2px 5px; border-radius: 3px; background: #edf3ff; color: #132844; }
body.gis-r7 .r7-article-body pre { max-width: 100%; margin: 24px 0; padding: 22px; overflow: auto; overscroll-behavior: contain; background: var(--r7-navy-deep); color: #edf3ff; border-radius: 6px; line-height: 1.7; }
body.gis-r7 .r7-article-body pre code { padding: 0; font-size: inherit; background: transparent; color: inherit; }
body.gis-r7 .r7-article-body table { width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 15px; line-height: 1.65; }
body.gis-r7 .r7-article-body th, body.gis-r7 .r7-article-body td { border-bottom: 1px solid #dce5f1; padding: 14px 16px; text-align: left; vertical-align: top; }
body.gis-r7 .r7-article-body th { background: #edf3ff; font-weight: 650; color: #132844; }
body.gis-r7 .r7-article-body tbody tr:nth-child(even) { background: #edf3ff; }
body.gis-r7 .r7-article-body caption { padding-bottom: 12px; text-align: left; color: var(--r7-muted); font-size: 13px; }
body.gis-r7 .r7-table-scroll { max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; margin: 25px 0; border: 1px solid #dce5f1; border-radius: 5px; }
body.gis-r7 .r7-table-scroll table { min-width: 600px; margin: 0; }
body.gis-r7 .r7-article-body figure { margin: 28px 0; }
body.gis-r7 .r7-article-body figcaption { padding-top: 12px; color: var(--r7-muted); font-size: 12px; line-height: 1.6; }
body.gis-r7 .r7-article-body iframe { max-width: 100%; border: 0; }
body.gis-r7 .r7-callout, body.gis-r7 .r7-article-summary { padding: 24px; margin: 28px 0; background: var(--r7-mint); border-top: 2px solid var(--r7-accent); border-radius: 0 0 5px 5px; }
body.gis-r7 .r7-callout h2, body.gis-r7 .r7-callout h3, body.gis-r7 .r7-article-summary h2 { margin-top: 0; font: 650 20px/1.35 var(--r7-body-font); letter-spacing: -.02em; }
body.gis-r7 .r7-callout p, body.gis-r7 .r7-callout li, body.gis-r7 .r7-article-summary p, body.gis-r7 .r7-article-summary li { font-size: 16px; line-height: 1.75; }
body.gis-r7 .r7-callout > :last-child, body.gis-r7 .r7-article-summary > :last-child { margin-bottom: 0; }
body.gis-r7 .r7-callout--condition { background: #fff8e9; border-color: #a0864d; }
body.gis-r7 .r7-source-list { margin-top: 38px; padding-top: 22px; border-top: 1px solid #dce5f1; color: var(--r7-muted); font-size: 14px; line-height: 1.75; }
body.gis-r7 .r7-source-list h2 { margin-top: 0; font: 650 20px/1.4 var(--r7-body-font); }
body.gis-r7 .r7-source-list li { font-size: 14px; }
body.gis-r7 .r7-article-next { margin: 40px 0 0; padding: 28px; background: var(--r7-navy); color: var(--r7-white); border-radius: 6px; }
body.gis-r7 .r7-article-next h2 { margin: 0 0 16px; font: 600 26px/1.25 var(--r7-body-font); color: var(--r7-white); }
body.gis-r7 .r7-article-next p { color: #edf3ff; font-size: 16px; line-height: 1.75; }
body.gis-r7 .r7-article-next a:not(.gis-btn) { color: var(--r7-lime); }
body.gis-r7 .r7-article-next .gis-btn { color: var(--r7-navy-deep); background: var(--r7-lime); border-color: var(--r7-lime); }

/* The 100-page library is a purposeful reading index, not a wall of links. */
body.gis-r7 .r7-filter { display: grid; grid-template-columns: minmax(0, 1fr) minmax(160px, .36fr) auto; align-items: end; gap: 16px; margin: 0 0 28px; padding: 23px; border: 1px solid var(--r7-line); border-radius: 6px; background: var(--r7-white); }
body.gis-r7 .r7-filter .gis-field { margin-bottom: 0; }
body.gis-r7 .r7-filter .gis-btn { min-height: 48px; }
body.gis-r7 .r7-filter-note { margin: -12px 0 25px; color: var(--r7-muted); font-size: 13px; }
body.gis-r7 .r7-library { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
body.gis-r7 .r7-library-card { display: flex; flex-direction: column; align-items: flex-start; padding: 25px; border: 1px solid var(--r7-line); border-radius: 6px; background: var(--r7-white); color: var(--r7-ink); text-decoration: none; transition: border-color .15s ease, background-color .15s ease; }
body.gis-r7 a.r7-library-card:hover { border-color: var(--r7-accent); background: #edf3ff; text-decoration: none; }
body.gis-r7 .r7-library-card .r7-eyebrow { margin-bottom: 13px; font-size: 10px; }
body.gis-r7 .r7-library-card h3 { font-size: 20px; line-height: 1.35; }
body.gis-r7 .r7-library-card p { margin-bottom: 19px; color: var(--r7-muted); font-size: 14px; line-height: 1.75; }
body.gis-r7 .r7-library-card .r7-text-link { margin-top: auto; font-size: 13px; }
body.gis-r7 .r7-library-empty { margin: 20px 0; padding: 24px; background: var(--r7-white); border: 1px solid var(--r7-line); color: var(--r7-muted); }

/* FAQ, footer and optional mobile action bar. */
body.gis-r7 .r7-faq { max-width: 1000px; border-top: 1px solid #dce5f1; }
body.gis-r7 .r7-faq details { margin: 0; padding: 0; border-bottom: 1px solid #dce5f1; background: transparent; border-radius: 0; }
body.gis-r7 .r7-faq summary { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 62px; padding: 21px 2px; font-size: 19px; line-height: 1.5; font-weight: 600; cursor: pointer; list-style: none; }
body.gis-r7 .r7-faq summary::-webkit-details-marker { display: none; }
body.gis-r7 .r7-faq summary::after { content: ""; flex: 0 0 8px; width: 8px; height: 8px; margin-right: 5px; border-right: 1.5px solid var(--r7-accent); border-bottom: 1.5px solid var(--r7-accent); transform: rotate(45deg); }
body.gis-r7 .r7-faq details[open] > summary::after { transform: rotate(225deg); }
body.gis-r7 .r7-faq details p { max-width: 860px; margin: 0 0 24px; padding-right: 35px; color: var(--r7-muted); font-size: 16px; }
body.gis-r7 .r7-footer { padding: 40px 0 30px; background: var(--r7-navy-deep); color: #dce5f1; font-size: 14px; line-height: 1.75; }
body.gis-r7 .r7-footer > .gis-shell { display: grid; grid-template-columns: 1fr; gap: 22px; }
body.gis-r7 .r7-footer-main { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr) minmax(0, 1fr); gap: 26px 40px; }
body.gis-r7 .r7-footer-main > div:first-child strong { font-size: 23px; line-height: 1.4; letter-spacing: -.02em; }
body.gis-r7 .r7-footer-main a { display: inline-flex; align-items: center; min-height: 44px; overflow-wrap: anywhere; }
body.gis-r7 .r7-footer > .gis-shell > .gis-note { margin: 0; padding-top: 21px; border-top: 1px solid #51647c; color: #dce5f1; font-size: 13px; line-height: 1.75; }
body.gis-r7 .r7-footer p { margin-bottom: 12px; }
body.gis-r7 .r7-footer strong { color: var(--r7-white); font-weight: 600; }
body.gis-r7 .r7-footer a { color: #cfdefb; }
body.gis-r7 .r7-footer-links { display: flex; flex-wrap: wrap; align-items: center; gap: 0 22px; }
body.gis-r7 .r7-footer-links a { display: inline-flex; align-items: center; min-height: 44px; }
body.gis-r7 .r7-footer-bottom { grid-column: 1 / -1; border-top: 1px solid #51647c; padding-top: 20px; color: #dce5f1; font-size: 12px; }
body.gis-r7 .r7-mobilebar { display: none; }

@media (min-width: 1600px) {
  body.gis-r7 .r7-hero { padding-block: 82px; }
}
@media (max-width: 1120px) {
  body.gis-r7 .r7-hero > .gis-shell, body.gis-r7 .r7-hero.gis-shell { gap: 32px; grid-template-columns: minmax(0, 1.15fr) minmax(0, .9fr); }
  body.gis-r7 .r7-nav { gap: 8px 16px; }
  body.gis-r7 .r7-role-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.gis-r7 .r7-bonus-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.gis-r7 .r7-contact { gap: 36px; }
  body.gis-r7 .r7-contact > .gis-shell, body.gis-r7 .r7-contact.gis-shell, body.gis-r7 .r7-contact-layout { gap: 36px; }
  body.gis-r7 .r7-section-head { gap: 24px 36px; }
  body.gis-r7 .r7-article-layout { grid-template-columns: 210px minmax(0, 1fr); gap: 38px; }
}
@media (max-width: 960px) {
  body.gis-r7 .gis-shell { width: calc(100% - 48px); }
  body.gis-r7 .r7-header > .gis-shell { align-items: flex-start; gap: 22px; }
  body.gis-r7 .r7-nav { max-width: 58%; }
  body.gis-r7 .r7-header[data-nav-enhanced] > .gis-shell { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 14px 24px; align-items: center; }
  body.gis-r7 .r7-header[data-nav-enhanced] .r7-menu-toggle { display: inline-flex; align-items: center; justify-content: center; }
  body.gis-r7 .r7-header[data-nav-enhanced] .r7-nav { grid-column: 1 / -1; width: 100%; max-width: 100%; justify-content: flex-start; padding-top: 12px; border-top: 1px solid var(--r7-line); }
  body.gis-r7 .r7-header[data-nav-enhanced] .r7-nav:not(.is-open) { display: none; }
  body.gis-r7 .r7-hero { padding-block: 48px; }
  body.gis-r7 .r7-hero > .gis-shell, body.gis-r7 .r7-hero.gis-shell { grid-template-columns: 1fr; gap: 36px; }
  body.gis-r7 .r7-hero-copy h1 { max-width: 760px; font-size: clamp(40px, 6vw, 58px); }
  body.gis-r7 .r7-journey { padding: 25px; }
  body.gis-r7 .r7-journey-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
  body.gis-r7 .r7-journey-list > li { padding-bottom: 0; }
  body.gis-r7 .r7-journey-list > li:not(:last-child)::before { display: none; }
  body.gis-r7 .r7-journey > ol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
  body.gis-r7 .r7-journey > ol > li { padding-bottom: 0; }
  body.gis-r7 .r7-journey > ol > li:not(:last-child)::before { display: none; }
  body.gis-r7 .r7-section { padding-block: 56px; }
  body.gis-r7 .r7-section--tight { padding-block: 35px; }
  body.gis-r7 .r7-section-head { grid-template-columns: 1fr; gap: 19px; }
  body.gis-r7 .r7-section-head > p { max-width: 760px; }
  body.gis-r7 .r7-timeline { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
  body.gis-r7 .r7-bonus-grid { gap: 20px; }
  body.gis-r7 .r7-price-card, body.gis-r7 .r7-price-detail { padding: 26px; }
  body.gis-r7 .r7-pricing { grid-template-columns: 1fr; gap: 20px; }
  body.gis-r7 .r7-price-card { position: static; }
  body.gis-r7 .r7-price-detail { padding-block: 3px; }
  body.gis-r7 .r7-price-card > p:not(.r7-eyebrow) { max-width: 690px; }
  body.gis-r7 .r7-resource--document { grid-template-columns: 120px minmax(0, 1fr); gap: 20px; }
  body.gis-r7 .r7-document-preview, body.gis-r7 .r7-kp-preview { width: 120px; }
  body.gis-r7 .r7-resources, body.gis-r7 .r7-library { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.gis-r7 .r7-contact > .gis-shell, body.gis-r7 .r7-contact.gis-shell, body.gis-r7 .r7-contact-layout { grid-template-columns: 1fr; gap: 28px; }
  body.gis-r7 div.r7-contact { grid-template-columns: 1fr; gap: 28px; }
  body.gis-r7 div.r7-contact > div > h3 { max-width: 700px; }
  body.gis-r7 .r7-contact-copy > p:not(.r7-eyebrow), body.gis-r7 .r7-contact-copy > h2 { max-width: 760px; }
  body.gis-r7 .r7-contact-address { flex-direction: row; flex-wrap: wrap; gap: 8px 24px; margin: 22px 0; }
  body.gis-r7 .r7-article { padding-top: 32px; }
  body.gis-r7 .r7-article-layout { grid-template-columns: 1fr; gap: 32px; }
  body.gis-r7 .r7-toc { position: static; padding: 0 19px 10px; border: 1px solid #dce5f1; border-top: 2px solid var(--r7-accent); border-radius: 4px; background: #edf3ff; }
  body.gis-r7 .r7-toc :where(ol, ul) { max-height: none; }
  body.gis-r7 .r7-toc a { padding-left: 0; }
  body.gis-r7 .r7-article-body { max-width: 100%; }
  body.gis-r7 .r7-filter { grid-template-columns: minmax(0, 1fr) minmax(150px, .6fr); }
  body.gis-r7 .r7-filter .gis-btn { grid-column: 1 / -1; justify-self: start; }
  body.gis-r7 .r7-schedule { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  body.gis-r7 .r7-schedule p { grid-column: 1 / -1; }
  body.gis-r7 .r7-bonus-bottom { flex-wrap: wrap; gap: 18px; }
}
@media (max-width: 640px) {
  body.gis-r7 .gis-shell { width: calc(100% - 32px); }
  body.gis-r7:has(.r7-mobilebar) { padding-bottom: calc(84px + env(safe-area-inset-bottom, 0px)); }
  body.gis-r7 .r7-header > .gis-shell { flex-direction: column; gap: 12px; min-height: 0; padding-block: 18px 10px; }
  body.gis-r7 .r7-brand, body.gis-r7 .gis-logo { font-size: 20px; max-width: 100%; }
  body.gis-r7 .r7-brand small { font-size: 11px; }
  body.gis-r7 .r7-nav { width: 100%; max-width: 100%; justify-content: flex-start; gap: 4px 20px; font-size: 13px; }
  body.gis-r7 .r7-nav > .gis-btn { min-height: 44px; padding: 9px 14px; font-size: 13px; }
  body.gis-r7 .r7-hero { padding: 37px 0 34px; }
  body.gis-r7 .r7-hero > .gis-shell, body.gis-r7 .r7-hero.gis-shell { gap: 28px; }
  body.gis-r7 .r7-hero-copy h1 { font-size: clamp(35px, 9.1vw, 45px); line-height: 1.1; letter-spacing: -.04em; margin-bottom: 20px; }
  body.gis-r7 .r7-hero-copy > p:not(.r7-eyebrow):not(.r7-note) { font-size: 17px; }
  body.gis-r7 .r7-eyebrow { font-size: 10px; letter-spacing: .105em; margin-bottom: 15px; }
  body.gis-r7 .r7-actions { flex-direction: column; align-items: stretch; gap: 10px; margin-top: 24px; }
  body.gis-r7 .r7-actions > .gis-btn { width: 100%; }
  body.gis-r7 .r7-hero-meta { margin-top: 22px; gap: 9px; font-size: 13px; }
  body.gis-r7 .r7-journey { padding: 21px; border-radius: 7px; }
  body.gis-r7 .r7-journey :where(h2, h3) { font-size: 20px; }
  body.gis-r7 .r7-journey-list { display: block; }
  body.gis-r7 .r7-journey-list > li { gap: 13px; padding-bottom: 20px; }
  body.gis-r7 .r7-journey-list > li:last-child { padding-bottom: 0; }
  body.gis-r7 .r7-journey-list > li:not(:last-child)::before { display: block; }
  body.gis-r7 .r7-journey > ol { display: block; }
  body.gis-r7 .r7-journey > ol > li { gap: 13px; padding-bottom: 20px; }
  body.gis-r7 .r7-journey > ol > li:last-child { padding-bottom: 0; }
  body.gis-r7 .r7-journey > ol > li:not(:last-child)::before { display: block; }
  body.gis-r7 .r7-journey > figcaption strong { font-size: 22px; }
  body.gis-r7 .r7-proof { grid-template-columns: 1fr; gap: 16px; padding-block: 24px; }
  body.gis-r7 .r7-proof > * { padding: 0 0 16px; border-right: 0; border-bottom: 1px solid var(--r7-line); }
  body.gis-r7 .r7-proof > :last-child { border-bottom: 0; padding-bottom: 0; }
  body.gis-r7 .r7-proof strong { font-size: 16px; }
  body.gis-r7 .r7-section { padding-block: 42px; }
  body.gis-r7 .r7-section--tight { padding-block: 30px; }
  body.gis-r7 .r7-section-head { margin-bottom: 26px; }
  body.gis-r7 h2 { font-size: 29px; line-height: 1.2; }
  body.gis-r7 h3 { font-size: 21px; }
  body.gis-r7 .r7-role-list { grid-template-columns: 1fr; gap: 12px; }
  body.gis-r7 .r7-role, body.gis-r7 a.r7-role[data-gis-intent] { padding: 21px; }
  body.gis-r7 .r7-choice-note { flex-direction: column; align-items: stretch; gap: 13px; padding: 19px; }
  body.gis-r7 .r7-workrow { grid-template-columns: 30px minmax(0, 1fr); gap: 10px 14px; padding: 23px 0; }
  body.gis-r7 .r7-workrow > :nth-child(n+3) { grid-column: 2; }
  body.gis-r7 .r7-workrow h3 { font-size: 21px; }
  body.gis-r7 .r7-workrow p { font-size: 15px; }
  body.gis-r7 .r7-pricing { grid-template-columns: 1fr; }
  body.gis-r7 .r7-price-card { padding: 25px 22px; border-radius: 7px; }
  body.gis-r7 .r7-price-detail { padding: 3px 22px; border: 1px solid var(--r7-line); border-radius: 7px; }
  body.gis-r7 .r7-price { font-size: clamp(42px, 11vw, 53px); }
  body.gis-r7 .r7-price-row { gap: 12px; font-size: 13px; }
  body.gis-r7 .r7-price-card .gis-btn { width: 100%; }
  body.gis-r7 .r7-price-detail h3 { font-size: 22px; }
  body.gis-r7 .r7-total { font-size: clamp(42px, 11vw, 53px); }
  body.gis-r7 .r7-price-detail > .r7-price-row { grid-template-columns: 1fr; gap: 15px; }
  body.gis-r7 .r7-price-detail > .r7-price-row > div { grid-template-columns: 20px minmax(0, 1fr); gap: 8px 11px; }
  body.gis-r7 .r7-price-detail .r7-price-row h3 { font-size: 20px; }
  body.gis-r7 .r7-price-detail .r7-price-row strong { grid-column: 2; font-size: 24px; }
  body.gis-r7 .r7-bonus-grid { grid-template-columns: 1fr; gap: 25px; }
  body.gis-r7 .r7-bonus { padding-top: 20px; }
  body.gis-r7 .r7-bonus h3 { font-size: 21px; }
  body.gis-r7 .r7-bonus-bottom { padding: 19px; }
  body.gis-r7 .r7-bonus-bottom .gis-btn { width: 100%; }
  body.gis-r7 .r7-resources, body.gis-r7 .r7-library { grid-template-columns: 1fr; gap: 14px; }
  body.gis-r7 .r7-resource { padding: 23px; }
  body.gis-r7 .r7-resource--featured { grid-column: auto; }
  body.gis-r7 .r7-resource--document { grid-template-columns: 90px minmax(0, 1fr); gap: 17px; }
  body.gis-r7 .r7-document-preview, body.gis-r7 .r7-kp-preview { width: 90px; }
  body.gis-r7 .r7-resource--document h3 { font-size: 20px; }
  body.gis-r7 .r7-resource--document p { font-size: 13px; }
  body.gis-r7 .r7-resource--document .r7-actions { grid-column: 1 / -1; }
  body.gis-r7 .r7-resource--document .gis-btn { width: 100%; padding-inline: 11px; font-size: 13px; }
  body.gis-r7 .r7-timeline { grid-template-columns: 1fr; gap: 22px; }
  body.gis-r7 .r7-step-index { margin-bottom: 12px; }
  body.gis-r7 .r7-step > span { margin-bottom: 12px; }
  body.gis-r7 .r7-schedule { padding: 21px; gap: 20px; }
  body.gis-r7 .r7-schedule > div { flex-direction: column; align-items: flex-start; gap: 10px; }
  body.gis-r7 div.r7-contact > div > h3 { font-size: 27px; }
  body.gis-r7 .r7-contact .r7-proof { grid-template-columns: 90px minmax(0, 1fr); gap: 17px; padding: 19px; }
  body.gis-r7 .r7-contact .r7-proof > * { padding: 0; border: 0; }
  body.gis-r7 .r7-contact .r7-proof img { width: 90px; }
  body.gis-r7 .r7-contact .r7-proof .r7-actions { align-items: flex-start; }
  body.gis-r7 .r7-contact-address { flex-direction: column; gap: 4px; }
  body.gis-r7 .r7-contact-address a { font-size: 21px; }
  body.gis-r7 .gis-form { padding: 23px; border-radius: 7px; }
  body.gis-r7 .gis-form h3 { font-size: 23px; }
  body.gis-r7 .gis-grid { grid-template-columns: 1fr; }
  body.gis-r7 .gis-check { font-size: 12px; }
  body.gis-r7 .gis-offer-r6 { padding: 18px; }
  body.gis-r7 .gis-offer-r6 .gis-offer-actions { flex-direction: column; align-items: stretch; }
  body.gis-r7 .r7-article { padding-top: 24px; padding-bottom: 45px; }
  body.gis-r7 .r7-breadcrumb { margin-bottom: 22px; gap: 4px 10px; font-size: 12px; }
  body.gis-r7 .r7-article-header { margin-bottom: 27px; padding-bottom: 24px; }
  body.gis-r7 .r7-article-header h1 { font-size: clamp(32px, 8.9vw, 40px); line-height: 1.16; }
  body.gis-r7 .r7-article-deck { font-size: 18px; }
  body.gis-r7 .r7-article-meta { gap: 6px 14px; }
  body.gis-r7 .r7-article-body { font-size: 17px; line-height: 1.8; }
  body.gis-r7 .r7-article-body h2 { font-size: 27px; line-height: 1.3; margin-top: 37px; }
  body.gis-r7 .r7-article-body h3 { font-size: 21px; margin-top: 26px; }
  body.gis-r7 .r7-article-body blockquote { padding: 18px; font-size: 16px; }
  body.gis-r7 .r7-article-body pre { padding: 17px; font-size: 13px; }
  body.gis-r7 .r7-article-body table { display: block; max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; }
  body.gis-r7 .r7-article-body th, body.gis-r7 .r7-article-body td { min-width: 130px; padding: 12px; }
  body.gis-r7 .r7-table-scroll table { display: table; overflow: visible; min-width: 580px; }
  body.gis-r7 .r7-callout, body.gis-r7 .r7-article-summary { padding: 20px; }
  body.gis-r7 .r7-callout h2, body.gis-r7 .r7-article-summary h2 { font-size: 20px; margin-top: 0; }
  body.gis-r7 .r7-article-next { padding: 23px; }
  body.gis-r7 .r7-article-next h2 { font-size: 25px; margin-top: 0; }
  body.gis-r7 .r7-filter { grid-template-columns: 1fr; padding: 20px; }
  body.gis-r7 .r7-filter .gis-btn { justify-self: stretch; }
  body.gis-r7 .r7-library-card { padding: 23px; }
  body.gis-r7 .r7-faq summary { font-size: 17px; gap: 18px; }
  body.gis-r7 .r7-faq details p { padding-right: 15px; font-size: 15px; }
  body.gis-r7 .r7-footer { padding-block: 32px 26px; }
  body.gis-r7 .r7-footer > .gis-shell { grid-template-columns: 1fr; gap: 20px; }
  body.gis-r7 .r7-footer-main { grid-template-columns: 1fr; gap: 23px; }
  body.gis-r7 .r7-footer-links { gap: 4px 16px; }
  body.gis-r7 .r7-mobilebar {
    position: fixed; inset: auto 0 0; z-index: 40; display: flex; align-items: center; gap: 16px;
    padding: 10px 16px calc(10px + env(safe-area-inset-bottom, 0px));
    border-top: 1px solid #dce5f1; background: var(--r7-paper);
  }
  body.gis-r7 .r7-mobilebar .gis-btn { min-height: 46px; flex: 1; padding-inline: 12px; font-size: 14px; }
  body.gis-r7 .r7-mobilebar > a:not(.gis-btn) { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; font-size: 14px; white-space: nowrap; }
}
@media (max-width: 360px) {
  body.gis-r7 .r7-nav { gap: 2px 16px; }
  body.gis-r7 .r7-hero-copy h1 { font-size: 35px; }
  body.gis-r7 .r7-journey { padding: 19px 17px; }
  body.gis-r7 .r7-price-row { grid-template-columns: 1fr; gap: 4px; }
  body.gis-r7 .r7-price-row strong { font-size: 16px; }
  body.gis-r7 .r7-resource--document { grid-template-columns: 1fr; }
  body.gis-r7 .r7-document-preview, body.gis-r7 .r7-kp-preview { width: 112px; }
  body.gis-r7 .gis-form { padding: 20px 17px; }
  body.gis-r7 .gis-offer-r6 { padding: 16px; }
  body.gis-r7 .r7-contact .r7-proof { grid-template-columns: 1fr; }
  body.gis-r7 .r7-contact .r7-proof img { width: 130px; }
}
@media (prefers-reduced-motion: reduce) {
  body.gis-r7 *, body.gis-r7 *::before, body.gis-r7 *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}
@media (forced-colors: active) {
  body.gis-r7 .gis-btn, body.gis-r7 .gis-offer-link, body.gis-r7 .r7-role, body.gis-r7 .r7-library-card { border: 1px solid ButtonText; }
  body.gis-r7 :focus-visible { outline: 3px solid Highlight; }
  body.gis-r7 .r7-journey-number { border-color: CanvasText; }
}
@media print {
  body.gis-r7 { background: #fff; color: #111; font-size: 11pt; padding-bottom: 0 !important; }
  body.gis-r7 .gis-shell { width: 100%; }
  body.gis-r7 .r7-header, body.gis-r7 .r7-nav, body.gis-r7 .gis-form,
  body.gis-r7 .r7-actions, body.gis-r7 .r7-mobilebar, body.gis-r7 .r7-toc,
  body.gis-r7 .r7-filter, body.gis-r7 .gis-skip { display: none; }
  body.gis-r7 .r7-hero, body.gis-r7 .r7-section, body.gis-r7 .r7-article { padding-block: 20px; }
  body.gis-r7 :where(.r7-hero, .r7-contact, .r7-journey, .r7-price-card, .r7-footer, .r7-resource--featured, .r7-article-next) { background: #fff; color: #111; }
  body.gis-r7 :where(.r7-hero, .r7-contact, .r7-journey, .r7-price-card, .r7-footer, .r7-resource--featured, .r7-article-next) :where(p, a, strong, small, figcaption, .r7-note, .r7-price, .r7-eyebrow) { color: #111; }
  body.gis-r7 .r7-hero > .gis-shell, body.gis-r7 .r7-contact > .gis-shell, body.gis-r7 .r7-article-layout { display: block; }
  body.gis-r7 div.r7-contact { display: block; }
  body.gis-r7 .r7-price-card { position: static; }
  body.gis-r7 .r7-article-body { max-width: 100%; }
  body.gis-r7 .r7-article-body pre { white-space: pre-wrap; overflow-wrap: anywhere; color: #111; background: #f8faff; }
  body.gis-r7 h1 { font-size: 29pt; }
  body.gis-r7 h2 { font-size: 20pt; break-after: avoid; }
  body.gis-r7 h3 { break-after: avoid; }
  body.gis-r7 .r7-article-body h1, body.gis-r7 .r7-article-header h1 { font-size: 27pt; }
  body.gis-r7 .r7-article-body :where(p, li) { font-size: 11pt; }
  body.gis-r7 .r7-article-body table { display: table; overflow: visible; min-width: 0; font-size: 9pt; }
  body.gis-r7 .r7-table-scroll { overflow: visible; }
  body.gis-r7 .r7-table-scroll table { min-width: 0; }
  body.gis-r7 .r7-footer > .gis-shell { display: block; }
}

/* Reference correction v2. Measured live new-sst.ru, 2026-10-01.
   This file is compiled into the complete replacement stylesheet. */
body.gis-r7 {
  --r7-paper: #f8faff; --r7-white: #fff; --r7-ink: #132844;
  --r7-muted: #51647c; --r7-navy: #132844; --r7-navy-deep: #132844;
  --r7-dark-muted: #dce5f1; --r7-line: #dce5f1;
  --r7-accent: #2456d9; --r7-accent-hover: #163eab; --r7-lime: #2456d9;
  --r7-mint: #edf3ff; --r7-sand: #edf3ff; --r7-error: #a32833;
  --r7-radius: 24px; --r7-control-line: #7d90ac;
  --r7-body-font: "Inter", "PT Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --r7-heading-font: "Inter Tight", "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --r7-serif: var(--r7-heading-font);
  --r7-mono-font: "PT Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  --r7-card-shadow: 0 16px 48px rgba(22, 53, 95, .05);
  background: var(--r7-paper); font-size: 17px; line-height: 1.7;
}
body.gis-r7 :where(h1, h2, h3, h4) { font-family: var(--r7-heading-font); color: var(--r7-ink); }
body.gis-r7 h1 { font-size: clamp(38px, 4.4vw, 63.36px); font-weight: 730; letter-spacing: -.045em; line-height: 1.06; }
body.gis-r7 h2 { font-weight: 700; letter-spacing: -.035em; line-height: 1.16; }
body.gis-r7 h3 { font-weight: 670; }
body.gis-r7 :focus-visible,
body.gis-r7 :where(.r7-hero, .r7-section-ink, .r7-section--dark, .r7-price-card, .r7-article-next, section.r7-contact) :focus-visible { outline-color: #2456d9; }
body.gis-r7 .r7-footer :focus-visible { outline-color: #cfdefb; }
body.gis-r7 .gis-shell { width: min(1224px, calc(100% - 80px)); }
body.gis-r7 .r7-header { background: #fff; border-color: #dce5f1; }
body.gis-r7 .r7-header > .gis-shell { min-height: 73px; padding-block: 12px; gap: 22px; }
body.gis-r7 .r7-brand-mark { width: 42px; height: 42px; flex-basis: 42px; border-radius: 12px; color: #fff; background: #132844; font-size: 20px; box-shadow: 0 5px 12px rgba(19,40,68,.1); }
body.gis-r7 .gis-logo { gap: 12px; font-size: 21px; }
body.gis-r7 .r7-nav { gap: 8px 21px; font-size: 13px; }
body.gis-r7 .r7-menu-toggle { border-color: #7d90ac; border-radius: 12px; background: #fff; }
body.gis-r7 .r7-eyebrow { font-size: 11px; letter-spacing: .065em; color: #2456d9; }
body.gis-r7 .r7-tag { border-radius: 999px; background: #edf3ff; padding: 6px 12px; color: #51647c; }
body.gis-r7 .gis-btn {
  min-height: 53px; padding: 14px 28px; border-radius: 14px; border-color: #2456d9;
  color: #fff; background: linear-gradient(120deg, #315fe9, #234ec4);
  font-size: 15px; font-weight: 650; line-height: 1.45;
  box-shadow: 0 8px 22px rgba(36,86,217,.16);
}
body.gis-r7 .gis-btn:hover { background: #163eab; border-color: #163eab; }
body.gis-r7 .gis-btn-secondary { color: #2456d9; background: #fff; border-color: #a5b8d8; box-shadow: none; }
body.gis-r7 .gis-btn-secondary:hover { color: #163eab; background: #edf3ff; border-color: #2456d9; }
body.gis-r7 .r7-nav > .gis-btn { padding: 11px 19px; min-height: 47px; }
body.gis-r7 main .r7-hero {
  padding: 54px 0 44px; color: #132844;
  background: linear-gradient(125deg, #fff 3%, #f5f8ff 64%, #edf3ff 100%);
}
body.gis-r7 .r7-hero > .gis-shell, body.gis-r7 .r7-hero.gis-shell { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 64px; }
body.gis-r7 .r7-hero-copy h1 { max-width: 650px; color: #132844; margin-bottom: 22px; }
body.gis-r7 .r7-hero-copy > p:not(.r7-eyebrow):not(.r7-note) { color: #51647c; font-size: 18px; line-height: 1.7; }
body.gis-r7 .r7-hero .r7-hero-copy > .r7-eyebrow {
  display: inline-flex; align-items: center; gap: 9px; max-width: 100%; margin-bottom: 22px;
  padding: 7px 12px; border: 1px solid #dce5f1; border-radius: 999px;
  background: #edf3ff; color: #2456d9; font-size: 10px; line-height: 1.5; letter-spacing: .035em;
}
body.gis-r7 .r7-hero .r7-hero-copy > .r7-eyebrow::before { content: ""; width: 6px; height: 6px; flex: 0 0 6px; border-radius: 50%; background: #2456d9; }
body.gis-r7 .r7-hero :where(.r7-note, .gis-note) { color: #51647c; }
body.gis-r7 .r7-hero a:not(.gis-btn) { color: #2456d9; }
body.gis-r7 .r7-hero .gis-btn, body.gis-r7 .r7-price-card .gis-btn, body.gis-r7 .r7-article-next .gis-btn { color: #fff; border-color: #2456d9; background: linear-gradient(120deg, #315fe9, #234ec4); }
body.gis-r7 .r7-hero .gis-btn:hover, body.gis-r7 .r7-price-card .gis-btn:hover, body.gis-r7 .r7-article-next .gis-btn:hover { color: #fff; background: #163eab; border-color: #163eab; }
body.gis-r7 .r7-hero .gis-btn-secondary { color: #2456d9; border-color: #a5b8d8; background: #fff; box-shadow: none; }
body.gis-r7 .r7-hero .gis-btn-secondary:hover { color: #163eab; border-color: #2456d9; background: #edf3ff; }
body.gis-r7 .r7-hero .r7-hero-copy > p.r7-hero-quote { color: #51647c; font-size: 14px; line-height: 1.7; }
body.gis-r7 .r7-hero .r7-hero-copy > p.gis-note, body.gis-r7 .r7-hero .r7-hero-copy > p.r7-note { color: #51647c; font-size: 14px; line-height: 1.7; }
body.gis-r7 .r7-hero .r7-hero-quote strong { color: #2456d9; }
body.gis-r7 .r7-hero-downloads { color: #51647c; }
body.gis-r7 .r7-hero-meta { color: #51647c; border-color: #dce5f1; }
body.gis-r7 .r7-hero-meta strong { color: #132844; }
body.gis-r7 .r7-journey {
  padding: 30px; border: 1px solid #dce5f1; border-radius: 30px;
  background: linear-gradient(145deg, #fff, #edf3ff); color: #132844;
  box-shadow: var(--r7-card-shadow);
}
body.gis-r7 .r7-journey .r7-eyebrow, body.gis-r7 .r7-journey-label { color: #2456d9; }
body.gis-r7 .r7-journey > figcaption strong { color: #132844; font-family: var(--r7-heading-font); font-size: 25px; font-weight: 700; letter-spacing: -.035em; }
body.gis-r7 .r7-journey > ol > li, body.gis-r7 .r7-journey-list > li { grid-template-columns: 38px minmax(0, 1fr); gap: 15px; padding-bottom: 23px; }
body.gis-r7 .r7-journey > ol > li > span, body.gis-r7 .r7-journey-number {
  width: 38px; height: 38px; border: 1px solid #a5b8d8; border-radius: 13px;
  background: #fff; color: #2456d9; font: 500 12px/1 var(--r7-mono-font);
}
body.gis-r7 .r7-journey > ol > li:not(:last-child)::before, body.gis-r7 .r7-journey-list > li:not(:last-child)::before { left: 18px; top: 38px; background: #c5d5f2; }
body.gis-r7 .r7-journey > ol b, body.gis-r7 .r7-journey-list strong { color: #132844; font-size: 16px; font-weight: 650; }
body.gis-r7 .r7-journey > ol small, body.gis-r7 .r7-journey-list p { color: #51647c; font-size: 13px; }
body.gis-r7 .r7-journey > p, body.gis-r7 .r7-journey-caption { color: #51647c; border-color: #dce5f1; }
body.gis-r7 .r7-system { border-color: #dce5f1; }
body.gis-r7 .r7-system-title { color: #132844; }
body.gis-r7 .r7-system-node { border-color: #a5b8d8; border-radius: 12px; color: #2456d9; background: #fff; }
body.gis-r7 .r7-section { padding-block: 80px; }
body.gis-r7 .r7-section--tight { padding-block: 44px; }
body.gis-r7 .r7-section-ink, body.gis-r7 .r7-section--dark { color: #132844; background: #edf3ff; }
body.gis-r7 .r7-section-tint, body.gis-r7 .r7-section--muted { background: #edf3ff; }
body.gis-r7 :where(.r7-section-ink, .r7-section--dark) .r7-eyebrow { color: #2456d9; }
body.gis-r7 .r7-section-ink .r7-section-head > p:not(.r7-eyebrow), body.gis-r7 .r7-section--dark .r7-section-head > p:not(.r7-eyebrow) { color: #51647c; }
body.gis-r7 .r7-section-head { margin-bottom: 38px; }
body.gis-r7 .r7-section-head > p.r7-eyebrow { color: #2456d9; font-size: 11px; line-height: 1.6; letter-spacing: .065em; }
body.gis-r7 .r7-role-list { gap: 20px; }
body.gis-r7 .r7-role, body.gis-r7 a.r7-role[data-gis-intent] { padding: 30px; border: 1px solid #dce5f1; border-radius: 24px; background: #fff; box-shadow: var(--r7-card-shadow); }
body.gis-r7 a.r7-role:hover { background: #f8faff; border-color: #a5b8d8; }
body.gis-r7 .r7-role-number { display: grid; place-items: center; width: 37px; height: 37px; border-radius: 12px; color: #2456d9; background: #edf3ff; font-family: var(--r7-mono-font); }
body.gis-r7 .r7-role h3 { font-size: 22px; }
body.gis-r7 .r7-role p { font-size: 15px; }
body.gis-r7 .r7-choice-note { border: 1px solid #dce5f1; border-radius: 22px; background: #edf3ff; padding: 23px 26px; }
body.gis-r7 .r7-worklist { display: grid; gap: 16px; border: 0; }
body.gis-r7 .r7-workrow { padding: 28px 30px; border: 1px solid #dce5f1; border-radius: 22px; background: #fff; box-shadow: var(--r7-card-shadow); }
body.gis-r7 .r7-work-number, body.gis-r7 .r7-workrow-number { font-family: var(--r7-mono-font); }
body.gis-r7 .r7-work-check { border-color: #dce5f1; }
body.gis-r7 .r7-price-card { background: #fff; color: #132844; border: 1px solid #dce5f1; border-radius: 28px; box-shadow: var(--r7-card-shadow); }
body.gis-r7 .r7-price-card .r7-eyebrow { color: #2456d9; }
body.gis-r7 .r7-total, body.gis-r7 .r7-price { color: #2456d9; font-family: var(--r7-heading-font); font-weight: 730; }
body.gis-r7 .r7-price-card > p:not(.r7-eyebrow), body.gis-r7 .r7-price-caption, body.gis-r7 .r7-price-card .r7-note { color: #51647c; }
body.gis-r7 .r7-price-card a:not(.gis-btn) { color: #2456d9; }
body.gis-r7 .r7-price-detail { padding: 0; border: 0; border-radius: 0; background: transparent; display: grid; gap: 16px; }
body.gis-r7 .r7-price-detail > .r7-price-row { padding: 27px 28px; border: 1px solid #dce5f1; border-radius: 24px; background: #fff; box-shadow: var(--r7-card-shadow); }
body.gis-r7 .r7-price-detail > .r7-price-row:last-child { border-bottom: 1px solid #dce5f1; }
body.gis-r7 .r7-price-detail .r7-price-row .r7-eyebrow { font-family: var(--r7-mono-font); letter-spacing: 0; }
body.gis-r7 .r7-price-detail .r7-price-row summary { font-size: 14px; }
body.gis-r7 .r7-price-boundary { color: #51647c; border-color: #c5d5f2; }
body.gis-r7 .r7-spec { border: 1px solid #dce5f1; border-radius: 20px; }
body.gis-r7 .r7-bonus-grid { gap: 20px; }
body.gis-r7 .r7-bonus { display: flex; flex-direction: column; align-items: flex-start; padding: 26px; border: 1px solid #dce5f1; border-radius: 24px; background: #fff; box-shadow: var(--r7-card-shadow); }
body.gis-r7 .r7-bonus h3 { font-size: 21px; }
body.gis-r7 .r7-bonus p { font-size: 15px; }
body.gis-r7 .r7-bonus-label, body.gis-r7 .r7-bonus-category { color: #2456d9; background: #edf3ff; border-radius: 999px; padding: 6px 10px; letter-spacing: .035em; }
body.gis-r7 .r7-bonus p.r7-bonus-condition { margin-top: auto; width: 100%; border-color: #dce5f1; padding-top: 15px; font-size: 13px; }
body.gis-r7 .r7-bonus-bottom { border-color: #dce5f1; border-radius: 22px; background: #fff; padding: 25px 28px; }
body.gis-r7 .r7-resource { padding: 30px; border-radius: 24px; box-shadow: var(--r7-card-shadow); }
body.gis-r7 a.r7-resource:hover { background: #f8faff; border-color: #a5b8d8; }
body.gis-r7 .r7-resource--featured { color: #132844; background: #edf3ff; border-color: #dce5f1; }
body.gis-r7 .r7-resource--featured p, body.gis-r7 .r7-document-caption { color: #51647c; }
body.gis-r7 a.r7-resource--featured:hover { background: #e3ecff; border-color: #a5b8d8; }
body.gis-r7 .r7-timeline { gap: 20px; }
body.gis-r7 .r7-step { padding: 28px; border: 1px solid #dce5f1; border-radius: 24px; background: #fff; box-shadow: var(--r7-card-shadow); }
body.gis-r7 .r7-step > span, body.gis-r7 .r7-step-index { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 13px; background: #edf3ff; font-family: var(--r7-mono-font); }
body.gis-r7 .r7-schedule { padding: 26px 30px; border: 1px solid #dce5f1; border-radius: 22px; background: #edf3ff; }
body.gis-r7 .r7-schedule span { color: #51647c; }
body.gis-r7 section.r7-contact { background: #f8faff; color: #132844; }
body.gis-r7 section.r7-contact .r7-eyebrow { color: #2456d9; }
body.gis-r7 .r7-contact-copy > p:not(.r7-eyebrow), body.gis-r7 section.r7-contact .r7-note { color: #51647c; }
body.gis-r7 .r7-contact-copy a, body.gis-r7 .r7-contact-address a { color: #2456d9; }
body.gis-r7 .r7-contact .r7-proof { border-color: #dce5f1; border-radius: 24px; background: #edf3ff; padding: 24px; }
body.gis-r7 .r7-contact .r7-proof img { width: 140px; aspect-ratio: auto 459 / 594; border-radius: 4px; border: 1px solid #dce5f1; }
body.gis-r7 .gis-form { border-color: #dce5f1; border-radius: 24px; padding: 32px; box-shadow: var(--r7-card-shadow); }
body.gis-r7 .gis-field input:not([type="checkbox"]):not([type="hidden"]), body.gis-r7 .gis-field textarea, body.gis-r7 .gis-field select { min-height: 50px; padding: 12px 14px; border-color: #7d90ac; border-radius: 14px; background: #fff; }
body.gis-r7 .gis-field :where(input, textarea)::placeholder { color: #51647c; }
body.gis-r7 :where(button, a)[data-gis-intent] { border-radius: 14px; border-color: #a5b8d8; }
body.gis-r7 .gis-offer-r6 { border-color: #a5b8d8; border-radius: 22px; background: #edf3ff; color: #132844; }
body.gis-r7 .gis-offer-r6 p { color: #132844; }
body.gis-r7 .gis-offer-r6 .gis-offer-kicker { color: #2456d9; }
body.gis-r7 .gis-offer-r6 .gis-offer-link { border-radius: 14px; color: #2456d9; border-color: #a5b8d8; }
body.gis-r7 .gis-offer-r6 .gis-offer-link:hover { background: #e3ecff; }
body.gis-r7 .r7-article { padding-top: 42px; }
body.gis-r7 .r7-article-header { max-width: 1060px; padding: 0 0 32px; border-color: #dce5f1; }
body.gis-r7 .r7-article-header h1 { font: 730 clamp(35px, 3.8vw, 55px)/1.1 var(--r7-heading-font); letter-spacing: -.04em; }
body.gis-r7 .r7-article > h1 { max-width: 1060px; font: 730 clamp(35px, 3.8vw, 55px)/1.1 var(--r7-heading-font); letter-spacing: -.04em; }
body.gis-r7 .r7-article-intro { max-width: 900px; color: #51647c; font-size: 19px; line-height: 1.75; }
body.gis-r7 .r7-article-deck { font-size: 19px; }
body.gis-r7 .r7-article-layout { grid-template-columns: 254px minmax(0, 1fr); gap: 58px; }
body.gis-r7 .r7-toc { border: 1px solid #dce5f1; border-radius: 22px; background: #edf3ff; padding: 10px 22px 18px; }
body.gis-r7 .r7-toc summary { color: #132844; }
body.gis-r7 .r7-toc a { padding-right: 0; color: #51647c; }
body.gis-r7 .r7-article-body { max-width: 800px; font-size: 18px; line-height: 1.8; }
body.gis-r7 .r7-article-body h2 { font: 700 31px/1.25 var(--r7-heading-font); letter-spacing: -.03em; }
body.gis-r7 .r7-article-body blockquote { color: #132844; border: 1px solid #dce5f1; border-radius: 22px; background: #edf3ff; padding: 24px 26px; }
body.gis-r7 .r7-article-body :where(code, pre) { font-family: var(--r7-mono-font); }
body.gis-r7 .r7-article-body :not(pre) > code { color: #163eab; background: #edf3ff; border-radius: 6px; }
body.gis-r7 .r7-article-body pre { background: #132844; color: #edf3ff; border-radius: 18px; }
body.gis-r7 .r7-article-body th { color: #132844; background: #edf3ff; }
body.gis-r7 .r7-article-body tbody tr:nth-child(even) { background: #f8faff; }
body.gis-r7 .r7-table-scroll { border-color: #dce5f1; border-radius: 16px; }
body.gis-r7 .r7-callout, body.gis-r7 .r7-article-summary { border: 1px solid #dce5f1; border-radius: 22px; background: #edf3ff; }
body.gis-r7 .r7-article-callout, body.gis-r7 .r7-article-checklist { margin-block: 28px; padding: 26px; border: 1px solid #dce5f1; border-radius: 22px; color: #132844; background: #edf3ff; }
body.gis-r7 .r7-article-checklist { background: #fff; }
body.gis-r7 .r7-article-callout > :first-child, body.gis-r7 .r7-article-checklist > :first-child { margin-top: 0; }
body.gis-r7 .r7-article-callout > :last-child, body.gis-r7 .r7-article-checklist > :last-child { margin-bottom: 0; }
body.gis-r7 .r7-callout--condition { border-color: #dfcfaa; background: #fff8e9; }
body.gis-r7 .r7-article-next { background: #edf3ff; color: #132844; border: 1px solid #dce5f1; border-radius: 24px; }
body.gis-r7 .r7-article-next h2 { color: #132844; }
body.gis-r7 .r7-article-next p { color: #51647c; }
body.gis-r7 .r7-article-next a:not(.gis-btn) { color: #2456d9; }
body.gis-r7 .r7-filter { padding: 28px; border-radius: 24px; box-shadow: var(--r7-card-shadow); }
body.gis-r7 .r7-filter label { display: block; min-width: 0; max-width: 100%; color: #132844; font-size: 14px; font-weight: 600; line-height: 1.5; }
body.gis-r7 .r7-filter :where(input,select) { display: block; width: 100%; min-width: 0; max-width: 100%; min-height: 50px; margin-top: 7px; padding: 12px 14px; border: 1px solid #7d90ac; border-radius: 14px; color: #132844; background: #fff; font: 400 16px/1.45 var(--r7-body-font); }
body.gis-r7 .r7-library-card { padding: 30px; border-radius: 24px; box-shadow: var(--r7-card-shadow); }
body.gis-r7 .r7-library-card h2 { margin: 0 0 14px; color: #132844; font: 670 22px/1.3 var(--r7-heading-font); letter-spacing: -.025em; }
body.gis-r7 .r7-library-card h2 a { color: #132844; text-decoration: none; }
body.gis-r7 .r7-library-card h2 a:hover { color: #2456d9; text-decoration: underline; }
body.gis-r7 a.r7-library-card:hover { background: #f8faff; border-color: #a5b8d8; }
body.gis-r7 .r7-library-empty { border-radius: 22px; }
body.gis-r7 .r7-faq { border: 0; display: grid; gap: 12px; }
body.gis-r7 .r7-faq details { padding: 0 24px; border: 1px solid #dce5f1; border-radius: 18px; background: #fff; }
body.gis-r7 .r7-faq summary { min-height: 68px; font-size: 18px; }
body.gis-r7 .r7-footer { padding: 48px 0 34px; background: #132844; color: #dce5f1; }
body.gis-r7 .r7-footer a { color: #cfdefb; }
body.gis-r7 .r7-footer > .gis-shell > .gis-note, body.gis-r7 .r7-footer-bottom { color: #dce5f1; border-color: #405574; }
body.gis-r7 .r7-mobilebar { background: #fff; border-top-color: #dce5f1; }
body.gis-r7 .r7-mobilebar a.gis-btn, body.gis-r7 .r7-mobilebar a.gis-btn:hover { color: #fff; }
@media (min-width: 1600px) { body.gis-r7 main .r7-hero { padding-block: 66px; } }
@media (max-width: 1120px) {
  body.gis-r7 .r7-hero > .gis-shell, body.gis-r7 .r7-hero.gis-shell { gap: 36px; }
  body.gis-r7 .r7-article-layout { grid-template-columns: 228px minmax(0, 1fr); gap: 36px; }
}
@media (max-width: 960px) {
  body.gis-r7 .gis-shell { width: calc(100% - 48px); }
  body.gis-r7 .r7-header > .gis-shell { min-height: 73px; }
  body.gis-r7 main .r7-hero { padding: 36px 0 38px; }
  body.gis-r7 .r7-hero > .gis-shell, body.gis-r7 .r7-hero.gis-shell { grid-template-columns: 1fr; gap: 32px; }
  body.gis-r7 .r7-hero-copy h1 { font-size: clamp(40px, 6vw, 58px); max-width: 760px; }
  body.gis-r7 .r7-journey { padding: 28px; }
  body.gis-r7 .r7-journey > ol > li, body.gis-r7 .r7-journey-list > li { padding-bottom: 0; }
  body.gis-r7 .r7-section { padding-block: 60px; }
  body.gis-r7 .r7-section--tight { padding-block: 38px; }
  body.gis-r7 .r7-price-detail { padding: 0; }
  body.gis-r7 .r7-article-layout { grid-template-columns: 1fr; gap: 30px; }
  body.gis-r7 .r7-toc { position: static; border: 1px solid #dce5f1; padding: 8px 22px 14px; border-radius: 22px; background: #edf3ff; }
  body.gis-r7 .r7-toc :where(ul, ol) { max-height: none; }
}
@media (max-width: 640px) {
  body.gis-r7 .gis-shell { width: calc(100% - 36px); }
  body.gis-r7 .r7-header > .gis-shell { min-height: 65px; padding-block: 10px; }
  body.gis-r7 .gis-logo { font-size: 19px; gap: 9px; }
  body.gis-r7 .gis-logo small { font-size: 10px; }
  body.gis-r7 .r7-brand-mark { width: 36px; height: 36px; flex-basis: 36px; font-size: 18px; }
  body.gis-r7 .r7-menu-toggle { min-height: 44px; padding: 9px 13px; font-size: 13px; }
  body.gis-r7 main .r7-hero { padding: 26px 0 30px; }
  body.gis-r7 .r7-hero-copy h1 { font-size: clamp(31px, 9vw, 43px); line-height: 1.09; letter-spacing: -.045em; }
  body.gis-r7 .r7-hero-copy > p:not(.r7-eyebrow):not(.r7-note) { font-size: 16px; line-height: 1.7; }
  body.gis-r7 .r7-hero .r7-hero-copy > .r7-eyebrow { margin-bottom: 20px; font-size: 9px; padding-inline: 10px; }
  body.gis-r7 .gis-btn { min-height: 52px; padding: 14px 18px; border-radius: 14px; }
  body.gis-r7 .r7-hero .r7-hero-copy > p.r7-hero-quote { font-size: 13px; }
  body.gis-r7 .r7-journey { padding: 24px 22px; border-radius: 24px; }
  body.gis-r7 .r7-journey > ol > li, body.gis-r7 .r7-journey-list > li { padding-bottom: 21px; }
  body.gis-r7 .r7-journey > ol > li:last-child, body.gis-r7 .r7-journey-list > li:last-child { padding-bottom: 0; }
  body.gis-r7 .r7-section { padding-block: 52px; }
  body.gis-r7 .r7-section--tight { padding-block: 32px; }
  body.gis-r7 .r7-section-head { margin-bottom: 28px; }
  body.gis-r7 .r7-section-head > p.r7-eyebrow { font-size: 10px; }
  body.gis-r7 h2 { font-size: 30px; letter-spacing: -.035em; }
  body.gis-r7 .r7-role, body.gis-r7 a.r7-role[data-gis-intent], body.gis-r7 .r7-bonus, body.gis-r7 .r7-resource, body.gis-r7 .r7-step, body.gis-r7 .r7-library-card { padding: 24px; border-radius: 20px; }
  body.gis-r7 .r7-role-list, body.gis-r7 .r7-bonus-grid, body.gis-r7 .r7-resources, body.gis-r7 .r7-timeline, body.gis-r7 .r7-library { gap: 16px; }
  body.gis-r7 .r7-choice-note, body.gis-r7 .r7-bonus-bottom { padding: 22px; border-radius: 20px; }
  body.gis-r7 .r7-workrow { padding: 24px 21px; gap: 12px; border-radius: 20px; }
  body.gis-r7 .r7-work-check { padding-left: 14px; }
  body.gis-r7 .r7-price-card { padding: 28px 24px; border-radius: 24px; }
  body.gis-r7 .r7-price-detail { border: 0; padding: 0; border-radius: 0; }
  body.gis-r7 .r7-price-detail > .r7-price-row { padding: 24px; border-radius: 20px; }
  body.gis-r7 .r7-price-detail > .r7-price-row > div { grid-template-columns: 20px minmax(0, 1fr); }
  body.gis-r7 .r7-price-detail > .r7-price-row > div > strong { grid-column: 2; }
  body.gis-r7 .r7-schedule { padding: 24px 22px; border-radius: 20px; gap: 24px; }
  body.gis-r7 .r7-schedule strong { font-size: 35px; }
  body.gis-r7 .gis-form { padding: 26px 22px; border-radius: 24px; }
  body.gis-r7 .r7-contact .r7-proof { grid-template-columns: 90px minmax(0, 1fr); padding: 20px; gap: 17px; border-radius: 22px; }
  body.gis-r7 .r7-contact .r7-proof img { width: 90px; }
  body.gis-r7 .r7-contact .r7-proof .r7-actions { flex-direction: column; gap: 4px; }
  body.gis-r7 .r7-article { padding-top: 28px; }
  body.gis-r7 .r7-article-header h1 { font-size: clamp(31px, 8.4vw, 38px); }
  body.gis-r7 .r7-article > h1 { font-size: clamp(31px, 8.4vw, 38px); }
  body.gis-r7 .r7-article-intro { font-size: 17px; }
  body.gis-r7 .r7-article-body h2 { font-size: 27px; }
  body.gis-r7 .r7-article-body { font-size: 17px; line-height: 1.8; }
  body.gis-r7 .r7-filter { padding: 22px; border-radius: 22px; }
  body.gis-r7 .r7-toc { border-radius: 20px; padding-inline: 20px; }
  body.gis-r7 .r7-faq details { padding-inline: 20px; border-radius: 18px; }
  body.gis-r7 .r7-faq summary { font-size: 17px; gap: 16px; }
  body.gis-r7 .r7-mobilebar { padding: 10px 18px calc(10px + env(safe-area-inset-bottom, 0px)); background: #fff; }
  body.gis-r7 .r7-mobilebar .gis-btn { min-height: 48px; padding: 11px 20px; }
}
@media (max-width: 360px) {
  body.gis-r7 .r7-contact .r7-proof { grid-template-columns: 1fr; }
  body.gis-r7 .r7-contact .r7-proof img { width: 130px; }
  body.gis-r7 .r7-contact .r7-proof .r7-actions { flex-direction: row; flex-wrap: wrap; }
  body.gis-r7 .r7-schedule { grid-template-columns: 1fr; }
  body.gis-r7 .r7-schedule p { grid-column: 1; }
  body.gis-r7 .r7-hero-copy h1 { font-size: 31px; }
  body.gis-r7 .r7-price-detail > .r7-price-row { padding-inline: 20px; }
}
@media (prefers-reduced-motion: reduce) { body.gis-r7 * { transition: none !important; animation: none !important; scroll-behavior: auto !important; } }
@media (forced-colors: active) { body.gis-r7 :focus-visible { outline-color: Highlight; } body.gis-r7 .gis-btn { border: 1px solid ButtonText; } }
@media print {
  body.gis-r7 main .r7-hero, body.gis-r7 .r7-section-ink, body.gis-r7 .r7-section-tint, body.gis-r7 .r7-footer { color: #111; background: #fff; }
  body.gis-r7 .r7-journey, body.gis-r7 .r7-role, body.gis-r7 .r7-workrow, body.gis-r7 .r7-price-card, body.gis-r7 .r7-price-row, body.gis-r7 .r7-bonus { box-shadow: none; }
  body.gis-r7 .r7-footer a { color: #111; }
}
