:root { --ta-navy:#052942; --ta-deep:#03243a; --ta-ink:#0a2a43; --ta-red:#dc202d; --ta-paper:#f8f7f3; --ta-copy:#354d60; --ta-line:#d6d2ca; }
.ta-page { width:100%; overflow:hidden; color:var(--ta-ink); background:var(--ta-paper); font-family:Inter,Arial,sans-serif; }
.ta-page *,.ta-page *::before,.ta-page *::after { box-sizing:border-box; }
.ta-page img { display:block; max-width:none; }
.ta-page a { text-decoration:none; }
.ta-page svg { fill:none; stroke:currentColor; stroke-width:1.75; stroke-linecap:round; stroke-linejoin:round; }
.ta-symbols { position:absolute; width:0; height:0; overflow:hidden; }

/* Hero */
.ta-hero {
  position: relative;
  min-height: clamp(560px, calc(100vh - 76px), 880px);
  height: calc(100vh - 76px);
  overflow: hidden;
  isolation: isolate;
  color: #ffffff;
  background: var(--ta-deep);
  display: flex;
  align-items: center;
}

.ta-hero-photo {
  position: absolute;
  z-index: -3;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  transform: scale(1.02);
  filter: contrast(1.05) saturate(1.05);
}

.ta-hero-shade {
  position: absolute;
  z-index: -1;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(1, 29, 47, 0.95) 0%, rgba(1, 31, 51, 0.85) 36%, rgba(1, 32, 51, 0.4) 66%, rgba(1, 31, 50, 0.1) 100%),
    linear-gradient(180deg, rgba(0, 20, 34, 0.25) 0%, transparent 40%, rgba(0, 25, 40, 0.2) 100%);
}

.ta-hero-copy {
  position: relative;
  z-index: 2;
  width: min(92%, 1440px);
  max-width: 720px;
  margin-left: max(32px, calc((100% - 1440px) / 2));
  margin-top: 10px;
}

.ta-hero h1 {
  margin: 0 0 16px;
  color: #ffffff;
  font-size: clamp(40px, 4.4vw, 70px);
  font-weight: 900;
  letter-spacing: -0.02em;
  line-height: 1.06;
  text-transform: none;
}

.ta-hero-lead {
  margin: 0 0 28px;
  color: rgba(255, 255, 255, 0.9);
  font-size: clamp(15px, 1.2vw, 18px);
  line-height: 1.55;
  max-width: 580px;
}

.ta-outline-button {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  height: 50px;
  padding: 0 28px;
  border: 2px solid var(--ta-red);
  background: rgba(1, 31, 49, 0.35);
  color: #ffffff;
  font-size: 13.5px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border-radius: 4px;
  transition: all 0.25s ease;
}

.ta-outline-button:hover {
  background: var(--ta-red);
  color: #ffffff;
}

.ta-outline-button span {
  font-size: 20px;
  font-weight: 300;
  transition: transform 0.25s ease;
}

.ta-outline-button:hover span {
  transform: translateX(4px);
}

/* Process */
.ta-process {
  min-height: 80px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  background: #fbfaf7;
  border-bottom: 1px solid var(--ta-line);
}

.ta-process > div {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 20px 12px;
  color: var(--ta-ink);
  font-size: 14px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.ta-process svg {
  width: 32px;
  height: 32px;
  stroke: var(--ta-ink);
  stroke-width: 1.6;
  fill: none;
}

.ta-process > div:not(:last-child)::after {
  content: '';
  position: absolute;
  top: 20%;
  right: 0;
  width: 1px;
  height: 60%;
  background: var(--ta-line);
}

/* Reinforced wall systems & Infographic */
.ta-walls { min-height:auto; height:auto; padding:48px clamp(20px,3.5vw,60px); background:#f7f4ee; }
.ta-infographic-card { width:min(100%,1620px); margin:0 auto 36px; padding:36px 40px 24px; background:#f7f4ee; border:1px solid #e2ddd3; border-radius:12px; box-shadow:0 4px 20px rgba(0,27,50,0.03); }
.ta-info-header { margin-bottom:28px; text-align:left; }
.ta-info-kicker { display:block; color:#dc202d; font-size:12px; font-weight:900; letter-spacing:0.09em; text-transform:uppercase; margin-bottom:4px; }
.ta-info-title { margin:0 0 6px; color:#0c1a26; font-size:clamp(26px,2.6vw,40px); font-weight:900; letter-spacing:-0.02em; text-transform:uppercase; line-height:1.1; }
.ta-info-subtitle { margin:0; color:#5a6b78; font-size:clamp(13px,1vw,15px); }

.ta-info-body { display:grid; grid-template-columns:minmax(240px, 1.15fr) minmax(400px, 2.7fr) minmax(240px, 1.15fr); gap:0; align-items:stretch; }
.ta-callouts-col { display:grid; grid-template-rows:repeat(3, 1fr); height:100%; }
.ta-callouts-left { padding-right:14px; }
.ta-callouts-right { padding-left:14px; }
.ta-callout-item { position:relative; border-left:3px solid #dc202d; padding-left:12px; align-self:center; }
.ta-callout-head { display:flex; align-items:baseline; gap:8px; margin-bottom:4px; }
.ta-callout-num { color:#dc202d; font-size:13px; font-weight:700; letter-spacing:0.02em; }
.ta-callout-title { margin:0; color:#001b32; font-size:clamp(13.5px, 1vw, 16px); font-weight:800; line-height:1.25; }
.ta-callout-desc { margin:0; color:#526677; font-size:clamp(11.5px, 0.8vw, 13px); line-height:1.45; }

.ta-info-visual-wrap { position:relative; display:flex; align-items:center; justify-content:center; }
.ta-info-3d-img { width:100%; height:auto; display:block; object-fit:contain; }
.ta-leader-svg { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; overflow:visible; }

.ta-info-footer { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-top:28px; padding-top:16px; border-top:1px solid #d8d1c4; }
.ta-info-disclaimer { margin:0; color:#7a8896; font-size:11.5px; line-height:1.4; }
.ta-info-code { color:#dc202d; font-size:12px; font-weight:900; letter-spacing:0.06em; white-space:nowrap; }

@media (max-width: 1024px) {
  .ta-info-body { grid-template-columns:1fr; gap:28px; }
  .ta-leader-svg { display:none; }
  .ta-callouts-col { gap:18px; }
  .ta-infographic-card { padding:24px 20px; }
}

.ta-wall-flow { min-height:calc(8.6 * var(--vln-activity-vw)); height:auto; display:grid; grid-template-columns:repeat(5, 1fr); gap:calc(1 * var(--vln-activity-vw)); align-items:center; padding:0 calc(1.35 * var(--vln-activity-vw)); overflow:hidden; border:1px solid #c6c2ba; border-radius:calc(.55 * var(--vln-activity-vw)); background:#fbfaf7; }
.ta-wall-flow article { min-width:0; display:grid; grid-template-columns:calc(3.65 * var(--vln-activity-vw)) minmax(0,1fr); align-items:center; gap:calc(.7 * var(--vln-activity-vw)); }
.ta-wall-flow svg { width:calc(3.25 * var(--vln-activity-vw)); height:calc(3.25 * var(--vln-activity-vw)); color:var(--ta-ink); stroke-width:1.3; }
.ta-wall-flow h3 { margin:0 0 calc(.35 * var(--vln-activity-vw)); color:var(--ta-ink); font-size:calc(.78 * var(--vln-activity-type-vw)); font-weight:900; text-transform:uppercase; }
.ta-wall-flow p { margin:0; color:var(--ta-copy); font-size:calc(.53 * var(--vln-activity-type-vw)); line-height:1.42; }
.ta-wall-flow > span { color:var(--ta-ink); font-size:calc(2.15 * var(--vln-activity-type-vw)); font-weight:300; text-align:center; }

/* Modular, gabion and geofoam */
.ta-systems { min-height:calc(53.5 * var(--vln-activity-vw)); height:auto; display:grid; grid-template-rows:minmax(0,calc(32 * var(--vln-activity-vw))) minmax(0,calc(17 * var(--vln-activity-vw))); gap:calc(1.4 * var(--vln-activity-vw)); overflow:hidden; padding:calc(2 * var(--vln-activity-vw)) calc(1.45 * var(--vln-activity-vw)) calc(1.1 * var(--vln-activity-vw)); color:#fff; background:#01274b; }
.ta-modular { min-width:0; min-height:0; display:grid; grid-template-columns:31% minmax(0,69%); overflow:hidden; }
.ta-modular > article { min-width:0; padding:calc(1 * var(--vln-activity-vw)) calc(1.6 * var(--vln-activity-vw)) calc(1 * var(--vln-activity-vw)) calc(.75 * var(--vln-activity-vw)); }
.ta-systems b { display:block; margin-bottom:calc(.65 * var(--vln-activity-vw)); color:var(--ta-red); font-size:calc(1.45 * var(--vln-activity-type-vw)); font-weight:900; }
.ta-systems h2 { margin:0 0 calc(.8 * var(--vln-activity-vw)); color:#fff; font-size:calc(1.72 * var(--vln-activity-type-vw)); font-weight:800; line-height:1.15; }
.ta-systems p { margin:0; color:rgba(255,255,255,.88); font-size:calc(.78 * var(--vln-activity-type-vw)); line-height:1.55; }
.ta-modular-figure { position:relative; min-width:0; min-height:0; margin:0; overflow:hidden; display:flex; align-items:center; justify-content:center; }
.ta-modular-stage { position:relative; width:100%; aspect-ratio:1672 / 941; display:block; }
.ta-modular-img { width:100%; height:100%; object-fit:fill; border-radius:0; display:block; }
.ta-mod-labels { display: none !important; }
.ta-mod-item { position:absolute; display:flex; flex-direction:column; color:#ffffff; font-family:'Segoe UI', Arial, sans-serif; line-height:1.2; white-space:nowrap; user-select:text; -webkit-user-select:text; cursor:text; z-index:10; }
.ta-mod-title { font-size:clamp(8.5px, calc(0.95 * var(--vln-activity-vw)), 14px); font-weight:700; color:#ffffff; letter-spacing:0.01em; }
.ta-mod-2 .ta-mod-title { font-size:clamp(8px, calc(0.85 * var(--vln-activity-vw)), 12.5px); }

.ta-mod-1 { top:19.0%; right:87.4%; transform:translateY(-50%); text-align:right; align-items:flex-end; }
.ta-mod-2 { top:41.3%; left:1.0%; transform:translateY(-50%); text-align:left; align-items:flex-start; }
.ta-mod-3 { top:82.9%; left:1.0%; transform:translateY(-50%); text-align:left; align-items:flex-start; }
.ta-mod-4 { top:24.3%; left:87.6%; transform:translateY(-50%); text-align:left; align-items:flex-start; }
.ta-mod-5 { top:39.1%; left:85.0%; transform:translateY(-50%); text-align:left; align-items:flex-start; }
.ta-mod-6 { top:57.9%; left:79.4%; transform:translateY(-50%); text-align:left; align-items:flex-start; }
.ta-mod-7 { top:79.0%; left:75.8%; transform:translateY(-50%); text-align:left; align-items:flex-start; }
.ta-alternatives { min-width:0; min-height:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); overflow:hidden; border:1px solid rgba(255,255,255,.55); border-radius:calc(.55 * var(--vln-activity-vw)); }
.ta-alternatives article { min-width:0; min-height:0; display:grid; grid-template-columns:43% minmax(0,57%); overflow:hidden; }
.ta-alternatives article + article { border-left:1px solid rgba(255,255,255,.25); }
.ta-alternatives article > div { min-width:0; min-height:0; padding:calc(1.25 * var(--vln-activity-vw)) calc(1.15 * var(--vln-activity-vw)); overflow:hidden; }
.ta-alternatives b { margin-bottom:calc(.25 * var(--vln-activity-vw)); }
.ta-alternatives h2 { margin-bottom:calc(.55 * var(--vln-activity-vw)); font-size:calc(1.45 * var(--vln-activity-type-vw)); }
.ta-alternatives p { font-size:calc(.68 * var(--vln-activity-type-vw)); }
.ta-alternatives img { width:100%; height:100%; min-width:0; min-height:0; object-fit:cover; }

/* Rockfall */
.ta-rockfall { min-height:calc(41.8 * var(--vln-activity-vw)); height:auto; display:grid; grid-template-columns:36% 64%; gap:calc(2 * var(--vln-activity-vw)); overflow:hidden; padding:calc(2.5 * var(--vln-activity-vw)) calc(2.4 * var(--vln-activity-vw)) calc(2 * var(--vln-activity-vw)) calc(3.65 * var(--vln-activity-vw)); background:linear-gradient(90deg,#faf9f6,#f7f6f2 52%,#faf9f7); align-items:center; }
.ta-rockfall-copy { min-width:0; min-height:0; padding-right:calc(1.2 * var(--vln-activity-vw)); overflow:hidden; }
.ta-rockfall-copy > h2 { margin:0 0 calc(1.2 * var(--vln-activity-vw)); color:var(--ta-ink); font-size:clamp(32px, calc(2.8 * var(--vln-activity-type-vw)), 46px); font-weight:900; line-height:1.1; }
.ta-rockfall-copy > p { margin:0 0 calc(1.5 * var(--vln-activity-vw)); color:var(--ta-copy); font-size:clamp(14.5px, calc(1.05 * var(--vln-activity-type-vw)), 17.5px); line-height:1.6; }
.ta-rockfall ul { list-style:none; margin:0; padding:0; display:grid; gap:calc(1.25 * var(--vln-activity-vw)); }
.ta-rockfall li { display:grid; grid-template-columns:calc(3.4 * var(--vln-activity-vw)) minmax(0,1fr); gap:calc(1 * var(--vln-activity-vw)); align-items:flex-start; }
.ta-rockfall li svg { width:calc(3.2 * var(--vln-activity-vw)); height:calc(3.2 * var(--vln-activity-vw)); color:var(--ta-ink); stroke-width:1.4; }
.ta-rockfall li h3 { margin:0 0 calc(.3 * var(--vln-activity-vw)); color:var(--ta-ink); font-size:clamp(15px, calc(1.1 * var(--vln-activity-type-vw)), 19px); font-weight:900; }
.ta-rockfall li p { margin:0; color:var(--ta-copy); font-size:clamp(13px, calc(.9 * var(--vln-activity-type-vw)), 15.5px); line-height:1.5; }
.ta-rockfall-visuals { display:grid; grid-template-columns:52% 48%; gap:calc(1.5 * var(--vln-activity-vw)); align-items:center; }
.ta-rockfall-photo { width:100%; height:100%; min-height:calc(32 * var(--vln-activity-vw)); object-fit:cover; object-position:center; border-radius:calc(.55 * var(--vln-activity-vw)); display:block; }
.ta-rockfall-drawing-wrap { position:relative; width:100%; height:auto; background:#ffffff; border:1px solid #d5d3ce; border-radius:calc(.55 * var(--vln-activity-vw)); display:flex; align-items:center; justify-content:center; padding:10px; box-sizing:border-box; box-shadow:0 6px 24px rgba(0,0,0,0.06); }
.ta-rockfall-stage { position:relative; width:100%; max-width:500px; aspect-ratio:1078 / 1459; display:block; margin:auto; }
.ta-rockfall-drawing { width:100%; height:100%; object-fit:fill; display:block; }
.ta-rockfall-svg { display: none !important; position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.ta-rockfall-svg rect { stroke:none !important; fill:#ffffff !important; }
.ta-rockfall-svg text { stroke:none !important; stroke-width:0 !important; pointer-events:auto; user-select:text; -webkit-user-select:text; cursor:text; }
.ta-rf-main-title { fill:#1e1e1e; font-family:Arial, Helvetica, sans-serif; font-size:25px; font-weight:700; letter-spacing:0.03em; stroke:none !important; }
.ta-rf-dim-title { fill:#002d54; font-family:Arial, Helvetica, sans-serif; font-size:25px; font-weight:700; letter-spacing:0.04em; stroke:none !important; }
.ta-rf-dim-val { fill:#002d54; font-family:Arial, Helvetica, sans-serif; font-size:33px; font-weight:400; letter-spacing:0.01em; stroke:none !important; }
.ta-rf-anchor-title { fill:#002d54; font-family:Arial, Helvetica, sans-serif; font-size:23px; font-weight:700; letter-spacing:0.03em; stroke:none !important; }

/* CTA */
.ta-cta { min-height:calc(17.7 * var(--vln-activity-vw)); height:auto; display:grid; grid-template-columns:50% minmax(0,50%); overflow:hidden; background:#f5f3ee; }
.ta-cta > div { min-width:0; min-height:0; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:calc(1.3 * var(--vln-activity-vw)) calc(2.2 * var(--vln-activity-vw)) calc(1.3 * var(--vln-activity-vw)) calc(3.7 * var(--vln-activity-vw)); }
.ta-cta h2 { margin:0 0 calc(.75 * var(--vln-activity-vw)); color:var(--ta-ink); font-size:calc(1.55 * var(--vln-activity-type-vw)); font-weight:900; line-height:1.25; text-transform:uppercase; }
.ta-cta p { max-width:calc(38 * var(--vln-activity-vw)); margin:0 0 calc(1.05 * var(--vln-activity-vw)); color:var(--ta-copy); font-size:calc(.78 * var(--vln-activity-type-vw)); line-height:1.5; }
.ta-cta a { display:inline-flex; align-items:center; justify-content:center; gap:calc(1.55 * var(--vln-activity-vw)); min-width:calc(20 * var(--vln-activity-vw)); height:calc(3.35 * var(--vln-activity-vw)); padding:0 calc(1.4 * var(--vln-activity-vw)); color:#fff; background:var(--ta-red); font-size:calc(.84 * var(--vln-activity-type-vw)); font-weight:800; text-transform:uppercase; }
.ta-cta a:hover { color:#fff; background:#b71924; }
.ta-cta a span { font-size:calc(1.9 * var(--vln-activity-type-vw)); font-weight:300; }
.ta-cta > img { width:100%; height:100%; min-width:0; min-height:0; object-fit:cover; object-position:center 52%; }

/* Footer */
.ta-footer { min-height:calc(20.1 * var(--vln-activity-vw)); height:auto; overflow:hidden; padding:calc(1.25 * var(--vln-activity-vw)) calc(2.65 * var(--vln-activity-vw)) calc(.7 * var(--vln-activity-vw)); color:#fff; background:radial-gradient(circle at 55% 10%,#063858,#022943 46%,#02263d); }
.ta-footer-grid { min-height:calc(15.55 * var(--vln-activity-vw)); height:auto; display:grid; grid-template-columns:19% 13% 19% 15% 15% 11%; gap:1.55%; overflow:hidden; }
.ta-footer-brand img { width:calc(12 * var(--vln-activity-vw)); height:auto; margin:0 0 calc(.5 * var(--vln-activity-vw)) calc(.55 * var(--vln-activity-vw)); }
.ta-footer ul { list-style:none; margin:0; padding:0; }
.ta-footer li { display:flex; align-items:flex-start; gap:calc(.58 * var(--vln-activity-vw)); margin-bottom:calc(.47 * var(--vln-activity-vw)); color:rgba(255,255,255,.84); font-size:calc(.71 * var(--vln-activity-type-vw)); line-height:1.38; }
.ta-footer li svg { width:calc(1.15 * var(--vln-activity-vw)); height:calc(1.15 * var(--vln-activity-vw)); flex:0 0 calc(1.15 * var(--vln-activity-vw)); }
.ta-footer-grid > div:not(.ta-footer-brand) { min-width:0; display:flex; flex-direction:column; padding-top:calc(.65 * var(--vln-activity-vw)); }
.ta-footer h2 { margin:0 0 calc(.75 * var(--vln-activity-vw)); color:#fff; font-size:calc(.83 * var(--vln-activity-type-vw)); font-weight:800; text-transform:uppercase; }
.ta-footer-grid a { margin-bottom:calc(.55 * var(--vln-activity-vw)); color:rgba(255,255,255,.74); font-size:calc(.73 * var(--vln-activity-type-vw)); line-height:1.22; }
.ta-footer-grid a:hover { color:#fff; }
.ta-copyright { margin:calc(.4 * var(--vln-activity-vw)) 0 0; color:rgba(255,255,255,.66); font-size:calc(.72 * var(--vln-activity-type-vw)); text-align:center; }
.ta-footer-brand img { width:calc(12 * var(--vln-activity-vw)); height:auto; margin:0 0 calc(.5 * var(--vln-activity-vw)) calc(.55 * var(--vln-activity-vw)); }
.ta-footer ul { list-style:none; margin:0; padding:0; }
.ta-footer li { display:flex; align-items:flex-start; gap:calc(.58 * var(--vln-activity-vw)); margin-bottom:calc(.47 * var(--vln-activity-vw)); color:rgba(255,255,255,.84); font-size:calc(.71 * var(--vln-activity-type-vw)); line-height:1.38; }
.ta-footer li svg { width:calc(1.15 * var(--vln-activity-vw)); height:calc(1.15 * var(--vln-activity-vw)); flex:0 0 calc(1.15 * var(--vln-activity-vw)); }
.ta-footer-grid > div:not(.ta-footer-brand) { min-width:0; display:flex; flex-direction:column; padding-top:calc(.65 * var(--vln-activity-vw)); }
.ta-footer h2 { margin:0 0 calc(.75 * var(--vln-activity-vw)); color:#fff; font-size:calc(.83 * var(--vln-activity-type-vw)); font-weight:800; text-transform:uppercase; }
.ta-footer-grid a { margin-bottom:calc(.55 * var(--vln-activity-vw)); color:rgba(255,255,255,.74); font-size:calc(.73 * var(--vln-activity-type-vw)); line-height:1.22; }
.ta-footer-grid a:hover { color:#fff; }
.ta-copyright { margin:calc(.4 * var(--vln-activity-vw)) 0 0; color:rgba(255,255,255,.66); font-size:calc(.72 * var(--vln-activity-type-vw)); text-align:center; }

@media (max-width: 1100px) {
  .ta-desktop-only { display:none; }
  .ta-hero { height:auto; min-height:680px; }
  .ta-header { height:82px; grid-template-columns:auto 1fr auto; align-items:center; padding:0 28px; font-size:10px; }
  .ta-nav { display:none; }
  .ta-brand { justify-content:flex-start; }
  .ta-brand img { width:125px; }
  .ta-menu-toggle { display:inline-flex; align-items:center; justify-self:end; gap:9px; padding:10px 0; color:#fff; border:0; background:transparent; font:inherit; font-size:10px; font-weight:800; text-transform:uppercase; cursor:pointer; }
  .ta-menu-bars { width:23px; display:grid; gap:5px; }
  .ta-menu-bars b { width:100%; height:1px; background:currentColor; transition:.2s ease; }
  .ta-menu-toggle[aria-expanded='true'] .ta-menu-bars b:first-child { transform:translateY(6px) rotate(45deg); }
  .ta-menu-toggle[aria-expanded='true'] .ta-menu-bars b:nth-child(2) { opacity:0; }
  .ta-menu-toggle[aria-expanded='true'] .ta-menu-bars b:last-child { transform:translateY(-6px) rotate(-45deg); }
  .ta-mobile-nav { position:absolute; top:75px; left:28px; right:28px; display:grid; grid-template-columns:repeat(2,1fr); visibility:hidden; opacity:0; transform:translateY(-8px); border:1px solid rgba(255,255,255,.24); transition:.2s ease; }
  .ta-mobile-nav.is-open { visibility:visible; opacity:1; transform:none; }
  .ta-mobile-nav a { padding:15px 17px; color:#fff; background:rgba(3,39,61,.98); border:1px solid rgba(255,255,255,.07); font-size:11px; font-weight:700; }
  .ta-hero-photo { object-position:61% center; }
  .ta-hero-shade { background:linear-gradient(90deg,rgba(1,31,50,.98),rgba(1,32,52,.8) 67%,rgba(1,32,52,.24)); }
  .ta-hero-copy { left:28px; top:205px; width:min(calc(78 * var(--vln-activity-vw)),620px); }
  .ta-hero-kicker { margin-bottom:16px; font-size:11px; }
  .ta-hero h1 { margin-bottom:17px; font-size:clamp(44px,calc(7.8 * var(--vln-activity-type-vw)),64px); }
  .ta-hero-lead { margin-bottom:28px; font-size:15px; line-height:1.6; }
  .ta-outline-button { height:47px; gap:14px; padding:0 18px; border-width:2px; font-size:11px; }
  .ta-outline-button span { font-size:22px; }
  .ta-process { height:auto; grid-template-columns:repeat(2,1fr); }
  .ta-process > div { min-height:76px; gap:14px; font-size:11px; }
  .ta-process svg { width:31px; height:31px; }
  .ta-process > div:nth-child(2)::after { display:none; }
  .ta-process > div:nth-child(-n+2) { border-bottom:1px solid var(--ta-line); }

  .ta-walls { height:auto; padding:46px 28px; }
  .ta-walls > h2 { margin-bottom:12px; font-size:30px; line-height:1.1; }
  .ta-wall-intro { font-size:11px; }
  .ta-wall-grid { height:auto; grid-template-columns:1fr; gap:28px; margin-top:24px; overflow:visible; }
  .ta-wall-visual { height:500px; order:-1; }
  .ta-wall-notes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; padding:0; }
  .ta-wall-notes article,.ta-wall-right article { min-height:120px; padding:18px; border:1px solid var(--ta-line); border-radius:7px; background:#fbfaf7; }
  .ta-wall-notes h3 { margin-bottom:7px; font-size:14px; }
  .ta-wall-notes p { font-size:10px; }
  .ta-wall-notes article::before,.ta-wall-notes article::after { display:none; }
  .ta-wall-flow { height:auto; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:30px; padding:24px; }
  .ta-wall-flow > span { display:none; }
  .ta-wall-flow article { min-height:90px; grid-template-columns:50px 1fr; gap:12px; }
  .ta-wall-flow svg { width:44px; height:44px; }
  .ta-wall-flow h3 { margin-bottom:5px; font-size:11px; }
  .ta-wall-flow p { font-size:9px; }

  .ta-systems { height:auto; display:block; padding:44px 28px; }
  .ta-modular { grid-template-columns:1fr; gap:24px; }
  .ta-modular > article { padding:0; }
  .ta-systems b { margin-bottom:8px; font-size:18px; }
  .ta-systems h2 { margin-bottom:12px; font-size:23px; }
  .ta-systems p { font-size:11px; }
  .ta-modular figure { height:430px; }
  .ta-modular figure > img { width:100%; }
  .ta-alternatives { grid-template-columns:1fr; margin-top:28px; }
  .ta-alternatives article { min-height:260px; }
  .ta-alternatives article + article { border-left:0; border-top:1px solid rgba(255,255,255,.25); }
  .ta-alternatives article > div { padding:22px; }
  .ta-alternatives h2 { font-size:20px; }
  .ta-alternatives p { font-size:10px; }

  .ta-rockfall { height:auto; grid-template-columns:1fr; padding:46px 28px; }
  .ta-rockfall-copy { padding:0 0 30px; }
  .ta-rockfall-copy > h2 { margin-bottom:15px; font-size:34px; }
  .ta-rockfall-copy > p { margin-bottom:20px; font-size:11px; }
  .ta-rockfall ul { grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; }
  .ta-rockfall li { grid-template-columns:42px 1fr; gap:10px; }
  .ta-rockfall li svg { width:38px; height:38px; }
  .ta-rockfall li h3 { margin-bottom:5px; font-size:11px; }
  .ta-rockfall li p { font-size:9px; }
  .ta-rockfall-visuals { grid-template-columns:1fr; gap:16px; }
  .ta-rockfall-photo { height:auto; aspect-ratio:16/9; border-radius:8px; }
  .ta-rockfall-drawing { height:100%; object-fit:contain; margin-top:0; border-radius:8px; }

  .ta-cta { height:auto; min-height:350px; grid-template-columns:50% 50%; }
  .ta-cta > div { padding:38px 28px; }
  .ta-cta h2 { margin-bottom:13px; font-size:22px; }
  .ta-cta p { max-width:none; margin-bottom:20px; font-size:11px; }
  .ta-cta a { min-width:190px; height:45px; gap:13px; padding:0 17px; font-size:10px; }
  .ta-cta a span { font-size:21px; }

  .ta-footer { height:auto; padding:36px 28px 25px; }
  .ta-footer-grid { height:auto; grid-template-columns:repeat(3,1fr); gap:28px 22px; overflow:visible; }
  .ta-footer-brand { grid-row:span 2; }
  .ta-footer-brand img { width:130px; margin:0 0 14px; }
  .ta-footer li { gap:7px; margin-bottom:8px; font-size:9px; }
  .ta-footer li svg { width:14px; height:14px; flex-basis:14px; }
  .ta-footer-grid > div:not(.ta-footer-brand) { padding-top:6px; }
  .ta-footer h2 { margin-bottom:11px; font-size:10px; }
  .ta-footer-grid a { margin-bottom:8px; font-size:9px; }
  .ta-copyright { margin-top:28px; font-size:9px; }
}

@media (max-width:640px) {
  .ta-header { height:74px; padding:0 20px; }
  .ta-brand img { width:108px; }
  .ta-menu-toggle span:last-child { display:none; }
  .ta-mobile-nav { top:68px; left:20px; right:20px; grid-template-columns:1fr; }
  .ta-hero { min-height:650px; }
  .ta-hero-photo { object-position:68% center; }
  .ta-hero-copy { left:20px; right:20px; top:auto; bottom:68px; width:auto; }
  .ta-hero h1 { font-size:clamp(39px,calc(11 * var(--vln-activity-type-vw)),54px); }
  .ta-hero-lead { font-size:14px; }
  .ta-process > div { min-height:68px; padding:7px; font-size:9px; }
  .ta-process svg { width:27px; height:27px; }
  .ta-walls { padding:38px 16px; }
  .ta-walls > h2 { font-size:26px; }
  .ta-wall-visual { height:340px; }
  .ta-wall-notes { grid-template-columns:1fr; }
  .ta-wall-flow { grid-template-columns:1fr; padding:18px; }
  .ta-systems { padding:40px 16px; }
  .ta-modular figure { height:320px; }
  .ta-modular figcaption { display:none; }
  .ta-modular figure > img { width:100%; }
  .ta-alternatives article { grid-template-columns:1fr; grid-template-rows:auto 210px; }
  .ta-rockfall { padding:40px 16px; }
  .ta-rockfall ul { grid-template-columns:1fr; }
  .ta-rockfall-drawing { height:100%; object-fit:contain; }
  .ta-cta { grid-template-columns:1fr; }
  .ta-cta > div { min-height:310px; padding:40px 24px; }
  .ta-cta > img { height:auto; aspect-ratio:4/3; }
  .ta-footer { padding-inline:22px; }
  .ta-footer-grid { grid-template-columns:repeat(2,1fr); }
  .ta-footer-brand { grid-column:1/-1; grid-row:auto; }
}

@media (max-width:420px) {
  .ta-footer-grid { grid-template-columns:1fr; }
  .ta-footer-brand { grid-column:auto; }
}
