/*
Theme Name: Temirway Blocksy Child
Description: Temirway catalog templates for the Blocksy theme.
Template: blocksy
Version: 0.6.18
Text Domain: temirway-blocksy-child
*/

:root {
  --tw-navy: #0b2d4a;
  --tw-gold: #c9a961;
  --tw-ink: #172b3a;
  --tw-muted: #506172;
  --tw-border: #d9e0e5;
  --tw-background: #f8fafc;
}

/* Corporate header: compact, wide, and aligned with the homepage composition. */
#header [data-device="desktop"] [data-row="middle"] { --height: 58px; --header-height: 58px; height: 58px; }
#header [data-device="desktop"] [data-row="middle"] > .ct-container {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  width: min(100% - 5rem, 1600px);
  max-width: none;
}
#header [data-device="desktop"] [data-column="end"],
#header [data-device="desktop"] [data-column="end"] > [data-items="primary"] { min-width: 0; width: 100%; }
#header [data-device="desktop"] [data-column="end"] > [data-items="primary"] { display: flex; align-items: center; }
#header [data-device="desktop"] #header-menu-1 { flex: 1; min-width: 0; margin-right: 0; }
#header [data-device="desktop"] #header-menu-1 .menu {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: flex-start;
  gap: clamp(1.4rem, 2vw, 2.5rem);
}
#header [data-device="desktop"] #header-menu-1 .menu > li.tw-header-contacts { margin-left: auto; }
#header [data-device="desktop"] #header-menu-1 .menu > li:last-child { margin-left: 0; }
.tw-header-contacts { display:none; }
.tw-header-contacts svg { width:18px; height:18px; flex:0 0 18px; }
.mobile-menu .tw-header-contacts { display:flex; flex-direction:column; align-items:flex-start; gap:8px; padding-block:16px; }
.mobile-menu .tw-header-contacts > a { display:inline-flex; align-items:center; gap:12px; min-height:44px; padding:0; font-size:16px; line-height:1.4; text-decoration:none; }
.mobile-menu .tw-header-contacts > a > svg { width:20px; height:20px; max-width:20px; flex:0 0 20px; }
#header [data-device="desktop"] .tw-header-contacts { display:flex; align-items:center; gap:1.25rem; white-space:nowrap; }
#header [data-device="desktop"] #header-menu-1 .menu > li.tw-header-contacts > a { display:inline-flex; align-items:center; gap:.55rem; min-height:44px; padding:0; color:var(--tw-navy); font-size:.84rem; font-weight:600; letter-spacing:0; text-decoration:none; }
#header [data-device="desktop"] #header-menu-1 .menu > li.tw-header-contacts > a:hover { color:#9b762f; }
#header [data-device="desktop"] .tw-header-contacts svg { width:18px; height:18px; flex:none; }
#header [data-device="desktop"] .tw-header-email { padding-left:1.25rem !important; border-left:1px solid #d5dee6; }
#header [data-device="mobile"] .tw-header-contacts { display:none; }
#header [data-device="desktop"] #header-menu-1 .menu > li,
#header [data-device="desktop"] #header-menu-1 .menu > li > a { height: auto; min-height: 44px; }
#header [data-device="desktop"] #header-menu-1 .menu > li > a {
  display: inline-flex;
  align-items: center;
  padding-inline: .55rem;
  color: var(--tw-navy);
  font-size: .89rem;
  font-weight: 600;
  letter-spacing: .025em;
  text-transform: none;
}
#header [data-device="desktop"] #header-menu-1 .menu > li:last-child > a {
  gap: .7rem;
  min-height: 44px;
  margin-left: .6rem;
  padding-inline: 1.25rem;
  background: var(--tw-gold);
  color: var(--tw-navy);
  font-weight: 700;
}
#header [data-device="desktop"] #header-menu-1 .menu > li:last-child > a::after {
  content: "→";
  position: static;
  width: auto;
  height: auto;
  background: none;
  opacity: 1;
  font-size: 1.1rem;
  font-weight: 400;
}
#header [data-device="desktop"] .ct-header-search { display: none; }
#header [data-device="desktop"] .site-title-container { display: flex; align-items: center; }
#header [data-device="desktop"] .site-title a {
  color: var(--tw-navy);
  font-size: 2rem;
  font-weight: 800;
  letter-spacing: -.055em;
}
#header [data-device="desktop"] .site-title-container::after {
  content: "ЖЕЛЕЗНОДОРОЖНАЯ\A ПРОДУКЦИЯ";
  display: none;
  margin-left: 1.1rem;
  padding-left: 1.1rem;
  border-left: 1px solid var(--tw-gold);
  color: #566779;
  font-size: .56rem;
  font-weight: 700;
  letter-spacing: .055em;
  line-height: 1.35;
  white-space: pre;
}
@media (max-width: 1250px) {
  #header [data-device="desktop"] [data-row="middle"] > .ct-container { grid-template-columns: 240px minmax(0, 1fr); }
  #header [data-device="desktop"] #header-menu-1 .menu > li > a { padding-inline: .35rem; font-size: .69rem; }
  #header [data-device="desktop"] #header-menu-1 .menu > li:last-child > a { margin-left: .25rem; padding-inline: .75rem; }
  #header [data-device="desktop"] #header-menu-1 .menu { gap: 1rem; }
}

.tw-container {
  width: min(100% - 2rem, 76rem);
  margin-inline: auto;
}

.tw-product {
  padding-block: clamp(2rem, 5vw, 4rem) 5rem;
  color: var(--tw-ink);
}

.tw-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-bottom: 1.5rem;
  font-size: .875rem;
  color: var(--tw-muted);
}

.tw-breadcrumbs a { color: var(--tw-navy); }
.tw-breadcrumbs a:hover { text-decoration: underline; }

.tw-product__intro {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: start;
}

.tw-product__image {
  display: grid;
  place-items: center;
  min-height: 23rem;
  margin: 0;
  padding: 1.5rem;
  border: 1px solid var(--tw-border);
  background: #fff;
}

.tw-product__image img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 34rem;
  object-fit: contain;
}

.tw-product__image--empty { color: var(--tw-muted); }

.tw-product__group {
  margin: 0 0 .75rem;
  color: var(--tw-muted);
  font-size: .9rem;
}

.tw-product h1 {
  max-width: 22ch;
  margin: 0 0 1.25rem;
  color: var(--tw-navy);
  font-size: clamp(2rem, 3.6vw, 3.4rem);
  line-height: 1.12;
  overflow-wrap: anywhere;
}

.tw-product__summary { max-width: 62ch; line-height: 1.65; }

.tw-product__facts {
  margin: 1.5rem 0 2rem;
  padding: 1rem 0;
  border-block: 1px solid var(--tw-border);
}

.tw-product__facts div {
  display: grid;
  grid-template-columns: minmax(8rem, 35%) 1fr;
  gap: 1rem;
  padding: .35rem 0;
}

.tw-product__facts dt { color: var(--tw-muted); }
.tw-product__facts dd { margin: 0; font-weight: 600; overflow-wrap: anywhere; }

.tw-button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 3rem;
  padding: .75rem 1.25rem;
  background: var(--tw-gold);
  color: var(--tw-navy);
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  transition: background-color .15s ease;
}

.tw-button:hover { background: #ddbf78; color: var(--tw-navy); }
.tw-button:focus-visible, .tw-product a:focus-visible { outline: 3px solid var(--tw-navy); outline-offset: 3px; }

.tw-product__details { margin-top: clamp(2.5rem, 5vw, 5rem); }
.tw-product__details h2 {
  margin: 0 0 1rem;
  color: var(--tw-navy);
  font-size: clamp(1.4rem, 2.4vw, 2rem);
}

.tw-specs-scroll { max-width: 100%; overflow-x: auto; }
.tw-specs { width: 100%; min-width: 34rem; border-collapse: collapse; }
.tw-specs th, .tw-specs td {
  padding: .85rem 1rem;
  border-bottom: 1px solid var(--tw-border);
  text-align: left;
  vertical-align: top;
}
.tw-specs th { width: 40%; color: var(--tw-muted); font-weight: 500; }
.tw-specs td { overflow-wrap: anywhere; }
.tw-specs small { display: block; margin-top: .25rem; color: var(--tw-muted); }

.tw-product__description { max-width: 75ch; margin-top: 3rem; line-height: 1.7; }

.tw-catalog { padding-block: clamp(2rem, 5vw, 4rem) 5rem; color: var(--tw-ink); }
.tw-catalog__header { max-width: 52rem; margin-bottom: 2.5rem; }
.tw-catalog__eyebrow { margin: 0 0 .5rem; color: var(--tw-muted); font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.tw-catalog h1 { margin: 0 0 .75rem; color: var(--tw-navy); font-size: clamp(2rem, 4vw, 3.5rem); line-height: 1.1; }
.tw-catalog__description { max-width: 68ch; line-height: 1.65; }
.tw-catalog__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.tw-card { min-width: 0; margin: 0; border: 1px solid var(--tw-border); background: #fff; }
.tw-card__link { display: flex; height: 100%; flex-direction: column; color: inherit; text-decoration: none; }
.tw-card__link:hover .tw-card__title { color: var(--tw-navy); text-decoration: underline; }
.tw-card__link:focus-visible { outline: 3px solid var(--tw-gold); outline-offset: 3px; }
.tw-card__media { display: grid; place-items: center; min-height: 14rem; aspect-ratio: 4 / 3; overflow: hidden; background: var(--tw-background); }
.tw-card__media img { width: 100%; height: 100%; object-fit: contain; }
.tw-card__placeholder { color: var(--tw-muted); font-size: .8rem; font-weight: 700; letter-spacing: .16em; }
.tw-card__body { display: flex; flex: 1; flex-direction: column; align-items: flex-start; gap: .5rem; padding: 1.25rem; }
.tw-card__group, .tw-card__sku { color: var(--tw-muted); font-size: .82rem; }
.tw-card__title { color: var(--tw-ink); font-size: 1.15rem; font-weight: 700; line-height: 1.3; }
.tw-card__action { margin-top: auto; padding-top: .75rem; color: var(--tw-navy); font-size: .88rem; font-weight: 700; }
.tw-catalog__pagination { margin-top: 2rem; }
.tw-catalog__empty { padding: 2rem; border: 1px solid var(--tw-border); background: var(--tw-background); }

@media (max-width: 760px) {
  .tw-product__intro { grid-template-columns: 1fr; }
  .tw-product__image { min-height: 16rem; }
  .tw-product__facts div { grid-template-columns: minmax(6rem, 40%) 1fr; }
  .tw-catalog__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 520px) {
  .tw-catalog__grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .tw-button { transition: none; }
}

/* Editable home-page pattern. */
.tw-home { color: var(--tw-ink); }
.tw-home :is(.tw-home__hero, .tw-home__section) { box-sizing: border-box; }
.tw-home__hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: clamp(31rem, 60vw, 42rem);
  padding: clamp(4rem, 8vw, 8rem) max(1.5rem, calc((100vw - 76rem) / 2));
  background: #0b2438;
  color: #fff;
}
.tw-home__hero::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0 0 0 42%;
  opacity: .55;
  background: repeating-linear-gradient(126deg, transparent 0 8.5%, rgba(201,169,97,.42) 8.55% 8.8%, transparent 8.85% 14%), linear-gradient(90deg, #0b2438, #143c58);
  transform: skewX(-12deg) scale(1.2);
  transform-origin: bottom right;
}
.tw-home__hero-inner { max-width: 48rem; margin: 0; }
.tw-home__eyebrow, .tw-home__kicker {
  margin: 0 0 1.5rem;
  color: var(--tw-gold);
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .16em;
  line-height: 1.5;
}
.tw-home__title {
  max-width: 15ch;
  margin: 0 0 1.75rem;
  color: #fff;
  font-size: clamp(2.8rem, 6.3vw, 5.8rem);
  font-weight: 700;
  line-height: 1.03;
  letter-spacing: -.045em;
  overflow-wrap: normal;
}
.tw-home__lead { max-width: 34rem; margin: 0 0 2rem; color: #dce4e9; font-size: clamp(1.05rem, 1.7vw, 1.3rem); line-height: 1.55; }
.tw-home__hero-actions { margin: 0; }
.tw-home__button .wp-block-button__link {
  min-height: 3.25rem;
  padding: .9rem 1.5rem;
  border-radius: 0;
  background: var(--tw-gold);
  color: #102a3f;
  font-size: .95rem;
  font-weight: 700;
}
.tw-home__button .wp-block-button__link:hover { background: #e0bf79; color: #102a3f; }
.tw-home a:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }
.tw-home__section { padding: clamp(4rem, 7vw, 7rem) max(1.5rem, calc((100vw - 76rem) / 2)); }
.tw-home__section-head { max-width: 47rem; margin: 0 0 2.5rem; }
.tw-home__section-title { max-width: 20ch; margin: 0 0 1rem; color: var(--tw-navy); font-size: clamp(2rem, 3.7vw, 3.6rem); line-height: 1.1; letter-spacing: -.03em; }
.tw-home__section-head > p:last-child { max-width: 62ch; color: var(--tw-muted); line-height: 1.65; }
.tw-home__directions { background: #f8fafc; }
.tw-home__directions .tw-home__kicker { color: #80652e; }
.tw-home__direction-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: #d9e0e5; border: 1px solid #d9e0e5; }
.tw-home__direction { min-width: 0; min-height: 15.5rem; margin: 0; padding: clamp(1.5rem, 3vw, 2.5rem); background: #fff; }
.tw-home__direction--wide { grid-column: span 2; }
.tw-home__direction--accent { background: #11344d; color: #fff; }
.tw-home__direction .tw-home__number { margin: 0 0 2.5rem; color: #897041; font-size: .8rem; font-weight: 700; letter-spacing: .12em; }
.tw-home__direction--accent .tw-home__number { color: var(--tw-gold); }
.tw-home__direction h3 { max-width: 25ch; margin: 0 0 .7rem; color: var(--tw-navy); font-size: clamp(1.25rem, 1.8vw, 1.7rem); line-height: 1.2; }
.tw-home__direction--accent h3 { color: #fff; }
.tw-home__direction > p:last-child { max-width: 35ch; margin: 0; color: var(--tw-muted); line-height: 1.55; }
.tw-home__direction--accent > p:last-child { color: #dce4e9; }
.tw-home__request { border-top: 1px solid var(--tw-border); background: #fff; }
.tw-home__request-inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .7fr); gap: clamp(2rem, 8vw, 8rem); align-items: end; }
.tw-home__request .tw-home__kicker { color: #80652e; }
.tw-home__request-copy { max-width: 35rem; margin: 0; padding: 1.5rem 0 1.5rem 1.5rem; border-left: 3px solid var(--tw-gold); color: var(--tw-muted); font-size: 1.07rem; line-height: 1.65; }
@media (max-width: 760px) {
  .tw-home__hero::before { inset: 15% -30% 0 18%; opacity: .25; }
  .tw-home__direction-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tw-home__direction--wide { grid-column: span 2; }
  .tw-home__request-inner { grid-template-columns: 1fr; gap: 1rem; }
}
@media (max-width: 520px) {
  .tw-home__hero { min-height: 0; }
  .tw-home__direction-grid { grid-template-columns: 1fr; }
  .tw-home__direction--wide { grid-column: auto; }
  .tw-home__direction { min-height: 0; }
  .tw-home__direction .tw-home__number { margin-bottom: 2rem; }
}

/* Homepage v3. Content stays in editable core Gutenberg blocks. */
body.home .ct-container-full { padding-block: 0; }
.tw3-home {
  --tw3-navy: #0b2d4a;
  --tw3-ink: #132d43;
  --tw3-gold: #c9a961;
  --tw3-paper: #f8fafc;
  color: var(--tw3-ink);
}
.tw3-home, .tw3-home * { box-sizing: border-box; }
.tw3-home .wp-block-group, .tw3-home .wp-block-image { margin-block: 0; }
.tw3-home h1, .tw3-home h2, .tw3-home h3, .tw3-home p { margin-top: 0; }
.tw3-home p { line-height: 1.55; }
.tw3-home a { text-underline-offset: .22em; }
.tw3-home a:focus-visible { outline: 3px solid var(--tw3-gold); outline-offset: 4px; }
.tw3-shell { width: min(100% - 5rem, 1700px); margin-inline: auto !important; }
.tw3-section { padding-block: clamp(3.25rem, 6vw, 5.75rem); }
.tw3-kicker {
  margin-bottom: .65rem;
  color: #8b6b32;
  font-size: .73rem;
  font-weight: 700;
  letter-spacing: .14em;
  line-height: 1.4;
}
.tw3-title {
  margin-bottom: .75rem;
  color: var(--tw3-ink);
  font-size: clamp(2.05rem, 3.5vw, 3.4rem);
  font-weight: 760;
  line-height: 1.09;
  letter-spacing: -.035em;
}
.tw3-body, .tw3-muted { color: #526575; }
.tw3-body { max-width: 59ch; margin-bottom: 1rem; font-size: 1.04rem; }
.tw3-muted { margin-bottom: 0; }
.tw3-home .wp-block-buttons { gap: .75rem; }
.tw3-button .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  min-height: 3.15rem;
  padding: .8rem 1.3rem;
  border: 0;
  border-radius: 0;
  background: var(--tw3-gold);
  color: #10283c;
  font-size: .91rem;
  font-weight: 700;
  white-space: nowrap;
}
.tw3-button .wp-block-button__link:hover { background: #e1be79; color: #10283c; }
.tw3-text-link { margin-bottom: 0; color: var(--tw3-ink); font-size: .92rem; font-weight: 700; }
.tw3-text-link a { color: inherit; }
.tw3-text-link span { padding-left: .35rem; color: #ae833d; font-size: 1.25rem; }

.tw3-hero {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: center;
  min-height: clamp(32rem, 45vw, 43rem);
  padding-block: 4.5rem;
  overflow: hidden;
  background: #10293d url('assets/temirway-hero.webp') center 52% / cover no-repeat;
  color: #fff;
}
.tw3-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, rgba(5, 27, 43, .92) 0%, rgba(7, 32, 51, .76) 38%, rgba(7, 29, 46, .29) 76%);
}
.tw3-hero-content { padding-block: 1rem; }
.tw3-hero .tw3-kicker { color: #e2c582; }
.tw3-hero-title {
  max-width: 23ch;
  margin-bottom: 1.1rem;
  color: #fff;
  font-size: clamp(2.85rem, 4vw, 4rem);
  font-weight: 770;
  line-height: 1.03;
  letter-spacing: -.046em;
}
.tw3-hero-lead { max-width: 45ch; margin-bottom: 1.9rem; color: #eef3f6; font-size: clamp(1.04rem, 1.45vw, 1.3rem); }

.tw3-about { background: #fff; }
.tw3-about-grid { position: relative; display: grid; grid-template-columns: .92fr 1.08fr; gap: clamp(2rem, 7vw, 7rem); align-items: center; }
.tw3-about-copy { padding-block: .7rem; }
.tw3-about-copy .tw3-body:last-of-type { margin-bottom: 1.5rem; }
.tw3-about-image { height: clamp(19rem, 32vw, 31rem); margin: 0 !important; overflow: hidden; background: #dbe3e9; }
.tw3-about-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.tw3-about-side { position: absolute; right: 0; top: 0; width: 22%; height: 100%; margin: 0; padding: clamp(4rem, 10vw, 11rem) 1.25rem 1.25rem; background: rgba(248, 250, 252, .94); color: #52657a; font-size: .78rem; line-height: 1.7; letter-spacing: .07em; }

.tw3-directions { background: #fff; }
.tw3-directions > .tw3-shell, .tw3-categories > .tw3-shell { position: relative; }
.tw3-section-heading { max-width: 46rem; margin-bottom: 1.7rem !important; }
.tw3-directions .tw3-text-link { position: absolute; top: 2.25rem; right: 0; }
.tw3-direction-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.tw3-direction { min-width: 0; background: #f1f6f9; }
.tw3-direction > .wp-block-image { width: 100%; margin: 0 !important; aspect-ratio: 1.38; overflow: hidden; background: #c8d3da; }
.tw3-direction img { display: block; width: 100%; height: 100%; object-fit: cover; }
.tw3-direction-copy { min-height: 11.1rem; padding: 1.2rem 1.15rem 1.35rem; }
.tw3-direction h3 { margin-bottom: .7rem; color: var(--tw3-ink); font-size: clamp(1rem, 1.3vw, 1.2rem); line-height: 1.22; }
.tw3-direction p { margin: 0; color: #566a79; font-size: .87rem; line-height: 1.46; }

.tw3-categories { background: #edf4f8; }
.tw3-categories .tw3-section-heading { margin-bottom: 1.5rem !important; }
.tw3-categories .tw3-text-link { margin-top: 1.4rem; text-align: right; }
.tw3-category-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .85rem; }
.tw3-category { display: grid; grid-template-columns: 7.1rem minmax(0, 1fr); min-height: 7.1rem; align-items: center; gap: 1rem; padding: .5rem; background: #fff; }
.tw3-category > .wp-block-image { width: 7.1rem; height: 6.1rem; margin: 0 !important; overflow: hidden; background: #dde4e9; }
.tw3-category img { display: block; width: 100%; height: 100%; object-fit: cover; }
.tw3-category h3 { margin: 0; color: var(--tw3-ink); font-size: 1rem; line-height: 1.3; }

.tw3-process { background: #fff; }
.tw3-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(1rem, 3vw, 3rem); margin-top: 2rem !important; }
.tw3-step { position: relative; display: grid; grid-template-columns: 3.6rem minmax(0, 1fr); grid-template-rows: 4.4rem auto 1fr; column-gap: 1rem; align-items: start; }
.tw3-step::before { content: ""; grid-column: 2; grid-row: 1; width: 3rem; height: 3rem; align-self: center; background: center / contain no-repeat; }
.tw3-step:nth-child(1)::before { background-image: url('assets/process-request.svg'); }
.tw3-step:nth-child(2)::before { background-image: url('assets/process-search.svg'); }
.tw3-step:nth-child(3)::before { background-image: url('assets/process-proposal.svg'); }
.tw3-step:nth-child(4)::before { background-image: url('assets/process-delivery.svg'); }
.tw3-step::after { content: ""; position: absolute; top: 2.15rem; left: 9.2rem; right: -1.5rem; border-top: 1px solid #dec99f; }
.tw3-step:last-child::after { display: none; }
.tw3-step-num { grid-column: 1; grid-row: 1; display: grid; width: 3.6rem; height: 3.6rem; margin: 0; place-items: center; align-self: center; border: 1px solid #e7d8bb; border-radius: 50%; color: var(--tw3-ink); font-size: .8rem; }
.tw3-step h3 { grid-column: 2; grid-row: 2; margin: .25rem 0 .45rem; color: var(--tw3-ink); font-size: 1.1rem; }
.tw3-step p:last-child { grid-column: 2; grid-row: 3; max-width: 29ch; margin: 0; color: #526575; font-size: .91rem; }

.tw3-news { background: #fff; }
.tw3-news-grid { display: flex; justify-content: space-between; gap: 2rem; align-items: flex-end; margin-bottom: 1.9rem !important; }
.tw3-news .tw3-section-heading { margin-bottom: 0 !important; }
.tw3-news .tw3-kicker { color: #8493a4; }
.tw3-news .tw3-text-link { white-space: nowrap; }
.tw3-news-cards { width: min(100% - 5rem, 1700px); margin-inline: auto; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(2rem, 4.5vw, 5rem); }
.tw3-news-card { display: grid; grid-template-columns: minmax(0, 42%) minmax(0, 1fr); gap: clamp(1rem, 1.7vw, 1.65rem); min-width: 0; align-items: start; }
.tw3-news-card__visual { display: block; aspect-ratio: 1.23; overflow: hidden; background: #dbe3e9; }
.tw3-news-card__image { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.tw3-news-card__visual:hover .tw3-news-card__image { transform: scale(1.035); }
.tw3-news-card__content { min-width: 0; padding-top: .15rem; }
.tw3-news-card__date { display: block; margin-bottom: .75rem; color: #8594a5; font-size: .76rem; }
.tw3-news-card__title { margin: 0 0 .8rem !important; color: var(--tw3-ink); font-size: clamp(1rem, 1.28vw, 1.2rem); font-weight: 700; line-height: 1.28; }
.tw3-news-card__title a { color: inherit; text-decoration: none; }
.tw3-news-card__title a:hover { text-decoration: underline; }
.tw3-news-card__excerpt { margin: 0 0 .8rem !important; color: #677889; font-size: .89rem; line-height: 1.45 !important; }
.tw3-news-card__more { color: var(--tw3-ink); font-size: .85rem; font-weight: 600; text-decoration: underline; }
.tw3-news-card__more span { padding-left: .35rem; color: #ae833d; font-size: 1.2em; text-decoration: none; }

/* The news archive uses WordPress' editable Query Loop. */
.tw-news { padding-block: 2.5rem 5rem; }
.tw-news__eyebrow { color: #8998a8; font-size: .72rem; font-weight: 700; letter-spacing: .12em; }
.tw-news > p:not(.tw-news__eyebrow) { max-width: 60ch; margin-inline: 0 !important; color: #627486; }
.tw-news .wp-block-post-template { display: grid; gap: 2.5rem; margin-top: 2.5rem; padding: 0; }
.tw-news .wp-block-post { margin: 0; padding: 0 0 2.5rem; border-bottom: 1px solid #e3e9ed; list-style: none; }
.tw-news-item { display: grid; grid-template-columns: minmax(0, 34%) minmax(0, 1fr); gap: clamp(1.5rem, 3vw, 3rem); align-items: start; }
.tw-news-item .wp-block-post-featured-image { margin: 0; aspect-ratio: 1.55; overflow: hidden; background: #dbe3e9; }
.tw-news-item .wp-block-post-featured-image a { display: block; height: 100%; }
.tw-news-item .wp-block-post-featured-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.tw-news-item__content { min-width: 0; padding-top: .25rem; }
.tw-news-item .wp-block-post-date { margin-bottom: .7rem; color: #8796a6; font-size: .82rem; }
.tw-news-item .wp-block-post-title { margin-bottom: .85rem; color: #132d43; font-size: clamp(1.25rem, 2vw, 1.7rem); line-height: 1.22; }
.tw-news-item .wp-block-post-title a { color: inherit; text-decoration: none; }
.tw-news-item .wp-block-post-title a:hover { text-decoration: underline; }
.tw-news-item .wp-block-post-excerpt { max-width: 60ch; color: #627486; }
.tw-news-item .wp-block-post-excerpt__more-link { color: #132d43; font-weight: 700; text-underline-offset: .2em; }

.tw3-cta { position: relative; isolation: isolate; overflow: hidden; padding-block: 3.5rem; background: #0b2d4a; color: #fff; }
.tw3-cta::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0 0 0 40%;
  background: linear-gradient(90deg, #0b2d4a 2%, rgba(11,45,74,.75) 52%, rgba(11,45,74,.65)), url('assets/temirway-hero.webp') center 66% / cover;
  opacity: .68;
}
.tw3-cta-grid { display: grid; grid-template-columns: minmax(0,1fr) auto 240px; align-items: center; gap: clamp(2rem,4vw,5rem); }
.tw3-cta-actions { justify-self: center; }
.tw3-cta-grid::after {
  content: "РЕШЕНИЯ ДЛЯ\A РЕЛЬСОВОЙ\A ИНФРАСТРУКТУРЫ";
  display: block;
  white-space: pre-line;
  padding-left: 1.25rem;
  border-left: 1px solid var(--tw3-gold);
  color: #e4eaf0;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 1.5;
}
.tw3-cta .tw3-kicker { color: #dcc181; }
.tw3-cta .tw3-title { color: #fff; }
.tw3-cta .tw3-body { margin-bottom: 0; color: #dae4eb; }

body:has(#tw-footer) #footer { display: none; }
.tw-site-footer { background: #f8fafc; color: var(--tw-navy); }
.tw-site-footer__inner {
  display: grid;
  grid-template-columns: minmax(260px,.9fr) minmax(0,1.25fr) minmax(185px,.55fr);
  width: min(100% - 5rem,1700px);
  min-height: 145px;
  margin-inline: auto;
  padding-block: 2rem;
  align-items: center;
  gap: clamp(2rem,4vw,5rem);
}
.tw-site-footer__name { color: var(--tw-navy); font-size: 1.9rem; font-weight: 800; letter-spacing: -.055em; line-height: 1; text-decoration: none; }
.tw-site-footer__brand p { margin: .35rem 0 .6rem; color: #506172; font-size: .78rem; }
.tw-site-footer__brand small { color: #788998; font-size: .7rem; }
.tw-site-footer__menu { display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem clamp(1rem,2vw,2.25rem); margin: 0; padding: 0; list-style: none; }
.tw-site-footer__menu a { color: var(--tw-navy); font-size: .8rem; font-weight: 600; text-decoration: none; }
.tw-site-footer__menu a:hover { color: #967637; text-decoration: underline; text-underline-offset: .25em; }
.tw-site-footer__aside { display: grid; gap: .2rem; padding-left: 1rem; border-left: 1px solid var(--tw-gold); color: #607184; font-size: .77rem; line-height: 1.4; }
.tw-site-footer__aside span:first-child { color: var(--tw-navy); font-weight: 700; }
.tw-site-footer a:focus-visible { outline: 3px solid var(--tw-gold); outline-offset: 4px; }

@media (max-width: 900px) {
  .tw3-direction-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tw3-direction-copy { min-height: 9rem; }
  .tw3-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tw3-step::after { display: none; }
  .tw3-news-cards { grid-template-columns: 1fr; gap: 2rem; }
  .tw3-news-card { grid-template-columns: minmax(0, 35%) minmax(0, 1fr); }
  .tw3-cta-grid { grid-template-columns: minmax(0,1fr) auto; }
  .tw3-cta-grid::after { display: none; }
  .tw-site-footer__inner { grid-template-columns: 1fr 1.5fr; }
  .tw-site-footer__aside { display: none; }
}
@media (max-width: 680px) {
  .tw-news-item { grid-template-columns: 1fr; gap: 1rem; }
  .tw3-shell { width: min(100% - 2rem, 76rem); }
  .tw3-hero { min-height: 32rem; padding-block: 3.5rem; background-position: 58% center; }
  .tw3-hero::before { background: linear-gradient(90deg, rgba(5, 27, 43, .94), rgba(7, 29, 46, .5)); }
  .tw3-hero-title { max-width: 100%; font-size: clamp(2.15rem, 9vw, 3rem); overflow-wrap: break-word; }
  .tw3-about-grid { grid-template-columns: 1fr; gap: 2rem; }
  .tw3-about-image { height: 19rem; }
  .tw3-about-side { position: static; width: 100%; height: auto; margin-top: -2rem; padding: 1rem 1.25rem; font-size: .72rem; }
  .tw3-directions .tw3-text-link { position: static; margin-bottom: 1.5rem; }
  .tw3-steps { grid-template-columns: 1fr; gap: 1.75rem; }
  .tw3-news-grid, .tw3-cta-grid { display: block; }
  .tw3-news-cards { width: min(100% - 2rem, 76rem); }
  .tw3-news-card { grid-template-columns: minmax(0, 36%) minmax(0, 1fr); }
  .tw3-news .tw3-text-link, .tw3-cta-actions { margin-top: 1.5rem !important; }
  .tw3-cta { padding-block: 3rem; }
  .tw3-cta::before { inset-inline-start: 10%; }
  .tw-site-footer__inner { display: block; width: min(100% - 2rem,76rem); padding-block: 2rem; }
  .tw-site-footer__nav { margin-top: 1.5rem; }
  .tw-site-footer__menu { justify-content: flex-start; }
}
@media (max-width: 440px) {
  .tw3-news-card { display: block; }
  .tw3-news-card__visual { margin-bottom: 1rem; aspect-ratio: 1.65; }
  .tw3-direction-grid, .tw3-category-grid { grid-template-columns: 1fr; }
  .tw3-direction-copy { min-height: 0; }
  .tw3-steps { gap: 1.5rem; }
  .tw3-step p:last-child { font-size: .83rem; }
}

/* Shared header, search row and footer follow the customer homepage mockup. */
#header [data-device="desktop"] #header-menu-1 .menu > li:nth-child(2) > a::after {
  content: "⌄";
  position: static;
  width: auto;
  height: auto;
  margin-left: .4rem;
  background: none;
  opacity: 1;
  font-size: 1rem;
}
.tw-global-search-wrap, .tw4-footer { --tw4-navy:#082448; --tw4-gold:#cba85e; --tw4-muted:#4b6080; font-family:Arial,Helvetica,sans-serif; }
.tw-global-search-wrap { background:#fff; }
.tw-global-search-wrap *, .tw4-footer * { box-sizing:border-box; }
.tw-global-search-wrap .screen-reader-text { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.tw-global-search-wrap .tw4-search { display:block; }
.tw-global-search-wrap input:focus-visible, .tw4-footer a:focus-visible { outline:3px solid var(--tw4-gold); outline-offset:3px; }

.tw4-home { --tw4-navy:#082448; --tw4-gold:#cba85e; --tw4-muted:#4b6080; color:var(--tw4-navy); background:#fff; font-family:Arial, Helvetica, sans-serif; }
.tw4-home, .tw4-home * { box-sizing:border-box; }
.tw4-home .wp-block-group { margin-block:0; }
.tw4-home .wp-block-image, .tw4-home p { margin:0 !important; }
.tw4-home .screen-reader-text { position:absolute; width:1px; height:1px; padding:0; margin:-1px !important; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.tw4-home h1, .tw4-home h2, .tw4-home h3 { margin:0; color:var(--tw4-navy); font-family:Arial, Helvetica, sans-serif; }
.tw4-home a { text-underline-offset:.21em; }
.tw4-home a:focus-visible, .tw4-home input:focus-visible { outline:3px solid var(--tw4-gold); outline-offset:3px; }
.tw4-shell { width:min(100% - 5rem,1600px); margin-inline:auto !important; }
.tw4-section { padding-block:2.3rem; }
.tw4-title { font-size:clamp(2rem,3.1vw,3.15rem); line-height:1.07; font-weight:800; letter-spacing:-.035em; }
.tw4-body { color:#263f61; font-size:clamp(1rem,1.12vw,1.23rem); line-height:1.42; }
.tw4-button { display:inline-flex; align-items:center; justify-content:center; min-height:3.25rem; padding:.78rem 1.35rem; background:var(--tw4-gold); color:var(--tw4-navy); font-size:.91rem; font-weight:700; text-decoration:none; white-space:nowrap; }
.tw4-button span { margin-left:1rem; font-size:1.3em; font-weight:400; }
.tw4-button:hover { color:var(--tw4-navy); background:#dfbc72; }
.tw4-inline-link { color:var(--tw4-navy); font-size:.95rem; font-weight:600; text-decoration:underline; text-decoration-color:var(--tw4-gold); }
.tw4-inline-link span { margin-left:.7rem; color:#b88932; font-size:1.45em; font-weight:400; text-decoration:none; }
.tw4-heading-row { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin-bottom:1.15rem !important; }
.tw4-heading-row .tw4-section-link { white-space:nowrap; }

.tw4-search { position:relative; height:2.35rem; margin-block:.15rem .7rem; }
.tw4-search input[type="search"] { width:100%; height:100%; padding:0 1rem 0 3.25rem; border:1px solid #dae3eb; border-radius:0; background:#f5f8fa; color:var(--tw4-navy); font-size:.84rem; }
.tw4-search input::placeholder { color:#7084a0; }
.tw4-search-icon { position:absolute; z-index:1; top:50%; left:1rem; transform:translateY(-50%); color:var(--tw4-navy); font-size:1.65rem; line-height:1; }

.tw4-hero { position:relative; isolation:isolate; display:flex; align-items:center; min-height:clamp(20rem,32vw,35rem); background:#0a2b4a url('assets/temirway-hero.webp') center 50% / cover no-repeat; color:#fff; }
.tw4-hero::before { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,rgba(4,32,56,.93) 0%,rgba(5,35,60,.78) 35%,rgba(4,32,56,.09) 74%); }
.tw4-hero-inner { padding-block:2.4rem; }
.tw4-home .tw4-hero-title { max-width:22ch; color:#fff; font-size:clamp(2.5rem,4.5vw,5.05rem); font-weight:800; line-height:1.08; letter-spacing:-.045em; }
.tw4-home .tw4-hero-lead { max-width:57ch; margin-top:clamp(.85rem,1.25vw,1.4rem) !important; color:#fff; font-size:clamp(1.15rem,1.55vw,1.55rem); line-height:1.31; }
.tw4-hero-actions { display:flex; align-items:center; gap:2rem; margin-top:1.55rem !important; }
.tw4-hero--microtunnel { min-height:clamp(32rem,48vw,40rem); background-position:center center; }
.tw4-hero--microtunnel::before { background:linear-gradient(90deg,rgba(4,32,56,.8),rgba(4,32,56,.45) 45%,rgba(4,32,56,0) 75%); }
.tw4-home .tw4-hero--microtunnel .tw4-hero-title { max-width:21ch; font-size:clamp(3rem,5.5vw,4.7rem); }
.tw4-home .tw4-hero--microtunnel .tw4-hero-lead { max-width:57ch; }
.tw4-home .tw4-hero--microtunnel .tw4-hero-scope { max-width:57ch; margin-top:1rem !important; color:#fff; font-size:clamp(1.15rem,1.55vw,1.55rem); line-height:1.31; }

.tw4-about { padding-block:2.3rem 2.8rem; }
.tw4-about-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(3rem,7vw,8rem); align-items:start; }
.tw4-about-copy .tw4-title { margin-bottom:.5rem; }
.tw4-home .tw4-about-copy .tw4-body + .tw4-body { margin-top:1rem !important; }
.tw4-home .tw4-about-link { margin-top:.9rem !important; }
.tw4-about-link .tw4-inline-link { color:#a67b30; }
.tw4-about-image { width:100%; height:clamp(13rem,25vw,27rem); overflow:hidden; background:#e2e7eb; }
.tw4-about-image img { display:block; width:100%; height:100%; object-fit:cover; }

.tw4-directions { padding-block:1.2rem 2.15rem; }
.tw4-direction-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.tw4-direction { min-width:0; background:#f3f7fa; }
.tw4-direction-image { width:100%; aspect-ratio:1.48; overflow:hidden; background:#dce5ec; }
.tw4-direction-image img { display:block; width:100%; height:100%; object-fit:cover; }
.tw4-card-copy { display:flex; flex-direction:column; min-height:12rem; padding:.9rem 1rem 1rem; }
.tw4-home .tw4-card-title { min-height:2.45em; font-size:clamp(1rem,1.3vw,1.26rem); font-weight:750; line-height:1.2; }
.tw4-card-body { margin-top:.55rem !important; color:var(--tw4-muted); font-size:.92rem; line-height:1.4; }
.tw4-card-copy > p:last-child { margin-top:auto; }
.tw4-card-arrow { color:#b98934; font-size:1.5rem; text-decoration:none; }

.tw4-categories { background:#eaf1f6; }
.tw4-category-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.tw4-category { display:grid; grid-template-columns:40% minmax(0,1fr); align-items:center; min-height:7.2rem; padding:.45rem; background:#fff; }
.tw4-category-image { width:100%; height:6.35rem; overflow:hidden; background:#d7e0e7; }
.tw4-category-image img { display:block; width:100%; height:100%; object-fit:cover; }
.tw4-category-copy { display:flex; flex-direction:column; align-items:flex-start; justify-content:space-between; gap:.4rem; min-height:6.35rem; padding:.7rem 1rem; }
.tw4-home .tw4-category-title { font-size:clamp(.95rem,1.25vw,1.22rem); line-height:1.2; font-weight:750; }
.tw4-category-copy p { line-height:1; }

.tw4-process { padding-block:2rem 1.7rem; }
.tw4-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.25rem; margin-top:1rem !important; }
.tw4-step { position:relative; display:grid; grid-template-columns:3.65rem minmax(0,1fr); grid-template-rows:4.1rem auto 1fr; gap:.15rem .85rem; }
.tw4-step::before { content:""; grid-column:2; grid-row:1; width:2.6rem; height:2.6rem; align-self:center; background:center / contain no-repeat; }
.tw4-step-01::before { background-image:url('assets/process-request.svg'); }
.tw4-step-02::before { background-image:url('assets/process-search.svg'); }
.tw4-step-03::before { background-image:url('assets/process-proposal.svg'); }
.tw4-step-04::before { background-image:url('assets/process-delivery.svg'); }
.tw4-step:not(:last-child)::after { content:""; position:absolute; top:2rem; left:8.5rem; right:-.6rem; border-top:1px solid #d6b46f; }
.tw4-step-num { grid-row:1; grid-column:1; display:grid; width:3.65rem; height:3.65rem; place-items:center; border:1px solid #dfc58c; border-radius:50%; color:var(--tw4-navy); font-size:.87rem; }
.tw4-home .tw4-step-title { grid-column:2; grid-row:2; font-size:1.05rem; font-weight:750; }
.tw4-step-body { grid-column:2; grid-row:3; max-width:27ch; color:var(--tw4-muted); font-size:.9rem; line-height:1.38; }

.tw4-news { padding-block:1rem 2.1rem; }
.tw4-material-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2.25rem; }
.tw4-material { display:grid; grid-template-columns:47% minmax(0,1fr); gap:1rem; align-items:start; min-width:0; }
.tw4-material-image { width:100%; aspect-ratio:1.55; overflow:hidden; background:#dae3e8; }
.tw4-material-image img { display:block; width:100%; height:100%; object-fit:cover; }
.tw4-material-copy { display:flex; flex-direction:column; min-height:100%; }
.tw4-home .tw4-material-title { font-size:clamp(1rem,1.3vw,1.25rem); line-height:1.18; font-weight:750; }
.tw4-material-body { margin-top:.55rem !important; color:var(--tw4-muted); font-size:.9rem; line-height:1.35; }
.tw4-material-copy > p:last-child { margin-top:auto; }
.tw4-read-more { color:var(--tw4-navy); font-size:.88rem; font-weight:650; text-decoration:underline; }
.tw4-read-more span { margin-left:.6rem; color:#b98934; font-size:1.5em; text-decoration:none; }

.tw4-cta { position:relative; isolation:isolate; overflow:hidden; padding-block:1.325rem; background:#0c3553; color:#fff; }
.tw4-cta::before { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,#0c3553 0%,rgba(12,53,83,.93) 58%,rgba(12,53,83,.72) 100%), url('assets/temirway-hero.webp') right 74% / cover; }
.tw4-cta-grid { display:grid; grid-template-columns:1fr auto; align-items:center; gap:3rem; }
.tw4-cta .tw4-title { margin:0; color:#fff; font-family:Arial, Helvetica, sans-serif; }
.tw4-cta p { margin:0; }
.tw4-cta-lead { max-width:56ch; margin-top:.45rem !important; color:#f1f5f7; font-size:clamp(1.05rem,1.45vw,1.35rem); line-height:1.38; }
.tw4-cta-actions { display:grid; justify-items:start; gap:.55rem; }
.tw4-attach a { color:#fff; font-size:.83rem; text-decoration:none; }

.tw4-footer { padding:0; background:#fff; color:var(--tw4-navy); }
.tw4-footer-details { padding-block:1.55rem 1.15rem; }
.tw4-footer-main { display:grid; grid-template-columns:1fr 1.2fr .65fr; align-items:start; gap:2rem; min-height:6.6rem; }
.tw4-footer-brand { display:grid; gap:.15rem; }
.tw4-footer-brand a { color:var(--tw4-navy); font-size:1.85rem; line-height:1; font-weight:800; letter-spacing:-.04em; text-decoration:none; }
.tw4-footer-brand span { color:var(--tw4-muted); font-size:.85rem; }
.tw4-footer-main nav { display:flex; flex-wrap:wrap; gap:1.5rem; padding-left:2rem; border-left:1px solid #dce5ec; }
.tw4-footer-main nav a { color:var(--tw4-navy); font-size:.84rem; text-decoration:none; }
.tw4-footer-menu { display:flex; flex-wrap:wrap; gap:1.5rem; margin:0; padding:0; list-style:none; }
.tw4-footer-contacts { display:grid; gap:.22rem; padding-left:2rem; border-left:1px solid #dce5ec; color:var(--tw4-navy); font-size:.85rem; }
.tw4-footer-contacts a { color:inherit; text-decoration:none; }
.tw4-footer-bottom { display:flex; justify-content:space-between; gap:1rem; padding-top:1.25rem; border-top:1px solid #dce5ec; color:var(--tw4-muted); font-size:.8rem; }
.tw4-footer-bottom a { color:var(--tw4-navy); }

@media (max-width: 1100px) {
  #header [data-device="desktop"] [data-row="middle"] > .ct-container { grid-template-columns:210px minmax(0,1fr); width:min(100% - 3rem,1600px); }
  #header [data-device="desktop"] #header-menu-1 .menu > li > a { font-size:.73rem; }
  .tw4-shell { width:min(100% - 3rem,1600px); }
  .tw4-about-grid { gap:2.5rem; }
  .tw4-card-copy { min-height:9rem; padding:.7rem .75rem; }
  .tw4-home .tw4-card-title { font-size:.88rem; }
  .tw4-card-body { font-size:.78rem; line-height:1.25; }
  .tw4-category { min-height:5.5rem; }
  .tw4-category-image, .tw4-category-copy { height:4.7rem; min-height:4.7rem; }
  .tw4-category-copy { padding:.35rem .7rem; }
  .tw4-home .tw4-category-title { font-size:.81rem; }
  #header [data-device="desktop"] [data-row="middle"] { --height:44px; --header-height:44px; height:44px; }
  .tw4-search { height:1.9rem; margin-block:.1rem .5rem; }
  .tw4-step:not(:last-child)::after { display:none; }
}
@media (max-width: 800px) {
  .tw4-direction-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .tw4-category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .tw4-steps { grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:1.5rem; }
  .tw4-material-grid { grid-template-columns:1fr; }
  .tw4-footer-main { grid-template-columns:1fr 1fr; }
  .tw4-footer-contacts { grid-column:2; padding-top:.8rem; }
}
@media (max-width: 620px) {
  .tw4-shell { width:min(100% - 2rem,1600px); }
  .tw4-title { font-size:clamp(1.85rem,8vw,2.55rem); }
  .tw4-section { padding-block:2rem; }
  .tw4-search { margin-block:.5rem .8rem; }
  .tw4-hero { min-height:32rem; background-position:58% center; }
  .tw4-hero::before { background:linear-gradient(90deg,rgba(4,32,56,.96),rgba(4,32,56,.58)); }
  .tw4-home .tw4-hero-title { font-size:clamp(2.15rem,9vw,3.1rem); }
  .tw4-hero-lead { font-size:1.08rem; }
  .tw4-hero-actions { flex-wrap:wrap; gap:1rem; }
  .tw4-hero--microtunnel { min-height:35rem; background-position:64% center; }
  .tw4-hero--microtunnel::before { background:linear-gradient(90deg,rgba(4,32,56,.95),rgba(4,32,56,.7)); }
  .tw4-home .tw4-hero--microtunnel .tw4-hero-title { max-width:100%; font-size:clamp(1.25rem,6.4vw,2rem); overflow-wrap:normal; }
  .tw4-home .tw4-hero--microtunnel .tw4-hero-scope { font-size:1.08rem; }
  .tw4-about-grid { grid-template-columns:1fr; gap:1.4rem; }
  .tw4-about-image { height:15rem; }
  .tw4-heading-row { align-items:flex-start; }
  .tw4-heading-row .tw4-title { max-width:11ch; }
  .tw4-direction-grid, .tw4-category-grid, .tw4-steps { grid-template-columns:1fr; }
  .tw4-card-copy { min-height:0; }
  .tw4-category { grid-template-columns:38% minmax(0,1fr); }
  .tw4-material { grid-template-columns:42% minmax(0,1fr); }
  .tw4-cta-grid { grid-template-columns:1fr; gap:1rem; }
  .tw4-footer-main { grid-template-columns:1fr; gap:1.5rem; }
  .tw4-footer-main nav, .tw4-footer-contacts { grid-column:auto; padding:0; border:0; }
  .tw4-footer-bottom { flex-wrap:wrap; }
}

/* Contacts page follows the supplied reference; confirmed business data is editable in blocks. */
body:has(.twc-page) .hero-section { display:none; }
body:has(.twc-page) #main { background:#fff; }
body:has(.twc-page) #main > .ct-container, body:has(.twc-page) #main > .ct-container-full { width:min(100% - 5rem,1600px); max-width:none; margin-inline:auto; }
body:has(.twc-page) #main > [data-vertical-spacing] { padding-top:1.6rem; padding-bottom:2.5rem; }
body:has(.twc-page) .entry-content { margin-top:0; }
.entry-content > .twc-page { width:100%; max-width:none; }
.twc-page { --twc-ink:#071b4d; --twc-text:#49628f; --twc-border:#e1edf5; color:var(--twc-ink); font-family:Arial,Helvetica,sans-serif; }
.twc-page, .twc-page * { box-sizing:border-box; }
.twc-page .wp-block-group { margin-block:0; }
.twc-page p { margin:0; }
.twc-page h1, .twc-page h2, .twc-page h3 { margin:0; color:var(--twc-ink); font-family:inherit; font-weight:700; letter-spacing:-.035em; }
.twc-page h1 { font-size:clamp(3rem,4.2vw,4rem); line-height:1.1; margin-top:1.1rem; }
.twc-page h2 { font-size:clamp(1.8rem,2.45vw,2.5rem); line-height:1.12; }
.twc-page a { text-underline-offset:.2em; }
.twc-page a:focus-visible, .twc-page button:focus-visible { outline:3px solid #cba85e; outline-offset:4px; }
.twc-breadcrumb { display:flex; gap:.8rem; font-size:.95rem; color:var(--twc-text); }
.twc-breadcrumb a { color:var(--twc-text); text-decoration:none; }
.twc-breadcrumb [aria-current] { color:#1457ad; }
.twc-page .twc-intro { margin-top:.35rem; color:var(--twc-text); font-size:clamp(1.1rem,1.45vw,1.4rem); line-height:1.4; }
.twc-heading { margin-bottom:2rem !important; padding-inline:1.4rem; }
.twc-grid { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,3fr); gap:1.35rem; align-items:stretch; }
.twc-panel { min-width:0; border:1px solid var(--twc-border); border-radius:8px; padding:2rem 2.5rem; }
.twc-page .twc-panel-lead { margin-top:.35rem; color:var(--twc-text); font-size:1.2rem; line-height:1.4; }
.twc-contact-row { display:grid; grid-template-columns:4.1rem minmax(0,1fr); gap:2rem; align-items:center; min-height:7rem; border-bottom:1px solid var(--twc-border); }
.twc-info > .twc-contact-row:first-of-type { margin-top:.7rem; }
.twc-info > .twc-contact-row:nth-last-child(2) { border-bottom:0; }
.twc-icon { display:flex; align-items:center; justify-content:center; width:4.1rem; height:4.1rem; border-radius:50%; color:var(--twc-ink); background:#edf5fc; flex:none; }
.twc-icon svg { width:2.1rem; height:2.1rem; stroke-width:1.7; }
.twc-contact-label { color:#2e5293; font-size:1.05rem; }
.twc-page .twc-contact-value { margin-top:.2rem; font-size:clamp(1.15rem,1.5vw,1.4rem); font-weight:700; line-height:1.35; overflow-wrap:anywhere; }
.twc-contact-value a { color:var(--twc-ink); text-decoration:none; }
.twc-page .twc-contact-small { margin-top:.1rem; color:#7488b2; font-size:1rem; }
.twc-spec { display:flex; gap:1.2rem; align-items:center; border-left:5px solid #cba85e; border-radius:6px; background:#fbf9f4; padding:1.25rem 1rem; margin-top:.5rem !important; }
.twc-spec .twc-icon { border-radius:40% 0 40% 0; width:3.8rem; height:3.8rem; }
.twc-page .twc-spec h3 { font-size:1.35rem; line-height:1.2; letter-spacing:-.025em; }
.twc-page .twc-spec p { margin-top:.35rem; color:var(--twc-text); font-size:.98rem; line-height:1.4; }
.twc-request { background:#f2f8fc; }
.twc-form { margin-top:1.35rem; font-size:1.05rem; color:#2e5293; }
.twc-form label { font:inherit; margin-bottom:0; }
.twc-form > label, .twc-form-pair > label { display:block; }
.twc-form-pair { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:1.5rem; }
.twc-form > label:not(.twc-attachment) { margin-top:1.3rem; }
.twc-form input:not([type="checkbox"]):not([type="file"]):not([type="hidden"]), .twc-form select, .twc-form textarea { display:block; width:100%; margin-top:.35rem; border:1px solid #cbdbea; border-radius:4px; background:#fff; color:var(--twc-ink); font:inherit; padding:.7rem 1.1rem; box-shadow:none; }
.twc-form input:not([type="checkbox"]):not([type="file"]):not([type="hidden"]), .twc-form select { height:3rem; }
.twc-form textarea { height:7rem; min-height:7rem; resize:vertical; line-height:1.5; }
.twc-form select { appearance:auto; }
.twc-form input::placeholder, .twc-form textarea::placeholder { color:#788cb1; opacity:1; }
.twc-form input:focus, .twc-form textarea:focus, .twc-form select:focus { outline:2px solid #cba85e; outline-offset:1px; border-color:#aa862f; }
.twc-required { color:#c34d49; }
.twc-attachment { display:flex !important; align-items:center; gap:.7rem; width:max-content; max-width:100%; position:relative; margin-top:1.35rem; cursor:pointer; line-height:1.4; }
.twc-attachment svg { width:1.7rem; height:1.7rem; flex:none; color:var(--twc-ink); }
.twc-attachment-title { text-decoration:underline; text-underline-offset:.2em; color:#1750a1; }
.twc-optional { color:#7386ad; }
.twc-attachment input { position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer; }
.twc-attachment:focus-within { outline:3px solid #cba85e; outline-offset:4px; }
.twc-file-name { display:block; font-size:.9rem; overflow-wrap:anywhere; }
.twc-file-name:empty { display:none; }
.twc-consent { margin-top:1.55rem; font-size:1.02rem; }
.twc-consent label { display:flex; align-items:flex-start; gap:1rem; line-height:1.5; }
.twc-consent input { appearance:auto; width:1.7rem; height:1.7rem; margin:0; flex:none; accent-color:#163d77; }
.twc-consent > a, .twc-policy-link { display:inline-block; margin:.2rem 0 0 2.7rem; color:#1750a1; text-decoration:underline; font:inherit; line-height:1.5; background:none; padding:0; border:0; cursor:pointer; min-height:0; }
.twc-page .twc-submit { display:inline-flex; align-items:center; gap:1.2rem; margin-top:1.7rem; min-height:3.8rem; border:0; border-radius:4px; padding:.9rem 2rem; background:#cba85e; color:var(--twc-ink); font:700 1.3rem/1.2 Arial,Helvetica,sans-serif; cursor:pointer; }
.twc-submit span { font-size:1.7rem; font-weight:400; }
.twc-page .twc-submit:hover { background:#ddbb74; }
.twc-page .twc-submit:disabled { opacity:.65; cursor:wait; }
.twc-page .twc-form-status { margin-top:1rem; padding:.7rem 1rem; background:#e0f1e7; color:#184b30; font-size:1rem; line-height:1.4; border-radius:4px; }
.twc-page .twc-form-status.is-error { background:#fff0e8; color:#824422; }
.twc-honey { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.twc-policy-dialog { width:min(90vw,32rem); border:1px solid #d5e2ec; border-radius:8px; padding:2rem; color:var(--twc-ink); }
.twc-policy-dialog::backdrop { background:rgba(4,25,55,.45); }
.twc-policy-dialog p { margin-block:1rem; line-height:1.5; }
.twc-policy-dialog button { background:#cba85e; color:var(--twc-ink); border:0; padding:.65rem 1.1rem; border-radius:4px; }
.twc-legal { display:grid; grid-template-columns:2fr 3fr; gap:2.5rem; align-items:center; margin-top:1.3rem !important; padding-block:1.5rem; }
.twc-page .twc-company-request { display:inline-flex; align-items:center; gap:1.2rem; margin-top:1.2rem; color:#1750a1; font-size:1.1rem; }
.twc-company-request span { color:#bb8a39; font-size:1.7rem; text-decoration:none; }
.twc-page .twc-table { margin:0; border:1px solid var(--twc-border); border-radius:4px; overflow:hidden; }
.twc-table table { width:100%; border-collapse:collapse; margin:0; color:#35558e; font-size:1rem; }
.twc-table td { border:1px solid var(--twc-border); padding:.4rem 1.5rem; line-height:1.4; background:#f8fbfd; }
.twc-table td:first-child { width:38%; background:#f2f8fc; }
@media (max-width:1200px) {
  .twc-panel { padding:1.6rem; }
  .twc-contact-row { gap:1.2rem; }
  .twc-form-pair { gap:1rem; }
  .twc-panel-lead { font-size:1.05rem !important; }
}
@media (max-width:900px) {
  .twc-grid { grid-template-columns:minmax(0,1fr); }
  .twc-legal { grid-template-columns:1fr; gap:1.5rem; }
  .twc-info .twc-contact-row { min-height:6rem; }
  .twc-spec { margin-top:1rem !important; }
}
@media (max-width:620px) {
  body:has(.twc-page) #main > .ct-container, body:has(.twc-page) #main > .ct-container-full { width:calc(100% - 2rem); }
  .twc-heading { padding-inline:0; margin-bottom:1.5rem !important; }
  .twc-page h1 { font-size:2.7rem; }
  .twc-panel { padding:1.3rem; }
  .twc-form-pair { grid-template-columns:minmax(0,1fr); gap:1.3rem; }
  .twc-icon { width:3.3rem; height:3.3rem; }
  .twc-contact-row { grid-template-columns:3.3rem minmax(0,1fr); gap:1rem; }
  .twc-page .twc-submit { width:100%; justify-content:center; font-size:1.15rem; padding-inline:1rem; }
  .twc-spec { padding:1rem .7rem; gap:.8rem; }
  .twc-spec .twc-icon { width:3rem; height:3rem; }
  .twc-page .twc-spec h3 { font-size:1.15rem; }
  .twc-attachment { font-size:.95rem; }
  .twc-consent { font-size:.95rem; }
  .twc-table td { padding:.5rem .6rem; font-size:.85rem; overflow-wrap:anywhere; }
}

/* Mobile footer follows the two-column contact and navigation layout. */
.tw4-footer-contact-icon, .tw4-footer-contact-label { display:none; }
@media(max-width:620px) {
  .tw4-footer-details { padding-block:2rem 1.5rem; }
  .tw4-footer-main { grid-template-areas:"brand" "contacts" "navigation"; gap:1.7rem; min-height:0; padding-bottom:1.5rem; }
  .tw4-footer-brand { grid-area:brand; gap:.4rem; }
  .tw4-footer-brand a { font-size:2.05rem; }
  .tw4-footer-brand span { font-size:.84rem; }
  .tw4-footer-contacts { grid-area:contacts; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; }
  .tw4-footer-contacts>strong, .tw4-footer-contact-mark { display:none; }
  .tw4-footer-contact { display:flex; align-items:center; gap:.45rem; min-width:0; }
  .tw4-footer-contact+.tw4-footer-contact { border-left:1px solid #dce5ec; padding-left:.65rem; }
  .tw4-footer-contact-icon { display:grid; place-items:center; flex:0 0 2rem; width:2rem; height:2rem; border-radius:50%; background:#fbf3df; }
  .tw4-footer-contact-icon svg { width:1.2rem; height:1.2rem; }
  .tw4-footer-contact-copy { min-width:0; }
  .tw4-footer-contact-label { display:block; color:var(--tw4-muted); font-size:.72rem; line-height:1.5; }
  .tw4-footer-contact-value { display:block; font-size:clamp(.59rem,2.8vw,.85rem); font-weight:600; white-space:nowrap; line-height:1.5; }
  .tw4-footer-main nav { grid-area:navigation; display:block; }
  .tw4-footer-menu { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:repeat(2,auto); grid-auto-flow:column; gap:0; }
  .tw4-footer-menu li { margin:0; padding-right:1rem; }
  .tw4-footer-menu li:nth-child(n+3) { border-left:1px solid #dce5ec; padding-left:1rem; padding-right:0; }
  .tw4-footer-main nav a { display:flex; align-items:center; justify-content:space-between; min-height:3rem; font-size:1.05rem; font-weight:700; }
  .tw4-footer-menu li:nth-child(odd) a { border-bottom:1px solid #dce5ec; }
  .tw4-footer-main nav a::after { content:"→"; color:var(--tw4-gold); font-size:1.5rem; font-weight:400; }
  .tw4-footer-bottom { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:1.4rem .7rem; padding-top:1.4rem; font-size:.7rem; }
  .tw4-footer-legal { grid-column:1/-1; font-size:.82rem; line-height:1.6; }
  .tw4-footer-bottom .tw4-footer-policy { color:var(--tw4-muted); text-decoration:underline dotted; text-underline-offset:4px; }
  .tw4-footer-copyright { white-space:nowrap; text-align:right; }
}

/* Privacy document: editable blocks with a readable legal-text column. */
body:has(.tw-privacy) .hero-section { display:none; }
body:has(.tw-privacy) #main { background:#fff; }
body:has(.tw-privacy) #main>.ct-container,body:has(.tw-privacy) #main>.ct-container-full { width:min(100% - 3rem,1040px); max-width:none; margin-inline:auto; }
body:has(.tw-privacy) #main>[data-vertical-spacing] { padding-block:2rem 3rem; }
body:has(.tw-privacy) .entry-content { margin-top:0; }
.entry-content>.tw-privacy { width:100%; max-width:none; }
.tw-privacy { color:var(--tw-ink); font-size:16px; line-height:1.75; overflow-wrap:anywhere; }
.tw-privacy .wp-block-group { margin:0; }
.tw-privacy h1 { font-size:clamp(30px,4vw,46px); line-height:1.15; color:var(--tw-navy); margin:18px 0 12px; }
.tw-privacy h2 { font-size:clamp(21px,2.5vw,28px); line-height:1.3; color:var(--tw-navy); margin:0 0 16px; }
.tw-privacy p { margin:0 0 16px; }
.tw-privacy a { color:var(--tw-navy); text-underline-offset:3px; }
.tw-privacy a:focus-visible { outline:3px solid var(--tw-gold); outline-offset:4px; }
.tw-privacy-breadcrumbs,.tw-privacy-date { color:var(--tw-muted); font-size:14px; }
.tw-privacy-lead { font-size:18px; color:var(--tw-muted); }
.tw-privacy-toc { background:#f4f8fb; border-left:3px solid var(--tw-gold); padding:20px 24px; margin:24px 0 32px; }
.tw-privacy-toc ol { margin:10px 0 0; padding-left:22px; columns:2; column-gap:32px; }
.tw-privacy-toc li { break-inside:avoid; margin-bottom:8px; }
.tw-privacy .tw-privacy-section { margin-top:32px; scroll-margin-top:70px; }
@media(max-width:767px) { .tw-privacy-toc ol { columns:1; } .tw-privacy-toc { padding:16px; } body:has(.tw-privacy) #main>.ct-container,body:has(.tw-privacy) #main>.ct-container-full { width:calc(100% - 2rem); } }

/* Shared breadcrumb component: one position and type scale on every inner page. */
.tw-site-breadcrumbs-wrap { background:#fff; padding:20px 0; }
.tw-site-breadcrumbs { color:#4b6080; font:400 14px/20px Arial,Helvetica,sans-serif; letter-spacing:0; text-transform:none; }
.tw-site-breadcrumbs ol { display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 0; list-style:none; padding:0; margin:0; }
.tw-site-breadcrumbs li { display:flex; align-items:baseline; min-width:0; margin:0; padding:0; overflow-wrap:anywhere; }
.tw-site-breadcrumbs li+li::before { content:'›'; flex:none; margin:0 10px; color:#74859c; }
.tw-site-breadcrumbs a,.tw-site-breadcrumbs [aria-current] { font:inherit; color:inherit; text-decoration:none; }
.tw-site-breadcrumbs a:hover { color:#082448; text-decoration:underline; text-underline-offset:3px; }
.tw-site-breadcrumbs a:focus-visible { outline:2px solid #cba85e; outline-offset:3px; }
/* Retain old editable blocks for rollback, but do not show duplicate trails. */
body:has(.tw-site-breadcrumbs) :is(.twc-breadcrumb,.tw-about-breadcrumbs,.twcat-breadcrumbs,.twnews__breadcrumbs,.tw-privacy-breadcrumbs,.tw-breadcrumbs,.ct-breadcrumbs) { display:none!important; }
body:has(.tw-site-breadcrumbs) .twcat { padding-top:0!important; }
body:has(.tw-site-breadcrumbs) .twnews__shell { padding-top:0!important; }
body:has(.tw-site-breadcrumbs):has(.twc-page) #main>[data-vertical-spacing],
body:has(.tw-site-breadcrumbs):has(.tw-privacy) #main>[data-vertical-spacing] { padding-top:0!important; }

/* Contact consent is readable on phones and separate from the submit checkbox. */
.twc-consent-details { margin-top:18px; border:1px solid #dce6f0; border-radius:4px; padding:12px 14px; color:#49628f; font:400 14px/1.5 Arial,Helvetica,sans-serif; }
.twc-consent-details summary { cursor:pointer; font-weight:600; color:#082448; }
.twc-consent-details summary:focus-visible { outline:2px solid #cba85e; outline-offset:3px; }
.twc-page .twc-consent-details p { margin:12px 0 0; font:inherit; }
.twc-consent-version { color:#667c98; }
.twc-consent-details+.twc-consent { margin-top:14px; }

/* Shared inquiry dialog: same form and colors as the contact page. */
html.tw-inquiry-open { overflow:hidden; }
.tw-inquiry-dialog { width:min(740px,calc(100vw - 32px)); height:min(900px,calc(100dvh - 48px)); max-width:none; max-height:none; padding:0; border:1px solid #dce6f0; border-radius:4px; color:#071b4d; background:#f2f8fc; box-shadow:0 20px 70px rgba(7,27,77,.2); }
.tw-inquiry-dialog[open] { display:flex; flex-direction:column; }
.tw-inquiry-dialog::backdrop { background:rgba(7,27,77,.6); }
.tw-inquiry-heading { display:flex; flex:none; align-items:center; justify-content:space-between; gap:16px; padding:20px 24px; border-bottom:1px solid #dce6f0; background:#fff; }
.tw-inquiry-heading h2 { margin:0; color:#071b4d; font:700 26px/1.2 Arial,Helvetica,sans-serif; }
.tw-inquiry-close { display:flex; align-items:center; justify-content:center; flex:none; width:44px; height:44px; min-height:44px; padding:0; border:1px solid #cbdbea; border-radius:4px; background:#fff; color:#071b4d; font:400 32px/1 Arial,Helvetica,sans-serif; cursor:pointer; }
.tw-inquiry-close:hover { background:#e1edf5; }
.tw-inquiry-close:focus-visible,.tw-inquiry-fallback:focus-visible { outline:2px solid #aa862f; outline-offset:2px; }
.tw-inquiry-frame { display:block; width:100%; height:100%; flex:1; min-height:0; border:0; background:#f2f8fc; }
.tw-inquiry-frame[hidden],.tw-inquiry-loading[hidden] { display:none; }
.tw-inquiry-loading { margin:24px; color:#49628f; font:400 16px/1.5 Arial,Helvetica,sans-serif; }
.tw-inquiry-fallback { display:block; flex:none; padding:10px 24px; background:#fff; color:#1750a1; border-top:1px solid #dce6f0; font:400 14px/1.5 Arial,Helvetica,sans-serif; text-decoration:underline; }
body.tw-inquiry-document { margin:0; padding:24px; background:#f2f8fc; color:#071b4d; font:400 16px/1.5 Arial,Helvetica,sans-serif; }
.tw-inquiry-document .tw-inquiry-intro { margin:0 0 18px; font:400 15px/1.5 Arial,Helvetica,sans-serif; color:#49628f; }
.tw-inquiry-document .twc-form { margin:0; font-size:15px; }
.tw-inquiry-document .twc-form-pair { gap:16px; }
.tw-inquiry-document .twc-form > label:not(.twc-attachment) { margin-top:16px; }
.tw-inquiry-document .twc-form textarea { min-height:112px; }
.tw-inquiry-document .twcat-request-context { margin:0 0 20px; font-size:14px; }
.tw-inquiry-document .twcat-request-context pre { max-height:112px; overflow:auto; white-space:pre-wrap; overflow-wrap:anywhere; font:400 13px/1.5 Arial,Helvetica,sans-serif; }
.tw-inquiry-document .twc-consent { font-size:14px; }
.tw-inquiry-document .twc-consent input { width:22px; height:22px; }
.tw-inquiry-document .twc-consent > a { margin-left:38px; }
.tw-inquiry-document .twc-submit { width:100%; justify-content:center; min-height:48px; font-size:18px; }
@media (max-width:600px) {
  .tw-inquiry-dialog { width:calc(100vw - 16px); height:calc(100dvh - 16px); }
  .tw-inquiry-heading { padding:12px 16px; gap:8px; }
  .tw-inquiry-heading h2 { font-size:21px; }
  body.tw-inquiry-document { padding:16px; }
  .tw-inquiry-document .twc-form-pair { grid-template-columns:minmax(0,1fr); gap:16px; }
  .tw-inquiry-fallback { padding:8px 16px; }
}
html.tw-inquiry-html { margin-top:0 !important; }
.tw-inquiry-document main { padding:0; margin:0; }

/* Customer-facing product summary; technical context belongs in the email. */
.twcat-request-label { display:block; color:#49628f; font:400 13px/1.4 Arial,Helvetica,sans-serif; }
.twcat-request-name { margin-top:4px; color:#082448; font:600 16px/1.4 Arial,Helvetica,sans-serif; overflow-wrap:anywhere; }

/* The native Cover block owns the image and focal point. */
.tw4-hero.wp-block-cover { padding: 0; background-image: none; }
.tw4-hero.wp-block-cover::before { z-index: 1; pointer-events: none; }
.tw4-hero.wp-block-cover > .wp-block-cover__inner-container { position: relative; z-index: 2; width: 100%; }
@media (max-width: 689px) { .tw4-hero.wp-block-cover > .wp-block-cover__image-background { object-position: 64% center; } }


/* Main site news layout approved 2026-10-05: title, photo, article. */
.twnews .twnews-featured h2 { font-weight: 600; }
.single-post .hero-section .entry-header .page-description,
.single-post .hero-section .entry-header .entry-meta { display: none; }
.single-post .hero-section .page-title { font-weight: 600; }
.single-post .hero-section { margin-bottom: 1.5rem; }

/* Keep linked homepage news titles in the established corporate style. */
.tw4-material-title a { color: inherit; text-decoration: none; }
.tw4-material-title a:hover { text-decoration: underline; }


/* Main site: use the available text column width in the featured news card. */
.twnews .twnews-featured__body > h2,
.twnews .twnews-featured__body > p { width: 100%; max-width: none; }
