/* ==========================================================================
   GTC Werkstatt – Reparatur Dresden Neustadt
   Gestaltung im Stil des Logos: Chip mit Anschlusspins und Keimling,
   Verlauf von Waldgrün zu Limette, runde Linienenden.
   Schriften lokal (GTC_Fonts), keine externen Requests.
   ========================================================================== */

:root{
	/* Hauptfarben */
	--green-900:#06331d;          /* Dunkelgrün (Footer) */
	--green-800:#005c31;          /* Verlauf Anfang */
	--green-700:#12733a;          /* Text-Grün auf hellem Grund (5,2:1 auf Papier) */
	--green-600:#1f9046;          /* Verlauf Ende */
	--green-btn:#178040;          /* Button-Ende, Weiß bleibt lesbar (5:1) */
	--lime:#85c326;               /* Akzent */
	--terminal:#92cc24;           /* Terminal-Grün */
	/* Ergänzend */
	--paper:#f5f0e8;              /* Papier-Beige */
	--paper-2:#ece4d6;
	--coral:#ff5a3c;              /* Hervorhebung */
	--coral-dark:#d63a1c;
	--poster-a:#ff8a3c;           /* nur Feedback-Plakat */
	--poster-b:#d81f2f;
	/* Text */
	--ink:#12291c;
	--text:#34433a;
	--muted:#5b675f;
	--white:#fff;
	--line:rgba(0,92,49,.16);
	--line-strong:rgba(0,92,49,.32);
	/* Verläufe */
	--grad-header:linear-gradient(100deg,var(--green-800) 0%,var(--green-600) 100%);
	--grad-logo:linear-gradient(90deg,#0b6a37 0%,#4f9f2c 55%,var(--terminal) 100%);
	--grad-btn:linear-gradient(100deg,var(--green-800) 0%,var(--green-btn) 100%);
	--grad-poster:linear-gradient(160deg,var(--poster-a) 0%,#ef5a35 28%,var(--poster-b) 72%);
	/* Schriften */
	--f-head:"Barlow Condensed","Arial Narrow","Roboto Condensed",ui-sans-serif,system-ui,sans-serif;
	--f-body:"Barlow",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
	--f-mono:"Share Tech Mono",ui-monospace,"SFMono-Regular",Consolas,"Liberation Mono",monospace;
	--f-hand:"Kalam","Segoe Print","Comic Sans MS",cursive;
	/* Maße */
	--radius:16px;
	--radius-s:10px;
	--shadow:0 14px 34px rgba(6,51,29,.09);
	--shadow-lift:0 20px 44px rgba(6,51,29,.15);
	--container:min(1220px,calc(100% - 64px));
	--pin-gap:18px;
	color-scheme:light;
}

/* ---------- Grundlagen ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:130px;-webkit-text-size-adjust:100%}
body{
	margin:0;background:var(--paper);color:var(--text);
	font-family:var(--f-body);font-size:17px;line-height:1.68;
	/* feines Lötpunkt-Raster wie auf einer Lochrasterplatine */
	background-image:radial-gradient(rgba(0,92,49,.07) 1.2px,transparent 1.3px);
	background-size:26px 26px;
}
img{display:block;max-width:100%;height:auto}
figure{margin:0}
p{margin:0 0 1em}
p:last-child{margin-bottom:0}
a{color:var(--green-800);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--green-900);text-decoration-color:var(--lime);text-decoration-thickness:2px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{
	outline:3px solid var(--coral);outline-offset:3px;
}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
h1,h2,h3,h4{
	font-family:var(--f-head);color:var(--ink);font-weight:700;
	line-height:1.05;letter-spacing:-.005em;margin:0 0 .5em;overflow-wrap:break-word;hyphens:auto;
}
h1{font-size:clamp(2.6rem,5.6vw,4.9rem);font-weight:800;text-transform:uppercase;letter-spacing:.005em}
h1[tabindex="-1"]:focus{outline:none}
h2{font-size:clamp(2rem,3.4vw,3.05rem)}
h3{font-size:1.45rem;line-height:1.15}
h4{font-size:1.15rem}
ul,ol{padding-left:1.2em}
.container{width:var(--container);margin-inline:auto}
.screen-reader-text{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.skip-link{position:fixed;top:10px;left:16px;z-index:500;background:#fff;border:2px solid var(--ink);padding:10px 18px;border-radius:8px;transform:translateY(-200%)}
.skip-link:focus{transform:none}

/* Hervorhebung in Überschriften */
.hl{
	background:linear-gradient(transparent 64%,rgba(146,204,36,.55) 64%,rgba(146,204,36,.55) 92%,transparent 92%);
	-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:0 .06em;
}

/* Mono-Label „// …" */
.gtc-label,.eyebrow{
	font-family:var(--f-mono);font-size:.86rem;letter-spacing:.04em;color:var(--green-700);
	text-transform:none;font-weight:400;
}
.eyebrow{display:inline-flex;align-items:center;gap:10px;margin-bottom:14px}
.eyebrow::before{
	content:"";width:30px;height:8px;flex:0 0 30px;
	background:var(--grad-logo);
	-webkit-mask:repeating-linear-gradient(90deg,#000 0 3px,transparent 3px 7px);
	mask:repeating-linear-gradient(90deg,#000 0 3px,transparent 3px 7px);
}
.eyebrow--light,.section-dark .eyebrow,.page-heading .eyebrow,.dashboard-band .eyebrow{color:var(--terminal)}

/* ---------- Buttons: sichtbarer Rahmen schon im Ruhezustand ---------- */
.btn{
	display:inline-flex;align-items:center;justify-content:center;gap:10px;
	min-height:50px;padding:11px 22px;border:2px solid transparent;border-radius:var(--radius-s);
	font-family:var(--f-head);font-size:1.12rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;
	line-height:1.2;text-decoration:none;text-align:center;white-space:normal;
	transition:background-color .18s,border-color .18s,color .18s,box-shadow .18s,transform .18s;
}
.btn:hover{transform:translateY(-1px);text-decoration:none}
.btn svg{flex:0 0 auto}
.btn-primary{background:var(--grad-btn);border-color:var(--green-900);color:#fff}
.btn-primary:hover{color:#fff;border-color:var(--green-900);box-shadow:0 0 0 4px rgba(146,204,36,.45),0 10px 22px rgba(0,92,49,.25)}
.btn-secondary{background:rgba(255,255,255,.6);border-color:var(--green-600);color:var(--green-800)}
.btn-secondary:hover{background:var(--green-800);border-color:var(--green-800);color:#fff;box-shadow:0 0 0 4px rgba(31,144,70,.2)}
.btn-ticket{background:var(--coral);border-color:#b8321a;color:var(--green-900)}
.btn-ticket:hover{background:#ff7256;border-color:#9d2a15;color:var(--green-900);box-shadow:0 0 0 4px rgba(255,90,60,.32),0 10px 22px rgba(214,58,28,.28)}
.btn:not(.btn-primary):not(.btn-secondary):not(.btn-ticket){border-color:var(--line-strong);color:var(--green-800);background:#fff}
.btn-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
/* Auf dunklem Grund */
.section-dark .btn-secondary,.page-heading .btn-secondary,.dashboard-band .btn-secondary,.footer .btn-secondary{
	background:transparent;border-color:rgba(255,255,255,.75);color:#fff;
}
.section-dark .btn-secondary:hover,.page-heading .btn-secondary:hover,.dashboard-band .btn-secondary:hover{background:#fff;color:var(--green-900);border-color:#fff}
.page-heading .btn-primary,.dashboard-band .btn-primary,.section-dark .btn-primary{border-color:var(--terminal)}

.card-link{
	display:inline-flex;align-items:center;gap:6px;margin-top:auto;padding:10px 0 4px;min-height:44px;
	font-family:var(--f-head);font-weight:700;font-size:1.08rem;letter-spacing:.03em;text-transform:uppercase;
	color:var(--green-800);text-decoration:none;box-shadow:inset 0 -2px var(--lime);
}
.card-link::after{content:"→";transition:transform .18s}
.card-link:hover{color:var(--green-900);box-shadow:inset 0 -3px var(--green-600)}
.card-link:hover::after{transform:translateX(4px)}
a.card-link[target="_blank"]::after{content:none}

/* ---------- Chip-Optik: Pins wie im Logo ---------- */
.chip-card{
	position:relative;background:#fff;border:2px solid var(--line);border-radius:var(--radius);
	box-shadow:var(--shadow);
}
.chip-card::before,.chip-card::after{
	content:"";position:absolute;left:28px;right:28px;height:9px;pointer-events:none;
	background:var(--grad-logo);opacity:.9;
	-webkit-mask:repeating-linear-gradient(90deg,#000 0 4px,transparent 4px var(--pin-gap));
	mask:repeating-linear-gradient(90deg,#000 0 4px,transparent 4px var(--pin-gap));
}
.chip-card::before{top:-11px;border-radius:3px 3px 0 0}
.chip-card::after{bottom:-11px}

.chip-frame{
	position:relative;padding:9px;border-radius:24px;
	border:3px solid transparent;
	background:linear-gradient(#fff,#fff) padding-box,var(--grad-logo) border-box;
	box-shadow:var(--shadow);
}
.chip-frame img{width:100%;height:100%;object-fit:cover;border-radius:15px}
.chip-frame::before,.chip-frame::after{content:"";position:absolute;pointer-events:none;background:var(--grad-logo)}
/* oben und unten */
.chip-frame::before{
	inset:-17px 34px;
	-webkit-mask-image:repeating-linear-gradient(90deg,#000 0 5px,transparent 5px 22px),linear-gradient(#000 0 11px,transparent 11px calc(100% - 11px),#000 calc(100% - 11px));
	-webkit-mask-composite:source-in;
	mask-image:repeating-linear-gradient(90deg,#000 0 5px,transparent 5px 22px),linear-gradient(#000 0 11px,transparent 11px calc(100% - 11px),#000 calc(100% - 11px));
	mask-composite:intersect;
}
/* links und rechts */
.chip-frame::after{
	inset:34px -17px;
	-webkit-mask-image:repeating-linear-gradient(180deg,#000 0 5px,transparent 5px 22px),linear-gradient(90deg,#000 0 11px,transparent 11px calc(100% - 11px),#000 calc(100% - 11px));
	-webkit-mask-composite:source-in;
	mask-image:repeating-linear-gradient(180deg,#000 0 5px,transparent 5px 22px),linear-gradient(90deg,#000 0 11px,transparent 11px calc(100% - 11px),#000 calc(100% - 11px));
	mask-composite:intersect;
}
.chip-frame figcaption{
	position:absolute;left:22px;right:22px;bottom:22px;
	background:rgba(6,51,29,.86);color:#e8f4dc;border-radius:10px;padding:9px 14px;
	font-family:var(--f-mono);font-size:.82rem;line-height:1.45;
}

.icon-badge{
	display:inline-grid;place-items:center;width:58px;height:58px;flex:0 0 58px;border-radius:15px;
	border:2px solid transparent;color:var(--green-600);
	background:linear-gradient(#fff,#fff) padding-box,var(--grad-logo) border-box;
}
.icon-badge--small{width:44px;height:44px;flex-basis:44px;border-radius:12px}
.gtc-icon{display:block}

/* ---------- Statusleiste ---------- */
.topbar{background:var(--green-900);color:#d8e9cf;font-size:.9rem}
.topbar-inner{display:flex;align-items:center;gap:8px 26px;flex-wrap:wrap;min-height:42px;padding:6px 0}
.topbar-link{display:inline-flex;align-items:center;gap:7px;color:#e7f3df;text-decoration:none;font-family:var(--f-mono);font-size:.86rem}
.topbar-link svg{color:var(--terminal)}
.topbar-link:hover{color:#fff;text-decoration:underline;text-decoration-color:var(--terminal)}
.topbar-mail{margin-left:auto}
.status-pill{display:inline-flex;align-items:center;gap:9px;font-family:var(--f-mono);font-size:.86rem;color:#fff}
.status-dot{width:10px;height:10px;border-radius:50%;background:#9aa69d;flex:0 0 10px}
.status-pill.is-open .status-dot{background:var(--terminal);box-shadow:0 0 0 0 rgba(146,204,36,.7);animation:gtc-puls 2s infinite}
.status-pill.is-pause .status-dot{background:#f2b33d}
.status-pill.is-closed .status-dot{background:var(--coral)}
@keyframes gtc-puls{0%{box-shadow:0 0 0 0 rgba(146,204,36,.65)}70%{box-shadow:0 0 0 9px rgba(146,204,36,0)}100%{box-shadow:0 0 0 0 rgba(146,204,36,0)}}

/* ---------- Kopfbereich ---------- */
.site-header{position:sticky;top:0;z-index:100;background:var(--grad-header);color:#fff;box-shadow:0 6px 20px rgba(6,51,29,.22)}
.admin-bar .site-header{top:32px}
.site-header .nav{width:min(1400px,calc(100% - 48px));min-height:84px;display:flex;align-items:center;gap:22px}
.brand{display:flex;align-items:center;gap:13px;color:#fff;text-decoration:none;flex-shrink:0}
.nav-actions{flex-shrink:0}
.brand:hover{color:#fff}
.brand-chip{
	display:grid;place-items:center;width:58px;height:58px;flex:0 0 58px;border-radius:14px;background:#fff;
	box-shadow:0 0 0 2px rgba(146,204,36,.65),0 6px 14px rgba(0,0,0,.18);padding:5px;
}
.brand-logo{width:100%;height:100%;object-fit:contain}
.brand-text strong{display:block;font-family:var(--f-head);font-size:1.28rem;font-weight:800;line-height:1;letter-spacing:.01em;text-transform:uppercase}
.brand-text span{display:block;font-family:var(--f-mono);font-size:.8rem;color:#d9f0c3;margin-top:5px}
.nav-links{margin-left:auto}
.nav-list{display:flex;align-items:center;gap:2px;list-style:none;margin:0;padding:0}
.nav-list li{margin:0;position:relative;display:flex;align-items:center}
.nav-link,.nav-list a{
	display:block;padding:10px 10px;border-radius:9px;color:#fff;text-decoration:none;
	font-family:var(--f-head);font-size:1.16rem;font-weight:700;letter-spacing:.02em;white-space:nowrap;
}
.nav-link:hover,.nav-list a:hover{background:rgba(255,255,255,.14);color:#fff}
.nav-link.active,.nav-list .current-menu-item > a,.nav-list .current_page_item > a{box-shadow:inset 0 -3px var(--terminal)}
.nav-actions{display:flex;align-items:center;gap:10px}
.btn-ticket--nav{min-height:46px;padding:9px 16px;font-size:1.1rem;white-space:nowrap}
.menu-btn{
	display:none;align-items:center;gap:9px;min-height:46px;padding:9px 14px;border-radius:10px;
	background:transparent;border:2px solid rgba(255,255,255,.75);color:#fff;font-family:var(--f-head);font-weight:700;font-size:1.1rem;letter-spacing:.03em;text-transform:uppercase;
}
.menu-btn-bars,.menu-btn-bars::before,.menu-btn-bars::after{display:block;width:20px;height:2px;background:#fff;border-radius:2px;position:relative;content:""}
.menu-btn-bars::before{position:absolute;top:-6px}
.menu-btn-bars::after{position:absolute;top:6px}
.header-traces{
	height:7px;background:var(--grad-logo);
	-webkit-mask:repeating-linear-gradient(90deg,#000 0 5px,transparent 5px 20px);
	mask:repeating-linear-gradient(90deg,#000 0 5px,transparent 5px 20px);
	opacity:.85;
}
/* Untermenüs */
.nav-list .sub-menu{
	list-style:none;margin:0;padding:8px;display:none;position:absolute;top:100%;left:0;z-index:120;min-width:240px;
	background:var(--green-900);border:2px solid var(--green-600);border-radius:12px;box-shadow:var(--shadow-lift);
}
.nav-list > li:hover > .sub-menu,.nav-list > li:focus-within > .sub-menu,.nav-list > li.ist-offen > .sub-menu{display:block}
.nav-list .sub-menu a{white-space:normal;font-size:1.08rem}
.nav-sub-toggle{display:grid;place-items:center;width:30px;min-height:30px;border:0;border-radius:6px;background:transparent;color:#fff;font-size:.7rem}
.nav-sub-toggle span{display:block;transition:transform .15s}
.nav-sub-toggle[aria-expanded="true"] span{transform:rotate(180deg)}

/* ---------- Abschnitte allgemein ---------- */
.section-pad{padding:96px 0}
.section-white{background:#fff}
.section-dark{background:var(--green-900);color:#d6e6cc}
.section-dark h2,.section-dark h3{color:#fff}
.section-dark a:not(.btn){color:var(--terminal)}
.section-head{max-width:820px;margin:0 auto 46px;text-align:center}
.section-head .eyebrow{justify-content:center}
.section-head--left{margin-left:0;text-align:left}
.section-head--left .eyebrow{justify-content:flex-start}
.section-intro{font-size:1.08rem}
.section-foot{margin:46px 0 0;text-align:center}
.section-foot--left{text-align:left;margin-top:34px}
.prose > *:last-child{margin-bottom:0}

/* ---------- Startseiten-Kopf ---------- */
.hero-werkstatt{position:relative;overflow:hidden;padding:76px 0 150px}
.hero-traces{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.hero-traces path{fill:none;stroke:rgba(31,144,70,.28);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.hero-traces circle{fill:var(--paper);stroke:var(--lime);stroke-width:2.5;vector-effect:non-scaling-stroke}
.hero-grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}
.hero-copy h1{margin-bottom:14px;line-height:.92}
.hero-subline{font-family:var(--f-head);font-size:clamp(1.3rem,1.9vw,1.65rem);font-weight:600;color:var(--green-800);line-height:1.2;margin-bottom:20px}
.hero-text{font-size:1.12rem;max-width:560px}
.hero-actions{margin-top:30px}
.hero-visual{position:relative;padding:0 0 120px 0}
.hero-visual .chip-frame{aspect-ratio:16/10.5;transform:rotate(1.2deg);margin-left:56px}
.terminal{
	background:var(--green-900);color:#d8ecc8;border-radius:14px;padding:0 20px 18px;
	font-family:var(--f-mono);font-size:.92rem;line-height:1.55;box-shadow:var(--shadow-lift);
	border:2px solid rgba(146,204,36,.45);
}
.hero-visual .terminal{position:absolute;left:0;bottom:0;width:min(390px,80%);z-index:2;transform:rotate(-1.2deg)}
.terminal-bar{display:flex;align-items:center;gap:7px;margin:0 -20px 12px;padding:10px 14px;border-bottom:1px solid rgba(146,204,36,.28)}
.terminal-bar i{width:11px;height:11px;border-radius:50%;background:var(--coral)}
.terminal-bar i:nth-child(2){background:#f2b33d}
.terminal-bar i:nth-child(3){background:var(--terminal)}
.terminal-bar span{margin-left:8px;color:#9fb79a;font-size:.8rem}
.terminal-line{margin:0 0 4px;display:flex;flex-wrap:wrap;gap:0 10px}
.terminal-cmd{color:var(--terminal);margin-bottom:8px}
.terminal-key{color:#9fb79a;min-width:150px}
.terminal-val{color:#fff}
.terminal-note{flex-basis:100%;color:#c6db9f;padding-left:160px;font-size:.84rem}
.terminal-ok{color:var(--terminal)}
.terminal-adresse{margin-top:8px;color:#cfe3c0}
.terminal-cursor{animation:gtc-blink 1.1s steps(1) infinite;color:var(--terminal)}
@keyframes gtc-blink{50%{opacity:0}}

/* ---------- Karten mit Symbol ---------- */
.overlap-wrap{position:relative;z-index:3;margin-top:-92px;padding-bottom:40px}
.icon-grid{display:grid;gap:30px}
.icon-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.icon-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.icon-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.icon-card{display:flex;flex-direction:column;align-items:flex-start;padding:32px 28px 26px;transition:transform .2s,box-shadow .2s,border-color .2s}
.icon-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lift);border-color:var(--line-strong)}
.icon-card .card-num{position:absolute;top:22px;right:24px;color:#8d9a90}
.icon-card h3{margin:20px 0 10px;font-size:1.5rem}
.icon-card-text{font-size:.98rem}
.icon-card-text + .card-link{margin-top:auto}
.icon-card .card-link{margin-top:14px}
.section-dark .icon-card{background:#0b3f25;border-color:rgba(146,204,36,.3)}

/* ---------- Geräte-Raster ---------- */
.device-layout{display:grid;gap:60px;align-items:center}
.device-layout.has-image{grid-template-columns:1.25fr .75fr}
.device-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.device-layout:not(.has-image) .device-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.device-chip{
	display:flex;align-items:center;gap:14px;padding:14px 16px;background:#fff;
	border:2px solid var(--line);border-radius:12px;font-weight:600;color:var(--ink);line-height:1.35;
	transition:border-color .18s,transform .18s;
}
.device-chip:hover{border-color:var(--green-600);transform:translateX(3px)}
.device-icon{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:10px;background:var(--green-900);color:var(--terminal)}
.device-photo{aspect-ratio:3/4;max-width:420px;justify-self:center;width:100%;transform:rotate(-1deg)}

/* ---------- Text und Bild ---------- */
.about{display:grid;grid-template-columns:1fr 1fr;gap:74px;align-items:center}
.about.reverse .about-media{order:2}
.about.no-image{grid-template-columns:1fr;max-width:860px}
.about-media{aspect-ratio:4/3}
.about-text{font-size:1.04rem}
.check-list{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:10px}
.check-list li{position:relative;padding-left:34px;font-weight:500;color:var(--ink)}
.check-list li::before{
	content:"";position:absolute;left:0;top:.28em;width:22px;height:22px;border-radius:7px;
	background:var(--green-900) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2392cc24' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5 10 17.5 19.5 7'/%3E%3C/svg%3E") center/15px no-repeat;
}
.check-list--light li,.section-dark .check-list li{color:#fff}
.signature{
	font-family:var(--f-hand);font-size:1.75rem;color:var(--green-800);line-height:1.2;
	margin:26px 0 0;transform:rotate(-2deg);transform-origin:left center;
}
.signature::before{content:"– ";color:var(--lime)}
.about-button{margin-top:26px}

/* ---------- Zwei Listen ---------- */
.two-lists{display:grid;grid-template-columns:1fr 1fr;gap:34px}
.list-panel{padding:32px}
.list-panel-head{display:flex;align-items:center;gap:16px;margin-bottom:10px}
.list-panel-head h3{margin:0}

/* ---------- Schritte ---------- */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:30px;counter-reset:schritt}
.step{position:relative;padding:30px 28px;border-radius:var(--radius);background:#fff;border:2px solid var(--line)}
.step-number{font-family:var(--f-mono);font-size:2.4rem;line-height:1;color:var(--green-600);margin-bottom:16px}
.step h3{font-size:1.5rem}
.section-dark .step{background:#0b3f25;border-color:rgba(146,204,36,.3)}
.section-dark .step-number{color:var(--terminal)}
.section-dark .step p{color:#d6e6cc}
.step:not(:last-child)::after{
	content:"";position:absolute;top:50px;right:-31px;width:32px;height:2px;
	background:repeating-linear-gradient(90deg,var(--lime) 0 6px,transparent 6px 10px);
}

/* ---------- Inhaltsblock ---------- */
.content-box{display:grid;grid-template-columns:1.25fr .75fr;gap:60px;align-items:start}
.content-box.text-only{grid-template-columns:1.25fr .75fr}
.content-pad h2{max-width:880px}
.content-pad .prose{font-size:1.04rem}
.content-columns{display:grid;gap:22px;margin-top:30px}
.content-item{padding:24px 26px;border-left:4px solid var(--lime);background:rgba(255,255,255,.75);border-radius:0 12px 12px 0}
.content-item h3{font-size:1.35rem}
.content-aside{display:grid;gap:30px;position:sticky;top:150px}
.notice-box{
	position:relative;padding:28px 26px 26px;border-radius:var(--radius);
	background:var(--green-900);color:#e3f0d8;box-shadow:var(--shadow-lift);
	border:2px solid rgba(255,90,60,.6);
}
.notice-box h3{color:#fff;font-size:1.45rem;margin:12px 0 14px}
.notice-icon{color:var(--coral)}
.notice-list{margin:0 0 16px;padding:0;list-style:none;counter-reset:n;display:grid;gap:8px}
.notice-list li{counter-increment:n;display:flex;gap:12px;align-items:baseline;font-weight:600;color:#fff}
.notice-list li::before{content:counter(n,decimal-leading-zero);font-family:var(--f-mono);color:var(--terminal);font-weight:400}
.content-button{margin-top:28px}

/* ---------- Infokarten ---------- */
.info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;align-items:stretch}
.info-card{display:flex;flex-direction:column;padding:30px 28px 28px}
.info-card-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}
.info-card h3{font-size:1.5rem}
.info-card .prose{font-size:.98rem}
.info-card-foot{margin:auto 0 0;padding-top:20px}
.info-card--hours{background:var(--green-900);border-color:var(--green-900);color:#d6e6cc}
.info-card--hours h3{color:#fff}
.info-card--hours .gtc-label{color:var(--terminal)}
.hours-list{margin:6px 0 0;display:grid;gap:0}
.hours-list > div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 14px;padding:11px 0;border-bottom:1px dashed rgba(146,204,36,.35)}
.hours-list dt{font-weight:600}
.hours-list dd{margin:0;text-align:right}
.hours-list dd strong{display:block;font-family:var(--f-mono);font-weight:400;color:#fff;font-size:1rem}
.hours-list dd span{display:block;font-size:.86rem;color:#c6db9f}
.hours-note{margin-top:14px;font-size:.92rem}
.hours-list--box{background:var(--green-900);color:#d6e6cc;padding:8px 20px;border-radius:12px;margin-top:22px}
.hours-list--box > div:last-child{border-bottom:0}

/* ---------- Band Ticket-System ---------- */
.dashboard-band{position:relative;background:var(--grad-header);color:#e6f3dc;padding:92px 0;overflow:hidden}
.dashboard-band::before,.dashboard-band::after{
	content:"";position:absolute;left:0;right:0;height:10px;background:var(--grad-logo);opacity:.8;
	-webkit-mask:repeating-linear-gradient(90deg,#000 0 5px,transparent 5px 22px);
	mask:repeating-linear-gradient(90deg,#000 0 5px,transparent 5px 22px);
}
.dashboard-band::before{top:0}
.dashboard-band::after{bottom:0}
.dashboard-band h2{color:#fff}
.dashboard-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:center}
.dashboard-copy .prose{font-size:1.08rem;color:#eef7e7}
.terminal--big{padding-bottom:26px;font-size:1.02rem;transform:rotate(1deg)}
.terminal--big .terminal-line{margin-bottom:9px}

/* ---------- Hinweisband (Reparaturbonus) ---------- */
.bonus-band{display:grid;grid-template-columns:auto 1fr auto;gap:40px;align-items:center;padding:40px 44px}
.bonus-badge{
	display:grid;place-items:center;text-align:center;width:170px;height:170px;border-radius:50%;
	border:3px dashed var(--lime);background:var(--paper);color:var(--green-800);padding:18px;transform:rotate(-6deg);
}
.bonus-badge strong{font-family:var(--f-head);font-size:1.12rem;line-height:1.05;text-transform:uppercase;color:var(--green-900);overflow-wrap:anywhere;hyphens:auto}
.bonus-badge span{font-family:var(--f-mono);font-size:.78rem;color:var(--green-700)}
.bonus-copy h2{font-size:clamp(1.8rem,2.6vw,2.4rem)}

/* ---------- Feedback-Plakat ---------- */
.feedback-section{padding-top:110px}
.poster{
	position:relative;max-width:880px;margin:0 auto;padding:62px 56px 54px;border-radius:6px;
	background:var(--grad-poster);color:#fff;transform:rotate(-1.4deg);
	box-shadow:0 26px 50px rgba(150,30,20,.28),inset 0 0 0 2px rgba(255,255,255,.22);
}
.poster::after{ /* gedruckte Rasterpunkte */
	content:"";position:absolute;inset:0;border-radius:6px;pointer-events:none;opacity:.18;
	background-image:radial-gradient(#fff 1px,transparent 1.4px);background-size:12px 12px;
}
.poster-tape{
	position:absolute;top:-18px;left:50%;width:150px;height:38px;transform:translateX(-50%) rotate(3deg);
	background:rgba(245,240,232,.86);box-shadow:0 2px 6px rgba(0,0,0,.12);
}
.poster h2{color:#fff;font-size:clamp(2.8rem,6vw,5rem);text-transform:uppercase;font-weight:800;line-height:.92;margin-bottom:22px;text-shadow:0 2px 0 rgba(120,10,10,.25)}
.eyebrow--poster{color:#fff3ea}
.eyebrow--poster::before{background:#fff}
.poster-text{
	position:relative;z-index:1;max-width:600px;background:var(--paper);color:var(--ink);
	padding:18px 22px;border-radius:4px;font-size:1.08rem;transform:rotate(.8deg);
}
.poster-actions{position:relative;z-index:1}
.poster .btn-primary{background:#fff;color:var(--green-900);border-color:var(--green-900)}
.poster .btn-primary:hover{background:var(--paper);color:var(--green-900);box-shadow:0 0 0 4px rgba(255,255,255,.45)}
.poster .btn-secondary{background:transparent;border-color:#fff;color:#fff}
.poster .btn-secondary:hover{background:#fff;color:#a8141f;border-color:#fff}
.poster-note{
	position:relative;z-index:1;font-family:var(--f-hand);font-size:1.7rem;line-height:1.2;color:#fff;
	margin:28px 0 0 auto;max-width:340px;text-align:right;transform:rotate(-3deg);
}

/* ---------- Presse ---------- */
.press-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px}
.press-card{display:flex;flex-direction:column;overflow:visible;transition:transform .2s,box-shadow .2s}
.press-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lift)}
.press-media{position:relative;aspect-ratio:16/10;border-radius:14px 14px 0 0;overflow:hidden;background:var(--green-900)}
.press-media img{width:100%;height:100%;object-fit:cover}
.press-monogram{
	position:absolute;inset:0;display:grid;place-items:center;font-family:var(--f-head);font-weight:800;
	font-size:4.5rem;color:var(--terminal);letter-spacing:.04em;
	background:radial-gradient(rgba(146,204,36,.18) 1.2px,transparent 1.4px) 0 0/16px 16px,var(--grad-header);
}
.press-kind{
	position:absolute;left:12px;top:12px;display:inline-flex;align-items:center;gap:6px;
	background:rgba(6,51,29,.88);color:#fff;border-radius:8px;padding:4px 10px;font-family:var(--f-mono);font-size:.8rem;
}
.press-kind svg{color:var(--terminal)}
.press-body{display:flex;flex-direction:column;flex:1;padding:22px 24px 22px}
.press-body h3{font-size:1.35rem;margin:8px 0 14px}

/* ---------- Formularbereich ---------- */
.form-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;align-items:start}
.form-intro{position:sticky;top:150px}
.form-aside{padding:26px 26px 24px;margin-top:6px}
.form-aside h3{font-size:1.35rem}
.form-direct{display:flex;flex-wrap:wrap;gap:8px 22px;align-items:center;margin-top:34px}
.form-direct .gtc-label{flex-basis:100%}
.form-direct a{display:inline-flex;align-items:center;gap:8px;font-weight:600}
.form-card{padding:38px 36px 34px}

/* ---------- Kontakt ---------- */
.contact-box{display:grid;grid-template-columns:1.15fr .85fr;gap:0;padding:0;overflow:visible}
.contact-body{padding:46px 46px 42px}
.contact-facts{display:grid;gap:14px;margin-top:6px}
.contact-fact{display:flex;align-items:center;gap:14px}
.contact-fact .gtc-label{display:block;font-size:.8rem}
.contact-fact strong,.contact-fact a{display:block;font-size:1.1rem;color:var(--ink);font-weight:600;text-decoration:none}
.contact-fact a:hover{color:var(--green-800);text-decoration:underline}
.contact-photo{position:relative;margin:0;min-height:320px}
.contact-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:0 14px 14px 0}

/* ---------- Seitenkopf Unterseiten ---------- */
.page-heading{position:relative;background:var(--grad-header);color:#eaf5e1;padding:70px 0 88px;overflow:hidden}
.page-heading::after{
	content:"";position:absolute;left:0;right:0;bottom:0;height:10px;background:var(--paper);
	-webkit-mask:repeating-linear-gradient(90deg,#000 0 5px,transparent 5px 20px);
	mask:repeating-linear-gradient(90deg,#000 0 5px,transparent 5px 20px);
}
.page-heading h1{color:#fff;font-size:clamp(2.5rem,5vw,4.3rem);max-width:900px;margin-bottom:18px}
.page-heading .hl{background:none;color:var(--terminal);padding:0}
.page-heading-grid{display:grid;grid-template-columns:1fr;gap:56px;align-items:center}
.page-heading.has-image .page-heading-grid{grid-template-columns:1.25fr .75fr}
.page-heading-text{font-size:1.15rem;max-width:760px;color:#eef7e7}
.page-heading .chip-frame{aspect-ratio:4/3;transform:rotate(1.5deg)}
.page-heading--slim{padding:48px 0 60px}
.page-heading--slim h1{font-size:clamp(2.2rem,4vw,3.4rem);margin:0}
.legal-stand{font-family:var(--f-mono);font-size:.95rem}

/* ---------- Rechtstexte ---------- */
.legal-layout{display:grid;grid-template-columns:290px minmax(0,1fr);gap:56px;align-items:start}
.legal-aside{position:sticky;top:150px;display:grid;gap:20px}
.legal-toc,.legal-card{padding:24px 22px}
.legal-toc ol{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:2px;max-height:calc(100vh - 300px);overflow:auto}
.legal-toc a{display:block;padding:6px 8px;border-radius:7px;font-size:.92rem;line-height:1.35;text-decoration:none;color:var(--text)}
.legal-toc a:hover{background:var(--paper);color:var(--green-800)}
.legal-toc .toc-level-3 a{padding-left:20px;font-size:.86rem}
.legal-card p{margin:10px 0 0;font-size:.95rem}
.legal-print{justify-self:start}
.legal-content{
	background:#fff;border:2px solid var(--line);border-radius:var(--radius);padding:48px 54px;box-shadow:var(--shadow);
	max-width:900px;font-size:1rem;overflow-wrap:anywhere;
}
.legal-content h2{
	font-size:clamp(1.6rem,2.4vw,2.1rem);margin:1.6em 0 .55em;padding-top:.6em;border-top:2px dashed var(--line);
}
.legal-content h2:first-child,.legal-content > .gtc-ed-hinweis + h2{margin-top:0;padding-top:0;border-top:0}
.legal-content h3{font-size:1.32rem;margin:1.4em 0 .5em;color:var(--green-800)}
.legal-content h4{font-size:1.1rem;margin:1.2em 0 .4em}
.legal-content ul,.legal-content ol{margin:0 0 1em}
.legal-content li{margin-bottom:.3em}
.legal-content table{width:100%;border-collapse:collapse;margin:1em 0 1.4em;font-size:.94rem}
.legal-content th,.legal-content td{border:1px solid var(--line);padding:9px 12px;text-align:left;vertical-align:top}
.legal-content th{background:var(--paper)}
.legal-content [id]{scroll-margin-top:140px}
.gtc-platzhalter{background:#ffe1d9;color:#7a1a08;border-radius:4px;padding:0 3px;outline:1px dashed var(--coral)}
.gtc-ed-hinweis{background:#fff4d6;border:1px solid #e3b84a;border-radius:10px;padding:12px 16px;font-size:.92rem;color:#5a4300}

/* ---------- Seiten ohne Abschnitte (Ticket-System, Shop) ---------- */
.gtc-entry{padding:56px 0 90px}
.gtc-entry-content{max-width:100%}
.gtc-entry-content > *{margin-bottom:1.1em}
.gtc-entry-content img{border-radius:12px}
.gtc-shop .woocommerce ul.products li.product,.gtc-shop ul.products li.product{
	background:#fff;border:2px solid var(--line);border-radius:14px;padding:14px;
}
.gtc-shop ul.products li.product .woocommerce-loop-product__title{font-family:var(--f-head);font-size:1.25rem;color:var(--ink)}
.gtc-shop ul.products li.product .price,.gtc-shop div.product p.price{color:var(--green-800);font-weight:700}

/* ---------- Karte (lädt erst auf Klick) ---------- */
.gtc-karte{position:relative;border:2px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff;aspect-ratio:16/9}
.gtc-karte__platz{
	position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:32px;text-align:center;
	background-image:linear-gradient(var(--paper-2) 1px,transparent 1px),linear-gradient(90deg,var(--paper-2) 1px,transparent 1px);background-size:44px 44px;
}
.gtc-karte__nadel{color:var(--coral)}
.gtc-karte__adresse{margin:0;font-family:var(--f-head);font-size:1.4rem;font-weight:700;color:var(--ink)}
.gtc-karte__consent{margin:0;max-width:540px;font-size:.88rem;color:var(--muted)}
.gtc-karte__aktionen{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.gtc-karte__notiz{font-size:.8rem;color:var(--muted)}
.gtc-karte iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.gtc-karte__hinweis{margin-top:16px;font-size:.88rem;color:var(--muted)}

/* ---------- Galerie + Lightbox ---------- */
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:28px}
.gallery-item{margin:0;background:#fff;border:2px solid var(--line);border-radius:var(--radius);overflow:hidden}
.gallery-button{display:block;width:100%;padding:0;border:0;background:#fff;cursor:zoom-in}
.gallery-button img{width:100%;aspect-ratio:4/3;object-fit:cover}
.gallery-caption{display:flex;justify-content:space-between;gap:14px;padding:14px 18px;border-top:2px solid var(--line)}
.gallery-caption strong{display:block;font-family:var(--f-head);font-size:1.15rem;color:var(--ink)}
.gallery-caption span{font-size:.85rem}
.gallery-caption .zoom-label{font-family:var(--f-mono);color:var(--green-700)}
.lightbox{border:0;padding:0;border-radius:14px;background:#fff;width:min(960px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;box-shadow:0 20px 60px rgba(0,0,0,.35)}
.lightbox::backdrop{background:rgba(6,51,29,.78)}
.lightbox-head{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:12px 18px;background:var(--green-900);color:#fff}
.lightbox-head h2{font-size:1.2rem;margin:0;color:#fff}
.lightbox-close{background:#fff;border:2px solid var(--terminal);border-radius:8px;padding:8px 12px;min-height:44px;font-weight:600}
.lightbox img{margin:0 auto;max-height:75dvh;width:auto;object-fit:contain}

/* ---------- Handlungsaufruf ---------- */
.cta-section{background:var(--grad-header);color:#eaf5e1;padding:70px 0}
.cta-section h2{color:#fff}
.cta-inner{display:grid;grid-template-columns:1fr auto;gap:46px;align-items:center}
.cta-actions{display:flex;flex-direction:column;gap:12px;min-width:240px}

/* ---------- Fußbereich ---------- */
.footer{position:relative;background:var(--green-900);color:#c9dcbf;padding:86px 0 30px;margin-top:0}
.footer-pins{
	position:absolute;top:0;left:0;right:0;height:12px;background:var(--grad-logo);
	-webkit-mask:repeating-linear-gradient(90deg,#000 0 6px,transparent 6px 24px);
	mask:repeating-linear-gradient(90deg,#000 0 6px,transparent 6px 24px);
}
.footer a{color:#fff;text-decoration:none}
.footer a:hover{color:var(--terminal);text-decoration:underline}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1.1fr .9fr;gap:52px}
.brand--footer{margin-bottom:22px}
.footer-title{font-family:var(--f-mono);font-size:.95rem;font-weight:400;color:var(--terminal);text-transform:none;letter-spacing:.03em;margin-bottom:14px;line-height:1.4}
.footer-brand .footer-title{color:#fff;font-family:var(--f-head);font-size:1.25rem;font-weight:700}
.footer-about{font-size:.95rem;line-height:1.7}
.footer-contact{font-style:normal;line-height:1.85}
.footer-hours{margin:0;display:grid;gap:8px}
.footer-hours dt{color:#fff;font-weight:600}
.footer-hours dd{margin:0;font-family:var(--f-mono);font-size:.92rem}
.footer-hours small{display:block;font-family:var(--f-body);font-size:.84rem;color:#a9c29c}
.footer-small{font-size:.86rem;margin-top:12px;color:#a9c29c}
.footer-links{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.footer-links a::before{content:"› ";color:var(--terminal)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px 30px;margin-top:60px;padding-top:24px;border-top:1px solid rgba(146,204,36,.25);font-size:.88rem}
.footer-legal{list-style:none;display:flex;flex-wrap:wrap;gap:6px 22px;margin:0;padding:0}
.footer-legal .nav-link,.footer-legal a{padding:0;font-family:var(--f-body);font-size:.92rem;font-weight:500;letter-spacing:0;color:#fff;box-shadow:none;background:none;white-space:normal}
.footer-legal .nav-link:hover{background:none;color:var(--terminal)}
.footer-credit{margin:16px 0 0;font-size:.8rem;color:#93ab88;text-align:right}
.footer-credit a{color:#c9dcbf;text-decoration:underline}

/* ==========================================================================
   Responsiv
   ========================================================================== */
@media (max-width:1180px){
	.brand-text span{display:none}
	.footer-grid{grid-template-columns:1fr 1fr;gap:42px}
	.icon-grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:1419px){
	.site-header .nav{min-height:76px;gap:12px}
	.menu-btn{display:inline-flex}
	.nav-links{
		position:absolute;top:100%;left:0;right:0;margin:0;display:none;
		background:var(--green-900);border-top:2px solid var(--terminal);box-shadow:var(--shadow-lift);
		padding:14px 24px 22px;max-height:calc(100dvh - 120px);overflow:auto;
	}
	.nav-links.open{display:block}
	.nav-actions{margin-left:auto}
	.nav-list{flex-direction:column;align-items:stretch;gap:2px}
	.nav-list li{flex-wrap:wrap}
	.nav-list > li > a{flex:1;font-size:1.3rem;padding:13px 12px}
	.nav-list .sub-menu{position:static;display:none;min-width:0;flex:1 1 100%;box-shadow:none;border:0;border-left:3px solid var(--terminal);border-radius:0;margin:2px 0 8px 12px}
	.nav-list > li:hover > .sub-menu,.nav-list > li:focus-within > .sub-menu{display:none}
	.nav-list > li.ist-offen > .sub-menu{display:block}
	.nav-sub-toggle{width:44px;min-height:44px}
}
@media (max-width:1024px){
	:root{--container:min(1220px,calc(100% - 48px))}
	.hero-grid{grid-template-columns:1fr;gap:56px}
	.hero-werkstatt{padding:56px 0 130px}
	.hero-visual{max-width:640px}
	.icon-grid.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}
	.device-layout.has-image{grid-template-columns:1fr}
	.device-photo{max-width:360px;aspect-ratio:4/3}
	.about{grid-template-columns:1fr;gap:56px}
	.about.reverse .about-media{order:0}
	.about-media{max-width:680px}
	.content-box,.content-box.text-only{grid-template-columns:1fr}
	.content-aside{position:static}
	.info-grid{grid-template-columns:1fr 1fr}
	.dashboard-grid{grid-template-columns:1fr;gap:46px}
	.bonus-band{grid-template-columns:auto 1fr;padding:34px}
	.bonus-action{grid-column:1/-1}
	.press-grid{grid-template-columns:1fr 1fr}
	.form-layout{grid-template-columns:1fr;gap:40px}
	.form-intro{position:static}
	.contact-box{grid-template-columns:1fr}
	.contact-photo{min-height:300px}
	.contact-photo img{border-radius:0 0 14px 14px}
	.page-heading.has-image .page-heading-grid{grid-template-columns:1fr}
	.page-heading .chip-frame{max-width:520px}
	.legal-layout{grid-template-columns:1fr;gap:30px}
	.legal-aside{position:static}
	.legal-toc ol{max-height:none}
	.step:not(:last-child)::after{display:none}
}
@media (max-width:782px){.admin-bar .site-header{top:0}}
@media (max-width:720px){
	:root{--container:calc(100% - 32px)}
	body{font-size:16px}
	.topbar-adresse,.topbar-mail{display:none}
	.topbar-inner{gap:6px 18px}
	.site-header .nav{min-height:70px;width:calc(100% - 32px)}
	.brand-chip{width:48px;height:48px;flex-basis:48px;border-radius:12px}
	.site-header .brand{flex-shrink:1;min-width:0}
	.brand-text strong{font-size:1rem;line-height:1.05}
	.brand-text span{font-size:.72rem}
	.btn-ticket--nav{padding:8px 11px;min-height:44px}
	.btn-ticket--nav span{display:none}
	.menu-btn{padding:8px 11px}
	.menu-btn-text{display:none}
	.section-pad{padding:66px 0}
	.section-head{text-align:left;margin-bottom:32px}
	.section-head .eyebrow{justify-content:flex-start}
	.hero-werkstatt{padding:40px 0 112px}
	.hero-visual{padding:0}
	.hero-visual .chip-frame{margin-left:0;transform:none}
	.hero-visual .terminal{position:relative;left:auto;bottom:auto;width:auto;margin:-36px 10px 0;transform:none}
	.terminal-key{min-width:0;flex-basis:100%}
	.terminal-note{padding-left:0}
	.btn-row .btn{flex:1 1 100%}
	.overlap-wrap{margin-top:-70px}
	.icon-grid.cols-2,.icon-grid.cols-3,.icon-grid.cols-4{grid-template-columns:1fr;gap:28px}
	.device-grid,.device-layout:not(.has-image) .device-grid{grid-template-columns:1fr}
	.two-lists{grid-template-columns:1fr;gap:30px}
	.list-panel{padding:26px 22px}
	.info-grid{grid-template-columns:1fr}
	.bonus-band{grid-template-columns:1fr;padding:30px 24px;justify-items:start}
	.bonus-badge{width:140px;height:140px}
	.poster{padding:52px 24px 40px;transform:rotate(-.8deg)}
	.poster-note{font-size:1.45rem}
	.press-grid{grid-template-columns:1fr}
	.form-card{padding:28px 20px 24px}
	.contact-body{padding:32px 22px}
	.page-heading{padding:46px 0 66px}
	.legal-content{padding:30px 20px}
	.footer{padding-top:66px}
	.footer-grid{grid-template-columns:1fr;gap:36px}
	.footer-bottom{flex-direction:column;align-items:flex-start}
	.footer-credit{text-align:left}
	.chip-frame::before{inset:-15px 26px}
	.chip-frame::after{inset:26px -15px}
}
@media (max-width:380px){
	.brand-text strong{font-size:.95rem}
	.hero-copy h1{font-size:2.35rem}
}
@media (prefers-reduced-motion:reduce){
	html{scroll-behavior:auto}
	*,*::before,*::after{animation:none;transition:none}
}
@media print{
	.topbar,.site-header,.footer,.legal-aside,.skip-link,.lightbox,.btn{display:none}
	body{background:#fff;font-size:11pt}
	.page-heading{background:#fff;color:#000;padding:0 0 12pt}
	.page-heading h1{color:#000}
	.page-heading::after{display:none}
	.legal-layout{display:block}
	.legal-content{border:0;box-shadow:none;padding:0;max-width:none}
	.chip-card::before,.chip-card::after{display:none}
}

/* Rasterspalten duerfen schmaler werden als ihr laengstes Wort - sonst
   draengen lange Ueberschriften („Wiederverwertung") die Seite seitlich auf. */
.page-heading-copy,.hero-copy,.hero-visual,.about-copy,.content-pad,.content-aside,.form-intro,.form-card,
.device-main,.dashboard-copy,.bonus-copy,.contact-body,.legal-content,.info-card,.icon-card,.press-card{min-width:0}
@media (max-width:720px){
	.page-heading h1{font-size:clamp(2rem,9.6vw,2.7rem)}
	h1,h2{overflow-wrap:anywhere}
}

/* ==========================================================================
   Weg ins Ticket-System
   ========================================================================== */
.ticket-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:64px;align-items:start}
.ticket-path{list-style:none;margin:10px 0 0;padding:0;position:relative;display:grid;gap:26px}
.ticket-path::before{ /* Leiterbahn zwischen den Schritten */
	content:"";position:absolute;left:31px;top:30px;bottom:30px;width:4px;border-radius:2px;
	background:repeating-linear-gradient(180deg,var(--lime) 0 10px,transparent 10px 18px);opacity:.55;
}
.ticket-path::after{ /* wandernder Strom */
	content:"";position:absolute;left:29px;top:30px;width:8px;height:60px;border-radius:4px;
	background:linear-gradient(180deg,transparent,var(--terminal),transparent);filter:drop-shadow(0 0 6px var(--terminal));
	animation:gtc-strom-v 3.2s ease-in-out infinite;
}
@keyframes gtc-strom-v{0%{transform:translateY(0);opacity:0}15%{opacity:1}85%{opacity:1}100%{transform:translateY(calc(var(--strecke,260px)));opacity:0}}
.ticket-step{position:relative;display:grid;grid-template-columns:66px 1fr;gap:20px;align-items:start}
.ticket-node{
	position:relative;z-index:1;display:grid;place-items:center;width:66px;height:66px;border-radius:18px;
	background:var(--green-900);color:var(--terminal);font-family:var(--f-mono);font-size:1.5rem;
	border:3px solid transparent;background-clip:padding-box;box-shadow:0 0 0 3px rgba(146,204,36,.35),var(--shadow);
	transition:transform .3s,box-shadow .3s;
}
.ticket-step:hover .ticket-node{transform:rotate(-6deg) scale(1.06);box-shadow:0 0 0 4px var(--terminal),0 0 26px rgba(146,204,36,.55)}
.ticket-step-body{background:#fff;border:2px solid var(--line);border-radius:14px;padding:20px 24px;transition:border-color .25s,transform .25s}
.ticket-step:hover .ticket-step-body{border-color:var(--green-600);transform:translateX(4px)}
.ticket-step-body h3{font-size:1.45rem;margin-bottom:6px}
.ticket-card{
	position:sticky;top:150px;background:var(--green-900);color:#d6e6cc;border-radius:18px;overflow:hidden;
	border:2px solid rgba(146,204,36,.45);box-shadow:var(--shadow-lift);padding:0 0 26px;
}
.ticket-card .terminal-bar{margin:0 0 4px;padding:12px 16px}
.ticket-card-body{padding:14px 28px 0}
.ticket-card h3{color:#fff;font-size:1.65rem;margin:14px 0 6px}
.ticket-chip{display:inline-grid;place-items:center;width:64px;height:64px;border-radius:16px;background:var(--coral);color:var(--green-900);animation:gtc-schweben 4s ease-in-out infinite}
.btn-row--stack{flex-direction:column}
.btn-row--stack .btn{width:100%}
.ticket-direct{display:flex;flex-wrap:wrap;gap:6px 18px;margin:22px 0 0;font-size:.95rem}
.ticket-direct .gtc-label{flex-basis:100%;color:var(--terminal)}
.ticket-direct a{display:inline-flex;align-items:center;gap:7px;color:#fff;text-decoration:none}
.ticket-direct a:hover{color:var(--terminal)}
.section-dark .ticket-step-body,.ticket-steps.section-dark .ticket-step-body{background:#0b3f25;border-color:rgba(146,204,36,.3)}
@media (max-width:1024px){.ticket-layout{grid-template-columns:1fr;gap:44px}.ticket-card{position:static}}
@media (max-width:720px){.ticket-step{grid-template-columns:52px 1fr;gap:14px}.ticket-node{width:52px;height:52px;font-size:1.2rem;border-radius:14px}.ticket-path::before{left:24px}.ticket-path::after{left:22px}.ticket-card-body{padding:12px 20px 0}}

/* ==========================================================================
   Bewegung
   Alles hier ist Zierde: Ohne JavaScript oder mit „Bewegung reduzieren"
   bleibt die Seite vollstaendig sichtbar und bedienbar.
   ========================================================================== */

/* Einblenden beim Scrollen (nur Elemente, die beim Laden noch nicht sichtbar waren) */
[data-reveal]{opacity:0;transform:translateY(34px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i,0) * 90ms)}
[data-reveal="links"]{transform:translateX(-40px)}
[data-reveal="rechts"]{transform:translateX(40px)}
[data-reveal="zoom"]{transform:scale(.92)}
[data-reveal].is-in{opacity:1;transform:none}

/* Fortschrittsbalken unter dem Kopf - wie ein Ladebalken */
.scroll-akku{position:absolute;left:0;bottom:-3px;height:3px;width:100%;transform-origin:0 50%;transform:scaleX(var(--fortschritt,0));background:linear-gradient(90deg,var(--terminal),#d8ff7a);box-shadow:0 0 10px rgba(146,204,36,.8);pointer-events:none}

/* Lauflicht in den Pins von Kopf, Fuss und Baendern */
.header-traces,.footer-pins,.dashboard-band::before,.dashboard-band::after{
	background:linear-gradient(90deg,#0b6a37 0%,var(--terminal) 18%,#0b6a37 36%,#0b6a37 64%,var(--terminal) 82%,#0b6a37 100%);
	background-size:200% 100%;animation:gtc-lauflicht 6s linear infinite;
}
@keyframes gtc-lauflicht{to{background-position:-200% 0}}

/* Strom in den Leiterbahnen des Kopfbereichs */
.traces-flow path{fill:none;stroke:var(--terminal);stroke-width:3.5;stroke-linecap:round;vector-effect:non-scaling-stroke;stroke-dasharray:.07 .93;stroke-dashoffset:1;filter:drop-shadow(0 0 4px rgba(146,204,36,.9));animation:gtc-strom 4.2s linear infinite}
.traces-flow path:nth-child(2){animation-delay:-1.3s;animation-duration:5.1s}
.traces-flow path:nth-child(3){animation-delay:-2.4s;animation-duration:4.6s}
.traces-flow path:nth-child(4){animation-delay:-.6s;animation-duration:5.6s}
@keyframes gtc-strom{to{stroke-dashoffset:0}}
.hero-traces circle{animation:gtc-loetpunkt 2.6s ease-in-out infinite}
.hero-traces circle:nth-of-type(2n){animation-delay:-1.3s}
@keyframes gtc-loetpunkt{50%{fill:var(--terminal)}}

/* Wachsender Keimling */
.hero-sprout{position:absolute;z-index:3;top:-46px;right:-18px;width:118px;height:118px;filter:drop-shadow(0 8px 16px rgba(6,51,29,.18));animation:gtc-schweben 5s ease-in-out 3s infinite}
.hero-sprout *{stroke-dasharray:1;stroke-dashoffset:1;animation:gtc-zeichnen 1.2s cubic-bezier(.6,.1,.3,1) forwards}
.hero-sprout .sprout-core{animation-delay:.5s}
.hero-sprout .sprout-pins{animation-delay:.8s;animation-duration:1.4s}
.hero-sprout .sprout-stem{animation-delay:1.6s}
.hero-sprout .sprout-leaf{animation-delay:2.2s}
.hero-sprout .sprout-leaf--2{animation-delay:2.5s}
@keyframes gtc-zeichnen{to{stroke-dashoffset:0}}
@keyframes gtc-schweben{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-10px) rotate(3deg)}}

/* Konsole: Zeilen erscheinen nacheinander */
.terminal .terminal-line{animation:gtc-tippen .45s steps(12,end) both}
.terminal .terminal-line:nth-of-type(2){animation-delay:.5s}
.terminal .terminal-line:nth-of-type(3){animation-delay:1s}
.terminal .terminal-line:nth-of-type(4){animation-delay:1.5s}
.terminal .terminal-line:nth-of-type(5){animation-delay:2s}
.terminal .terminal-line:nth-of-type(6){animation-delay:2.5s}
.terminal .terminal-line:nth-of-type(7){animation-delay:3s}
@keyframes gtc-tippen{from{clip-path:inset(0 100% 0 0);opacity:.2}to{clip-path:inset(0 0 0 0);opacity:1}}
.terminal-bar i{animation:gtc-led 3s ease-in-out infinite}
.terminal-bar i:nth-child(2){animation-delay:.4s}
.terminal-bar i:nth-child(3){animation-delay:.8s}
@keyframes gtc-led{50%{filter:brightness(1.5) drop-shadow(0 0 4px currentColor)}}

/* Fotos im Chip-Rahmen: leichtes Kippen, Bild zoomt */
.chip-frame{transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s}
.chip-frame img{transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.chip-frame:hover{transform:rotate(0deg) translateY(-6px);box-shadow:var(--shadow-lift)}
.chip-frame:hover img{transform:scale(1.045)}
.chip-frame::before,.chip-frame::after{background-size:200% 100%;transition:filter .4s}
.chip-frame:hover::before,.chip-frame:hover::after{filter:brightness(1.35) drop-shadow(0 0 5px rgba(146,204,36,.8));animation:gtc-lauflicht 2.5s linear infinite}
.chip-frame::before,.chip-frame::after,.chip-card::before,.chip-card::after{background-image:linear-gradient(90deg,#0b6a37 0%,var(--terminal) 25%,#0b6a37 50%,var(--terminal) 75%,#0b6a37 100%)}

/* Karten: Pins leuchten, Symbol bewegt sich, 3D-Kippen per JS */
.chip-card{transform-style:preserve-3d;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,border-color .35s}
.chip-card::before,.chip-card::after{background-size:200% 100%;transition:filter .3s}
.chip-card:hover::before,.chip-card:hover::after{filter:brightness(1.3) drop-shadow(0 0 4px rgba(146,204,36,.85));animation:gtc-lauflicht 2s linear infinite}
.icon-badge{transition:transform .45s cubic-bezier(.3,1.6,.5,1),box-shadow .3s,color .3s}
.chip-card:hover .icon-badge{transform:rotate(-8deg) scale(1.12);box-shadow:0 0 0 6px rgba(146,204,36,.18);color:var(--green-800)}
.chip-card.is-tilt{transition:transform .08s linear,box-shadow .35s,border-color .35s}
.chip-card .glanz{position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(360px circle at var(--mx,50%) var(--my,50%),rgba(146,204,36,.16),transparent 60%);opacity:0;transition:opacity .3s}
.chip-card:hover .glanz{opacity:1}

/* Geraete-Kacheln */
.device-chip{transition:border-color .25s,transform .25s,box-shadow .25s}
.device-chip:hover{transform:translateY(-3px);box-shadow:0 10px 20px rgba(6,51,29,.1)}
.device-icon{transition:transform .4s cubic-bezier(.3,1.6,.5,1),background .3s,color .3s}
.device-chip:hover .device-icon{transform:rotate(-10deg) scale(1.1);background:var(--terminal);color:var(--green-900)}

/* Knoepfe: Lichtkante beim Darueberfahren */
.btn{position:relative;overflow:hidden;isolation:isolate}
.btn::after{content:"";position:absolute;inset:-2px;z-index:-1;background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.45) 50%,transparent 65%);transform:translateX(-120%);transition:transform .6s ease}
.btn:hover::after{transform:translateX(120%)}
.btn-ticket{animation:gtc-ticket-puls 3.5s ease-in-out infinite}
@keyframes gtc-ticket-puls{0%,70%,100%{box-shadow:0 0 0 0 rgba(255,90,60,0)}80%{box-shadow:0 0 0 7px rgba(255,90,60,.28)}}

/* Dunkle Flaechen: Lichtkegel folgt der Maus */
.dashboard-band,.section-dark,.page-heading{--mx:70%;--my:30%}
.dashboard-band > .container,.section-dark > .container,.page-heading > .container{position:relative;z-index:1}
.dashboard-band .spot,.section-dark .spot,.page-heading .spot{position:absolute;inset:0;pointer-events:none;background:radial-gradient(520px circle at var(--mx) var(--my),rgba(146,204,36,.18),transparent 60%);transition:background .15s}

/* Schritte (Datenrettung): Verbindungen fliessen */
.step:not(:last-child)::after{background:repeating-linear-gradient(90deg,var(--lime) 0 6px,transparent 6px 10px);background-size:20px 2px;animation:gtc-fluss 1s linear infinite}
@keyframes gtc-fluss{to{background-position:20px 0}}
.step{transition:transform .35s,border-color .35s}
.step:hover{transform:translateY(-5px);border-color:var(--terminal)}
.step-number{transition:text-shadow .3s}
.step:hover .step-number{text-shadow:0 0 14px rgba(146,204,36,.8)}

/* Presse: Bild zoomt */
.press-media img{transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.press-card:hover .press-media img{transform:scale(1.06)}

/* Plakette dreht sich langsam, Plakat wackelt leicht */
.bonus-badge{animation:gtc-drehen 26s linear infinite}
@keyframes gtc-drehen{to{transform:rotate(354deg)}}
.poster{transition:transform .5s cubic-bezier(.3,1.5,.5,1)}
.poster:hover{transform:rotate(0deg) scale(1.01)}
.poster[data-reveal]{transform:rotate(-8deg) scale(.85)}
.poster[data-reveal].is-in{transform:rotate(-1.4deg)}
.poster-note{animation:gtc-wippen 4s ease-in-out infinite}
@keyframes gtc-wippen{50%{transform:rotate(-1deg) translateY(-3px)}}

/* Hervorhebung in Ueberschriften: Marker zieht sich durch */
.hl{background-size:0% 100%;background-repeat:no-repeat;animation:gtc-marker 1s .4s cubic-bezier(.6,.1,.3,1) forwards}
@keyframes gtc-marker{to{background-size:100% 100%}}

@media (prefers-reduced-motion:reduce){
	[data-reveal],[data-reveal].is-in,.poster[data-reveal]{opacity:1;transform:none;transition:none}
	.hero-sprout *{stroke-dashoffset:0}
	.hl{background-size:100% 100%}
	.terminal .terminal-line{clip-path:none;opacity:1}
	.chip-card.is-tilt{transform:none}
}
.section-dark{position:relative}
/* Bewegte Elemente (Einfliegen, Laufband) duerfen keinen seitlichen Scrollbalken erzeugen; clip statt hidden, damit der Kopf sticky bleibt. */
html,body{overflow-x:clip}
.ticket-card .btn-secondary{background:transparent;border-color:rgba(255,255,255,.75);color:#fff}
.ticket-card .btn-secondary:hover{background:#fff;color:var(--green-900);border-color:#fff}

/* ==========================================================================
   Werkstatt-Foerderband: Leistungen als Chips auf einem laufenden Band
   ========================================================================== */
.conveyor{position:relative;padding:44px 0 30px;overflow:hidden}
.conveyor-machine{position:relative;margin:0 14px;padding:0 46px}
.conveyor-belt{
	position:relative;overflow:hidden;padding:24px 0 26px;border-radius:40px;
	background:
		repeating-linear-gradient(90deg,rgba(255,255,255,.07) 0 3px,transparent 3px 28px),
		linear-gradient(180deg,#2c332e 0%,#1b201c 45%,#141815 100%);
	background-size:28px 100%,100% 100%;
	box-shadow:inset 0 3px 0 rgba(255,255,255,.08),inset 0 -4px 0 rgba(0,0,0,.35),0 16px 30px rgba(6,51,29,.22);
	animation:gtc-band-profil var(--t-belt,.4s) linear infinite;
}
.conveyor-belt::before,.conveyor-belt::after{ /* Kanten-Leisten mit Lauflicht */
	content:"";position:absolute;left:0;right:0;height:4px;
	background:linear-gradient(90deg,#0b6a37,var(--terminal),#0b6a37,#0b6a37,var(--terminal),#0b6a37);background-size:200% 100%;
	animation:gtc-lauflicht 5s linear infinite;opacity:.9;
}
.conveyor-belt::before{top:6px}
.conveyor-belt::after{bottom:6px}
@keyframes gtc-band-profil{to{background-position:28px 0,0 0}}
.conveyor-track{display:flex;width:max-content;animation:gtc-band var(--dauer,40s) linear infinite;will-change:transform}
@keyframes gtc-band{from{transform:translate3d(-50%,0,0)}to{transform:translate3d(0,0,0)}}
.conveyor-list{display:flex;gap:34px;list-style:none;margin:0;padding:0 17px}

/* Ein Chip wie auf der Platine: Gehaeuse, Beinchen, Pin-1-Markierung */
.ic{position:relative;padding:12px 0;flex:0 0 auto}
.ic::before,.ic::after{ /* Beinchen oben/unten */
	content:"";position:absolute;left:18px;right:18px;height:12px;
	background:repeating-linear-gradient(90deg,#c9d1c9 0 6px,transparent 6px 15px);
	box-shadow:0 0 0 0 transparent;
}
.ic::before{top:1px;-webkit-mask:linear-gradient(#000,#000 60%,rgba(0,0,0,.6));mask:linear-gradient(#000,#000 60%,rgba(0,0,0,.6))}
.ic::after{bottom:1px}
.ic-body{
	position:relative;display:flex;align-items:center;gap:14px;min-height:72px;padding:12px 22px 12px 16px;border-radius:9px;
	background:linear-gradient(160deg,#20302a 0%,#0d1712 100%);
	border:1px solid rgba(146,204,36,.35);
	box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 8px 14px rgba(0,0,0,.35);
	transition:transform .3s cubic-bezier(.3,1.6,.5,1),box-shadow .3s,border-color .3s;
}
.ic-mark{position:absolute;left:8px;top:8px;width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.25)}
.ic-icon{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:9px;color:var(--terminal);background:rgba(146,204,36,.1);box-shadow:inset 0 0 0 1px rgba(146,204,36,.35)}
.ic-text{display:flex;flex-direction:column;line-height:1.05}
.ic-code{font-family:var(--f-mono);font-size:.72rem;color:#8fa58b;letter-spacing:.08em}
.ic strong{font-family:var(--f-head);font-size:1.32rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em;color:#fff;white-space:nowrap}
.ic:nth-child(3n+2) strong{color:var(--terminal)}
.ic:hover .ic-body{transform:translateY(-6px) rotate(-1.5deg);border-color:var(--terminal);box-shadow:0 0 0 2px rgba(146,204,36,.4),0 16px 22px rgba(0,0,0,.35)}
.ic:hover .ic-icon{animation:gtc-led 1s ease-in-out infinite}

/* Rollen links und rechts */
.conveyor-roller{
	position:absolute;top:50%;width:84px;height:84px;margin-top:-42px;border-radius:50%;z-index:2;
	background:
		radial-gradient(circle,#e5ebe5 0 9px,#7d877f 10px 13px,transparent 14px),
		repeating-conic-gradient(from 0deg,#3d4740 0 20deg,#262d28 20deg 45deg);
	border:5px solid #0f1511;box-shadow:0 0 0 3px var(--green-600),0 10px 18px rgba(0,0,0,.3);
	animation:gtc-rolle var(--t-roll,3.8s) linear infinite;
}
.conveyor-roller--links{left:4px}
.conveyor-roller--rechts{right:4px}
@keyframes gtc-rolle{to{transform:rotate(360deg)}}
.conveyor-legs{
	display:block;height:26px;margin:0 70px;
	background:
		linear-gradient(90deg,transparent 0 6%,#2c332e 6% 7.5%,transparent 7.5% 49.2%,#2c332e 49.2% 50.8%,transparent 50.8% 92.5%,#2c332e 92.5% 94%,transparent 94%),
		linear-gradient(transparent 70%,rgba(6,51,29,.12) 70%);
}

/* Anhalten */
.conveyor-pause{
	position:absolute;right:24px;bottom:8px;display:inline-flex;align-items:center;gap:8px;min-height:40px;
	padding:6px 14px;border-radius:999px;border:2px solid var(--line-strong);background:#fff;color:var(--green-800);
	font-family:var(--f-mono);font-size:.82rem;cursor:pointer;
}
.conveyor-pause:hover{border-color:var(--green-600)}
.conveyor-pause-icon{width:12px;height:12px;background:linear-gradient(90deg,currentColor 0 35%,transparent 35% 65%,currentColor 65%)}
.conveyor.is-paused .conveyor-pause-icon{background:none;width:0;height:0;border-left:11px solid currentColor;border-top:7px solid transparent;border-bottom:7px solid transparent}
.conveyor.is-paused .conveyor-track,.conveyor.is-paused .conveyor-belt,.conveyor.is-paused .conveyor-roller,
.conveyor-machine:hover .conveyor-track,.conveyor-machine:hover .conveyor-belt,.conveyor-machine:hover .conveyor-roller{animation-play-state:paused}

/* „Bewegung reduzieren": Das Band laeuft trotzdem, aber gemaechlich -
   anhalten laesst es sich jederzeit. Die uebrigen Effekte bleiben aus. */
@media (prefers-reduced-motion:reduce){
	.conveyor .conveyor-track{animation:gtc-band var(--dauer,40s) linear infinite}
	.conveyor .conveyor-belt{animation:gtc-band-profil var(--t-belt,.4s) linear infinite}
	.conveyor .conveyor-roller{animation:gtc-rolle var(--t-roll,3.8s) linear infinite}
}
@media (max-width:720px){
	.conveyor{padding:34px 0 64px}
	.conveyor-machine{padding:0 30px}
	.conveyor-roller{width:58px;height:58px;margin-top:-29px;border-width:4px}
	.ic strong{font-size:1.1rem}
	.ic-body{min-height:62px;padding:10px 16px 10px 12px}
	.conveyor-legs{margin:0 40px}
	.conveyor-pause{left:50%;right:auto;transform:translateX(-50%)}
}
