/* ===================================================================
   Svájci Háziorvos — Landingpage
   Gestaltung übernommen aus dem TRTDoc-Child-Theme: gleiche Farben,
   gleiche Radien, gleiche Knöpfe, gleiche Bänder, gleiche Bewegung.
   Alle Regeln sind unter #sv gekapselt.
   =================================================================== */

body.svajci-landing{margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:110px}

/* =========================== Reset ================================ */
#sv,#sv *,#sv *::before,#sv *::after{
  box-sizing:border-box;margin:0;padding:0;border:0;outline:0;
  background:transparent;color:inherit;font:inherit;font-size:100%;
  letter-spacing:inherit;text-transform:none;text-decoration:none;
  text-align:inherit;vertical-align:baseline;float:none;position:static;
  box-shadow:none;text-shadow:none;transform:none;filter:none;
  border-radius:0;line-height:inherit;white-space:normal}

/* Grössenangaben bewusst NUR auf HTML-Elemente. Auf SVG-Formen würde
   width:auto die Geometrie auf 0 setzen und die Symbole verschwinden. */
#sv,#sv header,#sv footer,#sv section,#sv main,#sv nav,#sv div,#sv p,#sv ul,
#sv ol,#sv li,#sv h1,#sv h2,#sv h3,#sv h4,#sv span,#sv a,#sv button,#sv details,
#sv summary,#sv input,#sv label,#sv strong,#sv b,#sv i,#sv em,#sv small,
#sv blockquote,#sv picture{
  min-width:0;max-width:none;min-height:0;width:auto;height:auto}

#sv img,#sv svg,#sv picture,#sv source{max-width:100%;display:block;filter:none}
#sv details>summary{list-style:none}
#sv details ul{list-style:disc}
#sv details ul li{list-style:disc;display:list-item}
#sv button,#sv input,#sv a{font:inherit;color:inherit;background:none;cursor:pointer;
  -webkit-appearance:none;appearance:none}
#sv input[type=search]{-webkit-appearance:none}

/* ====================== Gestaltungswerte ==========================
   Werte eins zu eins aus dem TRTDoc-Child-Theme.
   ================================================================== */
#sv{
  --petrol:#00405E;
  --petrol-mid:#005F89;
  --cyan:#009EE3;
  --cyan-lt:#7FD2F3;
  --cyan-txt:#0076AB;
  --ink:#0C2632;
  --body:#16303D;
  --line:rgba(12,38,50,.10);
  --line-soft:rgba(12,38,50,.06);
  --card:#E9F1F7;

  /* Einheitliche Radien — gleiche Form überall */
  --r-xl:32px; --r-lg:24px; --r-md:18px; --r-sm:12px; --r-pill:18px; --r-chip:14px;

  --wrap:1180px;
  --ease:cubic-bezier(.22,.7,.28,1);
  --ease-aus:cubic-bezier(.21,.78,.28,1);
  --ease-ein:cubic-bezier(.4,0,.72,.3);
  --sans:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Segoe UI",Roboto,"Helvetica Neue",Arial,system-ui,sans-serif;

  /* Akzentfarben — ausschliesslich für die vier Vorteilskarten,
     die so bleiben sollen wie sie sind. Überall sonst gilt
     die einfarbige Markenlogik von TRTDoc. */
  --a-green:#16A96B;
  --a-amber:#E8981C;
  --a-violet:#7A5AF0;
  --a-teal:#0FA2A0;
}

#sv *,#sv *::before,#sv *::after{box-sizing:border-box}

#sv{margin:0;font-family:var(--sans);font-size:17.5px;line-height:1.68;color:var(--body);
  -webkit-font-smoothing:antialiased;font-optical-sizing:auto;background:#EFF5F9;
  overflow-x:clip}

#sv .t-wrap{max-width:var(--wrap);margin:0 auto;padding:0 26px}
#sv .t-center{text-align:center}
#sv .t-center .t-lede,#sv .t-center>p{margin-left:auto;margin-right:auto}
#sv .t-nurlesen{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ============================ Bänder ============================== */
#sv .t-band{position:relative;overflow:hidden;padding:112px 0}
#sv .t-band-light{background:#FFFFFF}
#sv .t-band-tint{background:#E9F1F7}
#sv .t-band-dark{background:linear-gradient(158deg,#00486A,#00405E 50%,#00344E);color:#fff}

#sv .t-band-dark::before{content:"";position:absolute;width:780px;height:780px;border-radius:50%;
  background:radial-gradient(circle,rgba(0,160,220,.26),transparent 66%);
  top:-320px;right:-220px;pointer-events:none}
#sv .t-band-dark::after{content:"";position:absolute;width:600px;height:600px;border-radius:50%;
  background:radial-gradient(circle,rgba(127,214,248,.14),transparent 68%);
  bottom:-280px;left:-200px;pointer-events:none}
#sv .t-band>.t-wrap{position:relative;z-index:2}

#sv .t-band-dark h2,#sv .t-band-dark h3,#sv .t-band-dark h4{color:#fff}
#sv .t-band-dark p,#sv .t-band-dark .t-lede,#sv .t-band-dark li{color:#D6E8F2}
#sv .t-band-dark .t-big{color:var(--cyan-lt)}
#sv .t-band-dark .t-tile{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.13);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 18px 44px rgba(0,20,32,.24)}
#sv .t-band-dark .t-btn-solid{background:#fff;color:var(--petrol)}
#sv .t-band-dark .t-btn-solid:hover{background:#E6F3FA;color:var(--petrol)}
#sv .t-band-dark .t-btn:hover{box-shadow:0 14px 32px rgba(0,0,0,.34)}
#sv .t-band-dark .t-stepn{color:var(--cyan-lt);background:rgba(255,255,255,.12);
  border-color:rgba(255,255,255,.22)}
#sv .t-band-dark .t-step{border-color:rgba(255,255,255,.14)}
#sv .t-band-dark .t-step:hover{background:rgba(255,255,255,.13);
  border-color:rgba(127,214,248,.5);box-shadow:0 18px 44px rgba(0,20,32,.34)}
#sv .t-band-dark .t-ic-akz{color:var(--cyan-lt)}

/* ========================== Typografie ============================ */
#sv h1,#sv h2,#sv h3,#sv h4{color:var(--ink);margin:0 0 20px;line-height:1.08;font-weight:600;
  letter-spacing:-.032em}
#sv h1{font-size:clamp(1.7rem,3.05vw,2.6rem);line-height:1.12;letter-spacing:-.04em;font-weight:700}
#sv h2{font-size:clamp(1.7rem,3.2vw,2.65rem);letter-spacing:-.036em;font-weight:700}
#sv h3{font-size:1.16rem;letter-spacing:-.022em;line-height:1.34;margin-bottom:10px;font-weight:600}
#sv h4{font-size:1rem;font-weight:700;letter-spacing:-.02em;margin:0 0 12px}
#sv p{margin:0 0 18px}
#sv p:last-child{margin-bottom:0}
#sv .t-lede{font-size:1.16rem;max-width:700px;font-weight:450;color:var(--body);letter-spacing:-.012em}
#sv strong,#sv b{font-weight:650;color:var(--ink)}
#sv .t-band-dark strong,#sv .t-band-dark b{color:#fff}

#sv .t-sec-head{margin-bottom:52px;max-width:800px}
#sv .t-sec-head.t-center{margin-left:auto;margin-right:auto}
#sv .t-sec-head h2{margin-bottom:14px}
#sv .t-sec-head .t-lede{margin-bottom:0}

/* Statement */
#sv .t-big{font-size:clamp(3.4rem,7.6vw,5.8rem);font-weight:600;color:var(--petrol-mid);
  line-height:.92;letter-spacing:-.05em;display:block;margin-bottom:16px}

/* ============================ Symbole ============================= */
#sv .t-ic{width:1.15em;height:1.15em;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.9;
  stroke-linecap:round;stroke-linejoin:round}
#sv .t-ic-fill{fill:currentColor;stroke:none}
#sv .t-btn .t-ic{width:19px;height:19px}
#sv .t-ic-akz{color:var(--cyan-txt)}

/* ========================= Schaltflächen ==========================
   Form, Farbe und Bewegung eins zu eins aus TRTDoc.
   ================================================================== */
#sv .t-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:inherit;
  font-weight:600;font-size:1.01rem;padding:16px 34px;border-radius:var(--r-pill);text-decoration:none;
  border:1.5px solid transparent;letter-spacing:-.014em;cursor:pointer;white-space:nowrap;max-width:100%;
  transition:transform .25s var(--ease),background .25s,box-shadow .25s,color .25s,border-color .25s}

#sv .t-btn:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(0,64,94,.26)}
#sv .t-btn:active{transform:translateY(-1px);box-shadow:0 6px 15px rgba(0,64,94,.22)}
#sv .t-btn:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}

#sv .t-btn-solid{background:var(--petrol-mid);color:#fff}
#sv .t-btn-solid:hover{background:var(--petrol);box-shadow:0 12px 30px rgba(0,158,227,.34)}

#sv .t-btn-white{background:#fff;color:var(--petrol)}
#sv .t-btn-white:hover{background:#E9F4FA;box-shadow:0 12px 30px rgba(0,158,227,.30)}

#sv .t-btn-outline{background:rgba(255,255,255,.6);color:var(--petrol-mid);border-color:var(--line)}
#sv .t-btn-outline:hover{border-color:var(--cyan);color:var(--cyan-txt);background:#fff}

#sv .t-btn-sm{padding:11px 22px;font-size:.94rem}
#sv .t-hero .t-btn:hover{box-shadow:0 14px 32px rgba(0,0,0,.34)}

/* =========================== Kopfzeile ============================ */
#sv header{position:sticky;top:0;z-index:60;background:rgba(246,250,252,.66);
  -webkit-backdrop-filter:blur(30px) saturate(180%);backdrop-filter:blur(30px) saturate(180%);
  transition:box-shadow .3s,background .3s;border-bottom:1px solid transparent}
#sv header.t-scrolled{background:rgba(248,251,253,.88);border-bottom-color:var(--line-soft);
  box-shadow:0 8px 30px rgba(12,38,50,.06)}

#sv .t-hd{display:flex;align-items:center;height:92px;gap:26px;transition:height .3s var(--ease)}
#sv header.t-scrolled .t-hd{height:74px}

#sv .t-logo{display:inline-flex;align-items:center;gap:12px;text-decoration:none;flex:0 0 auto;min-height:44px}
#sv .t-logo-m{width:40px;height:40px;border-radius:12px;flex:0 0 40px;background:var(--petrol-mid);
  display:flex;align-items:center;justify-content:center;color:#fff;transition:all .3s var(--ease)}
#sv .t-logo-m .t-ic{width:22px;height:22px}
#sv header.t-scrolled .t-logo-m{width:34px;height:34px;flex-basis:34px;border-radius:10px}
#sv .t-logo b{font-size:1.12rem;font-weight:700;color:var(--ink);letter-spacing:-.03em;line-height:1.1}

#sv header nav{display:flex;gap:24px;margin-left:auto;margin-right:6px}
#sv header nav a{font-size:.96rem;font-weight:500;color:var(--body);text-decoration:none;position:relative;
  padding:8px 0;letter-spacing:-.01em}
#sv header nav a::after{content:"";position:absolute;left:0;right:100%;bottom:2px;height:2px;
  background:var(--cyan-txt);border-radius:2px;transition:right .3s var(--ease)}
#sv header nav a:hover,#sv header nav a.t-active{color:var(--ink)}
#sv header nav a:hover::after,#sv header nav a.t-active::after{right:0}

#sv .t-prog{position:absolute;left:0;bottom:0;height:3px;width:0;
  background:linear-gradient(90deg,var(--cyan-txt),var(--cyan));border-radius:0 3px 3px 0;
  transition:width .1s linear}

/* Hamburger */
#sv .t-burger{display:none;width:46px;height:46px;border-radius:var(--r-sm);align-items:center;
  justify-content:center;flex-direction:column;gap:5px;border:1px solid var(--line);background:#fff;
  flex:0 0 46px;transition:border-color .25s}
#sv .t-burger i{display:block;width:19px;height:2px;background:var(--ink);border-radius:2px;
  transition:transform .3s var(--ease),opacity .25s}
#sv .t-burger.t-open i:nth-child(1){transform:translateY(7px) rotate(45deg)}
#sv .t-burger.t-open i:nth-child(2){opacity:0}
#sv .t-burger.t-open i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* Mobiles Menü — Zustand hängt an .t-open, nicht an [hidden]:
   eine display-Regel würde hidden überstimmen und das Menü liesse
   sich dann nicht mehr schliessen. */
#sv .t-mnav{position:fixed;left:0;right:0;top:var(--hd-h,92px);z-index:59;background:#fff;
  border-bottom:1px solid var(--line);box-shadow:0 18px 40px rgba(12,38,50,.14);
  opacity:0;visibility:hidden;transform:translateY(-12px);
  transition:opacity .28s var(--ease),transform .28s var(--ease),visibility .28s}
#sv .t-mnav.t-open{opacity:1;visibility:visible;transform:translateY(0)}
/* Entfernt: `#sv .t-mnav>a{display:block;line-height:58px}` traf auch
   den Knopf im Vollbildmenü und zerlegte dessen Innenausrichtung —
   das Symbol sass dadurch neben statt neben der Beschriftung. */
#sv .t-mnav-cta{padding:20px 24px 26px}
#sv .t-mnav-cta .t-btn{width:100%}
#sv .t-scrim{position:fixed;inset:0;z-index:58;background:rgba(6,24,34,.42);
  opacity:0;visibility:hidden;transition:opacity .28s,visibility .28s}
#sv .t-scrim.t-open{opacity:1;visibility:visible}

/* ============================= Hero =============================== */
#sv .t-hero{position:relative;overflow:visible;overflow-x:clip;
  background:linear-gradient(155deg,#00486A 0%,#00405E 46%,#00344E 100%);color:#fff}
#sv .t-hero-glow{position:absolute;inset:0;overflow:hidden;z-index:0;pointer-events:none}
#sv .t-hero-glow::before{content:"";position:absolute;width:820px;height:820px;border-radius:50%;
  background:radial-gradient(circle,rgba(0,160,220,.38),transparent 66%);
  top:-330px;right:-220px;animation:sv-drift 28s ease-in-out infinite alternate}
#sv .t-hero-glow::after{content:"";position:absolute;width:620px;height:620px;border-radius:50%;
  background:radial-gradient(circle,rgba(127,214,248,.16),transparent 68%);
  bottom:-300px;left:-200px;animation:sv-drift2 34s ease-in-out infinite alternate}

@keyframes sv-drift{to{transform:translate(-70px,70px) scale(1.14)}}
@keyframes sv-drift2{to{transform:translate(80px,-50px) scale(1.1)}}

#sv .t-heroA{display:grid;grid-template-columns:.86fr 1.14fr;gap:0 50px;align-items:stretch;
  padding-block:78px 90px;position:relative;z-index:2}
#sv .t-heroA>*{min-width:0}
#sv .t-h-copy{display:flex;flex-direction:column;gap:26px}
#sv .t-hero h1{color:#fff;margin-bottom:0}
#sv .t-hero .t-sub{font-size:1.14rem;color:#D6E8F2;font-weight:450;max-width:520px;margin:0;
  letter-spacing:-.012em}
/* Der Knopf sitzt am Fuss der Spalte, bündig mit der Unterkante der Karten. */
#sv .t-hero-cta{margin-top:auto;flex:0 0 auto;align-self:flex-start}

#sv .t-anrede{padding:2px 0 2px 22px;border-left:2px solid rgba(127,214,248,.55);margin:0}
#sv .t-anrede b{display:block;color:#fff;font-weight:600;font-size:1.02rem;line-height:1.4}
#sv .t-anrede span{display:block;color:#B2D6EA;font-size:.94rem;font-weight:450;line-height:1.5}

#sv .t-h-visual{display:flex;flex-direction:column;justify-content:space-between;gap:16px}
#sv .t-h-photo{position:relative}
#sv .t-h-photo::before{content:"";position:absolute;inset:-8% -6% -14%;border-radius:50%;
  background:radial-gradient(ellipse,rgba(0,160,220,.4),transparent 66%);filter:blur(48px);z-index:0}
#sv .t-h-photo .t-ph{position:relative;z-index:1;border-radius:26px;overflow:hidden;
  box-shadow:0 44px 100px rgba(0,12,20,.5),0 0 0 1px rgba(255,255,255,.10)}
#sv .t-h-photo .t-ph img{width:100%;aspect-ratio:1.62;object-fit:cover}

#sv .t-hero-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;position:relative;z-index:2}
#sv .t-hero-card{position:relative;display:flex;align-items:flex-start;gap:11px;padding:15px 17px;
  border-radius:var(--r-md);color:var(--ink);max-width:none;
  background:rgba(255,255,255,.94);border:1px solid rgba(255,255,255,.96);
  -webkit-backdrop-filter:blur(34px) saturate(200%);backdrop-filter:blur(34px) saturate(200%);
  box-shadow:0 18px 42px rgba(0,14,24,.30),inset 0 1px 0 rgba(255,255,255,1),
             inset 0 -1px 0 rgba(12,38,50,.05);
  transition:transform .25s var(--ease),background .25s,box-shadow .25s var(--ease)}
#sv .t-hero-card:hover{transform:translateY(-3px)}
#sv .t-hero-card .t-ic{width:19px;height:19px;color:var(--petrol-mid);flex:0 0 auto;margin-top:3px;
  stroke-width:2.2}
#sv .t-hero-card b{display:block;font-size:.96rem;font-weight:650;color:var(--ink);line-height:1.32}
#sv .t-hero-card span{display:block;font-size:.86rem;color:#456C7C;font-weight:450;line-height:1.4}

/* ===================== Glasebenen und Kacheln ===================== */
#sv .t-tile{background:rgba(255,255,255,.62);
  -webkit-backdrop-filter:blur(20px) saturate(160%);backdrop-filter:blur(20px) saturate(160%);
  border:1px solid rgba(255,255,255,.8);border-radius:var(--r-lg);
  box-shadow:0 8px 26px rgba(12,38,50,.055);padding:30px 28px;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease)}
#sv .t-tile:hover{transform:translateY(-3px);box-shadow:0 18px 44px rgba(0,64,94,.15);
  border-color:rgba(0,158,227,.45)}
#sv .t-tile p{font-size:1.02rem;font-weight:450;margin:0}

@supports not (backdrop-filter:blur(1px)){
  #sv .t-tile{background:rgba(255,255,255,.9)}
}

#sv .t-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
#sv .t-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
#sv .t-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}

/* Symbolfläche in Kacheln */
#sv .t-ibox{width:52px;height:52px;border-radius:16px;display:flex;align-items:center;
  justify-content:center;margin-bottom:18px;color:var(--petrol-mid);
  background:rgba(0,158,227,.10);border:1px solid rgba(0,158,227,.16);
  transition:background .3s,transform .3s var(--ease)}
#sv .t-ibox .t-ic{width:25px;height:25px}
#sv .t-tile:hover .t-ibox{transform:scale(1.06)}
#sv .t-band-dark .t-ibox{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.2);color:#fff}

/* ============ Vier Vorteilskarten — bleiben farbig ================
   Dieser Abschnitt gefällt so, wie er ist. Er behält deshalb seine
   Akzentfarben, während der Rest der Seite einfarbig bleibt.
   ================================================================== */
#sv .t-feat{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
#sv .t-feat-c{padding:34px 26px;border-radius:var(--r-lg);background:rgba(255,255,255,.62);
  -webkit-backdrop-filter:blur(20px) saturate(160%);backdrop-filter:blur(20px) saturate(160%);
  border:1px solid rgba(255,255,255,.8);box-shadow:0 8px 26px rgba(12,38,50,.055);text-align:center;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease)}
#sv .t-feat-c:hover{transform:translateY(-3px);box-shadow:0 18px 44px rgba(0,64,94,.15)}
#sv .t-feat-c .t-ibox{margin:0 auto 20px;width:62px;height:62px;border-radius:19px;
  color:var(--ak,var(--petrol-mid));background:rgba(0,158,227,.10);border-color:rgba(0,158,227,.16)}
#sv .t-feat-c .t-ibox .t-ic{width:30px;height:30px}
#sv .t-feat-c b{display:block;font-size:1.2rem;font-weight:700;color:var(--ink);
  letter-spacing:-.028em;line-height:1.25;margin-bottom:8px}
#sv .t-feat-c span{display:block;font-size:.98rem;line-height:1.5;color:var(--body);font-weight:450}

@supports (color:color-mix(in srgb,red 50%,blue)){
  #sv .t-feat-c .t-ibox{background:color-mix(in srgb,var(--ak,var(--cyan)) 11%,transparent);
    border-color:color-mix(in srgb,var(--ak,var(--cyan)) 18%,transparent)}
  #sv .t-feat-c:hover{border-color:color-mix(in srgb,var(--ak,var(--cyan)) 40%,transparent)}
}

/* ====================== Wiedererkennungsliste ===================== */
#sv .t-blist{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
#sv .t-blist li{display:flex;align-items:flex-start;gap:14px;font-size:1.06rem;font-weight:450;
  line-height:1.55;background:rgba(255,255,255,.62);
  -webkit-backdrop-filter:blur(20px) saturate(160%);backdrop-filter:blur(20px) saturate(160%);
  border:1px solid rgba(255,255,255,.8);border-radius:var(--r-md);padding:20px 22px;
  transition:transform .3s var(--ease),border-color .3s var(--ease),box-shadow .3s var(--ease)}
#sv .t-blist li:hover{transform:translateY(-3px);border-color:rgba(0,158,227,.45);
  box-shadow:0 14px 34px rgba(0,64,94,.13)}
#sv .t-blist .t-ic{width:21px;height:21px;margin-top:4px;color:var(--cyan-txt);flex:0 0 auto}

/* ============================ Schritte ============================ */
#sv .t-steps{display:grid;gap:14px;max-width:900px;margin:0 auto}
#sv .t-step{display:grid;grid-template-columns:52px 1fr;gap:24px;padding:26px 28px;
  border-radius:var(--r-md);align-items:start;border:1px solid rgba(12,38,50,.10);
  transition:transform .3s var(--ease),box-shadow .3s var(--ease),background .3s,border-color .3s}
#sv .t-step:hover{transform:translateY(-3px);box-shadow:0 18px 44px rgba(0,64,94,.17);
  background:#fff;border-color:rgba(0,158,227,.45)}
#sv .t-stepn{width:52px;height:52px;border-radius:16px;display:flex;align-items:center;
  justify-content:center;font-size:1.35rem;font-weight:600;line-height:1;letter-spacing:-.02em;
  font-variant-numeric:tabular-nums;color:var(--petrol-mid);background:rgba(0,158,227,.10);
  border:1px solid rgba(0,158,227,.16);transition:background .3s,color .3s,transform .3s var(--ease)}
#sv .t-step:hover .t-stepn{transform:scale(1.05)}
#sv .t-step h3{margin-bottom:6px}
#sv .t-step p{font-size:1.02rem;font-weight:450;margin:0}
#sv .t-dur{display:inline-block;margin-top:12px;padding:5px 13px;border-radius:var(--r-chip);
  background:rgba(0,158,227,.12);color:var(--cyan-txt);font-size:.86rem;font-weight:600}
#sv .t-band-dark .t-dur{background:rgba(255,255,255,.14);color:var(--cyan-lt)}

/* ========================= Praxis-Karten ========================== */
#sv .t-prax{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
#sv .t-prax-c{position:relative;border-radius:var(--r-lg);overflow:hidden;
  background:rgba(255,255,255,.62);
  -webkit-backdrop-filter:blur(20px) saturate(160%);backdrop-filter:blur(20px) saturate(160%);
  border:1px solid rgba(255,255,255,.8);box-shadow:0 8px 26px rgba(12,38,50,.055);
  display:flex;flex-direction:column;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease)}
#sv .t-prax-c:hover{transform:translateY(-3px);box-shadow:0 18px 44px rgba(0,64,94,.17);
  border-color:rgba(0,158,227,.45)}
#sv .t-prax-c picture{overflow:hidden}
#sv .t-prax-c img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .6s var(--ease)}
#sv .t-prax-c:hover img{transform:scale(1.05)}
#sv .t-prax-b{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1}
#sv .t-prax-b h3{margin-bottom:5px;font-size:1.18rem}
#sv .t-prax-adr{font-size:.94rem;line-height:1.45;color:var(--body);font-weight:450}
#sv .t-prax-kt{display:inline-flex;align-items:center;align-self:flex-start;margin-top:12px;
  padding:5px 12px;border-radius:var(--r-chip);font-size:.8rem;font-weight:600;
  background:rgba(0,158,227,.12);color:var(--cyan-txt)}
#sv .t-prax-map{display:inline-flex;align-items:center;gap:7px;margin-top:auto;padding-top:16px;
  font-size:.94rem;font-weight:600;color:var(--cyan-txt)}
#sv .t-prax-map .t-ic{width:16px;height:16px;transition:transform .25s var(--ease)}
#sv .t-prax-c:hover .t-prax-map .t-ic:last-child{transform:translateX(3px)}

/* ============================== FAQ ===============================
   Steht bewusst auf dem hellblauen Band. Die Fragen sind leicht
   durchscheinend weiss und heben sich dadurch deutlich ab.
   ================================================================== */
#sv .t-faq-tools{display:flex;gap:11px;flex-wrap:wrap;align-items:center;margin-bottom:34px}
#sv .t-chip{background:#fff;border:1.5px solid var(--line);border-radius:var(--r-chip);
  padding:11px 22px;font:inherit;font-size:.96rem;font-weight:600;color:var(--ink);cursor:pointer;
  transition:all .25s var(--ease)}
#sv .t-chip:hover{border-color:var(--cyan-txt);transform:translateY(-2px)}
#sv .t-chip.t-active{background:var(--petrol-mid);border-color:var(--petrol-mid);color:#fff}

#sv .t-search{flex:1 1 240px;min-width:220px;position:relative}
#sv .t-search input{width:100%;background:#fff;border:1.5px solid var(--line);
  border-radius:var(--r-chip);padding:12px 20px;font:inherit;font-size:.96rem;color:var(--ink);
  transition:border-color .25s,box-shadow .25s}
#sv .t-search input::placeholder{color:#3D5C69;font-weight:450}
#sv .t-search input:focus{border-color:var(--cyan);box-shadow:0 0 0 4px rgba(0,158,227,.14);outline:none}

#sv .t-faqcat{margin-bottom:30px}
#sv .t-faqcat[hidden]{display:none}
#sv .t-faqcat h4{font-size:1rem;font-weight:700;color:var(--ink);margin:0 0 12px;letter-spacing:-.02em}

#sv details{border:1px solid rgba(12,38,50,.12);border-radius:var(--r-md);margin-bottom:10px;
  background:rgba(255,255,255,.72);
  transition:border-color .3s var(--ease),box-shadow .35s var(--ease),background .3s var(--ease),
  transform .3s var(--ease)}
#sv details:hover{background:#fff;border-color:rgba(0,158,227,.5);box-shadow:0 10px 26px rgba(0,64,94,.13)}
#sv details[open]{border-color:var(--petrol-mid);background:#fff;
  box-shadow:0 16px 40px rgba(0,64,94,.17);transform:translateY(-1px)}
#sv details[open] summary{background:rgba(0,158,227,.06);border-radius:var(--r-md) var(--r-md) 0 0}
#sv details[hidden]{display:none}

#sv summary{padding:19px 24px;font-weight:600;font-size:1.04rem;color:var(--ink);cursor:pointer;
  list-style:none;display:flex;gap:22px;justify-content:space-between;align-items:flex-start;
  letter-spacing:-.018em;line-height:1.45;transition:color .25s var(--ease),padding .3s var(--ease)}
#sv summary::-webkit-details-marker{display:none}
#sv summary i{flex:0 0 16px;height:16px;margin-top:5px;position:relative}
#sv summary i::before,#sv summary i::after{content:"";position:absolute;background:var(--cyan-txt);
  border-radius:2px;transition:transform .4s var(--ease),opacity .3s var(--ease)}
#sv summary i::before{left:0;top:7px;width:16px;height:2px}
#sv summary i::after{left:7px;top:0;width:2px;height:16px}
#sv details[open] summary i::before{transform:rotate(180deg)}
#sv details[open] summary i::after{transform:rotate(90deg);opacity:0}

#sv details p{margin:0 0 20px;font-size:1.02rem;font-weight:450;padding:0 24px}
#sv details ul{margin:0 0 20px;padding-left:46px;padding-right:24px;font-size:1.02rem;font-weight:450}
#sv details li{margin-bottom:6px}
#sv .t-noresult{padding:26px 0;font-weight:500}

/* FAQ: weiches Auf- und Zuklappen */
#sv .t-faq-body{height:0;overflow:hidden;will-change:height}
#sv .t-faq-inner{opacity:0;transform:translateY(-7px);
  transition:opacity .36s var(--ease-aus) .05s,transform .44s var(--ease-aus) .05s}
#sv details.t-opening .t-faq-inner,#sv details[open].t-done .t-faq-inner{opacity:1;transform:none}
#sv details.t-closing .t-faq-inner{opacity:0;transform:translateY(-5px);
  transition:opacity .16s var(--ease-ein),transform .2s var(--ease-ein)}

/* ============================ Über mich =========================== */
#sv .t-me{display:grid;grid-template-columns:.8fr 1.2fr;gap:52px;align-items:center}
#sv .t-me .t-ph{border-radius:26px;overflow:hidden;box-shadow:0 26px 60px rgba(0,40,62,.2)}
#sv .t-me img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 20%}
#sv .t-me a.t-link{color:var(--cyan-txt);font-weight:600;text-decoration:underline;
  text-underline-offset:3px}
#sv .t-me a.t-link:hover{color:var(--petrol-mid)}

/* ============================ Kontakt ============================= */
#sv .t-contact{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}
#sv .t-cc{display:flex;flex-direction:column;align-items:center;gap:10px;padding:36px 24px;
  border-radius:var(--r-lg);text-align:center;background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 18px 44px rgba(0,20,32,.24);
  transition:transform .3s var(--ease),background .3s,box-shadow .3s var(--ease),border-color .3s}
#sv .t-cc:hover{transform:translateY(-3px);background:rgba(255,255,255,.13);
  border-color:rgba(127,214,248,.5);box-shadow:0 18px 44px rgba(0,20,32,.34)}
#sv .t-cc .t-ibox{margin-bottom:4px;width:58px;height:58px;border-radius:18px;
  background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.2);color:#fff}
#sv .t-cc .t-ibox .t-ic{width:28px;height:28px}
#sv .t-cc b{font-size:1.1rem;color:#fff;font-weight:650;word-break:break-word;line-height:1.35}
#sv .t-cc span{font-size:.94rem;color:#B2D6EA;font-weight:450}

/* =========================== Fusszeile ============================ */
#sv footer{background:#00344E;color:#AECFE0;padding:52px 0 40px;font-size:.95rem;font-weight:450}
#sv .t-foot-in{display:flex;flex-wrap:wrap;gap:22px;align-items:center;justify-content:space-between}
#sv footer a{color:#D6E8F2;transition:color .25s}
#sv footer a:hover{color:#fff}
#sv .t-foot-l{display:flex;flex-wrap:wrap;gap:22px}

/* ==================== Einblenden beim Scrollen ==================== */
#sv.t-js .t-rv{opacity:0;transform:translateY(26px);
  transition:opacity .8s var(--ease),transform .8s var(--ease)}
#sv.t-js .t-rv.t-in{opacity:1;transform:none}
#sv.t-js .t-rv[data-d="1"]{transition-delay:.08s}
#sv.t-js .t-rv[data-d="2"]{transition-delay:.16s}
#sv.t-js .t-rv[data-d="3"]{transition-delay:.24s}

#sv a:focus-visible,#sv button:focus-visible,#sv summary:focus-visible,#sv input:focus-visible{
  outline:3px solid var(--cyan);outline-offset:3px;border-radius:6px}

/* ==================== Tablet quer — bis 1100px ==================== */
@media (max-width:1100px){
  #sv .t-band{padding:92px 0}
  #sv header nav{gap:18px}
  #sv header nav a{font-size:.91rem}
  #sv .t-heroA{gap:0 34px;padding-block:62px 74px}
  #sv .t-prax,#sv .t-grid-4,#sv .t-feat{grid-template-columns:repeat(2,1fr)}
  #sv .t-hero-cards{grid-template-columns:1fr;gap:10px}
  #sv .t-hero-card{padding:13px 15px}
}

/* ============ Tablet hoch und Mobil — bis 1000px ================== */
@media (max-width:1000px){
  #sv{--hd-h:64px}
  #sv .t-hd{height:64px;gap:14px}
  #sv header.t-scrolled .t-hd{height:58px}
  #sv .t-logo-m{width:34px;height:34px;flex-basis:34px;border-radius:10px}
  #sv header.t-scrolled .t-logo-m{width:30px;height:30px;flex-basis:30px}
  #sv header nav{display:none}
  #sv .t-wide-only{display:none}
  #sv .t-burger{display:flex;margin-left:auto}
  #sv .t-heroA{grid-template-columns:1fr;gap:34px;padding-block:52px 62px}
  #sv .t-h-copy{gap:22px}
  #sv .t-hero-cta{margin-top:0;align-self:stretch}
  #sv .t-hero-cta .t-btn{width:100%;justify-content:center;min-height:58px}
  #sv .t-hero-cards{grid-template-columns:repeat(3,1fr)}
  #sv .t-grid-2,#sv .t-grid-3,#sv .t-me{grid-template-columns:1fr}
  #sv .t-blist{grid-template-columns:1fr}
  #sv .t-me{gap:30px}
  #sv .t-me img{aspect-ratio:3/2;object-position:center 18%}
  #sv .t-contact{grid-template-columns:1fr}
  #sv .t-foot-in{flex-direction:column;text-align:center;gap:16px}
  html{scroll-padding-top:80px}
}

/* =============== Kleines Mobil — bis 640px ======================== */
@media (max-width:640px){
  #sv{font-size:16.5px}
  #sv .t-wrap{padding:0 20px}
  #sv .t-band{padding:66px 0}
  #sv .t-sec-head{margin-bottom:36px}
  #sv .t-prax,#sv .t-grid-4,#sv .t-feat,#sv .t-hero-cards{grid-template-columns:1fr}
  #sv .t-tile,#sv .t-feat-c{padding:26px 22px}
  #sv .t-step{grid-template-columns:44px 1fr;gap:16px;padding:22px 20px}
  #sv .t-stepn{width:44px;height:44px;border-radius:14px;font-size:1.2rem}
  #sv summary{padding:17px 18px;gap:14px;font-size:1rem}
  #sv details p{padding:0 18px}
  #sv details ul{padding-left:38px;padding-right:18px}
  #sv .t-chip{padding:10px 17px;font-size:.92rem}
  #sv .t-search{flex:1 1 100%}
  #sv .t-btn{padding:15px 26px}
}

@media (max-width:380px){
  #sv .t-logo b{font-size:1rem}
  #sv .t-btn{padding:14px 20px;font-size:.96rem}
}

/* ===================== Bewegung reduzieren ======================== */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  #sv *,#sv *::before,#sv *::after{
    animation-duration:.001ms!important;animation-iteration-count:1!important;
    transition-duration:.001ms!important}
  #sv.t-js .t-rv{opacity:1;transform:none}
  #sv .t-faq-body{transition:none!important}
  #sv .t-faq-inner{opacity:1!important;transform:none!important}
}

@media print{
  #sv header,#sv .t-mnav,#sv .t-scrim{display:none!important}
  #sv .t-band-dark,#sv .t-hero{background:#fff!important;color:#000!important}
}


/* ===================================================================
   PRAXISLOGOS
   Die Logos sind auf 150 px Höhe normalisiert und freigestellt.
   Es gibt sie zweimal: normal für helle Flächen, und als
   Negativfassung (-neg) für dunkle Bänder.
   =================================================================== */

/* Logo auf der Praxiskarte (Variante a und c) */
#sv .t-prax-logo{display:flex;align-items:center;justify-content:center;
  padding:30px 22px 22px;background:#fff;border-bottom:1px solid var(--line-soft)}
#sv .t-prax-logo img{height:62px;width:auto;max-width:100%;object-fit:contain;
  transition:transform .35s var(--ease)}
#sv .t-prax-c:hover .t-prax-logo img{transform:scale(1.04)}

/* Logoreihe auf dunklem Band (Variante b) */
#sv .t-logorow{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;
  align-items:center;margin-bottom:44px}
#sv .t-logo-l{display:flex;align-items:center;justify-content:center;padding:22px 16px;
  border-radius:var(--r-md);background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.13);
  transition:transform .3s var(--ease),background .3s,border-color .3s}
#sv .t-logo-l:hover{transform:translateY(-3px);background:rgba(255,255,255,.13);
  border-color:rgba(127,214,248,.5)}
#sv .t-logo-l img{height:60px;width:auto;max-width:100%;object-fit:contain}

/* Schlanke Adresszeilen unter der Logoreihe */
#sv .t-adrrow{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
#sv .t-adr{display:block;text-align:center}
#sv .t-adr b{display:block;font-size:1.06rem;font-weight:650;color:#fff;margin-bottom:4px}
#sv .t-adr span{display:block;font-size:.94rem;font-weight:450;color:#B2D6EA;line-height:1.45}
#sv .t-adr em{display:inline-flex;align-items:center;gap:6px;font-style:normal;margin-top:10px;
  font-size:.9rem;font-weight:600;color:var(--cyan-lt)}
#sv .t-adr em .t-ic{width:15px;height:15px}
#sv .t-adr:hover em{color:#fff}


/* ===================================================================
   VARIANTE B — heller Hero
   Gleiche Aufteilung wie a, aber auf hellem Grund. Der Hero wird
   damit Teil des hellen Bandrhythmus statt ein dunkler Block.
   =================================================================== */
#sv[data-var="b"] .t-hero{
  background:linear-gradient(168deg,#F4F9FC,#E4EFF6 62%,#DCEAF3);color:var(--body)}
#sv[data-var="b"] .t-hero-glow::before{
  background:radial-gradient(circle,rgba(0,158,227,.17),transparent 68%)}
#sv[data-var="b"] .t-hero-glow::after{
  background:radial-gradient(circle,rgba(22,169,107,.10),transparent 70%)}
#sv[data-var="b"] .t-hero h1{color:var(--ink)}
#sv[data-var="b"] .t-hero .t-sub{color:var(--body)}
#sv[data-var="b"] .t-anrede{border-left-color:rgba(0,158,227,.55)}
#sv[data-var="b"] .t-anrede b{color:var(--ink)}
#sv[data-var="b"] .t-anrede span{color:var(--body)}
#sv[data-var="b"] .t-h-photo::before{
  background:radial-gradient(ellipse,rgba(0,160,220,.28),transparent 66%)}
#sv[data-var="b"] .t-h-photo .t-ph{
  box-shadow:0 30px 70px rgba(0,40,62,.22),0 0 0 1px rgba(255,255,255,.6)}
#sv[data-var="b"] .t-hero-card{box-shadow:0 12px 30px rgba(12,38,50,.10),
  inset 0 1px 0 rgba(255,255,255,1);border-color:rgba(255,255,255,.9)}
#sv[data-var="b"] .t-hero .t-btn:hover{box-shadow:0 14px 32px rgba(0,64,94,.26)}

/* Damit nach dem hellen Hero kein zweites helles Band folgt,
   bekommt der erste Abschnitt einen weissen Grund. */
#sv[data-var="b"] #ismeros{background:#FFFFFF}
#sv[data-var="b"] #miert{background:#E9F1F7}
#sv[data-var="b"] #miert .t-feat-c{background:#fff;border-color:rgba(255,255,255,.9)}


/* ===================================================================
   VARIANTE C — Foto über die volle Breite
   Das Bild liegt hinter dem Text, abgedunkelt. Die drei Karten
   sitzen darunter und überlappen die Unterkante.
   =================================================================== */
#sv[data-var="c"] .t-hero{background:#00344E}
#sv[data-var="c"] .t-hero-bg{position:absolute;inset:0;z-index:0;overflow:hidden}
#sv[data-var="c"] .t-hero-bg picture,#sv[data-var="c"] .t-hero-bg img{
  width:100%;height:100%;object-fit:cover;object-position:center 32%}
#sv[data-var="c"] .t-hero-bg::after{content:"";position:absolute;inset:0;
  background:linear-gradient(100deg,rgba(0,52,78,.94) 0%,rgba(0,64,94,.86) 42%,
    rgba(0,64,94,.55) 70%,rgba(0,64,94,.42) 100%)}
#sv[data-var="c"] .t-hero-glow{z-index:1}
#sv[data-var="c"] .t-heroA{grid-template-columns:1fr;padding-block:104px 34px;
  min-height:clamp(420px,58vh,620px);align-content:center}
#sv[data-var="c"] .t-h-copy{max-width:660px;gap:24px}
#sv[data-var="c"] .t-hero h1{font-size:clamp(2rem,4.4vw,3.4rem)}
#sv[data-var="c"] .t-hero .t-sub{max-width:600px}
#sv[data-var="c"] .t-hero-cta{margin-top:6px}
#sv[data-var="c"] .t-hero>.t-wrap:last-child{position:relative;z-index:2;
  padding-bottom:0;transform:translateY(30px)}
#sv[data-var="c"] .t-hero>.t-wrap:last-child .t-hero-cards{
  grid-template-columns:repeat(3,1fr);gap:16px}
#sv[data-var="c"] #ismeros{padding-top:96px}

/* Variante c: grössere Logokarten, Logo und Adresse nebeneinander */
#sv[data-var="c"] .t-prax{grid-template-columns:repeat(2,1fr);gap:22px}
#sv[data-var="c"] .t-prax-c{flex-direction:row;align-items:center;background:#fff;
  border-color:var(--line)}
#sv[data-var="c"] .t-prax-logo{flex:0 0 44%;border-bottom:0;border-right:1px solid var(--line-soft);
  padding:30px 24px;align-self:stretch}
#sv[data-var="c"] .t-prax-logo img{height:72px}
#sv[data-var="c"] .t-prax-b{padding:26px 26px 26px 24px}


/* ===================================================================
   Anpassungen der Varianten auf kleinen Bildschirmen
   =================================================================== */
@media (max-width:1100px){
  #sv .t-logorow,#sv .t-adrrow{grid-template-columns:repeat(2,1fr);gap:20px}
  #sv .t-adrrow{row-gap:28px}
  #sv[data-var="c"] .t-prax{grid-template-columns:1fr}
}

@media (max-width:1000px){
  #sv[data-var="c"] .t-heroA{padding-block:74px 30px;min-height:0}
  #sv[data-var="c"] .t-hero-bg::after{
    background:linear-gradient(180deg,rgba(0,52,78,.92) 0%,rgba(0,64,94,.88) 60%,
      rgba(0,64,94,.9) 100%)}
  #sv[data-var="c"] .t-hero>.t-wrap:last-child{transform:translateY(24px)}
  #sv[data-var="c"] .t-hero>.t-wrap:last-child .t-hero-cards{grid-template-columns:repeat(3,1fr)}
  #sv[data-var="c"] #ismeros{padding-top:80px}
  #sv .t-prax-logo img{height:56px}
}

@media (max-width:640px){
  #sv .t-logorow,#sv .t-adrrow{grid-template-columns:1fr;gap:14px}
  #sv .t-adrrow{row-gap:24px}
  #sv .t-logo-l img{height:52px}
  #sv .t-prax-logo{padding:24px 18px 18px}
  #sv .t-prax-logo img{height:54px}
  #sv[data-var="c"] .t-prax-c{flex-direction:column}
  #sv[data-var="c"] .t-prax-logo{flex:0 0 auto;border-right:0;
    border-bottom:1px solid var(--line-soft);align-self:auto}
  #sv[data-var="c"] .t-prax-logo img{height:56px}
  #sv[data-var="c"] .t-prax-b{padding:22px}
  #sv[data-var="c"] .t-hero>.t-wrap:last-child .t-hero-cards{grid-template-columns:1fr}
  #sv[data-var="c"] .t-hero>.t-wrap:last-child{transform:translateY(18px)}
}


/* ===================================================================
   FASSUNG 3.1 — Harmonisierung, Farbe, Karten gegen ihr Band
   =================================================================== */

/* ---------- Erweiterte Akzentpalette ----------
   Für jede Farbe zusätzlich eine helle Fassung. Auf dunklem Grund
   ist die kräftige Fassung zu dunkel, dort greift die helle. */
#sv{
  --a-cyan:#0091D6;   --a-cyan-l:#67C9F5;
  --a-green:#16A96B;  --a-green-l:#4FD9A0;
  --a-amber:#E8981C;  --a-amber-l:#FFC46B;
  --a-violet:#7A5AF0; --a-violet-l:#B49CFF;
  --a-teal:#0FA2A0;   --a-teal-l:#5FD9D6;
  --a-rose:#E0446F;   --a-rose-l:#FF8FA8;
  --a-blue:#3568D4;   --a-blue-l:#8AAEF5;
}

/* ---------- Symbolflächen tragen ihre Akzentfarbe ---------- */
#sv .t-ibox{background:rgba(0,145,214,.12);color:var(--a-cyan)}
@supports (color:color-mix(in srgb,red 50%,blue)){
  #sv .t-ibox{
    background:color-mix(in srgb,var(--ak,var(--a-cyan)) 13%,transparent);
    border-color:color-mix(in srgb,var(--ak,var(--a-cyan)) 22%,transparent);
    color:var(--ak,var(--a-cyan))}
  #sv .t-tile:hover .t-ibox,#sv .t-feat-c:hover .t-ibox{
    background:color-mix(in srgb,var(--ak,var(--a-cyan)) 20%,transparent)}
}

/* Auf dunklem Band die helle Fassung der Akzentfarbe */
#sv .t-band-dark .t-ibox{background:rgba(255,255,255,.13);
  border-color:rgba(255,255,255,.2);color:var(--akl,#fff)}
@supports (color:color-mix(in srgb,red 50%,blue)){
  #sv .t-band-dark .t-ibox{
    background:color-mix(in srgb,var(--akl,var(--a-cyan-l)) 18%,transparent);
    border-color:color-mix(in srgb,var(--akl,var(--a-cyan-l)) 30%,transparent);
    color:var(--akl,var(--a-cyan-l))}
}
#sv .t-band-dark [style*="--a-cyan"]  {--akl:var(--a-cyan-l)}
#sv .t-band-dark [style*="--a-green"] {--akl:var(--a-green-l)}
#sv .t-band-dark [style*="--a-amber"] {--akl:var(--a-amber-l)}
#sv .t-band-dark [style*="--a-violet"]{--akl:var(--a-violet-l)}
#sv .t-band-dark [style*="--a-teal"]  {--akl:var(--a-teal-l)}
#sv .t-band-dark [style*="--a-rose"]  {--akl:var(--a-rose-l)}
#sv .t-band-dark [style*="--a-blue"]  {--akl:var(--a-blue-l)}

/* ---------- Einheitliche Ausrichtung ----------
   Alles, was in einer Reihe steht, ist mittig gesetzt und
   gleich breit. Vorher waren die Vorteilskarten mittig und die
   übrigen Kacheln linksbündig. */
#sv .t-tile-c{text-align:center;display:flex;flex-direction:column;align-items:center}
#sv .t-tile-c .t-ibox{margin-left:auto;margin-right:auto}
#sv .t-tile-c h3{margin-bottom:8px}
#sv .t-tile-c p{max-width:30ch}

#sv .t-feat-c,#sv .t-tile-c{padding:34px 26px}
#sv .t-feat-c .t-ibox,#sv .t-tile-c .t-ibox{width:62px;height:62px;border-radius:19px;
  margin-bottom:20px}
#sv .t-feat-c .t-ibox .t-ic,#sv .t-tile-c .t-ibox .t-ic{width:30px;height:30px}
#sv .t-feat-c b,#sv .t-tile-c h3{font-size:1.2rem;font-weight:700;color:var(--ink);
  letter-spacing:-.028em;line-height:1.25}
#sv .t-band-dark .t-tile-c h3{color:#fff}
#sv .t-feat-c span,#sv .t-tile-c p{font-size:.98rem;line-height:1.5;font-weight:450}

/* Gleiche Rasterbreiten in allen Abschnitten */
#sv .t-feat,#sv .t-grid-3,#sv .t-grid-4,#sv .t-prax{max-width:var(--wrap);margin-inline:auto}

/* ---------- Wiedererkennungsliste mittig wie der Rest ---------- */
#sv .t-blist li{align-items:center}

/* ===================================================================
   PRAXISKARTEN — Logo gross, Karte im Vordergrund, Adresse leise
   =================================================================== */
#sv .t-prax-logo{padding:36px 24px 26px}
#sv .t-prax-logo img{height:88px}
#sv .t-prax-b{padding:22px 22px 24px;align-items:center;text-align:center}
#sv .t-prax-kt{margin:0 0 14px;align-self:center;font-size:.79rem;letter-spacing:.02em}

/* Der Kartenverweis ist jetzt das Hauptelement der Karte */
#sv .t-prax-map{display:inline-flex;align-items:center;justify-content:center;gap:9px;
  margin-top:0;padding:13px 22px;width:100%;border-radius:var(--r-pill);
  background:var(--petrol-mid);color:#fff;font-size:.99rem;font-weight:600;
  letter-spacing:-.012em;
  transition:background .25s var(--ease),box-shadow .25s var(--ease),transform .25s var(--ease)}
#sv .t-prax-map .t-ic{width:19px;height:19px;stroke-width:2}
#sv .t-prax-c:hover .t-prax-map{background:var(--petrol);
  box-shadow:0 10px 26px rgba(0,158,227,.32)}
#sv .t-prax-c:hover .t-prax-map .t-ic{transform:none}

/* Postleitzahl nur noch als leise Fusszeile */
#sv .t-prax-adr{margin-top:12px;font-size:.88rem;font-weight:450;opacity:.62;
  text-align:center;line-height:1.4}

@media (max-width:640px){
  #sv .t-prax-logo{padding:30px 20px 22px}
  #sv .t-prax-logo img{height:76px}
}


/* ===================================================================
   KARTENSTIL 1 — GEGENLAGE
   Jede Karte nimmt die Gegenlage zu ihrem Band ein. Auf weissem
   Band getönte Karten, auf getöntem Band weisse Karten. Damit
   entsteht überall dieselbe Trennschärfe.
   =================================================================== */
#sv[data-kart="1"] .t-band-light .t-tile,
#sv[data-kart="1"] .t-band-light .t-feat-c,
#sv[data-kart="1"] .t-band-light .t-prax-c,
#sv[data-kart="1"] .t-band-light .t-step{
  background:#EDF4F9;border-color:rgba(0,95,137,.14);
  -webkit-backdrop-filter:none;backdrop-filter:none;
  box-shadow:0 2px 10px rgba(12,38,50,.04)}
#sv[data-kart="1"] .t-band-light .t-prax-logo{background:#fff;
  border-bottom-color:rgba(0,95,137,.12)}
#sv[data-kart="1"] .t-band-light .t-tile:hover,
#sv[data-kart="1"] .t-band-light .t-feat-c:hover,
#sv[data-kart="1"] .t-band-light .t-prax-c:hover,
#sv[data-kart="1"] .t-band-light .t-step:hover{
  background:#fff;border-color:rgba(0,158,227,.45);
  box-shadow:0 18px 44px rgba(0,64,94,.15)}

#sv[data-kart="1"] .t-band-tint .t-tile,
#sv[data-kart="1"] .t-band-tint .t-feat-c,
#sv[data-kart="1"] .t-band-tint .t-blist li,
#sv[data-kart="1"] .t-band-tint details{
  background:#fff;border-color:rgba(255,255,255,.95);
  -webkit-backdrop-filter:none;backdrop-filter:none;
  box-shadow:0 6px 20px rgba(12,38,50,.07)}
#sv[data-kart="1"] .t-band-tint .t-blist li:hover,
#sv[data-kart="1"] .t-band-tint details:hover{
  border-color:rgba(0,158,227,.5);box-shadow:0 12px 30px rgba(0,64,94,.13)}


/* ===================================================================
   KARTENSTIL 2 — FARBWÄSCHE
   Jede Karte trägt einen sehr hellen Hauch ihrer eigenen
   Akzentfarbe. Die Reihe wird dadurch bunt, ohne laut zu werden.
   =================================================================== */
#sv[data-kart="2"] .t-band-light .t-tile,
#sv[data-kart="2"] .t-band-light .t-feat-c,
#sv[data-kart="2"] .t-band-tint .t-tile,
#sv[data-kart="2"] .t-band-tint .t-feat-c{
  background:#F2F7FB;border-color:rgba(0,95,137,.14);
  -webkit-backdrop-filter:none;backdrop-filter:none}
@supports (color:color-mix(in srgb,red 50%,blue)){
  #sv[data-kart="2"] .t-band-light .t-tile,
  #sv[data-kart="2"] .t-band-light .t-feat-c,
  #sv[data-kart="2"] .t-band-tint .t-tile,
  #sv[data-kart="2"] .t-band-tint .t-feat-c{
    background:color-mix(in srgb,var(--ak,var(--a-cyan)) 7%,#fff);
    border-color:color-mix(in srgb,var(--ak,var(--a-cyan)) 26%,transparent)}
  #sv[data-kart="2"] .t-band-light .t-tile:hover,
  #sv[data-kart="2"] .t-band-light .t-feat-c:hover,
  #sv[data-kart="2"] .t-band-tint .t-tile:hover,
  #sv[data-kart="2"] .t-band-tint .t-feat-c:hover{
    background:color-mix(in srgb,var(--ak,var(--a-cyan)) 12%,#fff);
    border-color:color-mix(in srgb,var(--ak,var(--a-cyan)) 45%,transparent);
    box-shadow:0 18px 44px rgba(0,64,94,.15)}
  #sv[data-kart="2"] .t-band-dark .t-tile{
    background:color-mix(in srgb,var(--akl,var(--a-cyan-l)) 9%,rgba(255,255,255,.05));
    border-color:color-mix(in srgb,var(--akl,var(--a-cyan-l)) 26%,transparent)}
  #sv[data-kart="2"] .t-band-dark .t-tile:hover{
    background:color-mix(in srgb,var(--akl,var(--a-cyan-l)) 16%,rgba(255,255,255,.06));
    border-color:color-mix(in srgb,var(--akl,var(--a-cyan-l)) 48%,transparent)}
}
#sv[data-kart="2"] .t-band-light .t-prax-c,
#sv[data-kart="2"] .t-band-light .t-step{background:#F2F7FB;
  border-color:rgba(0,95,137,.14);-webkit-backdrop-filter:none;backdrop-filter:none}
#sv[data-kart="2"] .t-band-light .t-prax-logo{background:#fff}
#sv[data-kart="2"] .t-band-tint .t-blist li,
#sv[data-kart="2"] .t-band-tint details{background:#fff;border-color:rgba(255,255,255,.95);
  -webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:0 6px 20px rgba(12,38,50,.07)}


/* ===================================================================
   KARTENSTIL 3 — ANGEHOBEN
   Weisse Karten auf allen hellen Bändern, aber mit kräftigem
   Schatten und einem farbigen Balken an der Oberkante. Die
   Trennung entsteht durch Höhe statt durch Füllung.
   =================================================================== */
#sv[data-kart="3"] .t-band-light .t-tile,
#sv[data-kart="3"] .t-band-light .t-feat-c,
#sv[data-kart="3"] .t-band-light .t-prax-c,
#sv[data-kart="3"] .t-band-light .t-step,
#sv[data-kart="3"] .t-band-tint .t-tile,
#sv[data-kart="3"] .t-band-tint .t-feat-c,
#sv[data-kart="3"] .t-band-tint .t-blist li,
#sv[data-kart="3"] .t-band-tint details{
  background:#fff;border-color:rgba(12,38,50,.07);
  -webkit-backdrop-filter:none;backdrop-filter:none;
  box-shadow:0 14px 34px rgba(0,64,94,.13),0 2px 6px rgba(0,64,94,.06)}

#sv[data-kart="3"] .t-tile,#sv[data-kart="3"] .t-feat-c,
#sv[data-kart="3"] .t-prax-c{position:relative;overflow:hidden}
#sv[data-kart="3"] .t-band-light .t-tile::before,
#sv[data-kart="3"] .t-band-light .t-feat-c::before,
#sv[data-kart="3"] .t-band-light .t-prax-c::before,
#sv[data-kart="3"] .t-band-tint .t-tile::before,
#sv[data-kart="3"] .t-band-tint .t-feat-c::before{
  content:"";position:absolute;top:0;left:0;right:0;height:4px;
  background:var(--ak,var(--a-cyan));opacity:.9;
  transition:height .3s var(--ease),opacity .3s}
#sv[data-kart="3"] .t-band-light .t-prax-c::before{background:var(--petrol-mid)}
#sv[data-kart="3"] .t-tile:hover::before,
#sv[data-kart="3"] .t-feat-c:hover::before,
#sv[data-kart="3"] .t-prax-c:hover::before{height:6px;opacity:1}

#sv[data-kart="3"] .t-band-light .t-tile:hover,
#sv[data-kart="3"] .t-band-light .t-feat-c:hover,
#sv[data-kart="3"] .t-band-light .t-prax-c:hover,
#sv[data-kart="3"] .t-band-tint .t-tile:hover,
#sv[data-kart="3"] .t-band-tint .t-feat-c:hover{
  transform:translateY(-5px);box-shadow:0 26px 56px rgba(0,64,94,.19)}

#sv[data-kart="3"] .t-band-dark .t-tile{background:rgba(255,255,255,.09);
  border-color:rgba(255,255,255,.16)}
#sv[data-kart="3"] .t-band-dark .t-tile::before{content:"";position:absolute;
  top:0;left:0;right:0;height:4px;background:var(--akl,var(--a-cyan-l));opacity:.85}
#sv[data-kart="3"] .t-band-dark .t-tile:hover::before{height:6px;opacity:1}


/* ===================================================================
   KORREKTUR — Karten auf dunklem Grund
   Gemessen: die Karten lagen nur 2 Punkte neben ihrem Band. Auf
   Blau lag faktisch wieder Blau. Jeder Stil bekommt hier seine
   eigene, deutlich sichtbare Antwort.
   =================================================================== */

/* Stil 1 — Gegenlage: die Karte wird spürbar heller als das Band */
#sv[data-kart="1"] .t-band-dark .t-tile,
#sv[data-kart="1"] .t-band-dark .t-cc,
#sv[data-kart="1"] .t-band-dark .t-step{
  background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.26);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 18px 44px rgba(0,20,32,.3)}
#sv[data-kart="1"] .t-band-dark .t-tile:hover,
#sv[data-kart="1"] .t-band-dark .t-cc:hover,
#sv[data-kart="1"] .t-band-dark .t-step:hover{
  background:rgba(255,255,255,.23);border-color:rgba(127,214,248,.6)}

/* Stil 2 — Farbwäsche: die Karte nimmt die eigene Akzentfarbe auf */
#sv[data-kart="2"] .t-band-dark .t-tile,
#sv[data-kart="2"] .t-band-dark .t-cc{
  background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.24)}
@supports (color:color-mix(in srgb,red 50%,blue)){
  #sv[data-kart="2"] .t-band-dark .t-tile{
    background:color-mix(in srgb,var(--akl,var(--a-cyan-l)) 20%,rgba(255,255,255,.07));
    border-color:color-mix(in srgb,var(--akl,var(--a-cyan-l)) 42%,transparent)}
  #sv[data-kart="2"] .t-band-dark .t-tile:hover{
    background:color-mix(in srgb,var(--akl,var(--a-cyan-l)) 30%,rgba(255,255,255,.09));
    border-color:color-mix(in srgb,var(--akl,var(--a-cyan-l)) 65%,transparent)}
  #sv[data-kart="2"] .t-band-dark .t-cc{
    background:color-mix(in srgb,var(--akl,var(--a-cyan-l)) 18%,rgba(255,255,255,.07));
    border-color:color-mix(in srgb,var(--akl,var(--a-cyan-l)) 38%,transparent)}
}
#sv[data-kart="2"] .t-kontakt-1{--akl:var(--a-cyan-l)}
#sv[data-kart="2"] .t-kontakt-2{--akl:var(--a-green-l)}
#sv[data-kart="2"] .t-kontakt-3{--akl:var(--a-amber-l)}

/* Stil 3 — Angehoben: auf Dunkel wird die Karte tiefer gelegt,
   der farbige Balken bleibt das trennende Element */
#sv[data-kart="3"] .t-band-dark .t-tile,
#sv[data-kart="3"] .t-band-dark .t-cc{
  background:rgba(0,26,42,.5);border-color:rgba(255,255,255,.12);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 20px 46px rgba(0,12,20,.4)}
#sv[data-kart="3"] .t-band-dark .t-tile:hover,
#sv[data-kart="3"] .t-band-dark .t-cc:hover{
  background:rgba(0,32,50,.62);border-color:rgba(127,214,248,.4)}
#sv[data-kart="3"] .t-cc{position:relative;overflow:hidden}
#sv[data-kart="3"] .t-band-dark .t-cc::before{content:"";position:absolute;
  top:0;left:0;right:0;height:4px;background:var(--akl,var(--a-cyan-l));opacity:.85}


/* ===================================================================
   KORREKTUR — Stil 3 braucht eine getönte Bühne
   Weiss auf Weiss trennt sich nicht, auch nicht mit Schatten.
   In Stil 3 werden die hellen Bänder deshalb getönt, damit die
   angehobenen weissen Karten überhaupt etwas haben, wovon sie
   sich abheben können.
   =================================================================== */
#sv[data-kart="3"] #miert,
#sv[data-kart="3"] #praxisok,
#sv[data-kart="3"] #menet{background:#E9F1F7}
#sv[data-kart="3"] #ismeros,
#sv[data-kart="3"] #faq,
#sv[data-kart="3"] #rolam{background:#FFFFFF}
#sv[data-kart="3"] #ismeros .t-blist li,
#sv[data-kart="3"] #faq details{background:#F6FAFC;
  border-color:rgba(0,95,137,.14);box-shadow:0 4px 14px rgba(12,38,50,.05)}
#sv[data-kart="3"] #faq details[open]{background:#fff;
  border-color:var(--petrol-mid);box-shadow:0 16px 40px rgba(0,64,94,.17)}
#sv[data-kart="3"] #faq .t-chip,
#sv[data-kart="3"] #faq .t-search input{background:#F6FAFC;border-color:rgba(0,95,137,.16)}
#sv[data-kart="3"] #faq .t-chip.t-active{background:var(--petrol-mid);border-color:var(--petrol-mid)}

/* Nachbesserung Stil 3: die beiden Abschnitte auf weissem Grund
   brauchten mehr Tönung. Gemessen waren es 17 Punkte, jetzt 40+. */
#sv[data-kart="3"] #ismeros .t-blist li,
#sv[data-kart="3"] #faq details{background:#EDF3F8;
  border-color:rgba(0,95,137,.18)}
#sv[data-kart="3"] #faq .t-chip,
#sv[data-kart="3"] #faq .t-search input{background:#EDF3F8}

/* Der Kartenknopf brach bei vier Spalten auf 1440 px in zwei Zeilen.
   Gemessen: 267 px Karte, 221 px Knopf, 79 px hoch. Auf schmalen
   Karten daher engeres Polster und etwas kleinere Schrift. */
#sv .t-prax-map{white-space:nowrap}
@media (min-width:1101px){
  #sv .t-prax-map{padding:13px 14px;font-size:.94rem;gap:7px}
  #sv .t-prax-map .t-ic{width:17px;height:17px}
}


/* ===================================================================
   FASSUNG 3.2 — Karte und Webseite je Praxis, Platz für das Widget
   =================================================================== */

/* Die Praxiskarte ist kein Verweis mehr, sondern trägt zwei:
   den Kartenverweis als Hauptelement, die Webseite darunter. */
#sv .t-prax-c{cursor:default}
#sv .t-prax-logo{display:flex;align-items:center;justify-content:center;
  text-decoration:none;transition:background .25s var(--ease)}
#sv .t-prax-logo:hover{background:rgba(0,158,227,.05)}
#sv .t-prax-c:hover .t-prax-logo img{transform:scale(1.04)}

/* Der Verweis auf die Praxisseite: leise, aber gut sichtbar */
#sv .t-prax-web{display:inline-flex;align-items:center;justify-content:center;gap:7px;
  margin-top:12px;padding:8px 12px;border-radius:var(--r-chip);
  font-size:.92rem;font-weight:600;color:var(--cyan-txt);white-space:nowrap;
  transition:color .25s var(--ease),background .25s var(--ease)}
#sv .t-prax-web .t-ic{width:16px;height:16px}
#sv .t-prax-web:hover{color:var(--petrol);background:rgba(0,158,227,.10)}
#sv[data-kart="3"] .t-band-tint .t-prax-web:hover{background:rgba(0,158,227,.13)}

/* Kein Schweben mehr für die ganze Karte — die Verweise darin
   tragen jetzt die Rückmeldung. Die Karte hebt sich weiterhin. */
#sv .t-prax-c:hover .t-prax-map{background:var(--petrol);
  box-shadow:0 10px 26px rgba(0,158,227,.32)}
#sv .t-prax-map:focus-visible,#sv .t-prax-web:focus-visible,
#sv .t-prax-logo:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}

/* ===================================================================
   Platz für das schwebende Kontakt-Widget
   Gemessen auf hausarztzentrum-olten.ch: 80x80 px, unten rechts,
   auf Rechner und Telefon gleich gross. Die Fusszeile hält so viel
   Abstand, dass das Widget nichts verdeckt.
   =================================================================== */
#sv footer{padding-bottom:calc(40px + var(--widget-h,80px))}
@media (max-width:1000px){
  /* Auf schmalen Bildschirmen sitzt das Widget über der letzten
     Zeile — dort ist der Abstand grosszügiger. */
  #sv footer{padding-bottom:calc(52px + var(--widget-h,80px))}
}
@media (max-width:640px){
  #sv .t-prax-web{font-size:.9rem}
}


/* ===================================================================
   FASSUNG 3.4 — etwas verspielter, minimal mehr Farbe
   Die TRTDoc-Grundlage bleibt unangetastet: gleiche Radien, gleiche
   Knöpfe, gleiche Bänder, gleiche Schrift. Ergänzt werden nur
   kleine, warme Akzente.
   =================================================================== */

/* ---------- Farbiger Pinselstrich unter einem Schlüsselwort ----------
   Liegt hinter der Grundlinie, nicht darauf. Wächst beim Sichtbar-
   werden von links nach rechts. */
#sv .t-hl{position:relative;display:inline-block;white-space:nowrap}
#sv .t-hl::after{content:"";position:absolute;left:-.06em;right:-.06em;bottom:.03em;
  height:.34em;border-radius:.18em;z-index:-1;
  background:var(--hl,var(--a-amber));opacity:.28;
  transform:scaleX(0);transform-origin:left center;
  transition:transform .7s var(--ease-aus) .25s}
#sv .t-hl{z-index:0}
#sv .t-rv.t-in .t-hl::after,#sv .t-sec-head:not(.t-rv) .t-hl::after{transform:scaleX(1)}
#sv.t-js .t-rv:not(.t-in) .t-hl::after{transform:scaleX(0)}
/* Ohne JavaScript und bei reduzierter Bewegung sofort sichtbar */
#sv:not(.t-js) .t-hl::after{transform:scaleX(1)}
#sv .t-band-dark .t-hl::after{opacity:.34}

/* ---------- Das grosse Wort bekommt einen weichen Farbschimmer ---------- */
#sv .t-big{position:relative;display:inline-block}
#sv .t-big::after{content:"";position:absolute;left:-4%;right:-4%;top:14%;bottom:14%;
  z-index:-1;border-radius:50%;
  background:radial-gradient(ellipse,rgba(0,158,227,.16),transparent 68%);
  filter:blur(22px)}

/* ---------- Schrittzahlen tragen eigene Farben ---------- */
/* Schrittziffern tragen keine Einzelfarben mehr — siehe Fassung 4.4 */
@supports (color:color-mix(in srgb,red 50%,blue)){
  #sv .t-band-light .t-stepn,#sv .t-band-tint .t-stepn{
    color:var(--sn,var(--a-cyan));
    background:color-mix(in srgb,var(--sn,var(--a-cyan)) 13%,transparent);
    border-color:color-mix(in srgb,var(--sn,var(--a-cyan)) 24%,transparent)}
}

/* ---------- Verspielte Kleinigkeiten beim Überfahren ----------
   Das Symbol neigt sich minimal. Reicht, um lebendig zu wirken,
   ohne albern zu werden. */
#sv .t-tile:hover .t-ibox,#sv .t-feat-c:hover .t-ibox{
  transform:scale(1.08) rotate(-4deg)}
#sv .t-step:hover .t-stepn{transform:scale(1.06) rotate(-4deg)}
#sv .t-ibox,#sv .t-stepn{transition:background .3s,color .3s,border-color .3s,
  transform .35s cubic-bezier(.34,1.56,.64,1)}

/* Die Häkchen in der Wiedererkennungsliste bekommen abwechselnd Farbe */
#sv .t-blist li:nth-child(1) .t-ic{color:var(--a-green)}
#sv .t-blist li:nth-child(2) .t-ic{color:var(--a-amber)}
#sv .t-blist li:nth-child(3) .t-ic{color:var(--a-violet)}
#sv .t-blist li:nth-child(4) .t-ic{color:var(--a-teal)}
#sv .t-blist li .t-ic{transition:transform .35s cubic-bezier(.34,1.56,.64,1)}
#sv .t-blist li:hover .t-ic{transform:scale(1.14) rotate(-6deg)}

/* Die drei Hero-Karten heben sich einzeln etwas an */
#sv .t-hero-card .t-ic{transition:transform .35s cubic-bezier(.34,1.56,.64,1)}
#sv .t-hero-card:hover .t-ic{transform:scale(1.12) rotate(-5deg)}
#sv .t-hero-card:nth-child(1) .t-ic{color:var(--a-cyan)}
#sv .t-hero-card:nth-child(2) .t-ic{color:var(--a-green)}
#sv .t-hero-card:nth-child(3) .t-ic{color:var(--a-violet)}

/* Die Anrede im Hero bekommt einen warmen Rand statt eines kühlen */
#sv .t-anrede{border-left-color:var(--a-amber);border-left-width:3px}

@media (prefers-reduced-motion:reduce){
  #sv .t-hl::after{transform:scaleX(1)!important;transition:none!important}
  #sv .t-tile:hover .t-ibox,#sv .t-feat-c:hover .t-ibox,
  #sv .t-step:hover .t-stepn,#sv .t-blist li:hover .t-ic,
  #sv .t-hero-card:hover .t-ic{transform:none!important}
}


/* ===================================================================
   FASSUNG 4.0 — Logo, Kontrast, Karten auf dunklem Grund
   =================================================================== */

/* ---------- SmartPraxis-Zeichen in der Kopfzeile ----------
   Das Zeichen bringt eigene Farbe und Form mit. Es sitzt deshalb
   frei, nicht mehr in einem gefüllten Kästchen. */
#sv .t-logo-m{width:auto;height:38px;border-radius:0;background:none;box-shadow:none;
  display:block;flex:0 0 auto;object-fit:contain;
  transition:height .3s var(--ease),transform .35s cubic-bezier(.34,1.56,.64,1)}
#sv header.t-scrolled .t-logo-m{width:auto;height:32px;flex-basis:auto}
#sv .t-logo:hover .t-logo-m{transform:scale(1.06) rotate(-3deg)}
#sv .t-logo{gap:13px}

#sv .t-foot-b{display:flex;align-items:center;gap:14px}
#sv .t-foot-logo{height:32px;width:auto;opacity:.85;flex:0 0 auto}

/* ===================================================================
   KONTRAST — auf Blau gehört echtes Weiss, kein mattes
   Vorher lag der Fliesstext bei #D6E8F2. Das ist auf dem dunklen
   Band lesbar, wirkt aber matt. Jetzt reines Weiss.
   =================================================================== */
#sv .t-band-dark p,#sv .t-band-dark .t-lede,#sv .t-band-dark li{color:#FFFFFF}
#sv .t-hero .t-sub{color:#FFFFFF}
#sv .t-anrede span{color:#F0F8FC}
#sv .t-band-dark .t-sec-head .t-lede{color:#FFFFFF;opacity:1}

/* ===================================================================
   KARTEN AUF DUNKLEM GRUND — Gegenlage konsequent zu Ende gedacht
   Blaue Karten auf blauem Band lösen sich nicht. In Stil 1 sind sie
   deshalb jetzt hell: weisse Karte, dunkler Text, farbiges Symbol.
   =================================================================== */
#sv[data-kart="1"] .t-band-dark .t-tile{
  background:#FFFFFF;border-color:#FFFFFF;
  box-shadow:0 20px 48px rgba(0,14,24,.34),0 2px 6px rgba(0,14,24,.2)}
#sv[data-kart="1"] .t-band-dark .t-tile:hover{
  background:#FFFFFF;border-color:#FFFFFF;transform:translateY(-5px);
  box-shadow:0 30px 66px rgba(0,14,24,.44)}
#sv[data-kart="1"] .t-band-dark .t-tile h3{color:var(--ink)}
#sv[data-kart="1"] .t-band-dark .t-tile p{color:var(--body)}
#sv[data-kart="1"] .t-band-dark .t-tile strong,
#sv[data-kart="1"] .t-band-dark .t-tile b{color:var(--ink)}

/* Symbolfläche auf der weissen Karte trägt wieder ihre kräftige
   Akzentfarbe, nicht die helle Fassung für dunklen Grund. */
#sv[data-kart="1"] .t-band-dark .t-tile .t-ibox{
  background:rgba(0,145,214,.12);border-color:rgba(0,145,214,.2);color:var(--a-cyan)}
@supports (color:color-mix(in srgb,red 50%,blue)){
  #sv[data-kart="1"] .t-band-dark .t-tile .t-ibox{
    background:color-mix(in srgb,var(--ak,var(--a-cyan)) 13%,transparent);
    border-color:color-mix(in srgb,var(--ak,var(--a-cyan)) 24%,transparent);
    color:var(--ak,var(--a-cyan))}
  #sv[data-kart="1"] .t-band-dark .t-tile:hover .t-ibox{
    background:color-mix(in srgb,var(--ak,var(--a-cyan)) 20%,transparent)}
}

/* ===================================================================
   KONTAKT — der wichtigste Abschnitt der Seite
   Weisse Karten, farbige Symbolflächen, die Angabe selbst gross.
   =================================================================== */
#sv[data-kart="1"] .t-contact{gap:22px;margin-top:46px}
#sv[data-kart="1"] .t-cc{
  background:#FFFFFF;border-color:#FFFFFF;padding:40px 26px 36px;gap:0;
  box-shadow:0 22px 54px rgba(0,14,24,.36),0 2px 6px rgba(0,14,24,.2);
  position:relative;overflow:hidden}
#sv[data-kart="1"] .t-cc:hover{
  background:#FFFFFF;border-color:#FFFFFF;transform:translateY(-6px);
  box-shadow:0 34px 74px rgba(0,14,24,.46)}

/* Farbiger Streifen an der Oberkante — je Kanal eine Farbe */
#sv[data-kart="1"] .t-cc::before{content:"";position:absolute;top:0;left:0;right:0;height:5px;
  background:var(--kf,var(--a-cyan));transition:height .3s var(--ease)}
#sv[data-kart="1"] .t-cc:hover::before{height:7px}
#sv .t-kontakt-1{--kf:var(--a-cyan)}
#sv .t-kontakt-2{--kf:var(--a-wa,#25D366)}
#sv .t-kontakt-3{--kf:var(--a-amber)}

#sv[data-kart="1"] .t-cc .t-ibox{
  width:66px;height:66px;border-radius:21px;margin-bottom:18px;
  background:rgba(0,145,214,.12);border-color:rgba(0,145,214,.2);color:var(--kf,var(--a-cyan))}
@supports (color:color-mix(in srgb,red 50%,blue)){
  #sv[data-kart="1"] .t-cc .t-ibox{
    background:color-mix(in srgb,var(--kf,var(--a-cyan)) 14%,transparent);
    border-color:color-mix(in srgb,var(--kf,var(--a-cyan)) 26%,transparent)}
  #sv[data-kart="1"] .t-cc:hover .t-ibox{
    background:color-mix(in srgb,var(--kf,var(--a-cyan)) 22%,transparent)}
}
#sv[data-kart="1"] .t-cc .t-ibox .t-ic{width:32px;height:32px}
#sv[data-kart="1"] .t-cc:hover .t-ibox{transform:scale(1.08) rotate(-4deg)}

/* Die Angabe selbst ist das, worauf es ankommt */
#sv[data-kart="1"] .t-cc b{
  font-size:1.22rem;font-weight:700;color:var(--ink);letter-spacing:-.028em;
  line-height:1.3;margin-bottom:6px}
#sv[data-kart="1"] .t-cc span{font-size:.96rem;color:var(--body);opacity:.78;font-weight:450}

/* Die WhatsApp-Karte trägt ihr Markengrün im Symbol */
#sv{--a-wa:#25D366}

@media (max-width:640px){
  #sv[data-kart="1"] .t-cc{padding:34px 22px 30px}
  #sv[data-kart="1"] .t-cc b{font-size:1.14rem}
  #sv .t-logo-m{height:32px}
  #sv .t-foot-b{flex-direction:column;gap:12px}
}

/* Nachbesserung: die Kontaktkarte blieb durchscheinend, weil eine
   ältere Regel (#sv[data-kart="1"] .t-band-dark .t-cc) spezifischer
   war als die neue. Gemessen: rgba(255,255,255,.15) statt Weiss.
   Jetzt mit gleicher Spezifität. */
#sv[data-kart="1"] .t-band-dark .t-cc{
  background:#FFFFFF;border-color:#FFFFFF;
  box-shadow:0 22px 54px rgba(0,14,24,.36),0 2px 6px rgba(0,14,24,.2)}
#sv[data-kart="1"] .t-band-dark .t-cc:hover{
  background:#FFFFFF;border-color:#FFFFFF;transform:translateY(-6px);
  box-shadow:0 34px 74px rgba(0,14,24,.46)}
#sv[data-kart="1"] .t-band-dark .t-cc b{color:var(--ink)}
#sv[data-kart="1"] .t-band-dark .t-cc span{color:var(--body);opacity:.78}
#sv[data-kart="1"] .t-band-dark .t-cc .t-ibox{
  background:rgba(0,145,214,.12);border-color:rgba(0,145,214,.2);color:var(--kf,var(--a-cyan))}
@supports (color:color-mix(in srgb,red 50%,blue)){
  #sv[data-kart="1"] .t-band-dark .t-cc .t-ibox{
    background:color-mix(in srgb,var(--kf,var(--a-cyan)) 14%,transparent);
    border-color:color-mix(in srgb,var(--kf,var(--a-cyan)) 26%,transparent);
    color:var(--kf,var(--a-cyan))}
  #sv[data-kart="1"] .t-band-dark .t-cc:hover .t-ibox{
    background:color-mix(in srgb,var(--kf,var(--a-cyan)) 22%,transparent)}
}


/* ===================================================================
   FASSUNG 4.1 — Korrekturen
   =================================================================== */

/* -------------------------------------------------------------------
   1  Behobener Fehler: das mobile Menü war unsichtbar
   `#sv nav{display:none}` unter 1000px war für die Kopfzeile gedacht,
   traf aber jedes <nav> — also auch das Menü selbst. Gemessen:
   display:none, 0x0 Pixel. Die Kopfzeilenregeln gelten jetzt nur
   innerhalb von <header>.
   ------------------------------------------------------------------- */
#sv header nav{display:flex;gap:24px;margin-left:auto;margin-right:6px}
@media (max-width:1000px){
  #sv header nav{display:none}
  #sv nav{display:block}
}

/* -------------------------------------------------------------------
   2  Behobener Fehler: der Hero hatte auf dem Telefon keinen
   senkrechten Innenabstand. `.t-wrap{padding:0 20px}` ist eine
   Kurzschreibweise und setzte `padding-block` der Hero-Fläche wieder
   auf 0 — die Überschrift klebte am Kopf, unter den drei Karten war
   kein Platz. Jetzt getrennte Längsangaben, die nichts überschreiben.
   ------------------------------------------------------------------- */
#sv .t-heroA{padding-left:26px;padding-right:26px}
@media (max-width:1000px){
  #sv .t-heroA{padding-top:44px;padding-bottom:52px}
}
@media (max-width:640px){
  #sv .t-heroA{padding-left:20px;padding-right:20px;
    padding-top:38px;padding-bottom:46px}
  #sv .t-hero-cards{margin-top:4px}
}

/* -------------------------------------------------------------------
   3  Das mobile Menü als Vollbild — wie auf trtdoc.ch
   ------------------------------------------------------------------- */
#sv .t-mnav{
  position:fixed;inset:0;top:0;z-index:61;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:96px 26px 40px;
  background:linear-gradient(168deg,#0A3A55 0%,#08293C 100%);
  border-bottom:0;box-shadow:none;
  opacity:0;visibility:hidden;pointer-events:none;transform:none;
  transition:opacity .42s var(--ease-aus),visibility .42s var(--ease-aus)}
#sv .t-mnav.t-open{opacity:1;visibility:visible;pointer-events:auto;transform:none}

/* margin:0 auto hebt #sv header nav{margin-left:auto} nicht auf —
   dieses nav liegt ausserhalb des Kopfes. Sicherheitshalber gesetzt. */
#sv .t-mnav nav{display:flex;flex-direction:column;align-items:center;
  gap:4px;width:100%;max-width:340px;margin:0 auto}
#sv .t-mnav nav a{
  display:flex;align-items:center;justify-content:center;
  width:100%;min-height:60px;padding:0 16px;line-height:1.2;
  font-size:1.42rem;font-weight:500;letter-spacing:-.024em;
  color:#EAF4FA;text-align:center;border-radius:16px;border-bottom:0;
  opacity:0;transform:translateY(14px);
  transition:color .22s var(--ease),background .22s var(--ease),
             opacity .5s var(--ease),transform .5s var(--ease)}
#sv .t-mnav.t-open nav a{opacity:1;transform:none}
#sv .t-mnav.t-open nav a:nth-child(1){transition-delay:.06s}
#sv .t-mnav.t-open nav a:nth-child(2){transition-delay:.11s}
#sv .t-mnav.t-open nav a:nth-child(3){transition-delay:.16s}
#sv .t-mnav.t-open nav a:nth-child(4){transition-delay:.21s}
#sv .t-mnav.t-open nav a:nth-child(5){transition-delay:.26s}
#sv .t-mnav nav a:active{background:rgba(255,255,255,.09)}

#sv .t-mnav-trenner{display:block;width:64px;height:1px;
  background:rgba(255,255,255,.2);margin:34px 0 30px;opacity:0;
  transition:opacity .6s var(--ease-aus)}
#sv .t-mnav.t-open .t-mnav-trenner{opacity:1}

#sv .t-mnav-cta{display:inline-flex;justify-content:center;width:100%;max-width:340px;
  padding:16px 34px;opacity:0;transform:translateY(26px);
  transition:opacity .3s var(--ease-aus) .3s,transform .3s var(--ease-aus) .3s}
#sv .t-mnav.t-open .t-mnav-cta{opacity:1;transform:none}

/* Das Schliesskreuz nutzt denselben Rahmen wie die Kopfzeile und
   deckt den Hamburger dadurch auf jeder Breite exakt. */
#sv .t-mnav-kopf{position:absolute;top:9px;left:0;right:0}
#sv .t-mnav-kopf .t-wrap{display:flex;justify-content:flex-end}
#sv .t-mnav-zu{width:46px;height:46px;display:flex;align-items:center;
  justify-content:center;border-radius:14px;background:rgba(255,255,255,.1);
  color:#fff;transition:background .22s var(--ease)}
#sv .t-mnav-zu:active{background:rgba(255,255,255,.18)}
#sv .t-mnav-zu .t-ic{width:23px;height:23px;stroke-width:2}

@media (min-width:1001px){ #sv .t-mnav{display:none} }

/* -------------------------------------------------------------------
   4  Kontrast: kein mattes Grau mehr
   Die Fliesstexte liefen bisher mit abgesenkter Deckkraft und einem
   blaustichigen Grau. Beides ist raus: eine Textfarbe, voll deckend.
   ------------------------------------------------------------------- */
#sv{--ink:#000000;--body:#000000}

#sv .t-lede,#sv .t-feat-c span,#sv .t-tile p,#sv .t-blist li,
#sv .t-prax-adr,#sv .t-cc span,#sv .t-step p,#sv .t-li-t span,
#sv .t-faq-in,#sv details p,#sv details li,#sv .t-tile-c p{
  opacity:1;color:var(--body)}

#sv .t-band-dark .t-lede,#sv .t-band-dark p,#sv .t-band-dark li{color:#FFFFFF}
#sv .t-band-dark .t-tile p,#sv .t-band-dark .t-tile h3{color:var(--body)}
#sv .t-band-dark .t-tile h3{color:var(--ink)}

/* -------------------------------------------------------------------
   5  Kontakt: nur zwei Kanäle, keine Farbstreifen
   Das E-Mail-Zeichen trägt das Systemblau von Apple, WhatsApp sein
   Markengrün. Sonst nichts.
   ------------------------------------------------------------------- */
#sv{--a-mail:#007AFF}

#sv .t-contact{grid-template-columns:repeat(2,1fr);max-width:820px;
  margin-left:auto;margin-right:auto}
#sv[data-kart="1"] .t-band-dark .t-cc,#sv[data-kart="1"] .t-cc{
  background:#FFFFFF;border-color:#FFFFFF;padding:40px 26px 36px;
  box-shadow:0 22px 54px rgba(0,14,24,.34)}
#sv[data-kart="1"] .t-cc::before{display:none}
#sv[data-kart="1"] .t-cc b{color:var(--ink);font-size:1.2rem;font-weight:700;
  margin-bottom:6px}
#sv[data-kart="1"] .t-cc span{color:var(--body);opacity:1;font-size:1rem;
  font-weight:500;overflow-wrap:anywhere}

#sv .t-cc-wa .t-ibox{background:rgba(37,211,102,.14);border-color:rgba(37,211,102,.26);
  color:#25D366}
#sv .t-cc-mail .t-ibox{background:rgba(0,122,255,.13);border-color:rgba(0,122,255,.24);
  color:var(--a-mail)}
#sv[data-kart="1"] .t-cc-wa .t-ibox,#sv[data-kart="1"] .t-band-dark .t-cc-wa .t-ibox{
  background:rgba(37,211,102,.14);border-color:rgba(37,211,102,.26);color:#25D366}
#sv[data-kart="1"] .t-cc-mail .t-ibox,#sv[data-kart="1"] .t-band-dark .t-cc-mail .t-ibox{
  background:rgba(0,122,255,.13);border-color:rgba(0,122,255,.24);color:var(--a-mail)}

@media (max-width:640px){
  #sv .t-contact{grid-template-columns:1fr}
}

/* Nachbesserung: die Zusatzzeile der Kontaktkarte stand weiterhin auf
   Deckkraft .78, weil eine ältere Regel mit `.t-band-dark` davor
   spezifischer war als die neue. Gemessen: 0.78 statt 1. */
#sv[data-kart="1"] .t-band-dark .t-cc span{color:var(--body);opacity:1;
  font-size:1rem;font-weight:500}
#sv[data-kart="1"] .t-band-dark .t-cc b{color:var(--ink)}

/* Die letzten drei matten Farbwerte. Gemessen waren es
   rgb(69,108,124) in den Hero-Karten, rgb(240,248,252) in der Anrede
   und rgb(174,207,224) in der Fusszeile. */
#sv .t-hero-card span{color:var(--body);opacity:1;font-weight:500}
#sv .t-anrede span,#sv .t-anrede p{color:#FFFFFF}
#sv footer,#sv footer a,#sv .t-foot-b span{color:#FFFFFF}
#sv footer a{opacity:.88}
#sv footer a:hover{opacity:1}


/* ===================================================================
   FASSUNG 4.2
   =================================================================== */

/* -------------------------------------------------------------------
   Zeitleiste — Aufbau eins zu eins von trtdoc.ch
   Die Karten hängen an einer senkrechten Linie. Beim Scrollen füllt
   sich die Linie von oben nach unten, und die erreichten Ziffern
   wechseln auf die Markenfarbe.
   ------------------------------------------------------------------- */
#sv .t-steps{position:relative;display:grid;gap:12px;max-width:900px;
  margin-left:auto;margin-right:auto;padding-left:0}
#sv .t-steps::before{content:"";position:absolute;left:25px;top:26px;bottom:26px;
  width:2px;background:rgba(12,38,50,.09);border-radius:2px}
#sv .t-steps-fill{position:absolute;left:25px;top:26px;width:2px;height:0;
  border-radius:2px;z-index:0;
  background:linear-gradient(180deg,var(--cyan),var(--petrol-mid));
  transition:height .3s linear}

#sv .t-step{position:relative;z-index:1;display:grid;grid-template-columns:52px 1fr;
  gap:24px;padding:26px 28px;border-radius:var(--r-md);align-items:start;
  border:1px solid rgba(12,38,50,.1);background:#EDF4F9;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease),
             background .3s,border-color .3s}
#sv .t-step:hover{transform:translateY(-3px);box-shadow:0 18px 44px rgba(0,64,94,.17);
  background:#fff;border-color:rgba(0,158,227,.45)}

#sv .t-stepn{position:relative;z-index:2;width:52px;height:52px;border-radius:16px;
  display:flex;align-items:center;justify-content:center;font-size:1.35rem;
  font-weight:600;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums;
  color:var(--petrol-mid);background:#EDF4F9;border:1px solid rgba(0,158,227,.16);
  transition:background .3s,color .3s,border-color .3s,transform .3s var(--ease)}
#sv .t-step:hover .t-stepn,#sv .t-step.t-reached .t-stepn{
  background:var(--petrol-mid);color:#fff;border-color:var(--petrol-mid)}
#sv .t-step:hover .t-stepn{transform:scale(1.06)}

#sv .t-step h3{margin-bottom:6px;color:#000}
#sv .t-step p{font-size:1.02rem;margin:0;max-width:70ch;font-weight:450;color:#000}
#sv .t-dur{display:inline-block;margin-top:12px;padding:5px 13px;
  border-radius:var(--r-chip);background:rgba(0,158,227,.12);color:var(--cyan-txt);
  font-size:.86rem;font-weight:600}

/* -------------------------------------------------------------------
   Bilder statt noch mehr Karten
   ------------------------------------------------------------------- */
#sv .t-bildreihe{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;
  margin-top:40px}
#sv .t-bild{border-radius:var(--r-lg);overflow:hidden;background:#EDF4F9;
  box-shadow:0 10px 30px rgba(12,38,50,.09);
  transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
#sv .t-bild img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;
  transition:transform .6s var(--ease)}
#sv .t-bild:hover{transform:translateY(-4px);box-shadow:0 22px 50px rgba(12,38,50,.16)}
#sv .t-bild:hover img{transform:scale(1.04)}
#sv .t-bild-b{padding:14px 18px 16px;font-size:.95rem;font-weight:600;color:#000}

#sv .t-bild-gross{border-radius:26px;overflow:hidden;margin-top:36px;
  box-shadow:0 26px 60px rgba(0,20,32,.28)}
#sv .t-bild-gross img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}

/* -------------------------------------------------------------------
   Schwarz heisst schwarz — auch in den Kacheln
   ------------------------------------------------------------------- */
#sv .t-tile p,#sv .t-tile h3,#sv .t-feat-c b,#sv .t-feat-c span,
#sv .t-blist li,#sv .t-blist li span,#sv .t-li-t b,#sv .t-li-t span,
#sv details p,#sv details li,#sv summary,#sv .t-me p,#sv #rolam p,
#sv .t-lede,#sv .t-prax-b h3,#sv .t-hero-card b,#sv .t-hero-card span,
#sv .t-cc b,#sv .t-cc span,#sv .t-note p,#sv .t-faqcat h4{
  color:#000;opacity:1}
#sv .t-band-dark .t-lede,#sv .t-band-dark>.t-wrap>.t-sec-head p,
#sv .t-band-dark .t-note p{color:#fff}
#sv .t-band-dark .t-tile p,#sv .t-band-dark .t-tile h3{color:#000}
#sv .t-hero .t-sub,#sv .t-anrede p,#sv .t-anrede span{color:#fff}

@media (max-width:640px){
  #sv .t-steps::before,#sv .t-steps-fill{left:43px}
  #sv .t-step{grid-template-columns:46px 1fr;gap:16px;padding:22px 20px}
  #sv .t-stepn{width:46px;height:46px;border-radius:14px;font-size:1.2rem}
  #sv .t-bildreihe{grid-template-columns:1fr;gap:14px}
}
@media (max-width:1000px) and (min-width:641px){
  #sv .t-bildreihe{grid-template-columns:repeat(2,1fr)}
}

/* Tippziele: gemessen lagen Fusszeilenverweise bei 26px, der
   Praxis-Verweis bei 40px und der LinkedIn-Verweis bei 19px Höhe.
   Auf dem Telefon ist das zu wenig zum sicheren Treffen. */
#sv footer a{min-height:44px;display:inline-flex;align-items:center;padding:0 2px}
#sv .t-foot-l{gap:0 20px;align-items:center}
#sv .t-prax-web{min-height:44px}
#sv .t-link{display:inline-flex;align-items:center;min-height:44px}

/* Die Sprungmarke wird sichtbar und gross, sobald sie den
   Tastaturfokus bekommt. */
#sv a.t-nurlesen:focus{position:fixed;top:12px;left:12px;z-index:999;
  width:auto;height:auto;overflow:visible;clip:auto;padding:14px 24px;
  min-height:48px;display:inline-flex;align-items:center;
  border-radius:var(--r-pill);background:var(--petrol-mid);color:#fff;
  font-weight:600;box-shadow:0 12px 30px rgba(0,64,94,.4)}


/* ===================================================================
   FASSUNG 4.3 — Bildergalerie aus der Praxis Olten
   Zwei grosse Aufnahmen oben, drei kleinere darunter. Bilder statt
   einer weiteren Kachelreihe.
   =================================================================== */
#sv .t-galerie{display:grid;grid-template-columns:repeat(6,1fr);gap:18px}
#sv .t-gal{grid-column:span 2;border-radius:var(--r-lg);overflow:hidden;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);
  box-shadow:0 18px 44px rgba(0,14,24,.32);
  transition:transform .35s var(--ease),box-shadow .35s var(--ease),
             border-color .35s}
#sv .t-gal-gross{grid-column:span 3}
#sv .t-gal img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;
  transition:transform .6s var(--ease)}
#sv .t-gal:hover{transform:translateY(-4px);border-color:rgba(127,214,248,.5);
  box-shadow:0 28px 62px rgba(0,14,24,.44)}
#sv .t-gal:hover img{transform:scale(1.04)}
#sv .t-gal figcaption{padding:13px 18px 15px;font-size:.95rem;font-weight:600;
  color:#fff;letter-spacing:-.012em}

@media (max-width:1000px){
  #sv .t-galerie{grid-template-columns:repeat(2,1fr);gap:14px}
  #sv .t-gal,#sv .t-gal-gross{grid-column:span 1}
}
@media (max-width:560px){
  #sv .t-galerie{grid-template-columns:1fr}
}


/* ===================================================================
   FASSUNG 4.4
   =================================================================== */

/* -------------------------------------------------------------------
   1  Hamburger: kräftigere Striche, kein Kästchen mehr
   Der blasse weisse Grund mit Rahmen wirkte wie ein Fremdkörper in
   der Glaskopfzeile. Jetzt stehen nur noch die Striche da.
   ------------------------------------------------------------------- */
#sv .t-burger{background:none;border:0;box-shadow:none;width:48px;height:48px;
  border-radius:14px;gap:6px;transition:background .25s var(--ease)}
#sv .t-burger:hover,#sv .t-burger.t-open{background:rgba(12,38,50,.06)}
#sv .t-burger i{width:24px;height:2.5px;background:var(--ink);border-radius:3px}
#sv .t-burger.t-open i:nth-child(1){transform:translateY(8.5px) rotate(45deg)}
#sv .t-burger.t-open i:nth-child(3){transform:translateY(-8.5px) rotate(-45deg)}

/* -------------------------------------------------------------------
   2  Schrittziffern: eine Farbe für alle
   Hellblau im Ruhezustand, beim Erreichen auf Markenpetrol.
   ------------------------------------------------------------------- */
#sv .t-stepn,
#sv .t-band-light .t-stepn,#sv .t-band-tint .t-stepn{
  color:var(--petrol-mid);
  background:rgba(0,158,227,.12);
  border:1px solid rgba(0,158,227,.22)}
/* Korrigiert: hier stand --petrol (#00405E). Gemessen kam die
   erreichte Ziffer damit in #00405E heraus statt in #005F89. */
#sv .t-step:hover .t-stepn,#sv .t-step.t-reached .t-stepn,
#sv .t-band-light .t-step.t-reached .t-stepn{
  background:var(--petrol-mid);color:#fff;border-color:var(--petrol-mid)}

/* Mehr Luft zwischen den Karten */
#sv .t-steps{gap:20px}
#sv .t-grid-2{gap:26px}
#sv .t-grid-3{gap:26px}
#sv .t-grid-4{gap:24px}
#sv .t-prax{gap:24px}
#sv .t-galerie{gap:22px}

/* -------------------------------------------------------------------
   3  Praxiskarten: grössere Zeichen, Glasoptik
   Statt der harten Zweiteilung weiss/getönt liegt jetzt eine
   durchscheinende Glasfläche mit weichem Lichtsaum darüber.
   ------------------------------------------------------------------- */
#sv .t-prax-c{
  background:linear-gradient(158deg,rgba(255,255,255,.78),rgba(255,255,255,.42));
  -webkit-backdrop-filter:blur(26px) saturate(190%);
  backdrop-filter:blur(26px) saturate(190%);
  border:1px solid rgba(255,255,255,.85);
  box-shadow:0 10px 34px rgba(0,64,94,.1),
             inset 0 1px 0 rgba(255,255,255,.95),
             inset 0 -1px 0 rgba(0,64,94,.05);
  transition:transform .35s var(--ease),box-shadow .35s var(--ease),
             border-color .35s var(--ease),background .35s var(--ease)}
#sv .t-prax-c:hover{
  transform:translateY(-4px);
  background:linear-gradient(158deg,rgba(255,255,255,.92),rgba(255,255,255,.6));
  border-color:rgba(0,158,227,.4);
  box-shadow:0 24px 54px rgba(0,64,94,.16),
             inset 0 1px 0 rgba(255,255,255,1)}

/* Der Logobereich ist keine eigene weisse Fläche mehr, sondern ein
   Lichtschimmer im selben Glas. */
#sv .t-prax-logo{background:linear-gradient(180deg,rgba(255,255,255,.75),transparent);
  border-bottom:1px solid rgba(255,255,255,.7);padding:34px 22px 26px}
#sv .t-prax-logo img{height:104px;width:auto;max-width:100%;object-fit:contain;
  transition:transform .4s var(--ease)}
#sv .t-prax-c:hover .t-prax-logo img{transform:scale(1.04)}

@supports not (backdrop-filter:blur(1px)){
  #sv .t-prax-c{background:rgba(255,255,255,.94)}
}

/* -------------------------------------------------------------------
   4  Galerie: Beschriftungen mittig
   ------------------------------------------------------------------- */
#sv .t-gal figcaption{text-align:center;padding:15px 18px 17px}

/* -------------------------------------------------------------------
   5  Kontakt: die beiden Kanäle nebeneinander, auch auf dem Telefon
   Untereinander wirkten sie auf schmalen Bildschirmen wie zwei
   getrennte Angebote. Nebeneinander sind es zwei gleichwertige Wege.
   ------------------------------------------------------------------- */
@media (max-width:640px){
  #sv .t-contact{grid-template-columns:repeat(2,1fr);gap:14px}
  #sv .t-cc{padding:26px 12px 22px}
  #sv .t-cc .t-ibox{width:54px;height:54px;border-radius:17px;margin-bottom:12px}
  #sv .t-cc .t-ibox .t-ic{width:27px;height:27px}
  #sv[data-kart="1"] .t-cc b{font-size:1.04rem;margin-bottom:4px}
  #sv[data-kart="1"] .t-cc span,#sv[data-kart="1"] .t-band-dark .t-cc span{
    font-size:.84rem;line-height:1.35;overflow-wrap:anywhere}
}
@media (max-width:1000px) and (min-width:641px){
  #sv .t-contact{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:380px){
  #sv[data-kart="1"] .t-cc span,#sv[data-kart="1"] .t-band-dark .t-cc span{font-size:.78rem}
  #sv .t-cc{padding:22px 8px 20px}
}

@media (max-width:640px){
  #sv .t-prax-logo img{height:88px}
  #sv .t-steps{gap:14px}
  #sv .t-grid-3,#sv .t-grid-4{gap:18px}
}

/* Nachbesserung: `#sv[data-kart="1"] .t-band-light .t-prax-c` war
   spezifischer und hatte backdrop-filter wieder auf none gesetzt.
   Gemessen: none statt blur. */
#sv[data-kart="1"] .t-band-light .t-prax-c,
#sv .t-band-light .t-prax-c,#sv .t-prax-c{
  background:linear-gradient(158deg,rgba(255,255,255,.78),rgba(255,255,255,.42));
  -webkit-backdrop-filter:blur(26px) saturate(190%);
  backdrop-filter:blur(26px) saturate(190%);
  border:1px solid rgba(255,255,255,.85);
  box-shadow:0 10px 34px rgba(0,64,94,.1),
             inset 0 1px 0 rgba(255,255,255,.95),
             inset 0 -1px 0 rgba(0,64,94,.05)}
#sv[data-kart="1"] .t-band-light .t-prax-c:hover,
#sv .t-band-light .t-prax-c:hover,#sv .t-prax-c:hover{
  background:linear-gradient(158deg,rgba(255,255,255,.92),rgba(255,255,255,.6));
  border-color:rgba(0,158,227,.4)}

/* Damit das Glas überhaupt etwas zu brechen hat, bekommt das Band
   hinter den Karten zwei weiche Farbwolken. Über reinem Weiss wäre
   ein Weichzeichner wirkungslos — man sähe nichts. */
#sv #praxisok{background:#FBFDFE;overflow:hidden}
#sv #praxisok::before{content:"";position:absolute;width:760px;height:760px;
  border-radius:50%;top:-300px;left:-220px;pointer-events:none;
  background:radial-gradient(circle,rgba(0,158,227,.2),transparent 66%)}
#sv #praxisok::after{content:"";position:absolute;width:640px;height:640px;
  border-radius:50%;bottom:-280px;right:-180px;pointer-events:none;
  background:radial-gradient(circle,rgba(22,169,107,.14),transparent 68%)}
#sv #praxisok>.t-wrap{position:relative;z-index:2}


/* ===================================================================
   FASSUNG 4.5
   =================================================================== */

/* -------------------------------------------------------------------
   1  Hero-Karten: Zeichen oben, Text darunter, drei nebeneinander
   ------------------------------------------------------------------- */
#sv .t-hero-cards{grid-template-columns:repeat(3,1fr);gap:14px}
#sv .t-hero-card{display:flex;flex-direction:column;align-items:flex-start;gap:0;
  padding:18px 18px 17px;text-align:left}
#sv .t-hero-card .t-ic{width:20px;height:20px;margin:0 0 12px;stroke-width:2;
  color:var(--a-cyan)}
#sv .t-hero-card b{font-size:.99rem;font-weight:650;line-height:1.3;margin-bottom:2px}
#sv .t-hero-card span{font-size:.86rem;line-height:1.4;font-weight:450}

@media (max-width:1100px){ #sv .t-hero-cards{grid-template-columns:repeat(3,1fr);gap:11px} }
@media (max-width:640px){
  #sv .t-hero-cards{grid-template-columns:1fr;gap:10px}
  #sv .t-hero-card{flex-direction:row;align-items:center;gap:13px;padding:15px 17px}
  #sv .t-hero-card .t-ic{margin:0;flex:0 0 20px}
  #sv .t-hero-card b{margin-bottom:0}
  #sv .t-hero-card span{display:none}
}

/* -------------------------------------------------------------------
   2  Kopfzeile schrumpft auch auf dem Telefon spürbar
   ------------------------------------------------------------------- */
@media (max-width:1000px){
  #sv .t-hd{height:72px}
  #sv header.t-scrolled .t-hd{height:56px}
  #sv .t-logo-m{height:36px}
  #sv header.t-scrolled .t-logo-m{height:28px}
  #sv .t-logo b{font-size:1.06rem;transition:font-size .3s var(--ease)}
  #sv header.t-scrolled .t-logo b{font-size:.98rem}
  #sv .t-burger{transition:background .25s var(--ease),transform .3s var(--ease)}
  #sv header.t-scrolled .t-burger{transform:scale(.92)}
}

/* -------------------------------------------------------------------
   3  Mobiles Menü: weicheres Öffnen
   Der Grund blendet auf, die Einträge steigen einzeln nach.
   Cyan als Farbe beim Antippen — wie auf trtdoc.ch.
   ------------------------------------------------------------------- */
#sv .t-mnav{transition:opacity .5s var(--ease-aus),visibility .5s var(--ease-aus)}
#sv .t-mnav nav a{transform:translateY(18px) scale(.98);
  transition:color .22s var(--ease),background .22s var(--ease),
             opacity .55s var(--ease-aus),transform .55s var(--ease-aus)}
#sv .t-mnav.t-open nav a{transform:none}
#sv .t-mnav nav a:hover,#sv .t-mnav nav a:active{color:var(--cyan);
  background:rgba(0,158,227,.12)}
#sv .t-mnav-zu{transform:rotate(-90deg) scale(.8);opacity:0;
  transition:transform .45s var(--ease-aus) .1s,opacity .45s var(--ease-aus) .1s,
             background .22s var(--ease)}
#sv .t-mnav.t-open .t-mnav-zu{transform:none;opacity:1}
#sv .t-mnav-cta{transition:opacity .4s var(--ease-aus) .34s,
             transform .4s var(--ease-aus) .34s}

/* -------------------------------------------------------------------
   4  Zeitleiste: Linie in Markenpetrol, mehr Luft, kürzere Karten
   Die erreichte Karte trägt den Akzent, nicht nur die Ziffer.
   ------------------------------------------------------------------- */
#sv .t-steps{gap:22px}
#sv .t-steps-fill{background:var(--petrol-mid)}
#sv .t-step{padding:22px 26px;align-items:center}
#sv .t-step p{max-width:64ch}
#sv .t-step.t-reached{border-color:rgba(0,95,137,.4);
  box-shadow:0 6px 22px rgba(0,95,137,.12)}
#sv .t-step.t-reached .t-stepn{background:var(--petrol-mid);color:#fff;
  border-color:var(--petrol-mid)}

/* -------------------------------------------------------------------
   5  E-Mail bricht nicht mehr mitten im Wort
   Gemessen brach die Adresse vor ".com" um. `anywhere` erlaubt genau
   das; hier soll sie lieber als Ganzes kleiner werden.
   ------------------------------------------------------------------- */
#sv .t-cc-mail span{overflow-wrap:normal;word-break:normal;hyphens:none;
  white-space:nowrap;font-size:clamp(.66rem,2.4vw,.94rem)}
@media (max-width:640px){
  #sv[data-kart="1"] .t-cc-mail span,
  #sv[data-kart="1"] .t-band-dark .t-cc-mail span{
    white-space:nowrap;overflow-wrap:normal;font-size:clamp(.62rem,2.5vw,.84rem)}
}

/* -------------------------------------------------------------------
   6  Fusszeile mittig, Datenschutz eine Zeile tiefer und grösser
   ------------------------------------------------------------------- */
#sv .t-foot-in{flex-direction:column;align-items:center;text-align:center;gap:20px}
#sv .t-foot-b{flex-direction:row;justify-content:center}
#sv .t-foot-l{justify-content:center;gap:4px 22px}
#sv .t-foot-dsg{margin-top:2px}
#sv .t-foot-dsg a{font-size:1.02rem;font-weight:600;color:#fff;opacity:1;
  text-decoration:underline;text-underline-offset:4px}
#sv .t-foot-dsg a:hover{color:var(--cyan-lt)}

/* -------------------------------------------------------------------
   7  FAQ: mehr Luft, sobald eine Frage offen ist
   ------------------------------------------------------------------- */
#sv .t-faq details,#sv #faqlist details{margin-bottom:12px}
#sv #faqlist details[open]{margin-bottom:18px}
#sv summary{padding:22px 26px}
#sv details p{padding:0 26px;line-height:1.7}
#sv details .t-faq-inner>p:first-child{padding-top:4px}
#sv details ul{padding-left:50px;padding-right:26px;line-height:1.7}
#sv details .t-faq-inner>*:last-child{margin-bottom:24px}

@media (max-width:640px){
  #sv summary{padding:18px 20px}
  #sv details p{padding:0 20px}
  #sv details ul{padding-left:40px;padding-right:20px}
  #sv .t-step{padding:20px 18px}
}

/* Nachbesserung: damit die Adresse in einer Zeile bleibt, war sie auf
   9,9 px geschrumpft — unlesbar. Statt die Schrift weiter zu
   verkleinern bekommt die Karte weniger Innenabstand, dann reicht
   der Platz für eine lesbare Grösse. */
@media (max-width:640px){
  #sv .t-cc{padding:26px 8px 22px}
  #sv[data-kart="1"] .t-cc-mail span,
  #sv[data-kart="1"] .t-band-dark .t-cc-mail span{
    font-size:clamp(.74rem,3.1vw,.9rem);letter-spacing:-.02em}
  #sv[data-kart="1"] .t-cc-wa span,
  #sv[data-kart="1"] .t-band-dark .t-cc-wa span{font-size:.86rem}
}
@media (max-width:380px){
  #sv .t-cc{padding:24px 6px 20px}
  #sv[data-kart="1"] .t-cc-mail span,
  #sv[data-kart="1"] .t-band-dark .t-cc-mail span{font-size:clamp(.7rem,3.2vw,.82rem)}
}

/* Unter 340px reicht der Platz für zwei Karten nebeneinander nicht
   mehr — gemessen ragte die Adresse dort 4px heraus. Auf sehr
   schmalen Geräten stehen die beiden Kanäle deshalb untereinander,
   dafür mit voller Lesbarkeit. */
@media (max-width:340px){
  #sv .t-contact{grid-template-columns:1fr;gap:12px}
  #sv .t-cc{padding:24px 18px 20px;flex-direction:row;align-items:center;
    gap:14px;text-align:left}
  #sv .t-cc .t-ibox{margin:0;flex:0 0 46px;width:46px;height:46px;border-radius:14px}
  #sv .t-cc .t-ibox .t-ic{width:23px;height:23px}
  #sv[data-kart="1"] .t-cc-mail span,
  #sv[data-kart="1"] .t-band-dark .t-cc-mail span{font-size:.86rem}
}


/* ===================================================================
   FASSUNG 4.6 — Tablet im Hochformat
   Gemessen bei 768, 810, 820, 834 und 1024 px Breite.
   Behoben wurden vier Stellen:
     1  die neun Karten standen in EINER Spalte — bei 834 px Breite
        eine 782 px breite Karte mit 38 Zeichen Text darin
     2  der Hero-Knopf lief über die volle Breite (782 px)
     3  die Galerie lief zweispaltig, das fünfte Bild blieb allein
     4  Zeilenlängen und Kartenabstände waren für die Breite zu eng
   =================================================================== */

@media (min-width:641px) and (max-width:1000px){

  /* --- Kartenraster: zwei Spalten statt einer --- */
  #sv .t-grid-3,#sv .t-grid-4{grid-template-columns:repeat(2,1fr);gap:22px}

  /* Neun Karten ergeben in zwei Spalten eine einzelne letzte Karte.
     Die läuft deshalb über beide Spalten, statt allein zu stehen. */
  #sv .t-grid-3>*:last-child:nth-child(odd){grid-column:span 2}
  #sv .t-grid-3>*:last-child:nth-child(odd) p{max-width:70ch}

  /* --- Textbreiten an die Kartenbreite anpassen --- */
  #sv .t-tile p{max-width:46ch}
  #sv .t-tile-c p{max-width:38ch}
  #sv .t-lede{max-width:64ch}
  #sv .t-step p{max-width:none}

  /* --- Hero-Knopf: nur so breit wie nötig --- */
  #sv .t-hero-cta{align-self:flex-start}
  #sv .t-hero-cta .t-btn{width:auto;min-width:280px}

  /* --- Hero: Text und Bild nebeneinander, es ist Platz dafür --- */
  #sv .t-heroA{grid-template-columns:1fr;gap:34px;padding-top:52px;padding-bottom:60px}
  #sv .t-hero h1{max-width:18ch}
  #sv .t-hero .t-sub{max-width:56ch}
  #sv .t-anrede{max-width:60ch}

  /* --- Galerie: zwei grosse oben, drei kleinere darunter --- */
  #sv .t-galerie{grid-template-columns:repeat(6,1fr);gap:18px}
  #sv .t-gal{grid-column:span 2}
  #sv .t-gal-gross{grid-column:span 3}
  #sv .t-gal figcaption{padding:12px 14px 14px;font-size:.9rem}

  /* --- Praxen und Kontakt --- */
  #sv .t-prax{grid-template-columns:repeat(2,1fr);gap:22px}
  #sv .t-prax-logo img{height:96px}
  #sv .t-contact{grid-template-columns:repeat(2,1fr);gap:20px;max-width:640px}

  /* --- Abschnitte etwas kompakter, sonst wird die Seite endlos --- */
  #sv .t-band{padding:78px 0}
  #sv .t-band-kompakt{padding:56px 0}
  #sv .t-band-gross{padding:88px 0}
  #sv .t-sec-head{margin-bottom:38px}

  /* --- Zeitleiste --- */
  #sv .t-steps{gap:16px;max-width:none}
  #sv .t-step{padding:22px 24px}

  /* --- Über mich: Bild und Text nebeneinander, es passt --- */
  #sv .t-me{grid-template-columns:.8fr 1.2fr;gap:36px}
  #sv .t-me img{aspect-ratio:4/5;object-position:center 20%}
  #sv .t-me p{max-width:56ch}
}

/* Ab 1001 px erscheint wieder die Kopfzeilennavigation. Auf dem
   grossen iPad im Hochformat (1024 px) ist dafür gerade genug Platz,
   die Abstände werden aber enger gesetzt. */
@media (min-width:1001px) and (max-width:1100px){
  #sv header nav{gap:16px}
  #sv header nav a{font-size:.89rem}
  #sv .t-hd{gap:16px}
  #sv .t-logo b{font-size:1.02rem}
}

/* Ohne die drei Karten hat die Bildspalte im Hero nichts mehr, was
   sie nach unten füllt. Foto und Text stehen jetzt auf gleicher Höhe,
   statt dass das Bild allein nach unten läuft. */
#sv .t-h-visual{justify-content:center}
#sv .t-h-photo .t-ph img{aspect-ratio:4/3}
@media (min-width:1001px){
  #sv .t-heroA{align-items:center;padding-block:80px 88px}
  #sv .t-h-copy{justify-content:center}
  #sv .t-hero-cta{margin-top:6px}
}
@media (min-width:641px) and (max-width:1000px){
  #sv .t-h-photo .t-ph img{aspect-ratio:16/9}
}
@media (max-width:640px){
  #sv .t-h-photo .t-ph img{aspect-ratio:3/2}
}


/* ===================================================================
   FASSUNG 4.8
   =================================================================== */

/* 1  Die senkrechte Linie neben der Anrede trägt jetzt das
      Akzentblau statt des bernsteinfarbenen Tons. */
#sv .t-anrede{border-left-color:#009EE3;border-left-width:3px}

/* 2  Praxislogos noch einmal grösser, besonders auf dem Telefon */
#sv .t-prax-logo{padding:38px 22px 28px}
#sv .t-prax-logo img{height:124px}
@media (min-width:641px) and (max-width:1100px){
  #sv .t-prax-logo img{height:116px}
}
@media (max-width:640px){
  #sv .t-prax-logo{padding:34px 20px 24px}
  #sv .t-prax-logo img{height:118px}
}

/* 3  Liquid Glass
      Drei Schichten machen den Eindruck aus: eine durchscheinende
      Fläche mit Rückenweichzeichner, ein heller Saum an der
      Oberkante, und ein schmaler Lichtstreifen, der beim Überfahren
      darüberzieht. */
#sv .t-gal,#sv .t-prax-c{position:relative;isolation:isolate}

#sv .t-gal{
  background:linear-gradient(150deg,rgba(255,255,255,.16),rgba(255,255,255,.05) 55%,
             rgba(255,255,255,.09));
  -webkit-backdrop-filter:blur(20px) saturate(180%);
  backdrop-filter:blur(20px) saturate(180%);
  border:1px solid rgba(255,255,255,.22);
  box-shadow:0 18px 44px rgba(0,14,24,.34),
             inset 0 1px 0 rgba(255,255,255,.34),
             inset 0 -1px 0 rgba(0,20,32,.2)}
#sv .t-gal:hover{
  background:linear-gradient(150deg,rgba(255,255,255,.24),rgba(255,255,255,.08) 55%,
             rgba(255,255,255,.14));
  border-color:rgba(127,214,248,.55);
  box-shadow:0 28px 62px rgba(0,14,24,.46),
             inset 0 1px 0 rgba(255,255,255,.5)}

/* Der wandernde Lichtstreifen ist entfernt. Er war mit 42 bzw. 70
   Prozent Weiss zu auffällig — Glas lebt vom ruhigen Saum, nicht vom
   Blitzen. Geblieben ist der helle Rand an der Oberkante. */

/* Der Bildbereich darf den Lichtstreifen nicht verdecken */
#sv .t-gal picture,#sv .t-gal img{position:relative;z-index:1}
#sv .t-gal figcaption{position:relative;z-index:2;
  background:linear-gradient(180deg,rgba(255,255,255,.06),transparent)}

@supports not (backdrop-filter:blur(1px)){
  #sv .t-gal{background:rgba(255,255,255,.12)}
}

@media (prefers-reduced-motion:reduce){
  #sv .t-gal::after,#sv .t-prax-c::after{display:none}
}

/* ===================================================================
   1001 bis 1100 px — grosses iPad im Hochformat
   Hier greift bereits das Rechnerlayout. Einspaltig wurde der Hero
   1438 px hoch, also höher als der Bildschirm des 12,9-Zoll-iPads
   (1366 px). Zwei Spalten und engere Polster bringen ihn darunter.
   =================================================================== */
@media (min-width:1001px) and (max-width:1100px){
  #sv .t-heroA{grid-template-columns:.94fr 1.06fr;gap:0 34px;
    padding-top:54px;padding-bottom:60px;align-items:center}
  #sv .t-hero h1{max-width:14ch}
  #sv .t-hero .t-sub{max-width:44ch}
  #sv .t-anrede{max-width:46ch}
  #sv .t-h-photo .t-ph img{aspect-ratio:4/3}
  #sv .t-grid-3,#sv .t-grid-4{grid-template-columns:repeat(2,1fr);gap:22px}
  #sv .t-grid-3>*:last-child:nth-child(odd){grid-column:span 2}
  #sv .t-prax{grid-template-columns:repeat(2,1fr)}
  #sv .t-contact{max-width:660px;margin-left:auto;margin-right:auto}
  #sv .t-band{padding:80px 0}
  #sv .t-band-kompakt{padding:58px 0}
  #sv .t-band-gross{padding:92px 0}
}


/* ===================================================================
   FASSUNG 5.1
   =================================================================== */

/* Glas ohne Blitzen: etwas mehr Fläche und Sättigung als vorher,
   aber ein deutlich ruhigerer Lichtsaum. */
#sv .t-gal{
  background:linear-gradient(150deg,rgba(255,255,255,.13),rgba(255,255,255,.04) 58%,
             rgba(255,255,255,.07));
  -webkit-backdrop-filter:blur(24px) saturate(185%);
  backdrop-filter:blur(24px) saturate(185%);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 18px 44px rgba(0,14,24,.32),
             inset 0 1px 0 rgba(255,255,255,.22)}
#sv .t-gal:hover{
  background:linear-gradient(150deg,rgba(255,255,255,.19),rgba(255,255,255,.06) 58%,
             rgba(255,255,255,.1));
  border-color:rgba(127,214,248,.42);
  box-shadow:0 26px 58px rgba(0,14,24,.4),
             inset 0 1px 0 rgba(255,255,255,.3)}

#sv .t-prax-c{
  box-shadow:0 10px 34px rgba(0,64,94,.1),
             inset 0 1px 0 rgba(255,255,255,.8),
             inset 0 -1px 0 rgba(0,64,94,.05)}
#sv .t-prax-c:hover{
  box-shadow:0 24px 54px rgba(0,64,94,.15),
             inset 0 1px 0 rgba(255,255,255,.9)}

/* Der Hinweiskasten steht mittig und trägt mehr Text als vorher. */
/* Breiter als zuvor: der Kasten stand mit 70ch auf 779px, der
   Fliesstext darin sogar nur bei 62ch. Auf dem Rechner wirkte das
   wie eine schmale Säule mitten auf der Fläche. */
#sv .t-note-mitte{max-width:860px;margin:38px auto 0;padding:34px 44px;
  text-align:center;border-radius:var(--r-lg)}
#sv .t-note-mitte h3{margin:0 0 16px;font-size:1.3rem;font-weight:700}
#sv .t-note-mitte p{margin:0 auto 15px;max-width:none;text-align:center;
  line-height:1.72}
#sv .t-note-mitte p:last-child{margin-bottom:0}
#sv .t-band-dark .t-note-mitte h3{color:#fff}
#sv .t-band-dark .t-note-mitte p{color:#fff}
#sv .t-band-dark .t-note-mitte p strong{color:#fff}

@media (max-width:640px){
  #sv .t-note-mitte{padding:26px 22px;margin-top:28px}
  #sv .t-note-mitte h3{font-size:1.12rem}
}


/* ===================================================================
   RECHTSTEXTSEITEN — Impressum, Datenschutzerklärung
   Aufbau wie auf trtdoc.ch: heller Grund, Rücksprung nach oben und
   unten, links ein mitlaufendes Inhaltsverzeichnis, rechts der Text
   in ruhiger Zeilenbreite.
   =================================================================== */

#sv.t-jogi-oldal{background:#fff}
#sv .t-jogi{padding:52px 0 92px}

/* Rücksprung zur Startseite */
#sv .t-vissza{display:inline-flex;align-items:center;gap:8px;font-size:.95rem;
  font-weight:500;color:var(--petrol-mid);min-height:44px;
  transition:color .25s var(--ease),transform .25s var(--ease)}
#sv .t-vissza:hover{color:var(--cyan-txt);transform:translateX(-3px)}
#sv .t-vissza .t-ic{width:17px;height:17px;stroke-width:2.2}
#sv .t-vissza-vege{margin-top:56px;padding-top:28px;width:100%;
  border-top:1px solid rgba(12,38,50,.08)}

#sv .t-jogi h1{font-size:clamp(2rem,4.4vw,3rem);letter-spacing:-.035em;
  line-height:1.1;color:#000;margin:16px 0 10px;max-width:20ch}
#sv .t-allapot{font-size:.94rem;color:#4E6675;margin-bottom:42px}

/* Werte übernommen aus der Live-Fassung von trtdoc.ch, dort
   gemessen am 03.08.2026: Textspalte 786 px bei einer Obergrenze von
   820 px, Spaltenabstand 96 px, Schriftgrad 19,5 px, Zeilenhöhe 33,6 px.
   Die ältere Paketfassung, die mir vorlag, stand noch auf 593 px und
   16,5 px — daher wirkte der Text zu schmal. */
#sv .t-jogi-racs{display:grid;grid-template-columns:246px minmax(0,1fr);
  gap:0 96px;align-items:start}

/* Inhaltsverzeichnis, läuft beim Scrollen mit */
#sv .t-tartalom{position:sticky;top:112px;max-height:calc(100vh - 150px);
  overflow-y:auto;padding-right:12px}
#sv .t-tartalom[hidden]{display:none}
#sv .t-tartalom-cim{display:block;font-size:.875rem;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;color:#4E6675;margin-bottom:14px}
#sv .t-tartalom ol{list-style:none;margin:0;padding:0;
  border-left:1px solid rgba(12,38,50,.1)}
#sv .t-tartalom li{list-style:none;margin:0}
#sv .t-tartalom a{display:block;padding:7px 0 7px 16px;margin-left:-1px;
  font-size:.92rem;line-height:1.35;color:#3D5C69;
  border-left:2px solid transparent;min-height:0;
  transition:color .25s var(--ease),border-color .25s var(--ease)}
#sv .t-tartalom a:hover{color:var(--petrol-mid)}
#sv .t-tartalom a.t-most{color:var(--petrol-mid);font-weight:600;
  border-left-color:var(--petrol-mid)}

/* Textkörper */
#sv .t-jogi-szoveg{max-width:820px;font-size:1.22rem;line-height:1.72;color:#000}
#sv .t-jogi-szoveg h2{font-size:1.62rem;letter-spacing:-.022em;line-height:1.28;
  color:#000;margin:50px 0 14px;scroll-margin-top:120px;max-width:none}
#sv .t-jogi-szoveg h2:first-child{margin-top:0}
#sv .t-jogi-szoveg h3{font-size:1.24rem;letter-spacing:-.012em;color:#000;
  margin:30px 0 8px;scroll-margin-top:120px}
#sv .t-jogi-szoveg h4{font-size:1.1rem;color:#000;margin:22px 0 6px}
#sv .t-jogi-szoveg p{margin:0 0 18px;max-width:none;color:#000}
#sv .t-jogi-szoveg strong,#sv .t-jogi-szoveg b{font-weight:650;color:#000}
#sv .t-jogi-szoveg ul,#sv .t-jogi-szoveg ol{margin:0 0 18px;padding-left:24px}
#sv .t-jogi-szoveg ul li{list-style:disc;display:list-item;margin-bottom:7px;
  padding-left:4px}
#sv .t-jogi-szoveg ol li{list-style:decimal;display:list-item;margin-bottom:7px;
  padding-left:4px}
#sv .t-jogi-szoveg a{color:#00719E;text-decoration:underline;
  text-underline-offset:3px;text-decoration-thickness:1px;overflow-wrap:anywhere}
#sv .t-jogi-szoveg a:hover{color:var(--petrol-mid)}
#sv .t-jogi-szoveg hr{border:0;height:1px;background:rgba(12,38,50,.08);margin:38px 0}

/* Hervorgehobener Block, etwa für die Anschrift */
#sv .t-jogi-szoveg .t-doboz{background:var(--tint);border-radius:var(--r-md);
  padding:24px 26px;margin:0 0 26px}
#sv .t-jogi-szoveg .t-doboz p:last-child{margin-bottom:0}

/* Angabenliste, etwa für das Impressum */
#sv .t-jogi-szoveg dl{display:grid;grid-template-columns:auto minmax(0,1fr);
  gap:10px 26px;margin:0 0 26px}
#sv .t-jogi-szoveg dt{font-weight:650;color:#000}
#sv .t-jogi-szoveg dd{margin:0;color:#000}

/* Offener Punkt, der vor der Veröffentlichung zu füllen ist */
#sv .t-jogi-szoveg .t-offen{background:rgba(232,152,28,.13);
  border-left:3px solid var(--a-amber);padding:2px 8px;border-radius:4px;
  font-weight:600}

@media (max-width:900px){
  #sv .t-jogi-racs{grid-template-columns:1fr;gap:0}
  #sv .t-tartalom{position:static;max-height:none;margin-bottom:34px;
    padding:20px 22px;background:var(--tint);border-radius:var(--r-md);
    overflow:visible}
  #sv .t-tartalom ol{border-left:0;columns:2;column-gap:22px}
  #sv .t-tartalom a{padding:6px 0;border-left:0}
  #sv .t-tartalom a.t-most{border-left:0}
  #sv .t-jogi-szoveg{max-width:38em}
  #sv .t-jogi{padding:34px 0 70px}
}
@media (max-width:560px){
  #sv .t-tartalom ol{columns:1}
  #sv .t-jogi-szoveg dl{grid-template-columns:1fr;gap:2px 0}
  #sv .t-jogi-szoveg dd{margin-bottom:12px}
  #sv .t-jogi-cta{display:none}
}


/* ===================================================================
   FASSUNG 5.6 — Galerie: Beschriftung als helle Kapsel im Bild
   Der blaue Balken unter dem Bild ist weg. Statt dessen sitzt eine
   kleine weisse Kapsel in der oberen linken Ecke der Aufnahme.
   Die Beschriftung steht damit ausserhalb des Textflusses, das
   Bild füllt die Karte vollständig.
   =================================================================== */

#sv .t-gal{position:relative;overflow:hidden}

/* Der Weichzeichner ist hier entfernt: hinter einer bildfüllenden
   Aufnahme gibt es nichts zu brechen — er kostete nur Rechenzeit.
   Rahmen und Schatten bleiben und fassen das Bild weiterhin ein. */
#sv .t-gal{
  background:transparent;
  -webkit-backdrop-filter:none;backdrop-filter:none;
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 18px 44px rgba(0,14,24,.32)}
#sv .t-gal:hover{
  background:transparent;
  border-color:rgba(127,214,248,.45);
  box-shadow:0 26px 58px rgba(0,14,24,.42)}

#sv .t-gal picture,#sv .t-gal img{display:block;position:relative;z-index:1}
#sv .t-gal img{border-radius:0}

#sv .t-gal figcaption{
  position:absolute;top:14px;left:14px;z-index:3;
  padding:8px 15px;border-radius:var(--r-chip);
  background:rgba(255,255,255,.94);
  -webkit-backdrop-filter:blur(10px) saturate(160%);
  backdrop-filter:blur(10px) saturate(160%);
  color:var(--petrol);font-size:.87rem;font-weight:700;letter-spacing:-.008em;
  line-height:1.3;text-align:left;max-width:calc(100% - 28px);
  box-shadow:0 6px 18px rgba(0,14,24,.28);
  transition:background .3s var(--ease),transform .3s var(--ease)}
#sv .t-gal:hover figcaption{background:#fff;transform:translateY(-1px)}

@media (max-width:640px){
  #sv .t-gal figcaption{top:12px;left:12px;padding:7px 13px;font-size:.84rem}
}

/* Behobener Fehler im Kopf der Rechtstextseiten:
   Der Knopf sass 26 px neben dem Logo statt am rechten Rand. Auf der
   Startseite schiebt `#sv header nav{margin-left:auto}` alles Folgende
   nach rechts — hier gibt es keine Navigation, also fehlte der Schub.
   Gemessen: 799 px Abstand zum rechten Rand statt der 26 px von trtdoc.ch. */
#sv .t-jogi-cta{margin-left:auto}

/* Bei der grösseren Schrift brauchen Listen und Blöcke mehr Luft */
#sv .t-jogi-szoveg ul,#sv .t-jogi-szoveg ol{padding-left:28px;margin-bottom:22px}
#sv .t-jogi-szoveg li{margin-bottom:9px}
#sv .t-jogi-szoveg p{margin-bottom:22px}
#sv .t-jogi-szoveg h2{margin:56px 0 16px}
#sv .t-jogi-szoveg h3{margin:34px 0 10px}
#sv .t-jogi-szoveg .t-doboz{padding:28px 30px;margin-bottom:30px}
#sv .t-jogi-szoveg dl{gap:12px 30px;margin-bottom:30px}

@media (max-width:1100px){
  #sv .t-jogi-racs{gap:0 56px}
}
@media (max-width:900px){
  #sv .t-jogi-szoveg{max-width:none;font-size:1.14rem}
  #sv .t-jogi-szoveg h2{font-size:1.5rem;margin:44px 0 14px}
}
@media (max-width:640px){
  #sv .t-jogi-szoveg{font-size:1.06rem;line-height:1.7}
  #sv .t-jogi-szoveg h2{font-size:1.34rem}
  #sv .t-jogi-szoveg h3{font-size:1.14rem}
}


/* ===================================================================
   FASSUNG 6.1 — Galerie mit Nagyító (Vollbildansicht)
   Sechs Aufnahmen, drei je Reihe, zwei Reihen. Ein Klick öffnet das
   Bild in voller Grösse.
   =================================================================== */

#sv .t-galerie{grid-template-columns:repeat(3,1fr);gap:22px}
#sv .t-gal,#sv .t-gal-gross{grid-column:auto}

#sv .t-gal-b{display:block;width:100%;padding:0;border:0;background:none;
  cursor:zoom-in;position:relative;z-index:1}
#sv .t-gal-b:focus-visible{outline:3px solid var(--cyan);outline-offset:-3px}

/* Lupenzeichen unten rechts, erscheint beim Überfahren */
#sv .t-lupe-z{position:absolute;right:14px;bottom:14px;z-index:3;
  width:40px;height:40px;border-radius:13px;display:flex;
  align-items:center;justify-content:center;
  background:rgba(255,255,255,.92);color:var(--petrol);
  box-shadow:0 6px 18px rgba(0,14,24,.3);
  opacity:0;transform:translateY(6px) scale(.94);
  transition:opacity .3s var(--ease),transform .3s var(--ease)}
#sv .t-gal:hover .t-lupe-z,#sv .t-gal-b:focus-visible .t-lupe-z{
  opacity:1;transform:none}
#sv .t-lupe-z .t-ic{width:21px;height:21px;stroke-width:2}
@media (hover:none){ #sv .t-lupe-z{opacity:1;transform:none} }

/* ---- Das Vollbildfenster ----
   visibility bekommt bewusst KEINE Dauer, sondern nur eine Verzögerung
   beim Schliessen. Mit `visibility .32s` war das Fenster im Moment des
   focus() noch als unsichtbar berechnet — gemessen visibility:hidden
   bei opacity:0 — und der Tastaturfokus verpuffte. */
#sv .t-lupe{position:fixed;inset:0;z-index:200;display:flex;
  align-items:center;justify-content:center;
  background:rgba(4,16,26,.95);
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  opacity:0;visibility:hidden;
  transition:opacity .32s var(--ease),visibility 0s linear .32s}
#sv .t-lupe.t-auf{opacity:1;visibility:visible;
  transition:opacity .32s var(--ease),visibility 0s linear 0s}

#sv .t-lupe-kep{display:block;max-width:min(94vw,1600px);max-height:82vh}
#sv .t-lupe-kep img{display:block;max-width:min(94vw,1600px);max-height:82vh;
  width:auto;height:auto;border-radius:16px;
  box-shadow:0 40px 100px rgba(0,0,0,.6);
  transform:scale(.965);transition:transform .34s var(--ease)}
#sv .t-lupe.t-auf .t-lupe-kep img{transform:none}

#sv .t-lupe-cim{position:absolute;left:0;right:0;bottom:26px;text-align:center;
  font-size:1.04rem;font-weight:600;color:#fff;letter-spacing:-.012em;
  max-width:none;margin:0;padding:0 20px}
#sv .t-lupe-szam{display:block;font-size:.88rem;font-weight:450;
  color:#9FC4D8;margin-top:4px}

#sv .t-lupe-zu,#sv .t-lupe-elore,#sv .t-lupe-vissza{
  position:absolute;z-index:2;width:52px;height:52px;border:0;border-radius:16px;
  display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.12);color:#fff;cursor:pointer;
  transition:background .22s var(--ease)}
#sv .t-lupe-zu:hover,#sv .t-lupe-elore:hover,#sv .t-lupe-vissza:hover{
  background:rgba(255,255,255,.24)}
#sv .t-lupe-zu:focus-visible,#sv .t-lupe-elore:focus-visible,
#sv .t-lupe-vissza:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}
#sv .t-lupe-zu{top:22px;right:22px}
#sv .t-lupe-vissza{left:22px;top:50%;transform:translateY(-50%)}
#sv .t-lupe-elore{right:22px;top:50%;transform:translateY(-50%)}
#sv .t-lupe-zu .t-ic,#sv .t-lupe-elore .t-ic,#sv .t-lupe-vissza .t-ic{
  width:24px;height:24px;stroke-width:2.2}

@media (max-width:1000px){
  #sv .t-galerie{grid-template-columns:repeat(2,1fr);gap:16px}
}
@media (max-width:560px){
  #sv .t-galerie{grid-template-columns:1fr}
  #sv .t-lupe-kep,#sv .t-lupe-kep img{max-width:96vw;max-height:74vh}
  #sv .t-lupe-vissza{left:12px}
  #sv .t-lupe-elore{right:12px}
  #sv .t-lupe-zu{top:14px;right:14px}
  #sv .t-lupe-zu,#sv .t-lupe-elore,#sv .t-lupe-vissza{width:46px;height:46px}
  #sv .t-lupe-cim{bottom:18px;font-size:.98rem}
}
@media (prefers-reduced-motion:reduce){
  #sv .t-lupe-kep img{transform:none!important}
}
