@import url('https://fonts.googleapis.com/css2?family=Pridi:wght@300;400;500;600;700&family=Noto%20Sans%20Thai:wght@300;400;500;600&display=swap&subset=thai,latin');

/* Designsystem für Srey Kulen — gerechnet, nicht ausgewählt.
   Ton 20°, Gegenton 210°, Typo-Verhältnis 1.414,
   Charakter: satt / weich / kraftvoll.
   Gemessener Kontrast (hell): Tinte 12.26:1 ·
   Matt 4.52:1 · auf Akzent 4.9:1 */

:root{
  --grund:#f7cbca;--flaeche:#ffebea;--erhoben:#ffd8d7;
  --linie:#fda0a0;--tinte:#2a0e0f;--matt:#735555;
  --akzent:#d82742;--akzent-text:#bc002f;
  --auf-akzent:#ffffff;--gegen:#53b5c5;
  color-scheme:light dark;

  /* Typo: EIN Verhältnis (1.414), sieben Stufen daraus. */
  --t-display:clamp(40px,5.2vw,78px);
  --t-h1:clamp(32px,3.2vw,55px);
  --t-h2:clamp(29px,1.7vw,38px);
  --t-h3:25px;--t-lead:21px;--t-body:17px;
  --t-klein:13px;--t-label:11px;

  /* Raum: EINE Skala. Ein Wert daneben ist ein Fehler. */
  --r1:4px;--r2:8px;--r3:12px;--r4:18px;
  --r5:26px;--r6:38px;--r7:56px;--r8:84px;
  --luft:clamp(56px,8vw,112px);

  --r:10px;--r-klein:6px;
  --r-gross:15px;
  --schatten-1:0 1px 2px oklch(0.163 0.02 20 / .06);--schatten-2:0 10px 24px -14px oklch(0.163 0.03 20 / .28);
  --schatten-3:0 34px 70px -40px oklch(0.163 0.04 20 / .42);

  --kopfschrift:'Pridi',system-ui,sans-serif;
  --textschrift:'Noto Sans Thai',system-ui,sans-serif;
  --spur:0em;--kopfgewicht:600;

  --raus:cubic-bezier(.2,.7,.3,1);--rein:cubic-bezier(.4,0,1,1);
  --kurz:160ms;--mittel:240ms;--lang:420ms;

  --muster:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20120%20120%22%3E%3Crect%20width%3D%22120%22%20height%3D%22120%22%20fill%3D%22%23ffebea%22%2F%3E%3Cellipse%20cx%3D%2255.93472547829151%22%20cy%3D%2278.36947209201753%22%20rx%3D%2212%22%20ry%3D%2212.44650265928358%22%20fill%3D%22none%22%20stroke%3D%22%23d82742%22%20stroke-width%3D%221%22%20opacity%3D%220.5%22%20transform%3D%22rotate(22.553518353961408%2060%2060)%22%2F%3E%3Cellipse%20cx%3D%2272.86813732236624%22%20cy%3D%2245.71923057548702%22%20rx%3D%2218%22%20ry%3D%2213.4361858244054%22%20fill%3D%22none%22%20stroke%3D%22%23d82742%22%20stroke-width%3D%221%22%20opacity%3D%220.46%22%20transform%3D%22rotate(28.893201048485935%2060%2060)%22%2F%3E%3Cellipse%20cx%3D%2273.09287294745445%22%20cy%3D%2243.78558053635061%22%20rx%3D%2224%22%20ry%3D%2215.265496372804044%22%20fill%3D%22none%22%20stroke%3D%22%23d82742%22%20stroke-width%3D%221%22%20opacity%3D%220.42%22%20transform%3D%22rotate(35.913786641322076%2060%2060)%22%2F%3E%3Cellipse%20cx%3D%2259.915483333170414%22%20cy%3D%2269.33786439709365%22%20rx%3D%2230%22%20ry%3D%2224.816859210375696%22%20fill%3D%22none%22%20stroke%3D%22%23d82742%22%20stroke-width%3D%221%22%20opacity%3D%220.38%22%20transform%3D%22rotate(44.472680795006454%2060%2060)%22%2F%3E%3Cellipse%20cx%3D%2242.109590992331505%22%20cy%3D%2276.38922951184213%22%20rx%3D%2236%22%20ry%3D%2235.86316307205707%22%20fill%3D%22none%22%20stroke%3D%22%23d82742%22%20stroke-width%3D%221%22%20opacity%3D%220.33999999999999997%22%20transform%3D%22rotate(25.872464342974126%2060%2060)%22%2F%3E%3Cellipse%20cx%3D%2251.91637825220823%22%20cy%3D%2278.95297582261264%22%20rx%3D%2242%22%20ry%3D%2231.2500229424797%22%20fill%3D%22none%22%20stroke%3D%22%23d82742%22%20stroke-width%3D%221%22%20opacity%3D%220.3%22%20transform%3D%22rotate(46.84502414893359%2060%2060)%22%2F%3E%3Cellipse%20cx%3D%2271.99038803577423%22%20cy%3D%2250.087966015562415%22%20rx%3D%2248%22%20ry%3D%2229.444863765686748%22%20fill%3D%22none%22%20stroke%3D%22%23d82742%22%20stroke-width%3D%221%22%20opacity%3D%220.26%22%20transform%3D%22rotate(53.81302771624178%2060%2060)%22%2F%3E%3Cellipse%20cx%3D%2269.41563714295626%22%20cy%3D%2272.8580981772393%22%20rx%3D%2254%22%20ry%3D%2242.735052006412296%22%20fill%3D%22none%22%20stroke%3D%22%23d82742%22%20stroke-width%3D%221%22%20opacity%3D%220.21999999999999997%22%20transform%3D%22rotate(37.36624154727906%2060%2060)%22%2F%3E%3Cellipse%20cx%3D%2264.9170420318842%22%20cy%3D%2248.83084095083177%22%20rx%3D%2260%22%20ry%3D%2239.73230162542313%22%20fill%3D%22none%22%20stroke%3D%22%23d82742%22%20stroke-width%3D%221%22%20opacity%3D%220.18%22%20transform%3D%22rotate(52.89019325282425%2060%2060)%22%2F%3E%3C%2Fsvg%3E");
  --foto:url('../bilder/restaurant-1.jpg');
  --foto2:url('../bilder/restaurant-2.jpg');--foto3:url('../bilder/restaurant-2.jpg');
  
  
  --txt-beispiel:"ภาพตัวอย่าง";
}
@media (prefers-color-scheme:dark){:root{
  --grund:#150a0a;--flaeche:#211313;--erhoben:#2d1b1b;
  --linie:#432c2c;--tinte:#ffefef;--matt:#bd9b9a;
  --akzent:#f48b8c;--akzent-text:#f48b8c;
  --auf-akzent:#110c0b;--gegen:#008091;
  --muster:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20120%20120%22%3E%3Crect%20width%3D%22120%22%20height%3D%22120%22%20fill%3D%22%23211313%22%2F%3E%3Cellipse%20cx%3D%2255.93472547829151%22%20cy%3D%2278.36947209201753%22%20rx%3D%2212%22%20ry%3D%2212.44650265928358%22%20fill%3D%22none%22%20stroke%3D%22%23f48b8c%22%20stroke-width%3D%221%22%20opacity%3D%220.5%22%20transform%3D%22rotate(22.553518353961408%2060%2060)%22%2F%3E%3Cellipse%20cx%3D%2272.86813732236624%22%20cy%3D%2245.71923057548702%22%20rx%3D%2218%22%20ry%3D%2213.4361858244054%22%20fill%3D%22none%22%20stroke%3D%22%23f48b8c%22%20stroke-width%3D%221%22%20opacity%3D%220.46%22%20transform%3D%22rotate(28.893201048485935%2060%2060)%22%2F%3E%3Cellipse%20cx%3D%2273.09287294745445%22%20cy%3D%2243.78558053635061%22%20rx%3D%2224%22%20ry%3D%2215.265496372804044%22%20fill%3D%22none%22%20stroke%3D%22%23f48b8c%22%20stroke-width%3D%221%22%20opacity%3D%220.42%22%20transform%3D%22rotate(35.913786641322076%2060%2060)%22%2F%3E%3Cellipse%20cx%3D%2259.915483333170414%22%20cy%3D%2269.33786439709365%22%20rx%3D%2230%22%20ry%3D%2224.816859210375696%22%20fill%3D%22none%22%20stroke%3D%22%23f48b8c%22%20stroke-width%3D%221%22%20opacity%3D%220.38%22%20transform%3D%22rotate(44.472680795006454%2060%2060)%22%2F%3E%3Cellipse%20cx%3D%2242.109590992331505%22%20cy%3D%2276.38922951184213%22%20rx%3D%2236%22%20ry%3D%2235.86316307205707%22%20fill%3D%22none%22%20stroke%3D%22%23f48b8c%22%20stroke-width%3D%221%22%20opacity%3D%220.33999999999999997%22%20transform%3D%22rotate(25.872464342974126%2060%2060)%22%2F%3E%3Cellipse%20cx%3D%2251.91637825220823%22%20cy%3D%2278.95297582261264%22%20rx%3D%2242%22%20ry%3D%2231.2500229424797%22%20fill%3D%22none%22%20stroke%3D%22%23f48b8c%22%20stroke-width%3D%221%22%20opacity%3D%220.3%22%20transform%3D%22rotate(46.84502414893359%2060%2060)%22%2F%3E%3Cellipse%20cx%3D%2271.99038803577423%22%20cy%3D%2250.087966015562415%22%20rx%3D%2248%22%20ry%3D%2229.444863765686748%22%20fill%3D%22none%22%20stroke%3D%22%23f48b8c%22%20stroke-width%3D%221%22%20opacity%3D%220.26%22%20transform%3D%22rotate(53.81302771624178%2060%2060)%22%2F%3E%3Cellipse%20cx%3D%2269.41563714295626%22%20cy%3D%2272.8580981772393%22%20rx%3D%2254%22%20ry%3D%2242.735052006412296%22%20fill%3D%22none%22%20stroke%3D%22%23f48b8c%22%20stroke-width%3D%221%22%20opacity%3D%220.21999999999999997%22%20transform%3D%22rotate(37.36624154727906%2060%2060)%22%2F%3E%3Cellipse%20cx%3D%2264.9170420318842%22%20cy%3D%2248.83084095083177%22%20rx%3D%2260%22%20ry%3D%2239.73230162542313%22%20fill%3D%22none%22%20stroke%3D%22%23f48b8c%22%20stroke-width%3D%221%22%20opacity%3D%220.18%22%20transform%3D%22rotate(52.89019325282425%2060%2060)%22%2F%3E%3C%2Fsvg%3E");
}}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--grund);color:var(--tinte);font-family:var(--textschrift);
  font-size:var(--t-body);line-height:1.62;-webkit-font-smoothing:antialiased;
  font-synthesis-weight:none;min-height:100vh}
/* Korn: nur bei Kreide- und Nachtfassung. Eine Papierfläche ohne Struktur
   wirkt auf großen Flächen tot, aber sichtbares Rauschen wirkt billig —
   deshalb 3 % Deckung, fest verankert, und nie über dem Text. */
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.035;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='k'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23k)'/%3E%3C/svg%3E");
  background-size:140px 140px}
body>*{position:relative;z-index:1}
img,svg{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
p,ul,ol,figure{margin:0}
ul{padding:0;list-style:none}

/* Typo — Betonung über Gewicht und Farbe, erst dann über Größe.
   Enge Laufweite nur bei großen Graden, offene bei Versalien. */
h1,h2,h3{font-family:var(--kopfschrift);font-weight:var(--kopfgewicht);
  letter-spacing:var(--spur);margin:0;text-wrap:balance}
h1{font-size:var(--t-h1);line-height:1.04}
h2{font-size:var(--t-h2);line-height:1.1}
h3{font-size:var(--t-h3);line-height:1.28}
.lead{color:var(--matt);font-size:var(--t-lead);max-width:62ch;text-wrap:pretty}
.eyebrow{font-size:var(--t-label);letter-spacing:.15em;text-transform:uppercase;
  color:var(--matt);font-weight:600}
time,.zahl,.zeit__w,.num__n,.b__zahl,.z span:last-child{font-variant-numeric:tabular-nums}

/* Fokus: sichtbar, immer, auf jedem Steuerelement — nicht der Browserring
   auf einem eigenen Knopf. */
:focus-visible{outline:2px solid var(--akzent);outline-offset:3px;border-radius:var(--r-klein)}
.sprung{position:absolute;left:-9999px;top:0;z-index:99;background:var(--akzent);
  color:var(--auf-akzent);padding:var(--r3) var(--r4);border-radius:var(--r-klein)}
.sprung:focus{left:var(--r3);top:var(--r3)}

/* Demo-Band — Charta 9.5, nicht wegklickbar */
.band{position:sticky;top:0;z-index:50;background:var(--tinte);color:var(--grund);
  font-size:var(--t-label);line-height:1.4;padding:var(--r2) var(--r4);
  display:flex;flex-wrap:wrap;gap:var(--r2) var(--r4);align-items:center;justify-content:center}
.band b{font-weight:700}
/* Die eine Handlung, die dem Ladenbesitzer offensteht, ohne die ganze Seite zu
   scrollen — und ohne die Demo als seine Seite zu zerstören. */
.band__weg{display:inline-flex;align-items:center;min-height:32px;padding:0 var(--r3);
  border:1px solid color-mix(in srgb,var(--grund) 45%,transparent);border-radius:999px;
  font-weight:600;white-space:nowrap;
  transition:background var(--kurz) var(--raus)}
.band__weg:hover{background:color-mix(in srgb,var(--grund) 16%,transparent)}

.kopf{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--grund) 88%,transparent);
  backdrop-filter:blur(14px) saturate(1.2);border-bottom:1px solid var(--linie)}
/* Der Ladenname ist ein Link zur Startseite — also ein Tap-Ziel, also 44px.
   Gemessen: er war 20px hoch. */
.marke{font-family:var(--kopfschrift);font-weight:var(--kopfgewicht);font-size:var(--t-h3);
  letter-spacing:var(--spur);line-height:1.15;max-width:44vw;white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis;display:flex;flex-direction:column;
  justify-content:center;min-height:44px}
.marke small{display:block;font-family:var(--textschrift);font-weight:400;
  font-size:var(--t-label);color:var(--matt);letter-spacing:.04em}
.nav{white-space:nowrap;overflow-x:auto;scrollbar-width:none}
.nav::-webkit-scrollbar{display:none}
.nav a{color:var(--matt);padding:var(--r1) 0;border-bottom:2px solid transparent;
  transition:color var(--kurz) var(--raus),border-color var(--kurz) var(--raus)}
.nav a:hover{color:var(--tinte)}
.nav a[aria-current]{color:var(--tinte);border-color:var(--akzent)}
@media(max-width:640px){.marke{font-size:var(--t-body);max-width:32vw}.marke small{display:none}
  /* ⛔ Bei einer Kundenvorschau trägt diese Zeile die Branche — sie ist auf
     „Bilder" und „Kontakt" die einzige Stelle, die sagt, was der Betrieb tut.
     Sie auszublenden hiesse, die Seite dort stumm zu schalten. */
  .marke--logo small{display:block}
  .nav{font-size:var(--t-klein)!important;gap:var(--r3)!important}}

/* Knöpfe: alle Zustände, Tap-Ziel 48. Nur transform und opacity bewegen sich. */
.knopf{display:inline-flex;align-items:center;justify-content:center;gap:var(--r2);
  min-height:48px;padding:0 var(--r4);border-radius:var(--r);border:1px solid var(--linie);
  background:var(--flaeche);color:var(--tinte);font-weight:600;font-size:var(--t-body);
  font-family:var(--textschrift);cursor:pointer;
  transition:transform var(--kurz) var(--raus),border-color var(--kurz) var(--raus),
    box-shadow var(--kurz) var(--raus)}
.knopf:hover{transform:translateY(-2px);border-color:var(--akzent);box-shadow:var(--schatten-2)}
.knopf:active{transform:translateY(0)}
.knopf[disabled]{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}
.knopf--haupt{background:var(--akzent);border-color:var(--akzent);color:var(--auf-akzent)}
.knopf--haupt:hover{box-shadow:var(--schatten-3)}
.hero__tat{display:flex;flex-wrap:wrap;gap:var(--r3);margin-top:var(--r5)}
.hero__tat.mitte{justify-content:center}

.merk{display:flex;flex-wrap:wrap;gap:var(--r2);margin-top:var(--r4)}
.merk li{display:inline-flex;align-items:center;gap:var(--r2);border:1px solid var(--linie);
  border-radius:999px;padding:var(--r2) var(--r4);font-size:var(--t-klein);background:var(--flaeche)}
.merk .pkt{width:6px;height:6px;border-radius:50%;background:var(--akzent);flex:none}

.gal{display:grid;gap:var(--r3);grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
/* ⛔ 07.08.2026: Vorher trug nur die erste und fünfte Kachel ein Bild, der Rest
   das Muster mit dem Wort „รูปของคุณ" auf leerer Fläche — das sah aus wie ein
   unfertiger Kasten. Jetzt trägt JEDE Kachel ein echtes Foto, reihum aus drei
   verschiedenen, damit nie zwei gleiche nebeneinander liegen.
   Und jede trägt ihr Abzeichen: das Foto zeigt NICHT diesen Betrieb. */
.gal__f{aspect-ratio:1;border-radius:var(--r);background-image:var(--foto);background-size:cover;
  background-position:center;display:grid;place-items:end start;padding:var(--r3);overflow:hidden;
  position:relative}
.gal__f:nth-child(3n+2){background-image:var(--foto2)}
.gal__f:nth-child(3n+3){background-image:var(--foto3)}
/* Lesbar auf hell wie auf dunkel: das Abzeichen sitzt auf einer eigenen Fläche,
   nicht auf dem Foto. Ein Verlauf am unteren Rand trägt es. */
.gal__f::after{content:"";position:absolute;inset:auto 0 0 0;height:52%;pointer-events:none;
  background:linear-gradient(to top,oklch(0 0 0/.55),transparent)}
.gal__f span{position:relative;z-index:1;font-size:var(--t-label);font-weight:600;
  background:oklch(0 0 0/.62);color:#fff;padding:var(--r1) var(--r3);border-radius:999px;
  backdrop-filter:blur(3px)}

/* ⛔ Auch die grossen Bildflächen der Architekturen tragen ihr Abzeichen —
   Kopfbild, Bildband und Bento-Kachel. Der Text kommt aus einer Eigenschaft,
   damit derselbe Baustein auf Thai und Englisch funktioniert, ohne dass zehn
   Architekturen ihre Auszeichnung ändern müssen. */
.streifen,.b--foto,.buehne{position:relative}
.streifen::after,.b--foto::after,.buehne::before{content:var(--txt-beispiel);
  position:absolute;top:var(--r3);right:var(--r3);z-index:2;
  font-size:var(--t-label);font-weight:600;line-height:1;
  background:oklch(0 0 0/.62);color:#fff;padding:var(--r1) var(--r3);border-radius:999px;
  backdrop-filter:blur(3px);pointer-events:none}

/* Der Satz, der einmal je Seite unübersehbar dastehen muss. */
.fotonote{background:color-mix(in srgb,var(--akzent) 9%,var(--flaeche));
  border-bottom:1px solid var(--linie)}
.fotonote__in{max-width:1180px;margin:0 auto;padding:var(--r3) var(--r4);
  display:flex;gap:var(--r2) var(--r4);align-items:baseline;flex-wrap:wrap}
.fotonote b{font-size:var(--t-klein);color:var(--akzent-text);font-weight:700}
.fotonote i{font-style:normal;font-size:var(--t-label);color:var(--tinte);opacity:.85}
.fotonote em{font-style:normal;font-size:var(--t-label);color:var(--matt)}
/* ⛔ Am Telefon gemessen: Demo-Band und Hinweis zusammen nahmen 380 von 844 px,
   bevor der Betrieb seinen eigenen Namen sah. Der Hinweis muss ehrlich sein,
   nicht laut — deshalb dieselbe Aussage auf halber Höhe. */
@media(max-width:640px){
  .fotonote__in{padding:var(--r2) var(--r3);gap:1px var(--r2);line-height:1.45}
  .fotonote b{font-size:13px}
  .fotonote i,.fotonote em{font-size:11.5px}
}
.gal__f:nth-child(3n+1){aspect-ratio:4/5}
.gal__f:nth-child(4n){aspect-ratio:5/4}

.form{display:grid;gap:var(--r3);max-width:520px}
.form input,.form textarea{font:inherit;font-size:var(--t-body);padding:var(--r3) var(--r4);
  border-radius:var(--r);border:1px solid var(--linie);background:var(--flaeche);
  color:var(--tinte);width:100%}
.form input[disabled],.form textarea[disabled]{opacity:.55}
.form__hinweis{font-size:var(--t-klein);color:var(--matt);border-left:3px solid var(--akzent);
  padding-left:var(--r3)}

.tel{position:fixed;left:0;right:0;bottom:0;z-index:45;display:none;gap:var(--r3);
  padding:var(--r3) var(--r4) calc(var(--r3) + env(safe-area-inset-bottom));
  background:color-mix(in srgb,var(--grund) 94%,transparent);backdrop-filter:blur(14px);
  border-top:1px solid var(--linie)}
.tel .knopf{flex:1}
@media(max-width:720px){.tel{display:flex}body{padding-bottom:86px}}

.angebot{background:var(--tinte);color:var(--grund);text-align:center;padding-block:var(--luft)}
.angebot h2{color:var(--grund)}
.angebot p{color:color-mix(in srgb,var(--grund) 76%,var(--tinte));margin-inline:auto}
.angebot__vertrauen{margin-top:var(--r3);font-weight:600;
  color:color-mix(in srgb,var(--grund) 92%,var(--tinte))!important;max-width:48ch}
.angebot__tat{display:flex;flex-wrap:wrap;gap:var(--r3);justify-content:center;margin-top:var(--r5)}
.angebot .knopf{background:var(--akzent);border-color:var(--akzent);color:var(--auf-akzent)}
.angebot .knopf--rand{background:transparent;border-color:currentColor;color:inherit}

/* ======================================================================
   KUNDENVORSCHAU — unser Anteil an einer Seite, die uns nicht gehört

   ⛔ 07.08.2026, auf 390 px nachgemessen: Band 91 px + Fotohinweis 105 px +
   Angebotsblock 502 px + Fuss 181 px = 879 px von 1788 px. Wir waren 49 %
   der Seite, der Betrieb 42 %. Sun: „man muss echt nicht hier zur zahlung
   gross anzeigen."

   Wie es die machen, die es können: WordPress-Adminleiste 32 px (46 px auf
   dem Telefon), Shopify-Ankündigungsleiste 39 px, Webflow-Signatur 26 px,
   Squarespace bewirbt sein eigenes Produkt auf der eigenen Demo mit einer
   Karte von 243 × 76 px — 9 % der Höhe eines 844-px-Schirms. Keiner von
   ihnen legt einen VerkaufsABSCHNITT in die fremde Seite.

   Zielbudget hier: unter 15 % der Seitenhöhe, ein Preis, ein Knopf.
   ====================================================================== */
.band--kunde{min-height:36px;padding:var(--r1) var(--r3);gap:var(--r2) var(--r3);
  justify-content:space-between;flex-wrap:nowrap;font-size:13px}
.band--kunde .band__satz{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
/* Kein Knopf im Band. Ein Knopf ist eine Aufforderung, und wir fordern hier
   nichts — der Kunde soll SEINE Seite ansehen. */
.band--kunde .band__weg{border:0;padding:0 var(--r1);min-height:32px;flex:none;
  text-decoration:underline;text-underline-offset:3px;opacity:.85;font-weight:500}
.band--kunde .band__weg:hover{background:none;opacity:1}
@media(max-width:640px){.band--kunde{min-height:44px;font-size:14px}}

.fotonote--schmal .fotonote__in{padding:var(--r2) var(--r4);gap:2px var(--r2);line-height:1.4}
.fotonote--schmal b{font-size:var(--t-label)}
.fotonote--schmal i{font-size:var(--t-label)}

/* --- Sprachumschalter ---------------------------------------------------
   ⛔ Er sitzt im Kopf SEINER Seite, nicht in unserem Band. Im Band wäre er
   ein Werkzeug von uns; im Kopf ist er eine Eigenschaft seiner Website —
   und genau die verkaufen wir ihm („ภาษาไทยและอังกฤษ").

   Keine Flaggen (eine Flagge ist ein Land, keine Sprache). Trefferflächen
   nach WCAG 2.5.8: mindestens 24 × 24 px, hier 44 × 32 px, auf dem Telefon
   40 × 36 px. Der aktive Zustand ist eine gefüllte Fläche PLUS Fettung —
   nie allein eine Farbe (Sprünglis Goldton schafft nur 2,8:1). */
.kopf__rechts{display:flex;align-items:center;gap:var(--r3);min-width:0}
.sprachen{display:inline-flex;align-items:center;gap:2px;padding:2px;flex:none;
  border:1px solid var(--linie);border-radius:999px;background:var(--flaeche)}
.sprachen a{display:inline-flex;align-items:center;justify-content:center;
  min-width:44px;min-height:32px;padding:0 var(--r2);border-radius:999px;
  font-size:var(--t-label);font-weight:600;color:var(--matt);white-space:nowrap;
  transition:background var(--kurz) var(--raus),color var(--kurz) var(--raus)}
.sprachen a:hover{color:var(--tinte)}
.sprachen abbr{text-decoration:none;border:0;cursor:inherit}
.sprachen a[aria-current]{background:var(--tinte);color:var(--grund);font-weight:700}
@media(max-width:640px){.sprachen a{min-width:40px;min-height:36px;font-size:12px}}

/* --- Der leise Hinweis am Fuss ------------------------------------------ */
.hinweis{border-top:1px solid var(--linie);background:var(--flaeche);padding-block:var(--r4)}
.hinweis p{margin:0;max-width:64ch;font-size:var(--t-klein);color:var(--matt);line-height:1.5}
.hinweis__marke{font-weight:700;color:var(--tinte)!important;font-size:var(--t-label)!important;
  letter-spacing:.12em;text-transform:uppercase}
.hinweis__satz{margin-top:var(--r2)!important;color:var(--tinte)!important}
.hinweis__preis{margin-top:var(--r2)!important}
.hinweis__mwst{margin-top:var(--r1)!important;font-size:var(--t-label)!important;opacity:.8}
.hinweis__tat{display:flex;flex-wrap:wrap;align-items:center;gap:var(--r3);margin-top:var(--r4)}
.knopf--klein{min-height:44px;padding:0 var(--r4);font-size:var(--t-klein)}
.hinweis__wir{font-size:var(--t-klein);color:var(--matt);text-decoration:underline;
  text-underline-offset:3px;min-height:44px;display:inline-flex;align-items:center}
.hinweis__wir:hover{color:var(--tinte)}
/* Die zur Überschrift beförderte Augenbraue — siehe h1Sichern. */
.seitentitel{font-size:var(--t-h2);letter-spacing:var(--spur);text-transform:none;
  color:var(--tinte);margin-bottom:var(--r3)}

/* --- Das Logo des Kunden ------------------------------------------------
   Vollständig sichtbar (object-fit contain), nie beschnitten, auf ruhiger
   Fläche — ein Logo verträgt keinen Anschnitt, dafür ist es gezeichnet. */
.marke--logo{flex-direction:row;align-items:center;gap:var(--r3);max-width:62vw;white-space:normal}
.marke__logo{width:44px;height:44px;flex:none;border-radius:var(--r-klein);
  /* Weiss, nicht die Seitenfarbe: fast jedes eingesandte Logo hat selbst
     einen weissen Grund. Auf hellblau ergäbe das ein weisses Rechteck mitten
     im Kopf — mit Rahmen und Radius liest es sich als Logoplatte. */
  object-fit:contain;background:#fff;border:1px solid var(--linie);padding:3px}
.marke__wort{display:flex;flex-direction:column;justify-content:center;min-width:0;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.fuss{font-size:var(--t-klein);color:var(--matt);padding-block:var(--r6);
  border-top:1px solid var(--linie)}
.fuss a{color:var(--akzent-text);text-decoration:underline;text-underline-offset:3px}


/* Bewegung: 240 ms Eingang, ease-out, nur transform und opacity. */
[data-auf]{opacity:0;transform:translateY(14px);
  transition:opacity var(--lang) var(--raus),transform var(--lang) var(--raus)}
[data-auf].da{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;
    transition-duration:.01ms!important;scroll-behavior:auto!important}
  [data-auf]{opacity:1;transform:none}
}


.wrap{width:min(100% - 40px,var(--breit));margin-inline:auto}
.sec{padding-block:var(--luft);position:relative}
.eyebrow{font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--matt);font-weight:600}
.lead{color:var(--matt);font-size:clamp(16.5px,1.7vw,19px);max-width:60ch}
.muster{background-image:var(--muster);background-size:cover;background-position:center}

:root{--breit:1220px}
/* ⛔ Der Kopf lag transparent über der Bühne: visuell dunkel, GEMESSEN hell —
   weißer Ladenname auf hellem Papier, 1,07:1. Ein transparenter Kopf ist nicht
   prüfbar, also bekommt er einen echten Schleier. Sieht besser aus und misst. */
.kopf{position:sticky;top:0;z-index:30;border:0;
  background:color-mix(in srgb,var(--tinte) 86%,transparent);
  backdrop-filter:blur(16px) saturate(1.2)}
.kopf__in{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:20px}
.nav{display:flex;gap:20px;font-size:15px}
.buehne{position:relative;min-height:clamp(500px,78vh,780px);display:grid;align-items:end;
  background-image:var(--foto);background-size:cover;background-position:center}
.buehne::after{content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.5) 0%,rgba(0,0,0,.18) 38%,rgba(0,0,0,.82) 100%)}
/* ⛔ Weiße Schrift auf einem Foto ist NICHT messbar: der Prüfer findet keinen
   festen Hintergrund und rechnet gegen das helle Papier — 1,06:1. Schlimmer
   als der Messwert ist die Wirklichkeit: bei einem hellen Foto verschwindet
   der Text tatsächlich. Der Textblock bekommt deshalb eine eigene, dunkle
   Fläche. Sie misst, sie garantiert, und sie sieht bewusster aus als ein
   Schlagschatten. */
.buehne__in{position:relative;z-index:2;color:#fff;
  background:rgba(6,8,15,.72);backdrop-filter:blur(18px) saturate(1.15);
  border:1px solid rgba(255,255,255,.14);border-radius:var(--r-gross);
  padding:clamp(26px,4vw,44px);margin-bottom:clamp(24px,4vw,52px);
  max-width:min(100%,760px)}
.buehne h1{font-size:clamp(42px,9vw,110px);line-height:.96;letter-spacing:-.04em;
  text-shadow:0 2px 30px rgba(0,0,0,.35)}
.buehne .lead,.buehne .eyebrow{color:rgba(255,255,255,.94)}
.buehne .knopf{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.34);color:#fff;
  backdrop-filter:blur(12px)}
/* ⛔ Nicht das geerbte Weiß der Bühne benutzen. Welche Schrift auf dem Akzent
   misst, hat das Designsystem ausgerechnet — mal Weiß, mal Schwarz. Hier stand
   Weiß erzwungen und fiel auf 4,29:1. */
.buehne .knopf--haupt{background:var(--akzent);border-color:var(--akzent);
  color:var(--auf-akzent)}
/* ⛔ Nur dort weiß, wo der Kopf WIRKLICH über der dunklen Bühne liegt. Auf den
   Unterseiten ohne Bühne stand weißer Ladenname auf hellem Papier — gemessen
   1,07:1. Die has()-Abfrage fragt die Seite, statt es zu vermuten. */
.kopf .marke,.kopf .nav a{color:var(--grund)}
.kopf .marke small{color:color-mix(in srgb,var(--grund) 74%,var(--tinte))}
.kopf .nav a:hover,.kopf .nav a[aria-current]{color:var(--grund);border-color:var(--akzent)}
.versatz{margin-top:calc(var(--luft) * -.5);position:relative;z-index:3}
.tafeln{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px}
.tafel{background:var(--flaeche);border:1px solid var(--linie);border-radius:var(--r);padding:26px;
  box-shadow:var(--schatten)}



