/*
 * 京师无锡官网编辑型视觉系统
 * 目标：以真实信息、人物与专业内容建立信任，避免模板化企业站语言。
 */
:root {
  --red: #a30e1a;
  --red-dark: #7e0b14;
  --ink: #1d1d1b;
  --ink2: #373633;
  --paper: #f6f5f1;
  --paper-deep: #ece9e2;
  --white: #fff;
  --muted: #696762;
  --line: rgba(29, 29, 27, .18);
  --line-soft: rgba(29, 29, 27, .09);
  --serif: "Songti SC", "STSong", "SimSun", serif;
  --sans: "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;
  --shell: min(1180px, calc(100vw - 96px));
  --header: 104px;
}

.office-visit {
  display: grid;
  align-content: center;
  gap: 24px;
}

.map-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 18px 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.map-link span {
  color: var(--muted);
  font-size: 11px;
}

.map-link b {
  color: var(--red);
  font-size: 12px;
}

html { background: var(--paper); }
[hidden] { display: none !important; }
body {
  background: var(--paper);
  color: var(--ink);
  font-family: var(--sans);
}

::selection { background: rgba(163, 14, 26, .16); }

.site-header {
  height: var(--header);
  background: rgba(255, 255, 255, .98);
  border-bottom: 1px solid var(--line);
  box-shadow: none;
  backdrop-filter: none;
}

.utility {
  height: 27px;
  background: #f1efe9;
  color: var(--muted);
  border-bottom: 1px solid var(--line-soft);
  font-size: 10px;
  letter-spacing: .03em;
}

.utility .shell div { gap: 20px; }
.utility a:hover { color: var(--red); }

.main-nav { height: 77px; }
.official-logo { gap: 13px; }
.official-logo img { width: 184px; }
.official-logo span {
  padding-left: 13px;
  font-size: 15px;
  letter-spacing: .18em;
}

.main-nav nav {
  gap: 17px;
  font-size: 12px;
}

.main-nav nav > a[href$="/redlaw/"] {
  color: var(--red);
  font-weight: 600;
}

.main-nav nav > a:not(.consult-link)::after {
  right: auto;
  width: 100%;
  height: 1px;
  background: var(--red);
}

.consult-link {
  min-height: 40px;
  padding: 10px 14px;
  border: 1px solid var(--red);
  background: transparent;
  color: var(--red);
}

.consult-link b { display: none; }

.section { padding: 82px 0; }
.section.alt { background: #fff; }

.eyebrow {
  margin-bottom: 16px;
  color: var(--red);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .08em;
}

.section-heading {
  grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr);
  gap: 90px;
  align-items: start;
  margin-bottom: 42px;
  padding-bottom: 26px;
  border-bottom: 1px solid var(--line);
}

.section-heading h2,
.page-hero h1 {
  font-size: clamp(30px, 3.2vw, 42px);
  line-height: 1.3;
  letter-spacing: -.02em;
}

.section-heading > p {
  padding-top: 4px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.95;
}

.page-hero {
  padding: 82px 0 64px;
  background: #fff;
  color: var(--ink);
  border-bottom: 1px solid var(--line);
}

.page-hero .shell {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
  gap: 96px;
  align-items: end;
}

.page-hero .eyebrow { grid-column: 1 / -1; margin-bottom: -55px; }
.page-hero .shell > p:last-child {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.95;
}

.page-hero h1 { font-size: clamp(40px, 4.4vw, 58px); }

.button {
  min-width: 0;
  min-height: 45px;
  padding: 0 18px;
  background: var(--red);
  font-size: 11px;
  font-weight: 500;
}

.button b { margin-left: 24px; font-weight: 400; }
.button.dark { background: var(--ink); }
.button.ghost {
  border-color: var(--line);
  color: var(--ink);
}

.text-link {
  gap: 16px;
  min-height: 0;
  padding-bottom: 5px;
  font-size: 11px;
  font-weight: 500;
}

[data-reveal] {
  opacity: 1;
  transform: none;
  transition: none;
}

.button,
.consult-link,
.service-card,
.client-entry a,
.industry-grid article,
.news-grid a,
.professional-card {
  transition: color .18s ease, border-color .18s ease, background-color .18s ease;
}

@media (hover: hover) {
  .button:hover,
  .consult-link:hover,
  .service-card:hover,
  .client-entry a:hover,
  .industry-grid article:hover,
  .news-grid a:hover,
  .professional-card:hover {
    transform: none;
    box-shadow: none;
  }
  .button:hover { background: var(--red-dark); }
  .consult-link:hover { background: var(--red); color: #fff; }
}

/* 首页：真实机构信息优先于口号 */
.home-hero {
  min-height: 0;
  background: #fff;
  color: var(--ink);
  overflow: visible;
}

.home-bg { display: none; }

.home-hero-layout {
  display: grid;
  grid-template-columns: minmax(0, .94fr) minmax(0, 1.06fr);
  min-height: 560px;
}

.home-copy {
  padding: 94px 70px 80px max(48px, calc((100vw - 1180px) / 2));
}

.home-copy h1 {
  max-width: 620px;
  margin: 0;
  font-size: clamp(42px, 4.4vw, 58px);
  line-height: 1.15;
  letter-spacing: -.04em;
}

.home-copy h1 span {
  display: inline;
  color: inherit;
  white-space: normal;
}

.home-copy > p:not(.eyebrow) {
  max-width: 570px;
  margin: 28px 0 34px;
  color: var(--muted);
  font-size: 14px;
  line-height: 2;
}

.home-copy > div {
  display: flex;
  gap: 24px;
  align-items: center;
}

.home-copy .button.ghost {
  border: 0;
  border-bottom: 1px solid var(--ink);
  border-radius: 0;
  padding: 0 2px;
}

.home-visual {
  position: relative;
  min-height: 610px;
  background: var(--paper-deep);
}

.home-visual img {
  width: 100%;
  height: 100%;
  min-height: 610px;
  object-fit: cover;
}

.home-visual figcaption {
  position: absolute;
  right: 18px;
  bottom: 16px;
  padding: 7px 10px;
  background: rgba(255, 255, 255, .9);
  color: var(--muted);
  font-size: 9px;
}

.home-stats {
  position: static;
  background: #fff;
  color: var(--ink);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  backdrop-filter: none;
}

.home-stats .shell {
  display: flex;
  gap: clamp(28px, 5vw, 78px);
  align-items: baseline;
  padding: 22px 0;
}
.home-stats p {
  min-height: 0;
  padding: 0;
  border: 0;
}

.home-stats p:first-child { border-left: 0; }
.home-stats strong { font-size: 24px; }
.home-stats sup { color: var(--red); }
.home-stats span {
  color: var(--muted);
  font-size: 10px;
}

.home-intro-note {
  margin: 12px 0 0;
  color: var(--muted);
  font-size: 9px;
  text-align: right;
}

body[data-page="home"] .section { padding: 52px 0; }
body[data-page="home"] .section-heading {
  margin-bottom: 30px;
  padding-bottom: 20px;
}

.client-entry {
  display: grid;
  grid-template-columns: 1fr;
  border: 0;
  border-top: 1px solid var(--line);
}

.client-entry a {
  display: grid;
  grid-template-columns: 60px minmax(180px, .65fr) minmax(0, 1fr) 28px;
  gap: 24px;
  align-items: center;
  min-height: 0;
  padding: 22px 0;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: transparent;
}

.client-entry a:not(:first-child) { padding-left: 0; }
.client-entry span { font-size: 10px; }
.client-entry h3 {
  margin: 0;
  font-size: 23px;
}
.client-entry p { max-width: none; margin: 0; line-height: 1.8; }
.client-entry b {
  position: static;
  justify-self: end;
  font-weight: 400;
}

.service-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 48px;
  border: 0;
  border-top: 1px solid var(--line);
}

.service-card {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) 108px;
  gap: 18px;
  align-items: center;
  min-height: 0;
  padding: 22px 0;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: transparent;
}

.service-card:nth-child(even) { padding-left: 0; border-right: 0; }
.service-card > span { padding-top: 0; font-size: 10px; }
.service-card h3 { margin: 0 0 5px; font-size: 21px; }
.service-card p { margin: 0; font-size: 11px; line-height: 1.8; }
.service-card ul { display: none; }
.service-card a {
  position: static;
  align-self: center;
  justify-self: end;
  color: var(--muted);
  font-size: 10px;
  font-weight: 500;
}

.director-feature {
  padding: 48px 0;
  background: #f1eee8;
  color: var(--ink);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.director-grid {
  grid-template-columns: minmax(280px, .68fr) minmax(0, 1.32fr);
  gap: 64px;
}

.director-image {
  height: 340px;
  background: #d8d3cb;
}
.director-copy .eyebrow { color: var(--red); }
.director-copy h2 { font-size: 48px; }
.director-copy h3 {
  margin: 8px 0 26px;
  color: var(--muted);
  font-size: 18px;
}

.director-copy > p:not(.eyebrow) {
  max-width: 660px;
  color: #4f565d;
  font-size: 14px;
  line-height: 1.85;
}

.director-copy ul { border-color: var(--line); }
body[data-page="home"] .director-copy ul { display: none; }
.director-copy li {
  border-color: var(--line);
  color: var(--muted);
}
.director-copy .text-link { color: var(--red); }

.redlaw-feature {
  padding: 48px 0 52px;
  background: #78121d;
  color: #fff;
}

.redlaw-feature::before { display: none; }
.redlaw-grid {
  display: block;
}

.redlaw-feature .eyebrow { color: #efc69c; }
.redlaw-label {
  margin: 8px 0 22px;
  padding: 0;
  border: 0;
  color: rgba(255, 255, 255, .64);
  letter-spacing: .08em;
}

.redlaw-brand {
  display: grid;
  grid-template-columns: 250px minmax(0, 1fr) auto;
  gap: 12px 56px;
  align-items: center;
  max-width: none;
  padding: 27px 0 0;
  border-top: 1px solid rgba(255, 255, 255, .34);
  border-left: 0;
}

.redlaw-brand h2 {
  grid-column: 1;
  grid-row: 2;
  margin: 0;
  font-size: clamp(36px, 4vw, 48px);
  letter-spacing: -.02em;
}

.redlaw-brand .eyebrow {
  grid-column: 1;
  grid-row: 1;
  margin: 0;
}

.redlaw-brand .redlaw-label {
  grid-column: 2 / 4;
  grid-row: 1;
  margin: 0;
}

.redlaw-brand h2 span { color: #efc69c; }
.redlaw-lead {
  grid-column: 2;
  grid-row: 2;
  margin: 0;
  color: rgba(255, 255, 255, .78);
  font-size: 14px;
  line-height: 2;
}

.redlaw-feature .button {
  grid-column: 3;
  grid-row: 2;
  background: transparent;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, .7);
}

.redlaw-principles { border-color: var(--line); }
.redlaw-principles article {
  grid-template-columns: 60px 1fr;
  padding: 24px 0;
  border-color: var(--line);
}
.redlaw-principles article > span { color: var(--red); font-size: 13px; }
.redlaw-principles h3 { font-size: 21px; }
.redlaw-principles p { color: var(--muted); }

.insight-list a {
  grid-template-columns: 108px 110px minmax(0, 1fr) 20px;
  min-height: 78px;
}
.insight-list span { font-family: var(--sans); font-size: 10px; color: var(--muted); }
.insight-list em { font-size: 9px; }
.insight-list h3 { font-size: 17px; }

.home-cta {
  padding: 60px 0;
  background: var(--red);
}
.home-cta .shell {
  grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr);
  gap: 90px;
}
.home-cta h2 { max-width: 720px; font-size: 48px; line-height: 1.35; }
.home-cta .eyebrow { color: rgba(255, 255, 255, .65); }
.home-cta .button { background: #fff; color: var(--red); }

/* 目录、卡片与专题页：减少“卡片墙”，强调编辑层级 */
.pill-row { gap: 0; border-bottom: 1px solid var(--line); }
.pill-row button {
  min-height: 42px;
  padding: 9px 15px;
  border: 0;
  border-top: 1px solid transparent;
  border-bottom: 2px solid transparent;
}
.pill-row button.active {
  border-color: var(--red);
  background: transparent;
  color: var(--red);
}

.catalog-tools input,
.directory-tools input {
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--ink);
}

.catalog-grid {
  grid-template-columns: 1fr;
  gap: 0;
  border-top: 1px solid var(--line);
}
.catalog-card {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr) 120px;
  gap: 30px;
  align-items: center;
  min-height: 0;
  padding: 22px 0;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: transparent;
}
.catalog-card:nth-child(even) { padding-left: 0; border-right: 0; }
.catalog-card h2 { margin: 0; font-size: 19px; }
.catalog-card a { justify-self: end; margin-top: 0; }

.professional-directory-grid,
.verified-team-grid {
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}
.professional-card { background: transparent; }
.professional-card img { height: 360px; filter: saturate(.8); }
.professional-card div { padding: 20px 0; }
.professional-card p { letter-spacing: .04em; }
.professional-card h3 { margin: 9px 0 15px; font-size: 25px; }
.professional-card ul { min-height: 58px; }

.department-library > section > div,
.department-matrix,
.classification-grid,
.career-grid,
.history-line,
.value-grid,
.career-links,
.consult-paths .shell {
  border-left: 0;
}

.department-library article,
.department-matrix article,
.classification-grid article,
.career-grid article,
.history-line article,
.value-grid article,
.career-links a,
.consult-paths a {
  background: transparent;
  border-color: var(--line);
}

.department-library article {
  display: flex;
  min-height: 0;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 18px 0;
  border-right: 0;
}
.department-library > section > div {
  grid-template-columns: 1fr 1fr;
  gap: 0 48px;
}
.department-library article h3 { margin: 0; font-size: 18px; }
.department-library article a { margin-top: 0; white-space: nowrap; }

.classification-grid article,
.career-grid article { min-height: 0; }

.career-grid,
.value-grid,
.team-system,
.portal-security .shell > div {
  grid-template-columns: 1fr;
  border-top: 1px solid var(--line);
}

.career-grid article,
.value-grid article,
.team-system article,
.portal-security article {
  display: grid;
  grid-template-columns: 60px minmax(180px, .55fr) minmax(0, 1fr);
  gap: 24px;
  align-items: center;
  min-height: 0;
  padding: 20px 0;
  border: 0;
  border-bottom: 1px solid var(--line);
}

.career-grid h3,
.team-system h3 {
  margin: 0;
  font-size: 20px;
}

.career-grid p,
.team-system p,
.value-grid p,
.portal-security p { margin: 0; }

.value-grid article {
  grid-template-columns: minmax(150px, .4fr) minmax(0, 1fr);
}

.value-grid article b { font-size: 21px; }

.consult-paths .shell {
  grid-template-columns: 1fr 1fr;
  gap: 0 48px;
  border-top: 1px solid var(--line);
}

.consult-paths a {
  display: grid;
  grid-template-columns: 44px minmax(150px, .7fr) minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  min-height: 0;
  padding: 20px 0;
  border-right: 0;
}

.consult-paths h2,
.consult-paths p { margin: 0; }

.vacancy-empty {
  padding: 24px 0;
  border: 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: transparent;
}

.vacancy-empty h3 { margin: 10px 0; }

.social-account-grid {
  gap: 0 48px;
}

.social-account-grid article {
  padding: 22px 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: transparent;
}

.redlaw-intro {
  padding: 64px 0;
  background: #fff;
  color: var(--ink);
  border-bottom: 1px solid var(--line);
}
.redlaw-intro .shell {
  grid-template-columns: .55fr 1fr auto;
  padding-left: 25px;
  border-left: 4px solid var(--red);
}
.redlaw-intro p:not(.eyebrow) { color: var(--muted); }
.redlaw-intro .button {
  background: transparent;
  color: var(--red);
  border: 1px solid var(--red);
}

.redlaw-page-hero {
  background: #78121d;
  color: #fff;
}

.redlaw-page-hero .eyebrow { color: #efc69c; }
.redlaw-page-hero .shell > p:last-child { color: rgba(255, 255, 255, .76); }

.career-hero { background: #fff; }
.career-application { background: #242321; }

.form-card {
  border: 1px solid var(--line);
  background: #fff;
}

.intake-heading { margin-bottom: 34px; }

.intake-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(290px, .55fr);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.intake-layout .form-card {
  padding: 38px 52px 38px 0;
  border: 0;
  border-right: 1px solid var(--line);
}

.intake-layout .form-card input,
.intake-layout .form-card select,
.intake-layout .form-card textarea {
  padding: 13px 0;
  background: transparent;
}

.direct-contact {
  align-self: stretch;
  padding: 40px 0 40px 48px;
}

.direct-contact h2 {
  margin: 0 0 30px;
  font-family: var(--serif);
  font-size: 30px;
  font-weight: 400;
  line-height: 1.4;
}

.contact-lines { border-top: 1px solid var(--line); }

.contact-lines > a,
.contact-lines > div {
  display: grid;
  grid-template-columns: 62px minmax(0, 1fr);
  gap: 18px;
  align-items: baseline;
  padding: 16px 0;
  border-bottom: 1px solid var(--line);
}

.contact-lines span {
  color: var(--muted);
  font-size: 10px;
}

.contact-lines b {
  font-family: var(--serif);
  font-size: 17px;
  font-weight: 400;
}

.direct-contact > p:last-child {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.8;
}

.source-note {
  border-left-width: 2px;
  background: #eeece6;
}

/* 页脚像机构信息页，而不是营销落地页 */
.site-footer {
  padding: 44px 0 20px;
  background: #232220;
}
.footer-grid {
  grid-template-columns: 1.45fr repeat(3, 1fr);
  gap: 42px;
  padding-bottom: 34px;
}
.footer-brand img { width: 225px; }
.footer-brand p { font-family: var(--sans); font-size: 11px; letter-spacing: .06em; }
.footer-grid strong { color: #d7a0a5; font-weight: 500; }

@media (max-width: 1050px) {
  :root { --shell: min(100% - 56px, 920px); }
  .home-copy { padding-left: 40px; padding-right: 40px; }
  .page-hero .shell { gap: 60px; }
  .professional-directory-grid,
  .verified-team-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 760px) {
  :root {
    --shell: calc(100vw - 40px);
    --header: 74px;
  }
  .site-header { height: var(--header); }
  .main-nav { height: var(--header); }
  .official-logo img { width: 150px; }
  .official-logo span { font-size: 13px; }
  .main-nav nav {
    inset: var(--header) 0 0;
    height: calc(100dvh - var(--header));
    padding: 22px 20px 32px;
  }
  .main-nav nav > a:not(.consult-link) {
    padding: 12px 0;
    font-size: 20px;
  }
  .section { padding: 66px 0; }
  body[data-page="home"] .section { padding: 56px 0; }
  .section-heading,
  .page-hero .shell {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .page-hero { padding: 62px 0 48px; }
  .page-hero .eyebrow { grid-column: auto; margin-bottom: 0; }
  .page-hero h1 { font-size: 42px; }
  .page-hero .shell > p:last-child { font-size: 13px; }
  .intake-layout { grid-template-columns: 1fr; }
  .intake-layout .form-card {
    padding: 26px 0 34px;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }
  .direct-contact { padding: 34px 0 0; }

  .home-hero-layout { grid-template-columns: 1fr; min-height: 0; }
  .home-copy { padding: 65px 20px 56px; }
  .home-copy h1 { font-size: clamp(41px, 12vw, 53px); }
  .home-copy > p:not(.eyebrow) { margin: 22px 0 28px; font-size: 13px; }
  .home-copy > div { align-items: flex-start; gap: 16px; flex-direction: column; }
  .home-visual { min-height: 310px; }
  .home-visual img { min-height: 310px; height: 310px; }
  .home-stats .shell {
    flex-wrap: wrap;
    gap: 22px 0;
    padding: 20px 0;
  }
  .home-stats p {
    flex: 1 1 50%;
    min-height: 0;
    padding: 0;
  }
  .home-stats p:nth-child(odd) { border-left: 0; }
  .home-intro-note { text-align: left; line-height: 1.6; }

  .client-entry { grid-template-columns: 1fr; }
  .client-entry a,
  .client-entry a:not(:first-child) {
    grid-template-columns: 36px minmax(0, 1fr) 24px;
    gap: 10px 14px;
    min-height: 0;
    padding: 18px 0;
    border-right: 0;
  }
  .client-entry h3 { margin: 0; }
  .client-entry p { grid-column: 2 / 4; }
  .client-entry b { grid-column: 3; grid-row: 1; }

  .service-grid { grid-template-columns: 1fr; }
  .service-card,
  .service-card:nth-child(even) {
    grid-template-columns: 40px minmax(0, 1fr);
    padding: 22px 0;
    border-right: 0;
  }
  .service-card a { display: none; }

  .director-feature { padding: 46px 0; }
  .director-grid { grid-template-columns: 1fr; gap: 45px; }
  .director-image { height: 320px; }
  .director-copy h2 { font-size: 46px; }

  .redlaw-feature { padding: 52px 0; }
  .redlaw-grid { display: block; }
  .redlaw-brand {
    display: block;
    padding: 22px 0 0;
  }
  .redlaw-brand .eyebrow { margin-bottom: 12px; }
  .redlaw-brand .redlaw-label { margin: 0 0 18px; }
  .redlaw-brand h2 { font-size: 36px; }
  .redlaw-lead { margin: 22px 0 28px; }

  .insight-list a { grid-template-columns: 78px 1fr 18px; }
  .insight-list em { display: none; }
  .insight-list h3 { font-size: 16px; }

  .home-cta { padding: 65px 0; }
  .home-cta .shell { grid-template-columns: 1fr; gap: 30px; }
  .home-cta h2 { font-size: 38px; }

  .catalog-grid { grid-template-columns: 1fr; }
  .catalog-card,
  .catalog-card:nth-child(even) {
    grid-template-columns: 1fr;
    gap: 11px;
    min-height: 0;
    padding: 18px 0;
    border-right: 0;
  }
  .catalog-card a { justify-self: start; }

  .department-library > section > div,
  .consult-paths .shell { grid-template-columns: 1fr; gap: 0; }

  .career-grid article,
  .team-system article,
  .portal-security article {
    grid-template-columns: 36px minmax(0, 1fr);
    gap: 9px 14px;
  }
  .career-grid p,
  .team-system p,
  .portal-security p { grid-column: 2; }

  .value-grid article { grid-template-columns: 1fr; gap: 8px; }

  .consult-paths a {
    grid-template-columns: 36px minmax(0, 1fr);
    gap: 9px 14px;
  }
  .consult-paths p { grid-column: 2; }

  .professional-directory-grid,
  .verified-team-grid { grid-template-columns: 1fr; }
  .professional-card img { height: 430px; }

  .redlaw-intro .shell {
    grid-template-columns: 1fr;
    gap: 24px;
    padding-left: 18px;
  }
  .redlaw-intro .button { grid-column: auto; }

  .footer-grid { grid-template-columns: 1fr 1fr; gap: 36px 24px; }
}
