/* Wenger Live-Design 2026 — gemeinsame Basis ohne externe Abhängigkeiten. */
:root { --red:#e30613; --brand-red:#ff0000; --dark-red:#a9000a; --ink:#353738; --muted:#626568; --line:#dedfdf; --pale:#f4f5f4; --gold:#9a6712; --gold-bg:#fff7e6; --radius:5px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:90px; }
body { margin:0; background-color:#9b000d; background-image:radial-gradient(circle at 18% 12%,rgb(255 255 255 / 10%),transparent 31rem),radial-gradient(circle at 82% 78%,rgb(70 0 8 / 35%),transparent 36rem),repeating-linear-gradient(135deg,rgb(255 255 255 / 3.5%) 0 1px,transparent 1px 18px); background-attachment:fixed; color:var(--ink); font-family:Arial,Helvetica,sans-serif; font-size:16px; line-height:1.65; }
button,input,select,textarea { font:inherit; }
a { color:var(--dark-red); text-underline-offset:4px; }
a,button,summary { -webkit-tap-highlight-color:transparent; }
button,a,summary,input,select,textarea { touch-action:manipulation; }
button { cursor:pointer; }
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline:3px solid #135ba3; outline-offset:4px; }
img { max-width:100%; height:auto; display:block; }
h1,h2,h3,p,ul,ol,dl { margin:0; }
h1,h2,h3 { line-height:1.17; }
h1 { font-size:clamp(2rem,3.9vw,3.25rem); letter-spacing:-.045em; font-weight:750; max-width:880px; }
h2 { font-size:clamp(1.5rem,2.6vw,2.1rem); letter-spacing:-.03em; }
h3 { font-size:1.15rem; letter-spacing:-.012em; }
p { text-wrap:pretty; }
address { font-style:normal; }
.sr-only { position:absolute!important; width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }
.skip-link { position:fixed; top:-100px; left:20px; z-index:100; background:white; padding:12px 20px; }
.skip-link:focus { top:8px; }
.preview-bar { background:#292b2d; color:white; position:sticky; top:0; z-index:30; border-bottom:1px solid #4b4b4b; font-size:.79rem; }
.preview-bar-inner { max-width:1140px; margin:auto; min-height:52px; display:flex; align-items:center; gap:24px; padding:8px 20px; }
.draft-tag { font-weight:bold; white-space:nowrap; letter-spacing:.01em; }
.draft-tag span { color:#efbd60; margin-right:6px; }
.overview-link { color:#f3f3f3; }
.review-toggle { display:flex; align-items:center; justify-content:center; gap:9px; margin-left:auto; color:white; background:transparent; border:1px solid #686b6d; border-radius:4px; padding:7px 11px; min-height:36px; line-height:1.25; }
.review-toggle:hover { background:#3f4143; }
.toggle-track { width:29px; height:16px; border-radius:12px; background:#767676; display:inline-flex; align-items:center; padding:2px; flex-shrink:0; }
.toggle-track span { width:12px;height:12px;background:white;border-radius:50%;transition:transform .2s; }
.review-toggle[aria-pressed=true] .toggle-track { background:#efbd60; }
.review-toggle[aria-pressed=true] .toggle-track span { transform:translateX(13px); background:#292b2d; }
.site-shell { max-width:1140px; margin:auto; background:white; min-height:100vh; box-shadow:0 0 42px rgb(55 0 7 / 38%); }
.site-header { background:#fff url('../img/header-security-matrix-2026.jpg') center 48%/cover no-repeat; }
.brand { position:relative; isolation:isolate; display:flex; align-items:center; justify-content:center; min-height:clamp(150px,18vw,232px); overflow:hidden; background:transparent; }
.brand::after { content:''; position:absolute; z-index:0; inset:13% 11% 18%; border-radius:50%; background:rgb(255 255 255 / 68%); box-shadow:0 0 34px 28px rgb(255 255 255 / 68%); }
.brand img { position:relative; z-index:1; width:min(76%,1510px); height:auto; mix-blend-mode:multiply; filter:contrast(1.08) saturate(1.12); }
.navigation { background-color:rgb(227 6 19 / 84%); background-image:linear-gradient(110deg,rgb(255 255 255 / 8%),transparent 34%,rgb(86 0 9 / 18%)),repeating-linear-gradient(135deg,rgb(255 255 255 / 3.5%) 0 1px,transparent 1px 16px); color:white; }
#main-navigation { display:flex; align-items:stretch; padding:0 16px; }
#main-navigation>a,.nav-group>summary { display:flex; align-items:center; justify-content:center; min-height:56px; padding:15px 14px; text-decoration:none; color:white; text-transform:uppercase; font-size:.78rem; font-weight:700; letter-spacing:.025em; line-height:1.35; white-space:nowrap; }
#main-navigation a:hover,.nav-group>summary:hover { background:var(--dark-red); }
#main-navigation a[aria-current=page],#main-navigation .nav-group[data-active=true]>summary { background-color:rgb(227 6 19 / 72%); color:#fff; box-shadow:inset 0 -3px #6f0012,inset 1px 0 rgb(255 255 255 / 30%),inset -1px 0 rgb(255 255 255 / 30%); }
.nav-group { position:relative; }
.nav-group>summary { list-style:none; cursor:pointer; gap:8px; }
.nav-group>summary::-webkit-details-marker { display:none; }
.nav-group>summary::after { content:''; width:0; height:0; border-left:4px solid transparent; border-right:4px solid transparent; border-top:6px solid currentColor; flex:0 0 auto; transform:translateY(1px); transform-origin:center; transition:transform .16s ease; }
.nav-group[open]>summary::after { transform:translateY(-1px) rotate(180deg); }
.nav-group[open]>summary { background:var(--dark-red); }
.nav-submenu { position:absolute; top:100%; left:0; z-index:20; background:#a9000a; min-width:235px; box-shadow:0 12px 22px #0002; padding:6px; }
.nav-submenu a { display:block; color:white; text-decoration:none; padding:11px 13px; font-size:.88rem; }
.nav-submenu a:not([aria-current=page]):hover { background:#8b0008!important; }
#main-navigation>.language-link { margin-left:auto; gap:4px; font-weight:400; }
.menu-toggle { display:none; }
main { padding:0 36px; }
.breadcrumb { display:flex; align-items:center; gap:10px; min-height:57px; font-size:.77rem; color:var(--muted); }
.breadcrumb a { color:var(--muted); }
.breadcrumb-region { margin-left:auto; }
.brand-collage { overflow:hidden; }
.brand-collage img { width:100%; height:auto; }
.hero { padding:40px 0 38px; }
.hero-home { padding-top:35px; }
.eyebrow { font-weight:bold; color:var(--dark-red); font-size:.72rem; letter-spacing:.13em; line-height:1.6; margin-bottom:13px; }
.hero-lead { margin-top:23px; max-width:825px; font-size:1.15rem; line-height:1.7; color:#525659; }
.hero-actions { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-top:26px; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:16px; padding:12px 20px; min-height:47px; background:var(--red); color:white; text-decoration:none; border:1px solid var(--red); border-radius:3px; font-size:.87rem; font-weight:bold; line-height:1.4; }
.button:hover { background:var(--dark-red); border-color:var(--dark-red); }
.button-secondary { background:white; color:var(--dark-red); border-color:#d7a0a3; }
.button-secondary:hover { background:#fff3f3; color:var(--dark-red); }
.button-white { background:white; color:var(--dark-red); border-color:white; }
.button-white:hover { background:#fff0f0; color:var(--dark-red); border-color:white; }
.hero-facts { display:flex; flex-wrap:wrap; list-style:none; padding:23px 0 0; gap:10px 26px; margin-top:26px; border-top:1px solid var(--line); color:var(--muted); font-size:.85rem; }
.hero-facts li::before { content:'✓'; color:var(--red); font-weight:bold; margin-right:8px; }
.content-section { padding:36px 0 38px; border-top:1px solid var(--line); position:relative; }
.section-heading { display:flex; align-items:baseline; gap:13px; margin-bottom:25px; }
.section-number { flex-shrink:0; font-size:.75rem; font-weight:bold; color:var(--red); border-top:2px solid var(--red); padding-top:8px; min-width:26px; }
.section-intro { max-width:860px; margin-top:-8px; margin-bottom:25px; color:#525659; }
.cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.cards-2,.cards-4 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.card { border:1px solid var(--line); border-radius:var(--radius); padding:26px; background:var(--pale); display:flex; flex-direction:column; align-items:flex-start; }
.card h3 { margin-bottom:12px; }
.card p:not(.eyebrow) { color:#565a5c; font-size:.93rem; line-height:1.7; }
.card .text-link { margin-top:auto; padding-top:18px; }
.card .eyebrow { margin-bottom:8px; }
.line-icon { width:34px;height:34px;color:var(--red);margin-bottom:21px;flex-shrink:0; }
.text-link { display:inline-flex; gap:9px; align-items:center; font-size:.9rem; font-weight:bold; text-decoration:none; }
.text-link:hover { text-decoration:underline; }
.link-row { display:flex; flex-wrap:wrap; gap:14px 30px; margin-top:23px; }
.steps { list-style:none; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; }
.steps li { border-top:2px solid #dcdcdc; padding-top:16px; }
.step-number { display:block; color:var(--red); font-size:.8rem; font-weight:bold; margin-bottom:14px; }
.steps h3 { margin-bottom:11px; }
.steps p { color:#565a5c; font-size:.93rem; }
.checklist { list-style:none; padding:0; max-width:850px; }
.checklist li { position:relative; padding:12px 0 12px 29px; border-bottom:1px solid #e8e8e8; }
.checklist li::before { content:'✓'; color:var(--red); font-weight:bold; position:absolute; left:1px; }
.region-strip { border-left:3px solid var(--red); padding:13px 18px; background:var(--pale); font-weight:bold; font-size:.88rem; }
.fiction-disclosure { padding:13px 17px; background:var(--gold-bg); border:1px solid #dbcba9; border-radius:3px; font-size:.85rem; color:#67470e; margin-bottom:20px; }
.samples { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:17px; }
.sample-card { border:1px solid var(--line); border-radius:var(--radius); padding:22px; background:#fff; }
.fiction-label { font-size:.62rem; font-weight:bold; letter-spacing:.06em; color:#79531a; line-height:1.55; background:var(--gold-bg); padding:7px 9px; border-radius:3px; }
.wordmark { display:flex; gap:12px; align-items:center; margin:24px 0 14px; color:#344f58; }
.wordmark svg { width:47px;height:47px;flex-shrink:0; }
.wordmark strong { font-size:1.15rem;line-height:1.2;letter-spacing:-.025em; }
.sample-1 .wordmark { color:#58704c; }
.sample-2 .wordmark { color:#806046; }
.sample-sector { font-size:.75rem;color:var(--muted);padding-bottom:17px;border-bottom:1px solid var(--line); }
.sample-card dl>div { margin-top:17px; }
.sample-card dt { font-size:.76rem;font-weight:bold;margin-bottom:5px; }
.sample-card dd { margin:0;color:#5b5e60;font-size:.86rem;line-height:1.65; }
.samples-single { grid-template-columns:1fr; }
.samples-single .sample-card { display:grid; grid-template-columns:1fr 2fr; column-gap:32px; }
.samples-single .fiction-label { grid-column:1/-1;justify-self:start; }
.samples-single dl { grid-column:2;grid-row:2/4;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px; }
.samples-single .sample-sector { border:0; }
.faq-section h2 { margin-bottom:24px; }
.faq-list { border-top:1px solid var(--line); }
.faq-list details { border-bottom:1px solid var(--line);padding:0 4px; }
.faq-list summary { padding:19px 32px 19px 0;font-weight:bold;font-size:.97rem;cursor:pointer;position:relative;list-style:none; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary::after { content:'+';position:absolute;right:4px;top:14px;font-size:1.5rem;font-weight:normal;color:var(--red); }
.faq-list details[open] summary::after { content:'−'; }
.faq-list p { max-width:850px;padding:0 32px 20px 0;color:#5b5e60;font-size:.94rem; }
.related-section { border-top:1px solid var(--line);padding:30px 0 38px; }
.related-section h2 { font-size:1.2rem; }
.related-section .link-row { margin-top:16px; }
.consult-panel { background:var(--red);color:white;padding:30px;display:grid;grid-template-columns:1.7fr 1fr;gap:32px;align-items:center;margin:0 0 32px;border-radius:var(--radius); }
.consult-panel .eyebrow { color:white;opacity:.9;font-size:.62rem; }
.consult-panel h2 { font-size:1.7rem; }
.consult-panel p:not(.eyebrow):not(.cta-hint) { margin-top:14px;font-size:.9rem; }
.cta-hint { margin-top:11px;font-size:.73rem;line-height:1.55; }
.approval-note { display:flex;gap:24px;align-items:flex-start;justify-content:space-between;padding:18px 0 26px;border-top:1px dashed #c9c9c9;font-size:.76rem;color:var(--muted); }
.approval-note p { max-width:660px; }
.approval-note a,.approval-note>span { flex-shrink:0; }
.site-footer { margin:0 36px;padding:27px 0 15px;border-top:3px solid var(--red);display:grid;grid-template-columns:2fr 1fr;gap:25px;color:#5d6062;font-size:.84rem; }
.site-footer strong { color:var(--ink);font-size:.98rem; }
.site-footer address { margin-top:12px; }
.footer-links { display:flex;flex-direction:column;align-items:flex-end;gap:10px; }
.footer-links a { font-size:.8rem; }
.footer-meta { border-top:1px solid var(--line);padding-top:13px;grid-column:1/-1;font-size:.71rem; }
.change-note { display:flex;align-items:baseline;gap:12px;background:var(--gold-bg);color:#725015;border-left:3px solid #c89336;padding:9px 12px;margin-bottom:23px;font-size:.72rem;line-height:1.5; }
.change-label { text-transform:uppercase;letter-spacing:.045em;font-size:.63rem;white-space:nowrap;font-weight:bold; }
.change-note p { text-wrap:pretty; }
html[data-review=on] [data-change] { box-shadow:inset 3px 0 #c89336;padding-left:18px; }
html[data-review=off] .change-note { display:none; }
html[data-review=off] .approval-note { display:none; }
html[data-review=on].review-pulse [data-change] { animation:review-glow 2.2s ease-in-out 2; }
@keyframes review-glow { 0%,100% { box-shadow:inset 3px 0 #c89336; } 50% { box-shadow:inset 3px 0 #c89336,0 0 0 5px #eabb6529; } }
.overview-intro { padding-bottom:30px; }
.overview-cards { display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px; }
.overview-cards p { background:var(--pale);padding:23px;border-left:3px solid var(--red);font-weight:bold;font-size:.96rem; }
.overview-intro>p { font-size:.93rem; }
.draft-warning { margin-top:21px;border:1px solid #d6c5a3;background:var(--gold-bg);color:#654816;padding:16px 20px;border-radius:4px; }
.page-index { border-top:1px solid var(--line); }
.page-index-item { display:grid;grid-template-columns:40px 1fr 30px;gap:16px;padding:23px 12px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink); }
.page-index-item:hover { background:#fff5f5; }
.index-number { font-size:.85rem;color:var(--red);padding-top:7px; }
.index-arrow { color:var(--red);font-size:1.7rem; }
.page-index-item h3 { margin:8px 0; }
.page-index-item p { font-size:.86rem;color:#626568;max-width:820px; }
.status-chip { display:inline-block;color:#735016;font-size:.63rem;background:var(--gold-bg);border:1px solid #e2cdab;padding:2px 7px;letter-spacing:.04em;text-transform:uppercase; }
.contact-info { display:flex;gap:25px;padding:25px;background:var(--pale);border:1px solid var(--line);border-radius:4px; }
.contact-info .line-icon { width:44px;height:44px; }
.contact-info h3 { margin-bottom:12px; }
.contact-info p { font-size:.83rem;color:var(--muted); }
.contact-info .phone-display { font-size:1.4rem;font-weight:bold;color:var(--dark-red);margin:12px 0; }
.demo-warning { background:var(--gold-bg);color:#67470e;padding:14px 18px;border:1px solid #dcc8a5;border-radius:4px;margin:22px 0;font-size:.9rem; }
fieldset { margin:0;padding:0;border:0;min-width:0; }
.form-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 22px; }
.form-grid label { font-size:.83rem;font-weight:bold;display:flex;flex-direction:column;gap:7px; }
input,select,textarea { width:100%;min-width:0;max-width:100%;background:white;border:1px solid #aeb2b4;border-radius:3px;padding:11px 12px;color:var(--ink);font-size:.95rem;font-weight:normal; }
textarea { resize:vertical; }
.field-wide { grid-column:1/-1; }
.form-help { font-size:.79rem;color:var(--muted);margin:18px 0; }
.demo-result:not(:empty) { padding:16px 20px;border:1px solid #729083;background:#f0f7f1;color:#264c35;border-radius:4px;margin-top:18px;font-size:.92rem; }
@media (max-width:1020px) {
  #main-navigation>a,.nav-group>summary { padding-left:10px;padding-right:10px;font-size:.72rem; }
  main { padding:0 28px; }
  .site-footer { margin:0 28px; }
  .card { padding:21px; }
  .samples-single .sample-card { grid-template-columns:1fr; }
  .samples-single dl { grid-column:auto;grid-row:auto; }
}
@media (max-width:780px) {
  .preview-bar-inner { gap:12px;flex-wrap:wrap;padding:9px 16px; }
  .draft-tag { font-size:.72rem; }
  .overview-link { font-size:.72rem; }
  .review-toggle { font-size:.71rem; }
  .menu-toggle { display:flex;align-items:center;justify-content:center;gap:9px;background:transparent;border:0;color:white;min-height:49px;width:100%;font-weight:bold;font-size:.85rem; }
  .brand { min-height:145px; background-position:center 45%; }
  .brand img { width:92%; }
  #main-navigation { display:flex;flex-direction:column;padding:0 12px 12px; }
  .js #main-navigation:not(.is-open) { display:none; }
  #main-navigation>a,.nav-group>summary { min-height:45px;justify-content:flex-start;font-size:.8rem;padding:11px 14px;white-space:normal; }
  #main-navigation>.language-link { margin:0; }
  .nav-submenu { position:static;box-shadow:none;min-width:0;margin:0 14px 8px; }
  .nav-submenu a { padding-left:22px; }
  .cards,.cards-2,.cards-4 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cards-3 .card:last-child { grid-column:1/-1; }
  .samples { grid-template-columns:1fr; }
  .samples-single dl { grid-template-columns:1fr;gap:0; }
  .steps { grid-template-columns:1fr;gap:20px; }
  .steps li { display:flex;gap:18px; }
  .step-number { margin:0; }
  .consult-panel { grid-template-columns:1fr;gap:22px; }
  .approval-note { flex-direction:column;gap:10px; }
  .overview-cards { grid-template-columns:1fr; }
  .change-note { align-items:flex-start;flex-direction:column;gap:3px; }
}
@media (max-width:500px) {
  body { font-size:15px; }
  .brand { min-height:116px; }
  .brand::after { inset:18% 5% 21%; box-shadow:0 0 22px 16px rgb(255 255 255 / 72%); }
  .brand img { width:96%; }
  .preview-bar-inner { gap:8px 12px; }
  .draft-tag { font-size:.66rem; }
  .overview-link { margin-left:auto;font-size:.69rem; }
  .review-toggle { width:100%;margin:0;min-height:33px; }
  html { scroll-padding-top:110px; }
  main { padding:0 19px; }
  .site-footer { margin:0 19px;grid-template-columns:1fr; }
  .footer-links { align-items:flex-start; }
  .breadcrumb { min-height:46px;font-size:.68rem;gap:7px; }
  .brand-collage { margin:0 -19px; }
  .hero { padding:27px 0 30px; }
  h1 { font-size:2rem;line-height:1.13; }
  h2 { font-size:1.52rem; }
  .hero-lead { font-size:1.02rem;line-height:1.65;margin-top:19px; }
  .eyebrow { font-size:.64rem; }
  .hero-actions { align-items:stretch;flex-direction:column;gap:10px; }
  .hero-facts { display:grid;gap:9px;font-size:.81rem; }
  .cards,.cards-2,.cards-3,.cards-4 { grid-template-columns:1fr; }
  .card { padding:23px; }
  .card p:not(.eyebrow) { font-size:.94rem; }
  .content-section { padding-top:28px;padding-bottom:30px; }
  .section-heading { gap:10px; }
  .section-number { min-width:23px; }
  html[data-review=on] [data-change] { padding-left:12px; }
  .change-note { padding:8px 10px;font-size:.69rem; }
  .change-label { font-size:.59rem; }
  .consult-panel { padding:24px; }
  .consult-panel h2 { font-size:1.6rem; }
  .consult-panel .button { width:100%; }
  .link-row { flex-direction:column;gap:14px; }
  .page-index-item { grid-template-columns:25px 1fr 17px;gap:10px;padding:20px 0; }
  .form-grid { grid-template-columns:1fr; }
  .contact-info { padding:22px 18px;gap:12px; }
  .contact-info .line-icon { width:27px;height:27px; }
  .contact-info .phone-display { font-size:1.25rem; }
  .contact-demo .button { width:100%; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation:none!important;transition:none!important; }
}
@media print {
  body { background:white;color:black; }
  .preview-bar { position:static; }
  .navigation,.hero-actions,.consult-panel,.footer-links { display:none; }
  .site-shell { max-width:none; }
  main { padding:0; }
  .site-footer { margin:0; }
  .card,.sample-card,.steps li { break-inside:avoid; }
  .change-note { break-inside:avoid; }
}

/* Product bridge retained from the original Wenger website. */
.nav-submenu-label { display:block; margin-top:5px; padding:10px 13px 5px; border-top:1px solid #ffffff55; color:#ffd9dc; font-size:.67rem; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.product-section .button { margin-top:18px; }
.product-photo img { object-fit:contain; background:#fff; }
