/* DQB Group — site styles.
   Layout values are taken from the design handoff; the prototype expressed them
   as inline styles and `style-hover` attributes, which static HTML has no
   equivalent for. Square corners and hairline rules throughout: radius is 0
   everywhere, and the only shadow in the system is on the mega menu. */

body { margin: 0; background: #d9dbdf; font-family: var(--font-body); color: var(--color-text); }
a { color: var(--color-accent-700); }
a:hover { color: var(--color-accent-900); }

.page { min-height: 100%; background: #d9dbdf; padding: 0 0 34px; }
.frame {
  max-width: 1120px; margin: 0 auto; background: #ffffff;
  border: 1px solid #c3c6cb; border-top: none;
}

/* ── loading animation ─────────────────────────────────────────────────── */
@keyframes dqbSq {
  0%   { opacity: 0; transform: translateY(10px) scale(.4); }
  60%  { opacity: 1; transform: translateY(0) scale(1.08); }
  100% { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes dqbRule { from { width: 0; } to { width: 100%; } }
@keyframes dqbUp {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: translateY(0); }
}
.loader { position: fixed; inset: 0; z-index: 90; background: #f2f2f3; display: grid; place-items: center; }
.loader[hidden] { display: none; }
.loader-inner { display: flex; flex-direction: column; align-items: center; gap: 22px; }
.loader-mark { display: grid; grid-template-columns: 40px 40px; grid-template-rows: 40px 40px; gap: 5px; }
.loader-mark i { display: block; opacity: 0; animation: dqbSq .5s cubic-bezier(.2,.7,.3,1) forwards; }
.loader-mark .sq1 { background: #1d2d3d; animation-delay: .05s; }
.loader-mark .sq2 { background: #5980a6; animation-delay: .2s; }
.loader-mark .sq3 { background: #5980a6; animation-delay: .5s; }
.loader-mark .sq4 { background: #1d2d3d; animation-delay: .35s; }
.loader-rule { width: 220px; height: 1px; background: #c9cbcf; }
.loader-rule i { display: block; height: 1px; background: #5980a6; width: 0; animation: dqbRule 1.6s cubic-bezier(.4,0,.2,1) .2s forwards; }
.loader-word {
  font-family: var(--font-heading); font-weight: 600; font-size: 22px;
  letter-spacing: .28em; color: #1d2d3d; opacity: 0;
  animation: dqbUp .6s ease-out .8s forwards;
}
@media (prefers-reduced-motion: reduce) {
  .loader-mark i, .loader-rule i, .loader-word { animation-duration: 1ms; animation-delay: 0s; }
}

/* ── utility strip ─────────────────────────────────────────────────────── */
.utility { background: #f2f2f3; border-bottom: 1px solid #dcdee1; }
.utility-in {
  padding: 0 26px; display: flex; align-items: center; gap: 16px; height: 30px;
  font-size: 11px; color: var(--color-neutral-700); letter-spacing: .04em;
}
.utility-right { margin-left: auto; display: flex; align-items: center; gap: 14px; }
.utility a { text-decoration: none; }
.utility .pipe { opacity: .4; }
.langs { display: flex; gap: 8px; }
.langs strong { color: #1d2d3d; font-weight: 700; }

/* ── masthead ──────────────────────────────────────────────────────────── */
.masthead {
  padding: 30px 26px 26px; display: grid;
  grid-template-columns: auto 1px 1fr auto; align-items: center; gap: 28px;
}
.brand { display: flex; align-items: center; gap: 16px; text-decoration: none; }
.mark { display: grid; grid-template-columns: 21px 21px; grid-template-rows: 21px 21px; gap: 2px; }
.mark i { display: block; }
.mark i:nth-child(1), .mark i:nth-child(4) { background: #1d2d3d; }
.mark i:nth-child(2), .mark i:nth-child(3) { background: #5980a6; }
.wordmark {
  display: block; font-family: var(--font-heading); font-weight: 600;
  font-size: 44px; line-height: .9; letter-spacing: .1em; color: #1d2d3d;
}
.mast-rule { display: block; height: 44px; background: #dcdee1; }
.claim { display: block; font-size: 13px; line-height: 1.55; color: var(--color-neutral-700); max-width: 30ch; }
.mast-contact { display: flex; flex-direction: column; align-items: flex-end; gap: 3px; }
.mast-phone { font-family: var(--font-heading); font-size: 22px; color: #1d2d3d; letter-spacing: .02em; }
.mast-write { font-size: 11.5px; color: var(--color-neutral-700); }
.mast-write a { text-decoration: none; }

/* ── primary nav + mega menu ───────────────────────────────────────────── */
.navband { background: #5980a6; position: relative; }
.navband-in { padding: 0 26px; display: flex; align-items: stretch; position: relative; }
.navtab {
  padding: 13px 22px 12px; font-family: var(--font-heading); font-size: 14.5px;
  letter-spacing: .11em; text-transform: uppercase; text-decoration: none;
  color: #ffffff; display: flex; align-items: center; gap: 8px;
}
.navtab:hover { background: #4d7196; color: #ffffff; }
.navtab.is-active { background: #41648a; box-shadow: inset 0 -3px 0 #ffffff; }
.navsearch { margin-left: auto; display: flex; align-items: center; gap: 8px; padding-left: 20px; }
.navsearch-input {
  height: 28px; width: 160px; background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.32); color: #ffffff; font-size: 12px;
}
.navsearch-input::placeholder { color: rgba(255,255,255,.7); }

.mega {
  position: absolute; left: 0; right: 0; z-index: 30; background: #ffffff;
  border-bottom: 3px solid #5980a6; border-top: 1px solid #dcdee1;
  box-shadow: 0 16px 34px rgba(29,45,61,.14); animation: dqbUp .16s ease-out;
}
.mega[hidden] { display: none; }
.mega-in {
  max-width: 1120px; margin: 0 auto; padding: 24px 26px 28px;
  display: grid; grid-template-columns: repeat(5, 1fr); gap: 24px;
}
.mega-col { display: flex; flex-direction: column; gap: 9px; }
.mega-head { text-decoration: none; border-bottom: 1px solid #dcdee1; padding-bottom: 7px; }
.mega-no { display: block; font-size: 10px; letter-spacing: .2em; color: var(--color-neutral-600); }
.mega-name {
  display: block; font-family: var(--font-heading); font-weight: 600;
  font-size: 17px; line-height: 1.15; color: #1d2d3d; margin-top: 3px;
}
.megalink { font-size: 12.5px; line-height: 1.35; color: var(--color-neutral-800); text-decoration: none; }
.megalink:hover { color: #5980a6; }

/* ── breadcrumbs ───────────────────────────────────────────────────────── */
.crumbs {
  padding: 10px 26px; background: #ffffff; border-bottom: 1px solid #dcdee1;
  font-size: 11.5px; color: var(--color-neutral-700); letter-spacing: .04em;
}
.crumbs a { text-decoration: none; }
.crumbs .sep { opacity: .45; }

/* ── body grid + sidebar ───────────────────────────────────────────────── */
.body-grid { display: grid; grid-template-columns: 214px 1fr; }
.main { min-width: 0; }
.sidebar { border-right: 1px solid #dcdee1; background: #fafafb; padding: 22px 0 30px; }
.side-label {
  font-size: 10px; letter-spacing: .2em; text-transform: uppercase;
  color: var(--color-neutral-600); padding: 0 18px 10px;
}
.siderow { border-top: 1px solid #e4e6e9; }
.sidelink {
  display: flex; gap: 9px; padding: 10px 18px; font-family: var(--font-heading);
  font-size: 15px; text-decoration: none; color: var(--color-text);
  border-left: 3px solid transparent;
}
.sidelink:hover { background: #ffffff; color: #5980a6; }
.sidelink.is-active { background: #ffffff; color: #5980a6; border-left-color: #5980a6; }
.sideno { font-size: 10.5px; letter-spacing: .1em; color: #8ba3ba; padding-top: 3px; }
.sidesubs { padding: 2px 0 8px; }
.subsidelink { display: block; padding: 6px 18px 6px 34px; font-size: 12.5px; text-decoration: none; color: var(--color-text); }
.subsidelink:hover { color: #5980a6; }
.subsidelink.is-active { background: #eef2f6; color: #5980a6; }

.side-portlet-wrap { padding: 24px 18px 0; }
.portlet { border: 1px solid #dcdee1; background: #ffffff; }
.portlet-head {
  background: #f2f2f3; border-bottom: 1px solid #dcdee1; padding: 7px 12px;
  font-size: 10px; letter-spacing: .18em; text-transform: uppercase; color: var(--color-neutral-700);
}
.portlet-body { padding: 12px; }
.portlet-phone { font-family: var(--font-heading); font-size: 17px; color: #1d2d3d; }
.portlet-addr { font-size: 12px; line-height: 1.6; color: var(--color-neutral-700); margin-top: 4px; }
.portlet-link {
  display: inline-block; margin-top: 9px; font-size: 11px; letter-spacing: .1em;
  text-transform: uppercase; text-decoration: none;
}
.self-start { align-self: start; }

/* ── shared page furniture ─────────────────────────────────────────────── */
.kicker { font-size: 10px; letter-spacing: .24em; text-transform: uppercase; color: #5980a6; margin-bottom: 16px; }
.block { padding: 30px 34px; }
.block-wide { padding: 34px 34px 40px; }
.pagehead { padding: 36px 34px 28px; border-bottom: 1px solid #dcdee1; }
.pagehead-lead { font-size: 15px; line-height: 1.75; max-width: 64ch; color: var(--color-neutral-800); margin: 0; }
.sechead { display: flex; align-items: baseline; gap: 14px; border-bottom: 1px solid #dcdee1; padding-bottom: 9px; margin-bottom: 22px; }
.sechead h2 { font-family: var(--font-heading); font-size: 24px; letter-spacing: .06em; text-transform: uppercase; margin: 0; color: #1d2d3d; }
.sechead-link { margin-left: auto; font-size: 11.5px; letter-spacing: .1em; text-transform: uppercase; text-decoration: none; }
.h2-sm { font-family: var(--font-heading); font-size: 22px; letter-spacing: .06em; text-transform: uppercase; margin: 0; color: #1d2d3d; }
.h2-xs { font-family: var(--font-heading); font-size: 19px; letter-spacing: .06em; text-transform: uppercase; margin: 0; color: #1d2d3d; }
.ruled { border-bottom: 1px solid #dcdee1; padding-bottom: 9px; }
.mb { margin-bottom: 18px; }
.nowrap { white-space: nowrap; }
.btn-full { width: 100%; margin-top: 12px; }
.justify-start { justify-self: start; }

.table .num { font-variant-numeric: tabular-nums; }
.table .dim { color: var(--color-neutral-700); font-size: 12.5px; }
.table .dim.small { font-size: 12px; }
.w-year { width: 56px; } .w-year2 { width: 60px; }
.w-role { width: 120px; } .w-role2 { width: 130px; } .w-role3 { width: 140px; }
.w-line { width: 190px; }

/* ── home ──────────────────────────────────────────────────────────────── */
.hero { display: grid; grid-template-columns: 1fr 300px; border-bottom: 1px solid #dcdee1; }
.hero-main { padding: 38px 34px 34px; border-right: 1px solid #dcdee1; }
.h1-home {
  font-family: var(--font-heading); font-size: 52px; line-height: 1.02;
  margin: 0 0 18px; max-width: 16ch; font-weight: 600; color: #1d2d3d; text-wrap: pretty;
  letter-spacing: normal;
}
.hero-lead { font-size: 15.5px; line-height: 1.75; max-width: 56ch; color: var(--color-neutral-800); margin: 0 0 24px; }
.hero-btns { display: flex; gap: 10px; flex-wrap: wrap; }
.hero-side { padding: 22px; }
.glance { padding: 4px 12px 10px; }
.glance-row { display: flex; align-items: baseline; gap: 12px; padding: 9px 0; border-bottom: 1px solid #eceef0; }
.glance-v { font-family: var(--font-heading); font-size: 24px; color: #1d2d3d; min-width: 56px; }
.glance-k { font-size: 11.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--color-neutral-700); }

.svc-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.svc-card { padding: 18px 16px 20px; display: flex; flex-direction: column; gap: 8px; text-decoration: none; color: inherit; }
.bpcard:hover { background: var(--color-accent-100); }
.svc-no { font-family: var(--font-heading); font-size: 11px; letter-spacing: .18em; color: #5980a6; }
.svc-name { font-family: var(--font-heading); font-weight: 600; font-size: 20px; line-height: 1.1; color: #1d2d3d; }
.svc-short { font-size: 12.5px; line-height: 1.6; color: var(--color-neutral-800); }
.svc-count { margin-top: auto; padding-top: 10px; font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; color: #5980a6; }

.home-bottom { display: grid; grid-template-columns: 1.5fr 1fr; border-top: 1px solid #dcdee1; }
.home-deals { padding: 28px 34px; border-right: 1px solid #dcdee1; }
.home-deals .sechead { margin-bottom: 12px; }
.home-approach { padding: 28px 30px; background: #fafafb; }
.home-approach .h2-sm { margin-bottom: 6px; }
.step { display: grid; grid-template-columns: 30px 1fr; gap: 14px; padding: 15px 0; border-bottom: 1px solid #e4e6e9; }
.step-no { font-family: var(--font-heading); font-size: 17px; color: #5980a6; }
.step-title { font-family: var(--font-heading); font-size: 17px; margin-bottom: 3px; color: #1d2d3d; }
.step-text { font-size: 12.5px; line-height: 1.65; color: var(--color-neutral-800); }
.step-text.sm { font-size: 13px; }

/* ── services overview ─────────────────────────────────────────────────── */
.h1-services, .h1-firm { font-family: var(--font-heading); font-size: 44px; line-height: 1.05; margin: 0 0 16px; max-width: 22ch; color: #1d2d3d; letter-spacing: normal; }
.svc-row { display: grid; grid-template-columns: 1fr 1.25fr; gap: 34px; padding: 28px 34px; border-bottom: 1px solid #dcdee1; }
.svc-row-no { font-family: var(--font-heading); font-size: 11px; letter-spacing: .18em; color: #5980a6; margin-bottom: 7px; }
.svc-row-name { font-family: var(--font-heading); font-size: 28px; line-height: 1.1; margin: 0 0 10px; color: #1d2d3d; letter-spacing: normal; }
.svc-row-short { font-size: 13.5px; line-height: 1.7; color: var(--color-neutral-800); margin: 0 0 14px; }
.sublist { display: grid; grid-template-columns: 1fr 1fr; gap: 0 22px; align-content: start; }
.sublist-link {
  display: flex; align-items: baseline; gap: 9px; padding: 10px 0;
  border-top: 1px solid #e4e6e9; text-decoration: none;
  color: var(--color-text); font-size: 13.5px;
}
.sublist-link:hover { color: #5980a6; }
.sublist-no { font-family: var(--font-heading); font-size: 10.5px; color: #8ba3ba; letter-spacing: .1em; }

/* ── service page ──────────────────────────────────────────────────────── */
.svc-head { padding: 34px 34px 26px; border-bottom: 1px solid #dcdee1; background: #fafafb; }
.svc-head-no { font-family: var(--font-heading); font-size: 11px; letter-spacing: .22em; color: #5980a6; margin-bottom: 10px; }
.h1-service { font-family: var(--font-heading); font-size: 46px; line-height: 1.04; margin: 0 0 14px; max-width: 20ch; font-weight: 600; color: #1d2d3d; letter-spacing: normal; }
.svc-head-lead { font-size: 15px; line-height: 1.75; max-width: 64ch; color: var(--color-neutral-800); margin: 0; }
.sub-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.sub-card { padding: 18px; display: flex; flex-direction: column; gap: 8px; text-decoration: none; color: inherit; }
.sub-no { font-family: var(--font-heading); font-size: 10.5px; letter-spacing: .18em; color: #5980a6; }
.sub-name { font-family: var(--font-heading); font-weight: 600; font-size: 20px; line-height: 1.1; color: #1d2d3d; }
.sub-lead { font-size: 12.5px; line-height: 1.65; color: var(--color-neutral-800); }
.svc-bottom { display: grid; grid-template-columns: 1.5fr 1fr; gap: 30px; margin-top: 32px; }
.lead-name { font-family: var(--font-heading); font-size: 19px; color: #1d2d3d; }
.lead-name.sm { font-size: 18px; }
.lead-role { font-size: 12.5px; color: var(--color-neutral-800); margin-top: 2px; }

/* ── sub-service page ──────────────────────────────────────────────────── */
.sub-layout { display: grid; grid-template-columns: 1fr 250px; }
.sub-main { padding: 34px 34px 40px; border-right: 1px solid #dcdee1; }
.sub-eyebrow { font-family: var(--font-heading); font-size: 11px; letter-spacing: .22em; color: #5980a6; margin-bottom: 10px; }
.h1-sub { font-family: var(--font-heading); font-size: 40px; line-height: 1.05; margin: 0 0 16px; max-width: 20ch; color: #1d2d3d; letter-spacing: normal; }
.pullquote {
  font-size: 16.5px; line-height: 1.7; color: var(--color-neutral-900);
  margin: 0 0 24px; max-width: 58ch; border-left: 3px solid #5980a6; padding-left: 16px;
}
.sub-para { font-size: 14.5px; line-height: 1.8; color: var(--color-neutral-800); margin: 0 0 13px; max-width: 64ch; }
.sub-para.last { margin-bottom: 28px; }
.points { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 24px; margin-bottom: 28px; }
.point { display: grid; grid-template-columns: 16px 1fr; gap: 9px; font-size: 13.5px; line-height: 1.6; color: var(--color-neutral-800); }
.point svg { margin-top: 3px; }
.situation { padding: 20px 22px; }
.situation-label { font-size: 10px; letter-spacing: .2em; text-transform: uppercase; color: #5980a6; margin-bottom: 7px; }
.situation-text { font-size: 14px; line-height: 1.75; color: var(--color-neutral-800); }
.sub-rail { padding: 28px 22px; background: #fafafb; }
.mb-rail { margin-bottom: 22px; }
.rail-label { font-size: 10px; letter-spacing: .2em; text-transform: uppercase; color: var(--color-neutral-600); margin-bottom: 6px; }
.related { display: block; padding: 9px 0; border-top: 1px solid #e4e6e9; font-size: 13px; text-decoration: none; color: var(--color-text); }
.related:hover { color: #5980a6; }

/* ── transactions ──────────────────────────────────────────────────────── */
.h1-deals { font-family: var(--font-heading); font-size: 42px; line-height: 1.05; margin: 0 0 14px; color: #1d2d3d; letter-spacing: normal; }
.deals-lead { font-size: 15px; line-height: 1.75; max-width: 62ch; color: var(--color-neutral-800); margin: 0 0 24px; }

/* ── firm ──────────────────────────────────────────────────────────────── */
.people-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.person { padding: 18px; }
.person-name { font-family: var(--font-heading); font-size: 20px; line-height: 1.15; color: #1d2d3d; }
.person-role { font-size: 11.5px; letter-spacing: .11em; text-transform: uppercase; color: #5980a6; margin: 5px 0 9px; }
.person-bio { font-size: 13px; line-height: 1.65; color: var(--color-neutral-800); }
.person-mail { font-size: 12.5px; margin-top: 9px; color: var(--color-neutral-700); }

/* ── careers ───────────────────────────────────────────────────────────── */
.roles { display: grid; gap: 16px; }
.role { padding: 20px; display: grid; grid-template-columns: 1fr auto; gap: 18px; align-items: start; }
.role-title { font-family: var(--font-heading); font-weight: 600; font-size: 21px; line-height: 1.1; color: #1d2d3d; }
.role-meta { font-size: 11.5px; letter-spacing: .11em; text-transform: uppercase; color: #5980a6; margin: 5px 0 9px; }
.role-text { font-size: 13.5px; line-height: 1.7; color: var(--color-neutral-800); max-width: 66ch; }
.hiring-grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 30px; margin-top: 34px; }
.spec-text { font-size: 13.5px; line-height: 1.7; color: var(--color-neutral-800); }
.spec-mail { font-family: var(--font-heading); font-size: 18px; color: #1d2d3d; margin-top: 10px; }

/* ── contact ───────────────────────────────────────────────────────────── */
.contact-layout { display: grid; grid-template-columns: 1fr 300px; }
.contact-main { padding: 34px 34px 40px; border-right: 1px solid #dcdee1; }
.h1-contact { font-family: var(--font-heading); font-size: 40px; line-height: 1.05; margin: 0 0 14px; color: #1d2d3d; letter-spacing: normal; }
.contact-lead { font-size: 14.5px; line-height: 1.75; color: var(--color-neutral-800); margin: 0 0 24px; max-width: 52ch; }
.contact-form { display: grid; gap: 14px; max-width: 440px; }
.contact-side { padding: 30px 26px; background: #fafafb; }
.office { font-size: 13.5px; line-height: 1.8; }
.office-city { font-family: var(--font-heading); font-size: 18px; color: #1d2d3d; }
.office-addr { color: var(--color-neutral-800); }

/* ── footer ────────────────────────────────────────────────────────────── */
.footer { border-top: 3px solid #5980a6; background: #f2f2f3; }
.foot-grid { padding: 30px 26px 22px; display: grid; grid-template-columns: 1fr repeat(5, 1fr); gap: 22px; }
.foot-mark { display: grid; grid-template-columns: 13px 13px; grid-template-rows: 13px 13px; gap: 2px; margin-bottom: 12px; }
.foot-mark i { display: block; }
.foot-mark i:nth-child(1), .foot-mark i:nth-child(4) { background: #1d2d3d; }
.foot-mark i:nth-child(2), .foot-mark i:nth-child(3) { background: #5980a6; }
.foot-word { font-family: var(--font-heading); font-size: 24px; color: #1d2d3d; letter-spacing: .08em; }
.foot-addr { font-size: 11px; line-height: 1.8; margin-top: 8px; color: var(--color-neutral-700); }
.foot-col { display: flex; flex-direction: column; gap: 7px; }
.foot-head {
  font-family: var(--font-heading); font-size: 13px; letter-spacing: .09em;
  text-transform: uppercase; color: #1d2d3d; text-decoration: none;
  padding-bottom: 6px; border-bottom: 1px solid #d4d6da;
}
.footlink { font-size: 11.5px; line-height: 1.35; color: var(--color-neutral-700); text-decoration: none; }
.footlink:hover { color: #5980a6; }
.foot-bottom { border-top: 1px solid #dcdee1; }
.foot-bottom-in { padding: 12px 26px; display: flex; gap: 16px; font-size: 11px; color: var(--color-neutral-700); flex-wrap: wrap; }
.foot-legal { margin-left: auto; display: flex; gap: 16px; }
.foot-bottom a { text-decoration: none; }

/* ── responsive ────────────────────────────────────────────────────────────
   The prototype is a fixed 1120px desktop layout. The handoff does not specify
   breakpoints, so these collapse the multi-column structures in the order that
   preserves reading sequence: sidebar above content, grids to single column. */
@media (max-width: 1000px) {
  .body-grid { grid-template-columns: 1fr; }
  .sidebar { border-right: none; border-bottom: 1px solid #dcdee1; }
  .hero, .home-bottom, .contact-layout, .sub-layout,
  .svc-bottom, .hiring-grid, .svc-row { grid-template-columns: 1fr; }
  .hero-main, .home-deals, .contact-main, .sub-main { border-right: none; }
  .svc-grid { grid-template-columns: repeat(2, 1fr); }
  .foot-grid { grid-template-columns: repeat(3, 1fr); }
  .mega-in { grid-template-columns: repeat(3, 1fr); }
  .svc-row { gap: 18px; }
  /* The 160px search field pushes the nav band past the viewport here, and the
     handoff marks search as visual-only, so it is the first thing to go. */
  .navsearch { display: none; }
  .navband-in { flex-wrap: wrap; }
}
@media (max-width: 720px) {
  .masthead { grid-template-columns: 1fr; gap: 16px; padding: 22px 18px; }
  .mast-rule { display: none; }
  .mast-contact { align-items: flex-start; }
  .navband-in { flex-wrap: wrap; padding: 0 10px; }
  .navtab { padding: 11px 12px; font-size: 13px; letter-spacing: .08em; }
  .navsearch { display: none; }
  .mega { display: none !important; }
  .svc-grid, .sub-grid, .people-grid, .points, .sublist,
  .foot-grid, .roles { grid-template-columns: 1fr; }
  .block, .block-wide, .pagehead, .svc-head, .sub-main,
  .contact-main, .home-deals, .svc-row { padding-left: 18px; padding-right: 18px; }
  .home-approach, .sub-rail, .contact-side { padding-left: 18px; padding-right: 18px; }
  .h1-home { font-size: 36px; }
  .h1-service { font-size: 32px; }
  .h1-services, .h1-firm, .h1-deals, .h1-sub, .h1-contact { font-size: 30px; }
  .role { grid-template-columns: 1fr; }
  .table { font-size: 13px; }
  .foot-bottom-in { flex-direction: column; }
  .foot-legal { margin-left: 0; }
}
