/* 76 – Telegramm · Formblatt, aufgeklebte Fernschreiber-Streifen, Lochstreifen, STOP */
:root {
  --desk: #4f6471;
  --desk-2: #435763;
  --night: #2b3a44;
  --paper: #f1e4bf;
  --paper-2: #eadaae;
  --strip: #fcfaf2;
  --red: #b3302a;
  --red-d: #92241f;
  --ink: #1f2a33;
  --ink-2: #3d4a54;
  --blue-ink: #2f5670;
  --cream: #f4eedf;
  --mono: 'Courier Prime', 'Courier New', Courier, ui-monospace, monospace;
  --sans: 'Archivo', 'Helvetica Neue', Arial, system-ui, sans-serif;
  --wrap: 1180px;
  --pad: clamp(16px, 4vw, 48px);
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body {
  margin: 0; color: var(--ink); font: 400 17px/1.6 var(--sans); overflow-x: hidden;
  background:
    radial-gradient(circle at 30% 20%, rgba(255,255,255,.035) 0 1px, transparent 1.5px) 0 0 / 7px 9px,
    radial-gradient(circle at 60% 70%, rgba(0,0,0,.06) 0 1px, transparent 1.5px) 0 0 / 11px 6px,
    var(--desk);
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; }
h1, h2, h3, p { margin: 0; }
ul, ol, dl, dd { margin: 0; padding: 0; list-style: none; }
button { font: inherit; }
:focus-visible { outline: 3px solid var(--red); outline-offset: 3px; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip { position: absolute; left: 12px; top: -60px; z-index: 50; background: var(--strip); color: var(--ink); padding: 10px 16px; font: 700 16px var(--mono); text-decoration: none; }
.skip:focus { top: 12px; }
.wrap { max-width: calc(var(--wrap) + 2 * var(--pad)); margin-inline: auto; padding-inline: var(--pad); }

/* ---------- Streifen & STOP ---------- */
.strip { font-family: var(--mono); font-weight: 700; text-transform: uppercase; letter-spacing: .02em; color: var(--ink);
  background: linear-gradient(180deg, rgba(0,0,0,.035), transparent 30%, transparent 70%, rgba(0,0,0,.05)), var(--strip);
  padding: .1em .38em; -webkit-box-decoration-break: clone; box-decoration-break: clone;
  box-shadow: 0 1px 1px rgba(0,0,0,.18), 0 2px 6px rgba(40,30,10,.12); }
.strip--xl { font-size: clamp(28px, 3.7vw, 52px); }
.strip--l { font-size: clamp(22px, 2.5vw, 34px); }
.strip--s { font-size: 14px; letter-spacing: .08em; }
.stop { display: inline-block; font: 700 .72em/1 var(--mono); letter-spacing: .08em; color: var(--red); background: var(--strip); padding: .32em .4em .26em; vertical-align: .12em; box-shadow: 0 1px 1px rgba(0,0,0,.18); transform: rotate(-2deg); }
h1, h2 { line-height: 1.62; font-weight: 700; }
h3 { line-height: 1.6; }
.eyebrow { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 18px; padding-bottom: 10px; border-bottom: 1.5px solid var(--red); font: 700 13px/1 var(--sans); font-stretch: 112%; letter-spacing: .2em; text-transform: uppercase; color: var(--red); }
.eyebrow__no { padding: 5px 8px; border: 1.5px solid var(--red); letter-spacing: .12em; }
.eyebrow--desk { color: var(--cream); border-color: rgba(244,238,223,.5); }
.intro { margin-top: 18px; max-width: 62ch; font-size: 18px; color: var(--ink-2); }
.intro--desk { color: var(--cream); }

/* Formblatt */
.form { position: relative; background:
    repeating-linear-gradient(90deg, rgba(120,90,20,.025) 0 1px, transparent 1px 3px),
    radial-gradient(ellipse at 20% 0%, rgba(255,255,255,.4), transparent 60%),
    var(--paper);
  box-shadow: 0 1px 0 #cdbb8a, 0 2px 0 #e7d7aa, 0 26px 50px -12px rgba(15,25,35,.55); }

.btn { display: inline-flex; align-items: center; gap: 10px; padding: 15px 22px 14px; font: 700 16px/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; text-decoration: none; transition: transform .15s, box-shadow .15s; }
.btn--red { background: var(--red); color: #fff7ea; outline: 1.5px dashed rgba(255,247,234,.65); outline-offset: -6px; box-shadow: 0 3px 0 var(--red-d); }
.btn--red:hover { background: var(--red-d); }
.btn--red:focus-visible { outline: 3px solid var(--ink); outline-offset: 3px; }
.btn--line { color: var(--ink); box-shadow: inset 0 0 0 2px var(--ink); }
.btn--line:hover { background: var(--ink); color: var(--paper); }
.btn:hover { transform: translateY(-1px); }

/* ---------- Kopf ---------- */
.top { position: relative; z-index: 20; background: var(--night); color: var(--cream); box-shadow: 0 6px 20px rgba(0,0,0,.25); }
.top__in { display: flex; align-items: center; gap: 22px; min-height: 84px; }
.logo { display: block; flex: none; padding: 6px 8px; background: var(--paper); box-shadow: 0 2px 6px rgba(0,0,0,.3); transform: rotate(-2deg); }
.logo img { width: 66px; height: auto; aspect-ratio: 1510 / 1300; }
.top__office { display: flex; flex-direction: column; white-space: nowrap; gap: 2px; padding-left: 16px; border-left: 1px solid rgba(244,238,223,.3); font: 600 12px/1.1 var(--sans); font-stretch: 118%; letter-spacing: .22em; text-transform: uppercase; color: #c9d3d9; }
.top__office b { font: 700 18px/1 var(--mono); letter-spacing: .3em; color: var(--cream); }
.menu { display: none; }
.nav { display: flex; align-items: center; gap: 26px; flex: 1; justify-content: flex-end; }
.nav__strip { display: flex; gap: 10px; }
.nav__strip a { display: block; white-space: nowrap; padding: 9px 12px 8px; background: var(--strip); color: var(--ink); font: 700 15px/1 var(--mono); letter-spacing: .06em; text-transform: uppercase; text-decoration: none; box-shadow: 0 2px 4px rgba(0,0,0,.3); transform: rotate(var(--r, -1deg)); transition: transform .15s; }
.nav__strip li:nth-child(2) a { --r: .8deg; }
.nav__strip li:nth-child(3) a { --r: -.5deg; }
.nav__strip li:nth-child(4) a { --r: 1.2deg; }
.nav__strip a::after { content: ' STOP'; color: var(--red); font-size: .8em; }
.nav__strip a:hover { transform: rotate(0) translateY(-2px); }
.nav__strip a:focus-visible { outline-color: var(--strip); }
.nav__end { display: flex; align-items: center; gap: 14px; }
.tel { display: flex; flex-direction: column; gap: 3px; font: 700 17px/1 var(--mono); text-decoration: none; white-space: nowrap; }
.tel span { font: 600 11px/1 var(--sans); font-stretch: 118%; letter-spacing: .2em; text-transform: uppercase; color: #c9d3d9; }
.tel:hover { text-decoration: underline; text-underline-offset: 4px; }
.lang { display: inline-grid; place-items: center; width: 46px; height: 46px; border: 2px solid var(--cream); border-radius: 50%; font: 700 16px/1 var(--mono); text-decoration: none; transform: rotate(-8deg); }
.lang:hover { background: var(--cream); color: var(--night); }
.lang:focus-visible, .tel:focus-visible { outline-color: var(--cream); }

/* ---------- Hero: das Telegrammformular ---------- */
.hero { padding: clamp(22px, 3.4vh, 40px) 0 clamp(60px, 7vw, 100px); }
.form--hero { display: grid; grid-template-columns: 112px 1fr; transform: rotate(-.35deg); }
.form__margin { display: grid; grid-template-rows: 1fr 1fr 1fr; border-right: 1.5px solid var(--red); }
.form__margin span { display: flex; align-items: center; justify-content: center; writing-mode: vertical-rl; transform: rotate(180deg); font: 700 12px/1 var(--sans); font-stretch: 118%; letter-spacing: .26em; text-transform: uppercase; color: var(--red); }
.form__margin span + span { border-bottom: 1.5px solid var(--red); }
.form__margin span:first-child { border-top: 0; }
.form__margin span:nth-child(2) { border-top: 1.5px solid var(--red); }
.form__main { padding: 22px clamp(20px, 3vw, 40px) 30px; }
.form__head { display: grid; grid-template-columns: auto 1fr; gap: 28px; align-items: stretch; padding-bottom: 18px; border-bottom: 3px double var(--red); }
.form__title { align-self: center; font: 800 clamp(40px, 4.4vw, 64px)/.9 var(--sans); font-stretch: 125%; letter-spacing: .02em; text-transform: uppercase; color: var(--red); }
.fields { display: grid; grid-template-columns: 1.3fr 1fr; border: 1.5px solid var(--red); }
.fields > div { padding: 7px 12px 8px; min-width: 0; }
.fields > div:nth-child(odd) { border-right: 1.5px solid var(--red); }
.fields > div:nth-child(-n+2) { border-bottom: 1.5px solid var(--red); }
.fields dt { font: 700 10.5px/1 var(--sans); font-stretch: 115%; letter-spacing: .2em; text-transform: uppercase; color: var(--red); margin-bottom: 5px; }
.fields dd { font: 700 16px/1.25 var(--mono); text-transform: uppercase; color: var(--blue-ink); overflow-wrap: anywhere; }
.msg { position: relative; padding-top: 24px; min-height: 0;
  background: repeating-linear-gradient(180deg, transparent 0 39px, rgba(179,48,42,.18) 39px 40px) 0 22px / 100% calc(100% - 22px) no-repeat; }
.kicker { margin-bottom: 14px; }
.ticker { max-width: min(100%, 900px); margin-bottom: 20px; padding-right: clamp(0px, calc(13vw + 56px), 246px); }
.ticker .rest { color: transparent; background: none; box-shadow: none; }
.ticker .typed::after { content: ''; display: inline-block; width: .55em; height: .9em; margin-left: .05em; vertical-align: -.08em; background: var(--red); animation: caret .7s steps(2, jump-none) infinite; }
.ticker.done .typed::after { display: none; }
.ticker .stop.wait { visibility: hidden; }
@keyframes caret { 50% { opacity: 0; } }
.lead { max-width: 58ch; font-size: 18px; line-height: 1.6; color: var(--ink-2); background: rgba(241,228,191,.85); }
.ctas { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 16px; margin-top: 24px; }
.avail { margin-left: 8px; font: 700 14px/1.3 var(--mono); letter-spacing: .04em; text-transform: uppercase; color: var(--blue-ink); }
.stamp { position: absolute; color: var(--blue-ink); opacity: .82; mix-blend-mode: multiply; pointer-events: none; }
.stamp text { font-family: var(--mono); font-weight: 700; fill: currentColor; }
.stamp--hero { right: clamp(16px, 4vw, 60px); top: 200px; width: clamp(120px, 13vw, 180px); transform: rotate(-14deg); }

/* ---------- Lochstreifen ---------- */
.tape { position: relative; z-index: 2; height: 64px; width: 100%;
  background: url("tape.svg") repeat-x 0 50% / auto 64px, linear-gradient(180deg, #f7f0d8, #efe5c4);
  box-shadow: 0 3px 8px rgba(0,0,0,.25); transform: rotate(-.6deg); }
.tape--run { animation: feed 40s linear infinite; }
@keyframes feed { to { background-position: -480px 50%, 0 0; } }

/* ---------- Schwerpunkt ---------- */
.focus { padding-block: clamp(70px, 8vw, 120px) clamp(70px, 8vw, 120px); }
.form--focus { padding: clamp(24px, 4vw, 56px); transform: rotate(.3deg); }
.sheet-head h2 { max-width: 820px; padding-right: 150px; }
.counts { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 34px; border: 1.5px solid var(--red); }
.counts li { display: flex; align-items: baseline; gap: 14px; padding: 14px 18px; }
.counts li + li { border-left: 1.5px solid var(--red); }
.counts b { font: 700 clamp(30px, 3.4vw, 46px)/1 var(--mono); color: var(--blue-ink); white-space: nowrap; }
.counts span { font-size: 14.5px; line-height: 1.3; color: var(--ink-2); }
.lines { display: grid; grid-template-columns: 1fr 1fr; column-gap: clamp(28px, 4vw, 56px); margin-top: 30px; }
.lines li { display: grid; grid-template-columns: 52px 1fr; gap: 16px; padding: 20px 0; border-bottom: 1px solid rgba(179,48,42,.45); }
.lines__no { align-self: start; display: grid; place-items: center; height: 38px; margin-top: 4px; border: 1.5px solid var(--red); font: 700 17px/1 var(--mono); color: var(--red); }
.lines h3 { margin-bottom: 6px; }
.lines h3 .strip { font-size: 18px; }
.lines p { color: var(--ink-2); font-size: 16px; max-width: 46ch; }

.route { position: relative; margin: 48px 0 0; padding: 0 0 26px; background: var(--strip); box-shadow: 0 2px 4px rgba(0,0,0,.2), 0 20px 40px -14px rgba(15,25,35,.5); transform: rotate(-.5deg); }
.route__label { position: absolute; left: clamp(16px, 3vw, 40px); top: -18px; z-index: 1; }
.route__label span { display: inline-block; padding: 8px 12px 7px; background: var(--red); color: #fff7ea; font: 700 14px/1 var(--mono); letter-spacing: .14em; text-transform: uppercase; transform: rotate(-3deg); box-shadow: 0 2px 4px rgba(0,0,0,.25); }
.route__tape { padding: 74px clamp(16px, 3vw, 40px) 8px; background: url("tape.svg") repeat-x 0 6px / auto 64px; }
.route__codes { font: 700 clamp(26px, 4.1vw, 56px)/1.1 var(--mono); letter-spacing: .04em; color: var(--ink); white-space: nowrap; overflow: hidden; text-overflow: clip; }
.route__codes i { font-style: normal; color: var(--red); }
.route__text { padding: 8px clamp(16px, 3vw, 40px) 0; font-size: 16px; color: var(--ink-2); }
.route__note { padding: 6px clamp(16px, 3vw, 40px) 0; font: 400 italic 15px/1.4 var(--mono); color: var(--blue-ink); }

/* ---------- Leistungen: Stapel von Telegrammen ---------- */
.services { padding-block: clamp(70px, 8vw, 120px) clamp(80px, 9vw, 140px); }
.desk-head { color: var(--cream); max-width: 760px; }
.pile { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin-top: 48px; padding: 10px; }
.wire { --r: -1.6deg; position: relative; margin: -6px; padding: 22px 24px 28px; background: var(--paper);
  box-shadow: 0 1px 0 #cdbb8a, 3px 4px 0 -1px var(--paper-2), 3px 4px 0 0 rgba(0,0,0,.08), 6px 8px 0 -1px #e2d09f, 0 22px 40px -12px rgba(15,25,35,.6);
  transform: rotate(var(--r)); transition: transform .25s, box-shadow .25s; hyphens: auto; -webkit-hyphens: auto; }
.wire:nth-child(2) { --r: 1.2deg; margin-top: 10px; }
.wire:nth-child(3) { --r: -.6deg; margin-top: -2px; }
.wire:nth-child(4) { --r: 1.8deg; margin-top: 4px; }
.wire:nth-child(5) { --r: -1deg; margin-top: 16px; }
.wire:nth-child(6) { --r: .5deg; }
.wire:hover { z-index: 3; transform: rotate(0) translateY(-6px); box-shadow: 0 1px 0 #cdbb8a, 0 30px 50px -12px rgba(15,25,35,.7); }
.wire__top { display: flex; justify-content: space-between; align-items: baseline; padding-bottom: 8px; margin-bottom: 16px; border-bottom: 3px double var(--red); }
.wire__top span:first-child { font: 800 20px/1 var(--sans); font-stretch: 125%; letter-spacing: .04em; text-transform: uppercase; color: var(--red); }
.wire__top span:last-child { font: 700 14px/1 var(--mono); color: var(--blue-ink); }
.wire h3 { margin-bottom: 10px; hyphens: manual; }
.wire h3 .strip { font-size: 19px; }
.wire p { font-size: 16px; color: var(--ink-2); }

/* ---------- Ablauf ---------- */
.process { padding-bottom: clamp(80px, 9vw, 140px); background: var(--desk-2); }
.process .tape { margin-bottom: clamp(56px, 7vw, 96px); }
.desk-head--row { max-width: none; }
.steps { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; margin-top: 40px; counter-reset: s; }
.steps li { position: relative; padding: 22px 20px 24px; background: var(--strip); box-shadow: 0 2px 4px rgba(0,0,0,.25); }
.steps li:nth-child(odd) { transform: rotate(-.6deg); }
.steps li:nth-child(even) { transform: rotate(.7deg) translateY(10px); }
.steps__no { position: absolute; right: 16px; top: 10px; font: 700 54px/1 var(--mono); color: rgba(179,48,42,.85); }
.steps h3 { font: 700 20px/1.2 var(--mono); text-transform: uppercase; margin-bottom: 10px; }
.steps h3::after { content: ' STOP'; color: var(--red); font-size: .75em; }
.steps p { font-size: 15.5px; color: var(--ink-2); max-width: 30ch; }

/* ---------- Über uns ---------- */
.about { padding-block: clamp(80px, 9vw, 140px); }
.form--about { display: grid; grid-template-columns: 5fr 7fr; gap: clamp(30px, 5vw, 70px); align-items: center; padding: clamp(24px, 4vw, 56px); transform: rotate(-.3deg); }
.photo { position: relative; margin: 0; padding: 12px 12px 14px; background: #fff; box-shadow: 0 2px 4px rgba(0,0,0,.2), 0 18px 30px -10px rgba(0,0,0,.4); transform: rotate(2.2deg); }
.photo img { width: 100%; aspect-ratio: 1; object-fit: cover; filter: sepia(.18) saturate(.9) contrast(1.03); }
.photo figcaption { margin-top: 10px; font: 400 italic 14px/1.3 var(--mono); color: var(--ink-2); }
.clip { position: absolute; top: -22px; left: 34px; z-index: 2; width: 26px; height: 74px; border: 3px solid #8e989f; border-radius: 13px; }
.clip::after { content: ''; position: absolute; left: 4px; right: 4px; top: 10px; bottom: 16px; border: 3px solid #8e989f; border-top: 0; border-radius: 0 0 8px 8px; }
.about__txt h2 { margin-bottom: 20px; }
.about__txt > p { color: var(--ink-2); max-width: 56ch; }
.notes { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.notes li { padding: 8px 12px 7px; background: var(--strip); font: 700 14.5px/1.2 var(--mono); letter-spacing: .03em; text-transform: uppercase; box-shadow: 0 1px 2px rgba(0,0,0,.2); }
.notes li:nth-child(odd) { transform: rotate(-.6deg); }
.notes li:nth-child(even) { transform: rotate(.6deg); }
.notes li::before { content: '+ '; color: var(--red); }

/* ---------- Kontakt ---------- */
.contact { padding-block: 0 clamp(90px, 10vw, 150px); }
.form--contact { padding: clamp(24px, 4vw, 56px); transform: rotate(.25deg); }
.grid-fields { display: grid; grid-template-columns: 1.15fr 1fr 1fr; margin-top: 34px; border: 1.5px solid var(--red); }
.gf { padding: 14px 18px 18px; min-width: 0; border-right: 1.5px solid var(--red); border-bottom: 1.5px solid var(--red); }
.gf:nth-child(3), .gf:nth-child(5) { border-right: 0; }
.gf:nth-child(4), .gf:nth-child(5) { border-bottom: 0; }
.gf--wide { grid-row: span 2; border-bottom: 0; }
.gf--hours { grid-column: span 1; }
.gf dt { font: 700 11px/1 var(--sans); font-stretch: 115%; letter-spacing: .2em; text-transform: uppercase; color: var(--red); margin-bottom: 10px; }
.gf dd { font: 700 19px/1.4 var(--mono); color: var(--ink); overflow-wrap: anywhere; }
.gf dd a { text-decoration-color: var(--red); text-decoration-thickness: 2px; text-underline-offset: 4px; }
.gf dd a:hover { color: var(--red); }
.gf small { display: block; margin-top: 6px; font: 400 15px/1.3 var(--sans); color: var(--ink-2); }
.gf b { display: block; }
.gf--wide dd { font-size: 21px; }
.stamp--contact { right: clamp(20px, 6vw, 90px); top: clamp(70px, 7vw, 100px); width: clamp(110px, 12vw, 160px); transform: rotate(11deg); color: var(--red); opacity: .72; }

/* ---------- Fuß ---------- */
.foot { background: var(--night); color: var(--cream); }
.foot .tape { transform: rotate(.5deg); top: -20px; }
.foot__in { display: grid; grid-template-columns: auto 1fr auto; gap: 18px 36px; align-items: center; padding-block: 24px 36px; }
.logo--foot img { width: 84px; }
.foot__brand { font: 700 17px/1.3 var(--mono); text-transform: uppercase; letter-spacing: .04em; }
.foot__addr p:last-child { margin-top: 4px; font-size: 15px; color: #cdd6db; }
.foot__addr a { text-decoration: none; }
.foot__nav { display: flex; flex-wrap: wrap; gap: 8px; }
.foot__nav a { padding: 8px 10px 7px; background: var(--strip); color: var(--ink); font: 700 14px/1 var(--mono); letter-spacing: .05em; text-transform: uppercase; text-decoration: none; box-shadow: 0 2px 4px rgba(0,0,0,.3); }
.foot__nav a:hover { background: var(--red); color: #fff7ea; }
.foot__nav a:focus-visible, .foot a:focus-visible { outline-color: var(--cream); }
.foot__copy { grid-column: 1 / -1; padding-top: 20px; border-top: 1px solid rgba(244,238,223,.2); font: 400 14px/1.4 var(--mono); color: #cdd6db; }

/* ---------- Rechtsseiten ---------- */
.legal { padding-block: clamp(30px, 5vw, 56px) clamp(80px, 9vw, 130px); }
.back { display: inline-block; margin-bottom: 26px; padding: 8px 12px 7px; background: var(--strip); font: 700 15px/1 var(--mono); text-transform: uppercase; text-decoration: none; box-shadow: 0 2px 4px rgba(0,0,0,.3); transform: rotate(-1deg); }
.back:hover { color: var(--red); }
.form--legal { display: grid; grid-template-columns: 112px 1fr; transform: rotate(-.2deg); }
.form--legal .form__margin { grid-template-rows: auto auto 1fr; }
.form--legal .form__margin span { padding-block: 26px; min-height: 190px; }
.legal-head .stop { font-size: 20px; }
.legal-head { padding-bottom: 20px; margin-bottom: 30px; border-bottom: 3px double var(--red); }
.legal-head .eyebrow { border: 0; padding: 0; margin-bottom: 12px; }
.legal-head h1 { font-size: inherit; overflow-wrap: anywhere; }
.legal-head h1 .strip { font-size: clamp(24px, 3.4vw, 44px); }
.legal-body { max-width: 70ch; font-size: 16.5px; line-height: 1.65; color: var(--ink); }
.legal-body h2 { margin: 38px 0 10px; font: 700 19px/1.4 var(--mono); text-transform: uppercase; letter-spacing: .02em; }
.legal-body h2::after { content: ' STOP'; color: var(--red); font-size: .75em; }
.legal-body h2:first-child { margin-top: 0; }
.legal-body p, .legal-body ul { margin: 0 0 14px; }
.legal-body li { position: relative; padding-left: 24px; margin-bottom: 6px; }
.legal-body li::before { content: '+'; position: absolute; left: 4px; font: 700 16px/1.65 var(--mono); color: var(--red); }
.legal-body a { color: var(--blue-ink); text-decoration-color: var(--red); text-underline-offset: 3px; overflow-wrap: anywhere; }
.legal-body .legal-note { padding: 12px 16px; background: var(--strip); font: 700 15px/1.5 var(--mono); box-shadow: 0 1px 3px rgba(0,0,0,.2); }
.legal-body .legal-address { padding: 12px 16px; border: 1.5px solid var(--red); font-family: var(--mono); }

/* ---------- Responsiv ---------- */
@media (max-width: 1320px) {
  .top__office { display: none; }
}
@media (max-width: 1180px) {
  .tel span { display: none; }
  .pile { grid-template-columns: repeat(2, 1fr); }
  .wire:nth-child(n) { margin-top: -6px; }
}
@media (max-width: 1020px) {
  .menu { display: inline-flex; align-items: center; gap: 10px; margin-left: auto; padding: 10px 14px 9px; border: 0; cursor: pointer; background: var(--strip); color: var(--ink); font: 700 16px/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; box-shadow: 0 2px 4px rgba(0,0,0,.3); }
  .menu__ico { position: relative; width: 20px; height: 14px; background: linear-gradient(var(--ink) 0 0) center / 100% 2.5px no-repeat; }
  .menu__ico::before, .menu__ico::after { content: ''; position: absolute; left: 0; right: 0; height: 2.5px; background: var(--ink); transition: transform .2s; }
  .menu__ico::before { top: 0; } .menu__ico::after { bottom: 0; }
  .menu[aria-expanded="true"] .menu__ico { background: none; }
  .menu[aria-expanded="true"] .menu__ico::before { transform: translateY(5.75px) rotate(45deg); }
  .menu[aria-expanded="true"] .menu__ico::after { transform: translateY(-5.75px) rotate(-45deg); }
  .menu:focus-visible { outline-color: var(--cream); }
  .js .nav { display: none; }
  .nav { position: absolute; left: 0; right: 0; top: 100%; flex-direction: column; align-items: stretch; gap: 22px; padding: 24px var(--pad) 28px; background: var(--night); border-top: 1px solid rgba(244,238,223,.2); box-shadow: 0 20px 40px rgba(0,0,0,.4); }
  html:not(.js) .nav { position: static; display: flex; }
  .top.open .nav { display: flex; }
  .nav__strip { flex-direction: column; gap: 12px; align-items: flex-start; }
  .nav__strip a { font-size: 20px; padding: 12px 16px 11px; }
  .nav__end { justify-content: space-between; }
  .tel span { display: block; }
  .form--hero, .form--legal { grid-template-columns: 1fr; }
  .form__margin { display: none; }
  .form__head { grid-template-columns: 1fr; gap: 16px; }
  .lines { grid-template-columns: 1fr; }
  .steps { grid-template-columns: 1fr 1fr; row-gap: 30px; }
  .form--about { grid-template-columns: 1fr; }
  .photo { max-width: 460px; }
  .grid-fields { grid-template-columns: 1fr 1fr; }
  .gf { border-right: 1.5px solid var(--red) !important; border-bottom: 1.5px solid var(--red) !important; }
  .gf--wide { grid-row: auto; grid-column: 1 / -1; border-right: 0 !important; }
  .gf:nth-child(3), .gf:nth-child(5) { border-right: 0 !important; }
  .gf:nth-child(4), .gf:nth-child(5) { border-bottom: 0 !important; }
  .foot__in { grid-template-columns: auto 1fr; }
  .foot__nav { grid-column: 1 / -1; }
}
@media (max-width: 700px) {
  body { font-size: 16px; }
  .top__in { min-height: 72px; }
  .logo img { width: 54px; }
  .form__main { padding: 18px 16px 24px; }
  .fields { grid-template-columns: 1fr; }
  .fields > div:nth-child(odd) { border-right: 0; }
  .fields > div:not(:last-child) { border-bottom: 1.5px solid var(--red); }
  .fields > div:nth-child(2) { display: none; }
  .form__title { font-size: 34px; }
  .strip--xl { font-size: clamp(25px, 7.4vw, 34px); }
  .lead, .intro { font-size: 16.5px; }
  .avail { margin-left: 0; }
  .stamp--hero { width: 92px; right: 10px; top: 150px; }
  .ticker { padding-right: 0; }
  .sheet-head h2 { padding-right: 0; }
  .stamp--contact { width: 84px; right: 8px; top: auto; bottom: -30px; }
  .counts { grid-template-columns: 1fr; }
  .counts li + li { border-left: 0; border-top: 1.5px solid var(--red); }
  .lines li { grid-template-columns: 40px 1fr; gap: 12px; }
  .route__codes { font-size: clamp(22px, 7vw, 32px); white-space: normal; }
  .pile { grid-template-columns: 1fr; padding: 0; }
  .wire, .wire:nth-child(n) { margin: 0 0 16px; }
  .steps { grid-template-columns: 1fr; }
  .steps li:nth-child(even) { transform: rotate(.7deg); }
  .grid-fields { grid-template-columns: 1fr; }
  .gf, .gf:nth-child(n) { border-right: 0 !important; border-bottom: 1.5px solid var(--red) !important; }
  .gf:last-child { border-bottom: 0 !important; }
  .gf dd { font-size: 18px; }
  .foot__in { grid-template-columns: 1fr; }
  .tape { height: 48px; background-size: auto 48px, auto; }
}
@media (prefers-reduced-motion: reduce) {
  .tape--run { animation: none; }
  .ticker .typed::after { display: none; }
  .wire, .btn, .nav__strip a { transition: none; }
}
