/* ========================================
   Walkie Design System
   Vol. 01 · MMXXVI
   ======================================== */

@import url("fonts/walkie-fonts.css");

:root{
  /* RAW PALETTE */
  --sage:        #cdd5c1;
  --sage-dark:   #b8c1ad;
  --sage-light:  #dde2d4;
  --ink:         #1a1c19;
  --ink-2:       #2a2d28;
  --muted:       #5a5d54;
  --olive:       #4a4d2e;
  --olive-soft:  #5d6038;
  --olive-light: #8a8f5c;
  --line:        rgba(26,28,25,.15);
  --line-soft:   rgba(26,28,25,.08);
  --paper:       #ebe9df;

  /* SEMANTIC ALIASES */
  --bg:             var(--sage);
  --bg-lifted:      var(--sage-light);
  --bg-card:        var(--paper);
  --bg-inverse:     var(--ink);
  --fg:             var(--ink);
  --fg-2:           var(--ink-2);
  --fg-muted:       var(--muted);
  --fg-inverse:     var(--sage);
  --accent:         var(--olive);
  --accent-hover:   var(--olive-soft);
  --accent-on-dark: var(--olive-light);
  --border:         var(--line);
  --border-hard:    var(--ink);

  /* FONT FAMILIES */
  --font-display: "Inter Tight", -apple-system, BlinkMacSystemFont, sans-serif;
  --font-body:    "Inter Tight", -apple-system, BlinkMacSystemFont, sans-serif;
  --font-mono:    "JetBrains Mono", ui-monospace, "SF Mono", monospace;

  /* TYPE SCALE */
  --fs-display-xl:   clamp(48px, 7vw, 96px);
  --fs-display-lg:   clamp(36px, 5vw, 64px);
  --fs-display-md:   clamp(28px, 3.5vw, 44px);
  --fs-h3:           28px;
  --fs-h4:           22px;
  --fs-lede:         22px;
  --fs-body-lg:      19px;
  --fs-body:         17px;
  --fs-body-sm:      15px;
  --fs-meta:         13px;
  --fs-mono-eyebrow: 12px;
  --fs-mono-label:   11px;
  --fs-mono-micro:   10px;

  /* WEIGHTS */
  --fw-mono:         400;
  --fw-mono-bold:    500;
  --fw-body:         500;
  --fw-strong:       700;
  --fw-display:      800;
  --fw-display-bold: 900;

  /* TRACKING */
  --tracking-display:   -0.035em;
  --tracking-display-2: -0.03em;
  --tracking-h3:        -0.02em;
  --tracking-h4:        -0.015em;
  --tracking-mono:       0.16em;
  --tracking-mono-wide:  0.18em;
  --tracking-foot:       0.06em;

  /* LINE HEIGHTS */
  --lh-display: 0.94;
  --lh-h2:      0.98;
  --lh-h3:      1.2;
  --lh-body:    1.5;
  --lh-prose:   1.65;

  /* SPACING */
  --space-1:  4px;
  --space-2:  8px;
  --space-3:  12px;
  --space-4:  16px;
  --space-5:  24px;
  --space-6:  32px;
  --space-7:  40px;
  --space-8:  60px;
  --space-9:  80px;
  --space-10: 100px;
  --wrap-wide:    1320px;
  --wrap-narrow:  880px;
  --wrap-pad:     40px;
  --wrap-pad-sm:  24px;

  /* RADIUS */
  --radius-0:            0;
  --radius-pill:         999px;
  --radius-device-outer: 38px;
  --radius-device-inner: 26px;

  /* BORDERS */
  --border-w:     1.5px;
  --border-w-fat: 2px;

  /* SHADOWS */
  --shadow-device: 0 30px 60px -20px rgba(26,28,25,0.4);
  --shadow-ptt:    0 8px 20px -8px rgba(74,77,46,0.6);

  /* MOTION */
  --easing:     ease;
  --easing-out: cubic-bezier(.2,.7,.2,1);
  --dur-fast:   .15s;
  --dur:        .2s;
  --dur-slow:   .25s;
}

/* ===================================================================
   SEMANTIC TYPE CLASSES
   =================================================================== */
.t-display, h1.page-title{
  font-family:var(--font-display); font-weight:var(--fw-display);
  font-size:var(--fs-display-xl); line-height:var(--lh-display);
  letter-spacing:var(--tracking-display); color:var(--fg); max-width:18ch;
}
.t-display .bold, h1.page-title .bold{font-weight:var(--fw-display-bold)}

.t-h2, section h2{
  font-family:var(--font-display); font-weight:var(--fw-strong);
  font-size:var(--fs-display-lg); line-height:var(--lh-h2);
  letter-spacing:var(--tracking-display-2); color:var(--fg); max-width:18ch;
}
.t-h2 .bold{font-weight:var(--fw-display-bold)}

.t-h3{
  font-family:var(--font-display); font-weight:var(--fw-display);
  font-size:var(--fs-h3); line-height:var(--lh-h3);
  letter-spacing:var(--tracking-h3); color:var(--fg);
}
.t-h4{
  font-family:var(--font-display); font-weight:var(--fw-strong);
  font-size:var(--fs-h4); line-height:1.3;
  letter-spacing:var(--tracking-h4); color:var(--fg);
}
.t-lede{
  font-family:var(--font-body); font-size:var(--fs-lede);
  font-weight:var(--fw-body); line-height:1.45;
  color:var(--fg-2); max-width:55ch;
}
.t-body{
  font-family:var(--font-body); font-weight:var(--fw-body);
  font-size:var(--fs-body); line-height:var(--lh-prose); color:var(--fg-2);
}
.t-body-sm{
  font-family:var(--font-body); font-weight:var(--fw-body);
  font-size:var(--fs-body-sm); line-height:1.55; color:var(--fg-2);
}
.t-eyebrow{
  font-family:var(--font-mono); font-weight:var(--fw-mono);
  font-size:var(--fs-mono-eyebrow); letter-spacing:var(--tracking-mono);
  text-transform:uppercase; color:var(--accent);
  display:inline-flex; align-items:center; gap:12px;
}
.t-eyebrow::before{content:""; width:32px; height:1px; background:var(--accent)}
.t-roman{
  font-family:var(--font-display); font-weight:var(--fw-display);
  font-size:14px; color:var(--fg); letter-spacing:0;
}
.t-mono{
  font-family:var(--font-mono); font-weight:var(--fw-mono);
  font-size:var(--fs-mono-label); letter-spacing:var(--tracking-mono);
  text-transform:uppercase; color:var(--fg-muted);
}
.t-foot{
  font-family:var(--font-mono); font-size:var(--fs-mono-micro);
  letter-spacing:var(--tracking-foot); color:var(--sage-dark); text-transform:uppercase;
}
p strong{color:var(--fg); font-weight:var(--fw-strong)}
p em{color:var(--accent); font-weight:var(--fw-body); font-style:italic}

*{box-sizing:border-box; margin:0; padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--sage);
  color:var(--ink);
  font-family:'Inter Tight', -apple-system, sans-serif;
  font-size:17px;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

.wrap{max-width:1320px; margin:0 auto; padding:0 40px}
.wrap-narrow{max-width:880px; margin:0 auto; padding:0 40px}

/* ===== NAV ===== */
nav.top{
  position:sticky; top:0; z-index:100;
  background:var(--sage);
  border-bottom:1px solid var(--line);
}
.nav-inner{
  display:flex; justify-content:space-between; align-items:center;
  padding:18px 40px;
  max-width:1320px; margin:0 auto;
}
.logo{
  display:flex; align-items:center; gap:10px;
  font-family:'Inter Tight', sans-serif;
  font-weight:800;
  font-size:24px;
  letter-spacing:-.02em;
  color:var(--ink);
  text-decoration:none;
}
.logo-mark{
  width:32px; height:32px;
  border-radius:50%;
  background:var(--ink);
  color:var(--sage);
  display:flex; align-items:center; justify-content:center;
  font-weight:900;
  font-size:18px;
}
.nav-links{
  display:flex; gap:36px; align-items:center;
}
.nav-links a{
  color:var(--ink); text-decoration:none;
  font-weight:500; font-size:15px;
  transition:color .15s;
}
.nav-links a:hover, .nav-links a.active{color:var(--olive)}
.btn{
  display:inline-flex; align-items:center; gap:10px;
  padding:14px 28px;
  border-radius:0;
  font-family:'Inter Tight', sans-serif;
  font-weight:600;
  font-size:15px;
  border:1.5px solid transparent;
  cursor:pointer;
  text-decoration:none;
  transition:all .2s ease;
  letter-spacing:-.005em;
}
.btn-primary{
  background:var(--ink) !important; color:#ffffff !important;
  letter-spacing:.01em;
}
.btn-primary:hover{background:var(--olive); color:#ffffff}
.btn-ghost{
  background:transparent; color:var(--ink);
  border-color:var(--ink);
}
.btn-ghost:hover{background:var(--ink); color:var(--sage)}
.btn-olive{
  background:var(--olive); color:#fff;
}
.btn-olive:hover{background:var(--ink); color:var(--sage)}

/* ===== PAGE HEADER ===== */
.page-head{
  padding:80px 0 60px;
  border-bottom:1px solid var(--line);
}
.eyebrow{
  font-family:'JetBrains Mono', monospace;
  font-size:12px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--olive);
  margin-bottom:32px;
  display:flex; align-items:center; gap:12px;
}
.eyebrow::before{
  content:""; width:32px; height:1px; background:var(--olive);
}
h1.page-title{
  font-family:'Inter Tight', sans-serif;
  font-weight:700;
  font-size:clamp(48px, 7vw, 96px);
  line-height:.94;
  letter-spacing:-.035em;
  color:var(--ink);
  margin-bottom:32px;
  max-width:18ch;
}
h1.page-title .bold{font-weight:900}
.page-lede{
  font-size:22px;
  line-height:1.45;
  color:var(--ink-2);
  max-width:55ch;
  font-weight:500;
}

/* ===== SECTIONS ===== */
section.feature{
  padding:90px 0;
  border-bottom:1px solid var(--line);
}
.sec-head{
  margin-bottom:60px;
  max-width:980px;
}
.sec-eyebrow{
  font-family:'JetBrains Mono', monospace;
  font-size:11px; letter-spacing:.18em; text-transform:uppercase;
  color:var(--olive);
  margin-bottom:24px;
  display:flex; align-items:center; gap:14px;
}
.sec-eyebrow::before{
  content:""; width:28px; height:1px; background:var(--olive);
}
.sec-eyebrow .roman{
  font-family:'Inter Tight', sans-serif;
  font-weight:800;
  font-size:14px;
  color:var(--ink);
  letter-spacing:0;
}
.sec-head h2{
  font-family:'Inter Tight', sans-serif;
  font-weight:700;
  font-size:clamp(36px, 5vw, 64px);
  line-height:.98;
  letter-spacing:-.03em;
  color:var(--ink);
  margin-bottom:24px;
  max-width:18ch;
}
.sec-head h2 .bold{font-weight:900}
.sec-head p{
  font-size:19px;
  color:var(--ink-2);
  max-width:55ch;
  line-height:1.55;
  font-weight:500;
}

/* ===== PROSE (article body) ===== */
.prose{
  max-width:65ch;
}
.prose h3{
  font-family:'Inter Tight', sans-serif;
  font-weight:800;
  font-size:28px;
  line-height:1.2;
  letter-spacing:-.02em;
  margin:50px 0 18px;
}
.prose h4{
  font-family:'Inter Tight', sans-serif;
  font-weight:700;
  font-size:20px;
  line-height:1.3;
  letter-spacing:-.01em;
  margin:36px 0 12px;
}
.prose p{
  font-size:17px;
  line-height:1.65;
  color:var(--ink-2);
  margin-bottom:18px;
}
.prose strong{
  color:var(--ink); font-weight:700;
}
.prose em{font-style:italic; color:var(--olive); font-weight:500}
.prose ul, .prose ol{
  margin:0 0 24px 0;
  padding-left:24px;
}
.prose li{
  font-size:17px;
  line-height:1.65;
  color:var(--ink-2);
  margin-bottom:8px;
}
.prose ul li::marker{color:var(--olive)}
.prose hr{
  border:none;
  border-top:1px solid var(--line);
  margin:50px 0;
}

/* ===== CALLOUT BOX ===== */
.callout{
  background:var(--paper);
  border-left:4px solid var(--olive);
  padding:28px 32px;
  margin:32px 0;
}
.callout .label{
  font-family:'JetBrains Mono', monospace;
  font-size:11px; letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--olive);
  font-weight:500;
  margin-bottom:10px;
}
.callout p{
  margin:0;
  font-size:17px;
  line-height:1.6;
}

/* ===== INFO GRID (cards) ===== */
.info-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:24px;
}
.info-grid.two{grid-template-columns:repeat(2, 1fr)}
.info-card{
  background:var(--paper);
  border:1.5px solid var(--ink);
  padding:32px;
}
.info-card .num{
  font-family:'Inter Tight', sans-serif;
  font-weight:900;
  font-size:48px;
  line-height:1;
  letter-spacing:-.03em;
  color:var(--olive);
  margin-bottom:18px;
}
.info-card h4{
  font-family:'Inter Tight', sans-serif;
  font-weight:800;
  font-size:22px;
  line-height:1.2;
  letter-spacing:-.015em;
  margin-bottom:12px;
}
.info-card p{
  font-size:15px;
  line-height:1.55;
  color:var(--ink-2);
  margin:0;
}

/* ===== TIMELINE / STEP LIST ===== */
.step-list{
  list-style:none;
  border-top:2px solid var(--ink);
}
.step-list li{
  padding:32px 0;
  border-bottom:1px solid var(--line);
  display:grid;
  grid-template-columns:80px 1fr;
  gap:24px;
  align-items:start;
}
.step-num{
  font-family:'Inter Tight', sans-serif;
  font-weight:900;
  font-size:48px;
  line-height:1;
  letter-spacing:-.03em;
  color:var(--olive);
}
.step-title{
  font-family:'Inter Tight', sans-serif;
  font-weight:700;
  font-size:24px;
  line-height:1.15;
  letter-spacing:-.015em;
  margin-bottom:8px;
}
.step-desc{
  color:var(--ink-2);
  font-size:16px;
  line-height:1.6;
}

/* ===== FAQ / ACCORDION ===== */
.faq-list{
  border-top:2px solid var(--ink);
}
.faq-item{
  border-bottom:1px solid var(--line);
}
.faq-item summary{
  list-style:none;
  cursor:pointer;
  padding:28px 0;
  display:flex; justify-content:space-between; align-items:center;
  gap:24px;
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary h3{
  font-family:'Inter Tight', sans-serif;
  font-weight:700;
  font-size:22px;
  line-height:1.3;
  letter-spacing:-.015em;
  margin:0;
  flex:1;
}
.faq-item summary .toggle{
  font-family:'Inter Tight', sans-serif;
  font-weight:900;
  font-size:32px;
  color:var(--olive);
  line-height:1;
  transition:transform .2s;
  flex-shrink:0;
}
.faq-item[open] summary .toggle{transform:rotate(45deg)}
.faq-body{
  padding:0 0 32px 0;
  max-width:65ch;
}
.faq-body p{
  font-size:16px;
  line-height:1.65;
  color:var(--ink-2);
  margin-bottom:16px;
}
.faq-body p:last-child{margin-bottom:0}
.faq-body a{color:var(--olive); font-weight:600}
.faq-body strong{color:var(--ink); font-weight:700}

/* ===== HELP / WHAT-IF GRID ===== */
.help-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
}
.help-card{
  background:var(--paper);
  border:1.5px solid var(--ink);
  padding:32px;
  display:grid;
  grid-template-rows:auto 1fr auto;
}
.help-card .scenario{
  font-family:'JetBrains Mono', monospace;
  font-size:11px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--olive);
  margin-bottom:14px;
}
.help-card h3{
  font-family:'Inter Tight', sans-serif;
  font-weight:800;
  font-size:22px;
  line-height:1.2;
  letter-spacing:-.015em;
  margin-bottom:12px;
}
.help-card .answer{
  font-size:15px;
  line-height:1.6;
  color:var(--ink-2);
  margin-bottom:16px;
}
.help-card .answer strong{color:var(--ink)}
.help-card .action{
  padding-top:16px;
  border-top:1px solid var(--line);
  font-family:'JetBrains Mono', monospace;
  font-size:11px; letter-spacing:.06em;
  color:var(--olive);
  font-weight:500;
}
.help-card .action::before{content:"→ "}

/* ===== CTA STRIP ===== */
.cta-strip{
  background:var(--ink);
  color:var(--sage);
  padding:80px 0;
  margin-top:0;
}
.cta-inner{
  max-width:1320px; margin:0 auto; padding:0 40px;
  display:grid; grid-template-columns:1.5fr 1fr; gap:60px; align-items:center;
}
.cta-inner h2{
  font-family:'Inter Tight', sans-serif;
  font-weight:700;
  font-size:clamp(36px, 4.5vw, 56px);
  line-height:.98;
  letter-spacing:-.03em;
  color:var(--sage);
  margin-bottom:16px;
  max-width:18ch;
}
.cta-inner h2 .accent{color:var(--olive-light); font-weight:900}
.cta-inner p{
  color:var(--sage-dark);
  font-size:18px;
  line-height:1.5;
  font-weight:500;
}
.cta-inner .btn-olive{
  background:var(--olive); color:#fff;
}
.cta-inner .btn-olive:hover{background:var(--sage); color:var(--ink)}
.cta-actions{
  display:flex; flex-direction:column; gap:14px;
}
.cta-actions .btn{justify-content:center}

/* ===== FOOTER ===== */
footer{
  background:var(--ink);
  color:var(--sage);
  padding:80px 0 40px;
}
.foot-grid{
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1fr;
  gap:60px;
  padding-bottom:60px;
  border-bottom:1px solid rgba(205,213,193,.2);
}
.foot-tag{
  font-family:'Inter Tight', sans-serif;
  font-weight:800;
  font-size:36px;
  line-height:1.1;
  letter-spacing:-.025em;
  color:var(--sage);
  max-width:14ch;
}
.foot-tag .accent{color:var(--olive-light)}
.foot-col h5{
  font-family:'JetBrains Mono', monospace;
  font-size:10px; letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--sage-dark);
  margin-bottom:20px;
}
.foot-col ul{list-style:none}
.foot-col li{padding:6px 0}
.foot-col a{
  color:var(--sage); text-decoration:none;
  font-size:14px; font-weight:500;
}
.foot-col a:hover{color:var(--olive-light)}
.foot-bottom{
  display:flex; justify-content:space-between; align-items:center;
  padding-top:30px;
  font-family:'JetBrains Mono', monospace;
  font-size:11px;
  color:var(--sage-dark);
  letter-spacing:.06em;
}


/* ===== BURGER MENU (Mobile) ===== */
.burger{
  display:none;
  width:44px; height:44px;
  background:transparent;
  border:1.5px solid var(--ink);
  cursor:pointer;
  padding:0;
  position:relative;
}
.burger span{
  display:block;
  width:20px; height:2px;
  background:var(--ink);
  position:absolute;
  left:50%; margin-left:-10px;
  transition:all .25s ease;
}
.burger span:nth-child(1){top:14px}
.burger span:nth-child(2){top:21px}
.burger span:nth-child(3){top:28px}
.burger.open span:nth-child(1){top:21px; transform:rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){top:21px; transform:rotate(-45deg)}

/* Mobile menu overlay */
.mobile-menu{
  display:none;
  position:fixed;
  top:67px; /* unter der Nav */
  left:0; right:0; bottom:0;
  background:var(--sage);
  z-index:99;
  padding:20px 24px 60px;
  overflow-y:auto;
  border-top:1px solid var(--line);
  /* CTA immer am Ende sichtbar */
  display:none;
  flex-direction:column;
}
.mobile-menu.open{
  display:flex !important;
}
/* .mobile-menu.open gehandhabt durch flex oben */
.mobile-menu ul{
  list-style:none;
  margin:0; padding:0;
}
.mobile-menu li{
  border-bottom:1px solid var(--line);
}
.mobile-menu a{
  display:block;
  padding:20px 0;
  color:var(--ink);
  text-decoration:none;
  font-family:'Inter Tight', sans-serif;
  font-size:22px; font-weight:700;
  letter-spacing:-.015em;
  transition:color .15s;
}
.mobile-menu a:hover, .mobile-menu a.active{color:var(--olive)}
.mobile-menu .menu-section{
  margin-top:32px;
  padding-top:20px;
  border-top:2px solid var(--ink);
}
.mobile-menu .menu-section h6{
  font-family:'JetBrains Mono', monospace;
  font-size:10px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:10px;
}
.mobile-menu .menu-section a{
  font-size:16px;
  font-weight:500;
  padding:12px 0;
}
.mobile-menu .menu-cta{
  margin-top:auto;
  padding-top:32px;
  background:var(--ink);
  color:#ffffff !important;
  padding:18px 24px;
  text-align:center;
  display:block;
  font-weight:700 !important;
  font-size:17px;
  flex-shrink:0;
  text-decoration:none !important;
}
.mobile-menu .menu-cta:hover{background:var(--olive); color:#fff}

/* prevent body scroll when menu is open */
body.menu-open{overflow:hidden}

@media (max-width:700px){
  .burger{display:flex; align-items:center; justify-content:center}
  /* Hide normal nav-links AND the CTA button on mobile — beide gehen ins Burger */
  .nav-links{display:none}
}

/* ===== FLAG CHIPS (CSS-DRAWN) ===== */
/* Preferred over emoji — matches editorial line-art aesthetic of the world map */
.flag-chip{
  width:36px; height:36px; border-radius:50%;
  border:1.5px solid var(--ink);
  overflow:hidden; flex-shrink:0;
}
.flag-chip-sm{width:20px; height:20px}
.country-row.selected .flag-chip{border-color:transparent}

/* Vertical 3-stripe */
.flag-chip[data-cc="ES"]{background:linear-gradient(to right,#c60b1e 33.3%,#ffc400 33.3% 66.6%,#c60b1e 66.6%)}
.flag-chip[data-cc="IT"]{background:linear-gradient(to right,#009246 33.3%,#f4f5f0 33.3% 66.6%,#ce2b37 66.6%)}
.flag-chip[data-cc="FR"]{background:linear-gradient(to right,#002395 33.3%,#f4f5f0 33.3% 66.6%,#ed2939 66.6%)}
.flag-chip[data-cc="PT"]{background:linear-gradient(to right,#046a38 40%,#da291c 40%)}
.flag-chip[data-cc="EL"]{background:linear-gradient(to right,#0d5eaf 33.3%,#f4f5f0 33.3% 66.6%,#0d5eaf 66.6%)}
.flag-chip[data-cc="TR"]{background:#e30a17}
/* Horizontal 3-stripe */
.flag-chip[data-cc="DE"]{background:linear-gradient(to bottom,#1a1c19 33.3%,#dd0000 33.3% 66.6%,#ffce00 66.6%)}
/* Japan: white + red disc */
.flag-chip[data-cc="JP"]{background:#f4f5f0; display:flex; align-items:center; justify-content:center}
.flag-chip[data-cc="JP"]::after{content:""; width:45%; height:45%; border-radius:50%; background:#bc002d}

/* ===== GLOBAL ACCENT SPAN ===== */
.accent{color:var(--olive); font-weight:900}
.cta-strip .accent, .cta-inner .accent, footer .accent{color:var(--olive-light)}

/* ===== SECTION BACKGROUND UTILITIES ===== */
section.bg-paper{background:var(--paper)}
section.bg-sage{background:var(--sage)}
/* Cards im Paper-Section brauchen Sage-Hintergrund für Kontrast */
#transparency-teaser .info-card{background:var(--sage)}
/* CTA-Mitte-Block */
.cta-center{margin-top:50px; text-align:center}

/* ===== HELP — WHATIF SECTIONS ===== */
.help-search{padding:32px 0; border-bottom:1px solid var(--line)}
.help-search input{
  display:block; width:100%; background:var(--sage-light); border:1.5px solid var(--ink);
  padding:16px 20px; color:var(--ink); font-family:'Inter Tight',sans-serif;
  font-size:17px; font-weight:500; outline:none; margin-bottom:12px;
}
.help-search input:focus{border-color:var(--olive)}
.help-search .hint{
  font-family:'JetBrains Mono',monospace; font-size:11px;
  letter-spacing:.16em; text-transform:uppercase; color:var(--muted); text-align:center;
}
.whatif-section{padding:80px 0; border-bottom:1px solid var(--line)}
.whatif-header{margin-bottom:48px; max-width:700px}
.whatif-header h2{
  font-family:'Inter Tight',sans-serif; font-weight:700;
  font-size:clamp(32px,4.5vw,56px); line-height:.98;
  letter-spacing:-.03em; margin-bottom:14px;
}
.whatif-header p{font-size:18px; color:var(--ink-2); font-weight:500; line-height:1.5; margin:0}
.whatif-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:24px}
.whatif-card{
  background:var(--paper); border:1.5px solid var(--ink); padding:28px;
  display:grid; grid-template-rows:auto auto 1fr auto;
}
.whatif-card .scenario{
  font-family:'JetBrains Mono',monospace; font-size:11px;
  letter-spacing:.16em; text-transform:uppercase; color:var(--olive); margin-bottom:12px;
}
.whatif-card h3{
  font-family:'Inter Tight',sans-serif; font-weight:800;
  font-size:20px; line-height:1.2; letter-spacing:-.015em; margin-bottom:14px;
}
.whatif-card .answer{font-size:15px; line-height:1.6; color:var(--ink-2); margin-bottom:16px}
.whatif-card .answer strong{color:var(--ink)}
.whatif-card .answer em{color:var(--olive); font-style:italic}
.whatif-card .action{
  padding-top:14px; border-top:1px solid var(--line);
  font-family:'JetBrains Mono',monospace; font-size:11px;
  letter-spacing:.06em; color:var(--olive); font-weight:500;
}
.whatif-card .action::before{content:"→ "}

/* ===== HOW-IT-WORKS — FLOW DIAGRAM ===== */
.flow-diagram{margin:40px 0; border-top:2px solid var(--ink)}
.flow-step{
  display:grid; grid-template-columns:60px 1fr; gap:24px;
  padding:32px 0; border-bottom:1px solid var(--line); align-items:start;
}
.flow-step .n{
  font-family:'Inter Tight',sans-serif; font-weight:900;
  font-size:48px; line-height:1; letter-spacing:-.03em; color:var(--olive);
}
.flow-step h3{
  font-family:'Inter Tight',sans-serif; font-weight:700;
  font-size:22px; line-height:1.2; letter-spacing:-.015em; margin-bottom:8px;
}
.flow-step p{font-size:16px; line-height:1.6; color:var(--ink-2); margin-bottom:10px}
.duration{
  font-family:'JetBrains Mono',monospace; font-size:11px;
  letter-spacing:.12em; text-transform:uppercase; color:var(--olive); font-weight:500;
}

/* ===== TRANSPARENCY — FLOW VIS & TABLE ===== */
.flow-vis{
  display:flex; align-items:stretch;
  border:1.5px solid var(--ink); margin:40px 0;
}
.flow-node{
  flex:1; padding:28px 24px; text-align:center;
  border-right:1px solid var(--line);
}
.flow-node:last-child{border-right:none}
.flow-node.you{background:var(--sage-light)}
.flow-node.partner{background:var(--ink); color:var(--sage)}
.flow-node.partner h4,.flow-node.partner p{color:var(--sage)}
.flow-node .ic{font-size:28px; margin-bottom:14px; color:var(--olive); display:block}
.flow-node.partner .ic{color:var(--olive-light)}
.flow-node h4{
  font-family:'Inter Tight',sans-serif; font-weight:700;
  font-size:18px; letter-spacing:-.015em; margin-bottom:8px;
}
.flow-node p{font-size:14px; line-height:1.5; margin:0}
.flow-arrow{
  display:flex; align-items:center; padding:0 16px; flex-shrink:0;
  font-family:'Inter Tight',sans-serif; font-weight:900; font-size:24px;
  color:var(--olive); border-right:1px solid var(--line);
}
.compare-table{
  width:100%; border-collapse:collapse; border:1.5px solid var(--ink); margin:32px 0;
  font-family:'Inter Tight',sans-serif; font-size:16px;
}
.compare-table th{
  background:var(--ink); color:var(--sage); text-align:left;
  padding:14px 16px; font-weight:700; font-size:13px;
  font-family:'JetBrains Mono',monospace; letter-spacing:.08em; text-transform:uppercase;
}
.compare-table td{
  padding:14px 16px; border-bottom:1px solid var(--line);
  color:var(--ink-2); font-weight:500;
}
.compare-table tr:last-child td{border-bottom:none}
.compare-table tr:hover td{background:var(--sage-light)}
.compare-table td.check{color:var(--olive); font-weight:900; font-size:18px}
.compare-table td.x{color:var(--muted); font-size:18px}
.honest{padding:90px 0; border-bottom:1px solid var(--line)}
.lede{
  font-size:20px; line-height:1.5; color:var(--ink-2);
  font-weight:500; max-width:55ch; margin-bottom:40px;
}

/* ===== RESPONSIVE ===== */
@media (max-width:900px){
  .info-grid, .help-grid, .info-grid.two{grid-template-columns:1fr; gap:16px}
  .cta-inner{grid-template-columns:1fr; gap:30px}
  .foot-grid{grid-template-columns:1fr 1fr; gap:40px}
}
@media (max-width:700px){
  .wrap, .wrap-narrow, .nav-inner, .cta-inner{padding-left:24px; padding-right:24px}
  .page-head{padding:50px 0 40px}
  section.feature{padding:60px 0}
  .foot-grid{grid-template-columns:1fr}
  .step-list li{grid-template-columns:50px 1fr}
  .step-num{font-size:32px}
}

/* ===== MOBILE LAYOUT FIXES ===== */

/* Map-Caption: 2 Spalten auf Mobile statt 4 */
@media (max-width:600px){
  .map-caption{grid-template-columns:1fr 1fr !important; gap:16px !important}
  .map-stat .num{font-size:36px}
}

/* Conversation-Grid: Stack auf Mobile */
@media (max-width:900px){
  .conv-grid{grid-template-columns:1fr !important; gap:40px}
  .phone{max-width:320px}
}

/* Pricing-Grid: Stack auf Mobile */  
@media (max-width:900px){
  .pricing-grid{grid-template-columns:1fr !important; gap:40px}
  .big-price{font-size:clamp(80px, 22vw, 160px) !important}
}

/* Onboarding-Grid: Stack auf Mobile */
@media (max-width:900px){
  .onboarding-grid{grid-template-columns:1fr !important; gap:40px}
}

/* Hero-Buttons: Stack auf kleinen Screens */
@media (max-width:500px){
  .hero-cta{flex-direction:column; gap:10px}
  .hero-cta .btn{width:100%; justify-content:center}
}

/* Wrap-Padding auf sehr kleinen Screens */
@media (max-width:380px){
  .wrap, .wrap-narrow, .nav-inner, .cta-inner{padding-left:16px; padding-right:16px}
  h1.page-title{font-size:clamp(36px, 12vw, 60px)}
}

/* Arch-Grid: kein horizontales Overflow */
@media (max-width:700px){
  .arch-grid{overflow-x:hidden}
  .flow-vis{
    grid-template-columns:1fr !important;
    gap:16px !important;
  }
  .flow-arrow{transform:rotate(90deg); padding:8px 0}
}

/* CTA-Strip: Stack auf Mobile */
@media (max-width:600px){
  .cta-inner{grid-template-columns:1fr !important; gap:24px}
  .cta-actions .btn{width:100%; justify-content:center}
}

/* Footer-Grid: Single column auf Mobile */
@media (max-width:500px){
  .foot-grid{grid-template-columns:1fr !important; gap:30px}
  .foot-bottom{flex-direction:column; gap:8px; text-align:center}
}

/* FAQ + Whatif: kleinere Schrift und Stack auf Mobile */
@media (max-width:600px){
  .faq-item summary h3{font-size:18px}
  .whatif-grid{grid-template-columns:1fr !important}
  .whatif-card h3{font-size:18px}
}

/* Flow-Vis: Stack auf Mobile */
@media (max-width:700px){
  .flow-vis{flex-direction:column}
  .flow-node{border-right:none; border-bottom:1px solid var(--line)}
  .flow-node:last-child{border-bottom:none}
  .flow-arrow{padding:12px 0; justify-content:center; border-right:none; border-bottom:1px solid var(--line)}
}

/* Flow-Diagram: kleinere Nummern auf Mobile */
@media (max-width:600px){
  .flow-step{grid-template-columns:40px 1fr; gap:16px}
  .flow-step .n{font-size:32px}
}

/* Help-Grid: Stack */
@media (max-width:600px){
  .help-grid{grid-template-columns:1fr !important}
}

/* Burger-Menu top anpassen wenn Nav kleiner */
@media (max-width:380px){
  .mobile-menu{top:60px}
}

/* ===== ACCESSIBILITY ===== */

/* Focus-Styles für Keyboard-Navigation */
:focus-visible{
  outline:3px solid var(--olive);
  outline-offset:3px;
}
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, details:focus-visible{
  outline:3px solid var(--olive);
  outline-offset:3px;
}

/* Screen-Reader Only (WCAG: visuell versteckt, für AT sichtbar) */
.sr-only{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}

/* Skip-to-Content Link */
.skip-link{
  position:absolute;
  top:-100px;
  left:0;
  background:var(--olive);
  color:#fff;
  padding:12px 20px;
  font-family:'Inter Tight', sans-serif;
  font-weight:700;
  font-size:15px;
  z-index:999;
  text-decoration:none;
  transition:top .2s;
}
.skip-link:focus{top:0}

/* Mindest-Touch-Target-Größe (WCAG 2.5.8) */
button, a.btn, .btn{
  min-height:44px;
  min-width:44px;
}

/* Erhöhter Kontrast für muted-Text */
.muted-a11y{color:#4a4d4a} /* mind. 4.5:1 auf Salbei */

/* Reduced Motion */
@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
}

/* High Contrast Mode */
@media (forced-colors: active){
  .btn-primary, .btn-olive{border:2px solid ButtonText}
  .logo-mark{border:2px solid ButtonText}
}

/* ===== PERFORMANCE ===== */

/* Content-Visibility für lange Seiten */
section.feature{
  content-visibility:auto;
  contain-intrinsic-size:0 500px;
}

/* Optimiertes Box-Model */
img, svg{
  max-width:100%;
  height:auto;
}

/* Smooth Scroll nur wenn keine Motion-Preference */
@media (prefers-reduced-motion: no-preference){
  html{scroll-behavior:smooth}
}
/* Scroll-behavior aus root entfernen da es oben schon definiert ist */

/* ===== INDEX.HTML PAGE-SPECIFIC ===== */

/* Hero */
.hero{padding:80px 0 60px; border-bottom:1px solid var(--line)}
.hero-eyebrow{
  font-family:'JetBrains Mono', monospace;
  font-size:12px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--olive);
  margin-bottom:32px;
  display:flex; align-items:center; gap:12px;
}
.hero-eyebrow::before{content:""; width:32px; height:1px; background:var(--olive)}
h1.hero-title{
  font-family:'Inter Tight', sans-serif;
  font-weight:700;
  font-size:clamp(48px, 7vw, 96px);
  line-height:.94;
  letter-spacing:-.035em;
  color:var(--ink);
  margin-bottom:32px;
  max-width:18ch;
}
h1.hero-title .bold{font-weight:900}
.hero-sub{
  font-size:22px;
  line-height:1.45;
  color:var(--ink-2);
  max-width:55ch;
  font-weight:500;
  margin-bottom:36px;
}
.hero-cta{display:flex; gap:14px; flex-wrap:wrap; align-items:center}
.hero-meta{
  display:flex; gap:30px; align-items:center;
  margin-left:20px;
  font-family:'JetBrains Mono', monospace;
  font-size:12px; color:var(--muted); letter-spacing:.04em;
}

/* Map */
.map-section{padding:80px 0 100px; border-bottom:1px solid var(--line)}
.map-svg{width:100%; height:auto; display:block; max-width:1100px; margin:0 auto}
.map-caption{
  margin:40px auto 0; max-width:1100px;
  display:grid; grid-template-columns:repeat(4,1fr); gap:30px;
  border-top:1px solid var(--line); padding-top:30px;
}
.map-stat .num{
  font-family:'Inter Tight',sans-serif; font-weight:800;
  font-size:48px; line-height:1; letter-spacing:-.03em; color:var(--ink);
}
.map-stat .num em{font-style:normal; color:var(--olive); font-weight:900}
.map-stat .label{
  font-family:'JetBrains Mono',monospace; font-size:11px;
  letter-spacing:.14em; text-transform:uppercase; color:var(--muted); margin-top:10px;
}

/* Onboarding */
.onboarding-grid{display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:start}
.picker-card{background:var(--paper); border:1.5px solid var(--ink); padding:28px}
.picker-head{
  display:flex; justify-content:space-between; align-items:baseline;
  padding-bottom:18px; margin-bottom:18px; border-bottom:1px solid var(--line);
}
.picker-title{font-family:'Inter Tight',sans-serif; font-weight:700; font-size:22px; letter-spacing:-.015em}
.picker-progress{font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.1em; color:var(--muted)}
.country-search{
  width:100%; background:var(--sage-light); border:1.5px solid var(--ink);
  padding:14px 16px; color:var(--ink); font-family:'Inter Tight',sans-serif;
  font-size:15px; font-weight:500; margin-bottom:16px; outline:none;
}
.country-search:focus{border-color:var(--olive)}
.country-list{display:flex; flex-direction:column; gap:2px}
.country-row{
  display:flex; align-items:center; gap:14px; padding:14px 12px;
  cursor:pointer; border:1.5px solid transparent;
}
.country-row:hover{background:var(--sage-light)}
.country-row.selected{background:var(--ink); color:var(--sage); border-color:var(--ink)}
.country-row.selected .c-meta{color:var(--olive-light)}
.flag{
  width:36px; height:36px; border-radius:50%;
  background:var(--sage-light); display:flex; align-items:center;
  justify-content:center; font-size:18px; flex-shrink:0; border:1px solid var(--line);
}
.country-row.selected .flag{background:var(--sage); border-color:transparent}
.c-info{flex:1}
.c-name{font-family:'Inter Tight',sans-serif; font-weight:700; font-size:17px}
.c-meta{font-family:'JetBrains Mono',monospace; font-size:10px; color:var(--muted); letter-spacing:.04em; margin-top:3px}
.c-action{font-size:13px; color:var(--muted); font-weight:500}
.c-check{
  width:24px; height:24px; border-radius:50%;
  background:var(--olive); color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-size:12px; font-weight:700;
}

/* Conversation */
.conv-grid{display:grid; grid-template-columns:1.2fr 460px; gap:80px; align-items:center}
.conv-bullets{list-style:none; margin-top:40px; border-top:1px solid var(--line)}
.conv-bullets li{
  display:grid; grid-template-columns:60px 1fr; gap:20px;
  padding:24px 0; border-bottom:1px solid var(--line); align-items:start;
}
.conv-bullets .icn{font-family:'Inter Tight',sans-serif; font-weight:900; font-size:24px; color:var(--olive); line-height:1}
.conv-bullets h4{font-family:'Inter Tight',sans-serif; font-weight:700; font-size:18px; margin-bottom:6px; letter-spacing:-.01em}
.conv-bullets p{color:var(--ink-2); font-size:15px; line-height:1.55; margin:0}

/* ===== PHONE FRAME (App Mockup — Design System) ===== */
.phone{
  background:var(--ink); border-radius:44px; padding:14px;
  max-width:380px; margin:0 auto;
  box-shadow:var(--shadow-device);
  position:relative;
}
.phone-screen{
  background:var(--paper); border-radius:30px; aspect-ratio:9/19.5;
  display:flex; flex-direction:column; overflow:hidden;
  position:relative;
}
.phone-screen::before{
  content:''; position:absolute; top:-1px; left:50%; transform:translateX(-50%);
  width:110px; height:32px;
  background:var(--ink); border-radius:0 0 16px 16px; z-index:2;
  pointer-events:none;
}
.statusbar{
  display:flex; justify-content:space-between; align-items:center;
  padding:14px 22px 6px;
  font-family:'Inter Tight',sans-serif; font-size:12px; font-weight:600;
  color:var(--ink); flex-shrink:0; position:relative; z-index:4;
}
.statusbar .right{display:flex; gap:6px; align-items:center}
.offline-badge{
  font-family:'JetBrains Mono',monospace;
  font-size:9px; letter-spacing:.1em; text-transform:uppercase;
  color:var(--muted); border:1px solid var(--line); padding:2px 5px;
}
.conv-full{flex:1; display:flex; flex-direction:column; overflow:hidden}
.conv-header{
  padding:5px 22px; border-bottom:1px solid var(--line);
  display:flex; justify-content:space-between; align-items:center;
  flex-shrink:0;
}
.conv-header .pair{
  font-family:'Inter Tight',sans-serif; font-weight:700; font-size:15px;
  letter-spacing:-.01em; color:var(--ink);
  display:flex; align-items:center; gap:8px;
}
.conv-header .swap{color:var(--olive); font-weight:900}
.conv-header .dots{font-family:'JetBrains Mono',monospace; font-size:16px; color:var(--muted)}
.conv-header--dots{justify-content:flex-end}
.conv-zones{flex:1; display:flex; flex-direction:column}
.zone{
  flex:1; display:flex; flex-direction:column;
  align-items:center; justify-content:space-between;
  padding:22px 22px 26px; gap:12px; text-align:center;
}
.zone.flip{transform:rotate(180deg)}
.zone-text{display:flex; flex-direction:column; align-items:center; gap:10px; margin:auto 0}
.zlabel{font-family:'JetBrains Mono',monospace; font-size:9px; letter-spacing:.18em; text-transform:uppercase; color:var(--muted)}
.ztranslated{font-family:'Inter Tight',sans-serif; font-weight:700; font-size:20px; line-height:1.2; color:var(--ink); letter-spacing:-.015em; max-width:18ch}
.zoriginal{font-family:'Inter Tight',sans-serif; font-style:italic; font-weight:500; font-size:12px; color:var(--muted); line-height:1.35; max-width:24ch}
.zoriginal .arr{color:var(--olive); margin-right:4px; font-style:normal; font-weight:700}
.zone-ptt{
  width:84px; height:84px; border-radius:50%;
  background:var(--olive); border:none; color:#fff;
  display:flex; align-items:center; justify-content:center;
  box-shadow:var(--shadow-ptt); flex-shrink:0;
}
.zone-ptt.idle{background:transparent; color:var(--muted); box-shadow:none; border:2px dashed var(--line)}
.zone-divider{
  border-top:1px dashed var(--line); border-bottom:1px dashed var(--line);
  padding:7px 22px; display:flex; justify-content:space-between;
  align-items:center; background:var(--sage-light); flex-shrink:0;
}
.zone-divider .pill{
  font-family:'JetBrains Mono',monospace; font-size:9px; letter-spacing:.12em;
  text-transform:uppercase; color:var(--muted); display:flex; gap:8px; align-items:center;
}
.zone-divider .pill .dot{width:6px; height:6px; border-radius:50%; background:var(--olive); animation:pulse 1.5s ease-in-out infinite}
.zone-divider .icn{font-family:'Inter Tight',sans-serif; font-weight:700; font-size:12px; color:var(--muted)}
@keyframes pulse{50%{opacity:.4}}
.tab-bar{
  display:flex; border-top:1px solid var(--line);
  flex-shrink:0; background:var(--paper);
}
.tab-bar button{
  flex:1; background:transparent; border:none;
  padding:6px 0 8px; cursor:pointer;
  display:flex; flex-direction:column; align-items:center; gap:2px;
  font-family:'JetBrains Mono',monospace; font-size:8px; letter-spacing:.12em;
  text-transform:uppercase; color:var(--muted); min-height:auto; min-width:auto;
}
.tab-bar button.active{color:var(--ink)}
.tab-bar button.active .tab-glyph{color:var(--olive)}
.tab-glyph{font-family:'Inter Tight',sans-serif; font-weight:900; font-size:16px; line-height:1}
.home-indicator{
  position:absolute; bottom:6px; left:50%; transform:translateX(-50%);
  width:100px; height:4px; border-radius:4px; background:var(--ink); opacity:.5;
}

/* Pricing */
.pricing-grid{display:grid; grid-template-columns:1fr 1.2fr; gap:80px; align-items:start}
.price-tag-row{
  display:inline-flex; gap:10px; background:var(--olive); color:#fff;
  padding:6px 14px; font-family:'JetBrains Mono',monospace;
  font-size:11px; letter-spacing:.16em; text-transform:uppercase; margin-bottom:30px;
}
.big-price{
  font-family:'Inter Tight',sans-serif; font-weight:900;
  font-size:clamp(140px,18vw,240px); line-height:.85; letter-spacing:-.05em; color:var(--ink); margin:0;
}
.big-price .cur{font-size:.32em; vertical-align:.95em; color:var(--muted); font-weight:700; margin-right:4px}
.big-price .accent{color:var(--olive)}
.price-cap{margin-top:24px; font-size:18px; color:var(--ink-2); font-weight:500; line-height:1.4}
.price-cap strong{font-weight:800; color:var(--ink)}
.features-list{list-style:none; border-top:2px solid var(--ink)}
.features-list li{
  padding:18px 0; border-bottom:1px solid var(--line);
  display:grid; grid-template-columns:32px 1fr; gap:14px; align-items:baseline;
}
.features-list .ck{
  width:24px; height:24px; background:var(--olive); color:#fff;
  display:flex; align-items:center; justify-content:center; font-weight:900; font-size:13px; flex-shrink:0;
}
.features-list .ft{font-family:'Inter Tight',sans-serif; font-weight:600; font-size:17px; line-height:1.4}
.features-list .ft strong{font-weight:800}
.price-cta-row{margin-top:36px; display:flex; gap:14px; flex-wrap:wrap; align-items:center}
.fineprint{margin-top:20px; font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--muted); letter-spacing:.04em}

/* Responsive overrides for index */
@media(max-width:1100px){
  .conv-grid,.pricing-grid,.onboarding-grid{grid-template-columns:1fr; gap:60px}
  .map-caption{grid-template-columns:repeat(2,1fr); gap:20px}
}
@media(max-width:700px){
  .hero{padding:50px 0 40px}
  .hero-meta{display:none}
  .map-caption{grid-template-columns:1fr 1fr}
  .map-stat .num{font-size:32px}
}
