: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; height:calc(46.9 * var(--vln-activity-vw)); overflow:hidden; isolation:isolate; color:#fff; background:var(--ta-deep); }
.ta-hero-photo { position:absolute; z-index:-3; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 52%; }
.ta-hero-shade { position:absolute; z-index:-2; inset:0; background:linear-gradient(90deg,rgba(1,29,47,.99),rgba(1,31,51,.94) 29%,rgba(1,32,51,.52) 50%,rgba(1,31,50,.04) 78%),linear-gradient(180deg,rgba(0,20,34,.2),transparent 42%,rgba(0,25,40,.12)); }
.ta-header { position:absolute; z-index:4; inset:0 0 auto; height:calc(9.8 * var(--vln-activity-vw)); display:grid; grid-template-columns:1fr calc(16.5 * var(--vln-activity-vw)) 1fr; align-items:start; padding:calc(1.5 * var(--vln-activity-vw)) calc(2.25 * var(--vln-activity-vw)) 0; color:#fff; font-size:calc(.77 * var(--vln-activity-type-vw)); font-weight:800; text-transform:uppercase; white-space:nowrap; }
.ta-nav { display:flex; align-items:center; gap:calc(1.1 * var(--vln-activity-vw)); padding-top:calc(1.5 * var(--vln-activity-vw)); }
.ta-nav-right { justify-content:flex-end; }
.ta-nav a { color:#fff; opacity:.95; transition:color .2s ease; }
.ta-nav a:hover { color:#ff424b; }
.ta-nav i { width:1px; height:calc(.9 * var(--vln-activity-vw)); background:rgba(255,255,255,.62); }
.ta-brand { display:flex; justify-content:center; }
.ta-brand img { width:calc(13.5 * var(--vln-activity-vw)); height:auto; }
.ta-top-request { margin-left:calc(.35 * var(--vln-activity-vw)); padding:calc(.72 * var(--vln-activity-vw)) calc(1.25 * var(--vln-activity-vw)); border:1px solid rgba(255,255,255,.76); border-radius:calc(.18 * var(--vln-activity-vw)); }
.ta-menu-toggle,.ta-mobile-nav { display:none; }
.ta-hero-copy { position:absolute; left:calc(2.8 * var(--vln-activity-vw)); top:calc(13.5 * var(--vln-activity-vw)); width:calc(46 * var(--vln-activity-vw)); }
.ta-hero-kicker { margin:0 0 calc(1.35 * var(--vln-activity-vw)); color:#fff; font-size:calc(1.04 * var(--vln-activity-type-vw)); font-weight:800; line-height:1; text-transform:uppercase; }
.ta-hero h1 { margin:0 0 calc(1.05 * var(--vln-activity-vw)); color:#fff; font-size:calc(4.4 * var(--vln-activity-type-vw)); font-weight:900; letter-spacing:-.025em; line-height:1.05; text-transform:uppercase; }
.ta-hero-lead { margin:0 0 calc(1.7 * var(--vln-activity-vw)); color:rgba(255,255,255,.95); font-size:calc(1.32 * var(--vln-activity-type-vw)); line-height:1.52; }
.ta-outline-button { display:inline-flex; align-items:center; justify-content:center; gap:calc(1.65 * var(--vln-activity-vw)); height:calc(4.65 * var(--vln-activity-vw)); padding:0 calc(1.7 * var(--vln-activity-vw)); color:#fff; border:calc(.16 * var(--vln-activity-vw)) solid var(--ta-red); background:rgba(1,31,49,.25); font-size:calc(1.03 * var(--vln-activity-type-vw)); font-weight:800; text-transform:uppercase; }
.ta-outline-button:hover { color:#fff; background:var(--ta-red); }
.ta-outline-button span { font-size:calc(2.3 * var(--vln-activity-type-vw)); font-weight:300; }

/* Process */
.ta-process { height:calc(6.6 * var(--vln-activity-vw)); min-height:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); background:linear-gradient(90deg,#fbfaf7,#f6f5f1 52%,#fbfaf7); border-bottom:1px solid #d4d1ca; }
.ta-process > div { position:relative; min-width:0; display:flex; align-items:center; justify-content:center; gap:calc(1.5 * var(--vln-activity-vw)); color:var(--ta-ink); font-size:calc(1 * var(--vln-activity-type-vw)); text-transform:uppercase; }
.ta-process svg { width:calc(3 * var(--vln-activity-vw)); height:calc(3 * var(--vln-activity-vw)); stroke-width:1.52; }
.ta-process > div:not(:last-child)::after { content:''; position:absolute; top:20%; right:0; width:1px; height:60%; background:#b9bcbb; }

/* Reinforced wall systems */
.ta-walls { min-height:auto; height:auto; padding:48px clamp(24px,4vw,64px); background:#f7f4ee; }
.ta-wall-showcase { width:min(100%,1600px); margin:0 auto 32px; overflow:hidden; border:0; border-radius:0; background:#f7f4ee; box-shadow:none; }
.ta-wall-showcase img { width:100%; height:auto; display:block; object-fit:contain; object-position:center; background:#f7f4ee; image-rendering:-webkit-optimize-contrast; }
.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:radial-gradient(circle at 55% 35%,#074166,#032b47 48%,#02243a); }
.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 figure > img { width:100%; height:100%; object-fit:contain; border-radius:calc(.55 * var(--vln-activity-vw)); }
.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:56% 44%; gap:0; align-items:stretch; overflow:hidden; border-radius:calc(.55 * var(--vln-activity-vw)); background:transparent; }
.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)) 0 0 calc(.55 * var(--vln-activity-vw)); display:block; }
.ta-rockfall-drawing { width:100%; height:100%; min-height:calc(32 * var(--vln-activity-vw)); object-fit:contain; object-position:center; background:transparent; border:none; border-radius:0 calc(.55 * var(--vln-activity-vw)) calc(.55 * var(--vln-activity-vw)) 0; padding:0; box-shadow:none; display:block; }

/* 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:340px; 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:270px; }
  .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; }
}
