
:root{
  --ink:#0E2933;--ink-soft:#1C3D47;
  --tide:#127C96;--tide-deep:#0E687E;--tide-bright:#1FB3D1;--tide-pale:#9be6f4;
  --sand:#F3ECDF;--sand-deep:#E9DEC9;
  --paper:#FBFAF6;--mist:#DCE5E7;--line:#E4E9E6;
  --sun:#E9A33A;
  --on-dark:#EAF3F4;--on-dark-dim:#A9C2C7;
  --txt:#22383F;--txt-dim:#56707A;
  --shadow:0 18px 50px -28px rgba(14,41,51,.45);
  --shadow-sm:0 8px 26px -18px rgba(14,41,51,.40);
  --shadow-lg:0 40px 90px -40px rgba(14,41,51,.55);
  --r:20px;--rs:14px;--container:1180px;--pad-y:clamp(4.5rem,9vw,8rem);
}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{font-family:"Mulish",system-ui,-apple-system,"Segoe UI",sans-serif;font-size:18px;line-height:1.72;color:var(--txt);background:var(--paper);-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,.serif{font-family:"Newsreader",Georgia,serif;font-weight:500;line-height:1.12;color:var(--ink);letter-spacing:-.01em}
img{max-width:100%;display:block}
a{color:var(--tide-deep);text-decoration:none}
.container{max-width:var(--container);margin-inline:auto;padding-inline:clamp(1.2rem,5vw,3rem)}
.section{padding-block:var(--pad-y)}
.eyebrow{font-family:"Mulish";font-weight:700;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--tide);display:inline-flex;align-items:center;gap:.6rem;margin-bottom:1.1rem}
.eyebrow::before{content:"";width:26px;height:1px;background:var(--tide);opacity:.6}
.lead{font-size:1.2rem;color:var(--txt-dim);max-width:48ch;line-height:1.7}
h2{font-size:clamp(1.95rem,3.2vw,3rem)}
.center{text-align:center}
.center .eyebrow{justify-content:center}
.center .lead{margin-inline:auto}

/* progress */
.progress{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--tide),var(--tide-bright));z-index:300;transition:width .1s linear}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:.55rem;font-family:"Mulish";font-weight:700;font-size:1rem;padding:.95rem 1.7rem;border-radius:999px;cursor:pointer;border:1.5px solid transparent;transition:transform .25s,background .25s,box-shadow .25s,color .25s;line-height:1;position:relative;overflow:hidden}
.btn svg{width:18px;height:18px}
.btn-primary{background:var(--tide);color:#fff;box-shadow:0 14px 30px -14px rgba(18,124,150,.7)}
.btn-primary:hover{background:var(--tide-deep);transform:translateY(-2px);box-shadow:0 20px 44px -16px rgba(18,124,150,.85)}
.btn-primary::after{content:"";position:absolute;top:0;left:-120%;width:60%;height:100%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-20deg);transition:left .6s}
.btn-primary:hover::after{left:140%}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--mist)}
.btn-ghost:hover{border-color:var(--tide);color:var(--tide-deep);transform:translateY(-2px)}
.btn-light{background:rgba(255,255,255,.14);color:#fff;border-color:rgba(255,255,255,.4);backdrop-filter:blur(8px)}
.btn-light:hover{background:rgba(255,255,255,.24);transform:translateY(-2px)}
.txtlink{font-weight:700;color:var(--tide-deep);display:inline-flex;align-items:center;gap:.4rem;transition:gap .25s}
.txtlink svg{width:16px;height:16px;transition:transform .25s}
.txtlink:hover svg{transform:translateX(4px)}

/* glass */
.glass{background:rgba(255,255,255,.6);backdrop-filter:blur(20px) saturate(1.3);-webkit-backdrop-filter:blur(20px) saturate(1.3);border:1px solid rgba(255,255,255,.7);box-shadow:var(--shadow)}
.glass-dark{background:rgba(12,40,49,.4);backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);border:1px solid rgba(255,255,255,.18)}

/* header */
.hdr{position:fixed;inset:0 0 auto 0;z-index:100;transition:background .35s,box-shadow .35s,padding .35s;padding:.95rem 0}
.hdr-in{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.hdr.scrolled{background:rgba(251,250,246,.9);backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--line);padding:.55rem 0}
.brand{display:flex;align-items:center;gap:.75rem}
.brand img{height:54px;width:auto;border-radius:13px;box-shadow:0 8px 20px -8px rgba(14,41,51,.55);transition:height .35s}
.hdr.scrolled .brand img{height:46px}
.brand .wm{font-family:"Mulish";font-weight:800;letter-spacing:.04em;font-size:1.02rem;color:#fff;transition:color .35s;letter-spacing:-.02em}
.hdr.scrolled .brand .wm{color:var(--ink)}
.hdr.light .brand .wm{color:var(--ink)}
.nav{display:flex;align-items:center;gap:2rem}
.nav a{font-family:"Mulish";font-weight:600;font-size:.97rem;color:rgba(255,255,255,.92);transition:color .25s;position:relative}
.hdr.scrolled .nav a,.hdr.light .nav a{color:var(--txt)}
.nav a:not(.btn)::after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:2px;background:var(--tide-bright);transition:width .28s}
.nav a:not(.btn):hover::after{width:100%}
.nav a.active:not(.btn)::after{width:100%}
.nav .btn{padding:.62rem 1.25rem;font-size:.95rem}
.hdr:not(.scrolled):not(.light) .nav .btn{background:rgba(255,255,255,.16);color:#fff;border-color:rgba(255,255,255,.42);backdrop-filter:blur(8px)}
.burger{display:none;background:none;border:0;cursor:pointer;width:44px;height:44px;flex-direction:column;justify-content:center;gap:5px;align-items:center}
.burger span{width:24px;height:2px;background:#fff;transition:.3s;border-radius:2px}
.hdr.scrolled .burger span,.hdr.light .burger span{background:var(--ink)}
.drawer{position:fixed;inset:0;z-index:200;background:var(--ink);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;transform:translateX(100%);transition:transform .4s cubic-bezier(.6,.05,.2,1);visibility:hidden}
.drawer.open{transform:translateX(0);visibility:visible}
.drawer a{font-family:"Newsreader";font-size:1.7rem;color:var(--on-dark)}
.drawer a:hover{color:var(--tide-bright)}
.drawer .close{position:absolute;top:1.6rem;right:1.6rem;background:none;border:0;color:var(--on-dark);font-size:2.4rem;cursor:pointer;line-height:1}

/* ambient water bg for light heroes */
.amb{position:absolute;inset:0;z-index:-2;overflow:hidden}
.amb .blob{position:absolute;border-radius:50%;filter:blur(70px);opacity:.5}
.amb .b1{width:46vw;height:46vw;background:radial-gradient(circle,#bfe9f2,transparent 70%);top:-12%;right:-8%}
.amb .b2{width:38vw;height:38vw;background:radial-gradient(circle,#f6e6c7,transparent 70%);bottom:-14%;left:-6%}
.amb .b3{width:30vw;height:30vw;background:radial-gradient(circle,#d6f0e3,transparent 70%);top:34%;left:30%;opacity:.4}
@keyframes drift{0%,100%{transform:translate(0,0)}50%{transform:translate(2.5%,3%)}}
.amb .blob{animation:drift 18s ease-in-out infinite}
.amb .b2{animation-duration:24s}.amb .b3{animation-duration:30s}

/* hero (split) */
.hero{position:relative;min-height:94vh;display:flex;align-items:center;isolation:isolate;padding-top:5rem;background:linear-gradient(165deg,#e9f4f6 0%,#fbfaf6 48%,#f4ede1 100%)}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,4.5rem);align-items:center;width:100%}
.hero-text .eyebrow{color:var(--tide)}
.hero h1{font-size:clamp(2.7rem,5.4vw,4.5rem);font-weight:500;letter-spacing:-.02em;text-wrap:balance;margin-bottom:0}
.hero h1 .h{color:var(--tide);font-style:italic;font-weight:400}
.hero-quote{margin-top:1.5rem;padding:1.1rem 1.3rem;border-radius:var(--rs);font-family:"Newsreader";font-style:italic;font-size:1.12rem;color:var(--ink-soft);line-height:1.5;border-left:3px solid var(--tide-bright);background:rgba(255,255,255,.55);backdrop-filter:blur(8px);max-width:40ch}
.hero-quote small{display:block;font-style:normal;font-family:"Mulish";font-weight:700;font-size:.78rem;letter-spacing:.1em;color:var(--tide);margin-top:.5rem;text-transform:uppercase}
.hero-sub{margin-top:1.5rem;font-size:1.12rem;color:var(--txt-dim);max-width:46ch;line-height:1.7}
.hero-cta{margin-top:2rem;display:flex;flex-wrap:wrap;gap:1rem;align-items:center}
.hero-media{position:relative}
.hero-frame{position:relative;border-radius:26px;overflow:hidden;box-shadow:var(--shadow-lg);border:6px solid rgba(255,255,255,.7);aspect-ratio:4/4.7}
.hero-frame img{width:100%;height:100%;object-fit:cover}
.hero-frame::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(14,41,51,.18))}
.hero-badge{position:absolute;left:-26px;bottom:36px;padding:1rem 1.3rem;border-radius:var(--rs);display:flex;align-items:center;gap:.75rem}
.hero-badge .num{font-family:"Newsreader";font-size:2rem;color:var(--ink);line-height:1}
.hero-badge .lbl{font-size:.82rem;font-weight:600;color:var(--txt-dim);line-height:1.2}
.hero-badge2{position:absolute;right:-18px;top:30px;padding:.7rem 1.1rem;border-radius:999px;display:flex;align-items:center;gap:.5rem;font-weight:700;font-size:.85rem;color:var(--ink)}
.hero-badge2 .stars{display:inline-flex;gap:1px;color:var(--sun)}
.hero-badge2 .stars svg{width:14px;height:14px}
.scrollcue{position:absolute;left:50%;bottom:1.6rem;transform:translateX(-50%);z-index:2}
.scrollcue .dot{width:22px;height:34px;border:1.5px solid var(--tide);border-radius:12px;position:relative;opacity:.6}
.scrollcue .dot::after{content:"";position:absolute;top:6px;left:50%;width:3px;height:7px;background:var(--tide);border-radius:2px;transform:translateX(-50%);animation:scroll 1.8s infinite}
@keyframes scroll{0%{opacity:0;transform:translate(-50%,0)}40%{opacity:1}100%{opacity:0;transform:translate(-50%,12px)}}

/* full-bleed media hero (subpages) */
.fhero{position:relative;min-height:84vh;display:flex;align-items:center;color:#fff;isolation:isolate;overflow:hidden}
.fhero-bg{position:absolute;inset:-12% 0;z-index:-2;background-size:cover;background-position:center;will-change:transform}
.fhero-scrim{position:absolute;inset:0;z-index:-1}
.fhero-panel{max-width:600px;padding:2.6rem 2.6rem 2.8rem;border-radius:24px;margin-block:7rem}
.fhero-panel .eyebrow{color:var(--tide-deep)}
.fhero-panel h1{font-size:clamp(2.3rem,4.6vw,3.7rem);color:var(--ink);margin-bottom:1rem}
.fhero-panel p{color:var(--ink-soft);font-size:1.1rem;max-width:46ch;margin-bottom:1.6rem}

/* door chooser */
.doors-head{max-width:640px;margin-bottom:3rem}
.door-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.3rem}
.door{position:relative;display:flex;flex-direction:column;gap:.8rem;padding:2rem 1.9rem 1.7rem;background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-sm);transition:transform .3s,box-shadow .3s,border-color .3s;overflow:hidden}
.door::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--tide-bright);transform:scaleY(0);transform-origin:top;transition:transform .35s}
.door:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:transparent}
.door:hover::before{transform:scaleY(1)}
.door-ico{width:52px;height:52px;border-radius:14px;background:linear-gradient(150deg,var(--sand),#fff);display:grid;place-items:center;color:var(--tide);border:1px solid var(--line);transition:transform .3s}
.door:hover .door-ico{transform:scale(1.08) rotate(-3deg)}
.door-ico svg{width:26px;height:26px}
.door h3{font-size:1.3rem;font-weight:600}
.door p{color:var(--txt-dim);font-size:.98rem;line-height:1.6;flex:1}
.door .go{font-weight:700;color:var(--tide-deep);font-size:.92rem;display:inline-flex;align-items:center;gap:.4rem}
.door .go svg{width:15px;height:15px;transition:transform .25s}
.door:hover .go svg{transform:translateX(4px)}
.door-link{position:absolute;inset:0;text-indent:-9999px}

/* about */
.about{background:var(--sand)}
.about-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.about-photo{position:relative}
.about-photo img{border-radius:var(--r);box-shadow:var(--shadow);width:100%;aspect-ratio:4/3.4;object-fit:cover;object-position:50% 28%}
.about-photo::after{content:"";position:absolute;inset:14px -14px -14px 14px;border:2px solid var(--tide-bright);border-radius:var(--r);z-index:-1;opacity:.6}
.about h2{margin-bottom:1.1rem}
.about p{margin-bottom:1.1rem;color:var(--ink-soft)}
.chips{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.4rem 0 1.7rem}
.chip{font-family:"Mulish";font-weight:600;font-size:.85rem;background:#fff;border:1px solid var(--line);color:var(--tide-deep);padding:.45rem 1rem;border-radius:999px}

/* full-bleed band */
.band{position:relative;color:#fff;text-align:center;isolation:isolate;padding-block:clamp(5rem,11vw,9rem);overflow:hidden}
.band-bg{position:absolute;inset:-12% 0;z-index:-2;background-size:cover;background-position:center;will-change:transform}
.band-scrim{position:absolute;inset:0;z-index:-1}
.band .eyebrow{color:var(--tide-pale);justify-content:center}
.band .eyebrow::before{background:var(--tide-pale)}
.band .big{font-family:"Newsreader";font-weight:400;font-style:italic;font-size:clamp(2.1rem,5vw,3.6rem);color:#fff;letter-spacing:-.01em}
.band p{max-width:48ch;margin:1.4rem auto 0;color:rgba(234,243,244,.92)}

/* ways */
.ways-head{max-width:640px;margin-bottom:3rem}
.ways-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.way{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .3s,box-shadow .3s}
.way:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.way-img{aspect-ratio:16/11;overflow:hidden}
.way-img img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.way:hover .way-img img{transform:scale(1.07)}
.way-body{padding:1.5rem 1.6rem 1.7rem}
.way-body h3{font-size:1.4rem;font-weight:600;margin-bottom:.5rem}
.way-tag{font-family:"Mulish";font-weight:700;font-size:.74rem;letter-spacing:.13em;text-transform:uppercase;color:var(--tide);margin-bottom:.7rem;display:block}
.way-body p{color:var(--txt-dim);font-size:.98rem}

/* voices */
.voices{background:var(--sand)}
.voices-head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap;margin-bottom:2.8rem}
.gstars{display:flex;align-items:center;gap:.6rem;color:var(--txt-dim);font-weight:600;font-size:.92rem}
.stars{display:inline-flex;gap:2px;color:var(--sun)}
.stars svg{width:18px;height:18px}
.voice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.voice{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:2rem 1.8rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;transition:transform .3s,box-shadow .3s}
.voice:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.voice .mark{font-family:"Newsreader";font-size:3.4rem;line-height:.6;color:var(--tide-bright);height:1.4rem}
.voice .stars{margin:.2rem 0 .9rem}
.voice blockquote{font-size:1.04rem;line-height:1.66;color:var(--ink-soft);flex:1}
.voice .who{margin-top:1.4rem;padding-top:1.1rem;border-top:1px solid var(--line);font-weight:700;color:var(--ink)}
.voice .who small{display:block;font-weight:500;color:var(--txt-dim);font-size:.83rem;margin-top:.15rem}

/* trust */
.logo-row{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:1.4rem;margin-top:2rem}
.logo-card{background:#fff;border:1px solid var(--line);border-radius:var(--rs);padding:1.4rem 2rem;box-shadow:var(--shadow-sm);display:grid;place-items:center;min-height:108px;transition:transform .3s,box-shadow .3s}
.logo-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.logo-card img{max-height:60px;width:auto}
.trust-cta{margin-top:2rem}

/* logbuch */
.log{background:var(--ink);color:var(--on-dark)}
.log h2{color:#fff}.log .eyebrow{color:var(--tide-pale)}.log .eyebrow::before{background:var(--tide-pale)}
.log-head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap;margin-bottom:2.6rem}
.log-head .txtlink{color:var(--tide-pale)}
.log-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.post{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:var(--r);padding:1.7rem 1.6rem;transition:background .3s,transform .3s,border-color .3s;display:flex;flex-direction:column;gap:.7rem}
.post:hover{background:rgba(255,255,255,.07);transform:translateY(-5px);border-color:rgba(155,230,244,.4)}
.post .cat{font-family:"Mulish";font-weight:700;font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;color:var(--tide-bright)}
.post h3{color:#fff;font-size:1.3rem;font-weight:600}
.post p{color:var(--on-dark-dim);font-size:.95rem;line-height:1.6;flex:1}
.post .more{color:var(--tide-pale);font-weight:700;font-size:.9rem;display:inline-flex;gap:.4rem;align-items:center}
.post .more svg{width:14px;height:14px}

/* prose + generic content */
.prose{max-width:760px}
.prose h2{margin-bottom:1rem}
.prose h3{font-size:1.45rem;font-weight:600;margin:2.2rem 0 .7rem}
.prose p{margin-bottom:1.15rem;color:var(--ink-soft)}
.prose .pull{font-family:"Newsreader";font-style:italic;font-size:1.5rem;color:var(--tide-deep);line-height:1.35;margin:2rem 0;padding-left:1.3rem;border-left:3px solid var(--tide-bright)}

/* split content (text + image) */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.split.rev .split-media{order:-1}
.split-media img{border-radius:var(--r);box-shadow:var(--shadow);width:100%;aspect-ratio:4/3;object-fit:cover}
.split-media{position:relative}
.split h2{margin-bottom:1.1rem}
.split p{color:var(--ink-soft);margin-bottom:1rem}

/* feature grid */
.fgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.3rem;margin-top:2.4rem}
.fcard{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.9rem;box-shadow:var(--shadow-sm);transition:transform .3s,box-shadow .3s}
.fcard:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.fcard .fico{width:46px;height:46px;border-radius:12px;background:linear-gradient(150deg,var(--sand),#fff);display:grid;place-items:center;color:var(--tide);border:1px solid var(--line);margin-bottom:1rem}
.fcard .fico svg{width:24px;height:24px}
.fcard h3{font-size:1.22rem;font-weight:600;margin-bottom:.5rem}
.fcard p{color:var(--txt-dim);font-size:.97rem}

/* tag pills (indications) */
.tags{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:2rem}
.tag{background:#fff;border:1px solid var(--line);border-radius:999px;padding:.6rem 1.15rem;font-weight:600;font-size:.92rem;color:var(--ink-soft);box-shadow:var(--shadow-sm);transition:transform .25s,border-color .25s,color .25s}
.tag:hover{transform:translateY(-3px);border-color:var(--tide-bright);color:var(--tide-deep)}

/* steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:2.6rem;counter-reset:s}
.step{position:relative;padding:2rem 1.7rem 1.7rem;background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-sm)}
.step::before{counter-increment:s;content:counter(s);position:absolute;top:-18px;left:1.7rem;width:42px;height:42px;border-radius:50%;background:var(--tide);color:#fff;font-family:"Newsreader";font-size:1.3rem;display:grid;place-items:center;box-shadow:0 8px 18px -8px rgba(18,124,150,.7)}
.step h3{font-size:1.2rem;font-weight:600;margin:.6rem 0 .5rem}
.step p{color:var(--txt-dim);font-size:.95rem}

/* note */
.note{background:rgba(18,124,150,.06);border:1px solid rgba(18,124,150,.18);border-radius:var(--r);padding:1.5rem 1.7rem;display:flex;gap:1rem;align-items:flex-start;margin-top:2.4rem}
.note svg{width:24px;height:24px;color:var(--tide);flex:none;margin-top:2px}
.note p{margin:0;color:var(--ink-soft);font-size:.98rem}

/* locations mini */
.loc-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;margin-top:2.4rem}
.loc{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .3s,box-shadow .3s}
.loc:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.loc img{width:100%;aspect-ratio:16/10;object-fit:cover}
.loc-b{padding:1.3rem 1.5rem}
.loc-b h3{font-size:1.15rem;font-weight:600;margin-bottom:.3rem}
.loc-b p{color:var(--txt-dim);font-size:.93rem}

/* final cta */
.final{position:relative;color:#fff;text-align:center;isolation:isolate;padding-block:clamp(5rem,10vw,8rem);overflow:hidden}
.final-bg{position:absolute;inset:-12% 0;z-index:-2;background-size:cover;background-position:center;will-change:transform}
.final-scrim{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(8,28,35,.78),rgba(14,104,126,.72))}
.final h2{color:#fff;font-size:clamp(2.1rem,4vw,3.2rem);max-width:18ch;margin-inline:auto}
.final p{max-width:48ch;margin:1.2rem auto 2rem;color:rgba(234,243,244,.92);font-size:1.1rem}
.final-cta{display:flex;justify-content:center;flex-wrap:wrap;gap:1rem}
.final-contact{margin-top:1.8rem;display:flex;justify-content:center;gap:2rem;flex-wrap:wrap;font-weight:600;font-size:.95rem}
.final-contact a{color:#fff;display:inline-flex;align-items:center;gap:.5rem}
.final-contact svg{width:16px;height:16px;opacity:.8}

/* footer */
.foot{background:#08222B;color:var(--on-dark-dim);padding-block:4rem 2rem}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:2.5rem}
.foot .wm{color:#fff;font-family:"Newsreader";font-weight:600}
.foot-about{margin-top:1.1rem;font-size:.95rem;line-height:1.7;max-width:30ch}
.foot-quote{font-family:"Newsreader";font-style:italic;color:var(--tide-pale);margin-top:1.2rem;font-size:1rem;line-height:1.5}
.socials{display:flex;gap:.7rem;margin-top:1.4rem}
.socials a{width:40px;height:40px;border-radius:11px;background:rgba(255,255,255,.07);display:grid;place-items:center;color:var(--on-dark);transition:background .25s,transform .25s,color .25s}
.socials a:hover{background:var(--tide);color:#fff;transform:translateY(-3px)}
.socials svg{width:19px;height:19px}
.foot h4{font-family:"Mulish";font-weight:700;font-size:.82rem;letter-spacing:.13em;text-transform:uppercase;color:#fff;margin-bottom:1.2rem}
.foot ul{list-style:none}.foot ul li{margin-bottom:.65rem}
.foot ul a{color:var(--on-dark-dim);font-size:.95rem;transition:color .2s}.foot ul a:hover{color:var(--tide-pale)}
.foot address{font-style:normal;font-size:.95rem;line-height:1.8}
.foot address strong{color:#fff;font-weight:700;display:block;margin-bottom:.2rem}
.foot-bottom{margin-top:3rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;font-size:.85rem}
.foot-bottom a{color:var(--on-dark-dim)}

.tide-div{display:block;width:100%;height:48px}

.way{position:relative}
.way-link{position:absolute;inset:0;text-indent:-9999px}
.form{display:grid;gap:1.1rem}
.field{display:flex;flex-direction:column;gap:.4rem}
.field label{font-weight:700;font-size:.85rem;color:var(--ink)}
.field input,.field textarea{font-family:inherit;font-size:1rem;padding:.85rem 1rem;border:1px solid var(--mist);border-radius:12px;background:#fff;color:var(--txt);transition:border-color .2s,box-shadow .2s}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--tide);box-shadow:0 0 0 3px rgba(31,182,212,.18)}
.field textarea{min-height:130px;resize:vertical}
.consent{display:flex;gap:.6rem;align-items:flex-start;font-size:.85rem;color:var(--txt-dim)}
.consent input{margin-top:4px}
.contact-list{list-style:none;display:grid;gap:1rem;margin-top:1.6rem}
.contact-list li{display:flex;gap:.8rem;align-items:center;font-weight:600;color:var(--ink)}
.contact-list a{color:var(--ink)}
.contact-list svg{width:20px;height:20px;color:var(--tide);flex:none}
.map{position:relative;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-sm);min-height:200px;background:linear-gradient(rgba(18,124,150,.05),rgba(18,124,150,.05)),repeating-linear-gradient(0deg,transparent 0 26px,rgba(14,41,51,.05) 26px 27px),repeating-linear-gradient(90deg,transparent 0 26px,rgba(14,41,51,.05) 26px 27px),var(--sand)}
.map .pin{position:absolute;top:46%;left:50%;transform:translate(-50%,-100%);color:var(--tide)}
.map .pin svg{width:42px;height:42px;filter:drop-shadow(0 6px 10px rgba(14,41,51,.4))}
.map .route{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);background:#fff;border:1px solid var(--line);border-radius:999px;padding:.5rem 1.1rem;font-weight:700;font-size:.85rem;box-shadow:var(--shadow-sm);white-space:nowrap}
.biglist{list-style:none;display:grid;gap:.9rem;margin-top:1.6rem}
.biglist li{display:flex;gap:.8rem;align-items:flex-start;color:var(--ink-soft)}
.biglist svg{width:22px;height:22px;color:var(--tide);flex:none;margin-top:2px}

.tide-div path{fill:currentColor}

/* reveal */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.reveal.r-l{transform:translateX(-34px)}
.reveal.r-r{transform:translateX(34px)}
.reveal.r-s{transform:scale(.94)}
.reveal.in{opacity:1;transform:none}
.reveal[data-d="1"]{transition-delay:.09s}.reveal[data-d="2"]{transition-delay:.18s}.reveal[data-d="3"]{transition-delay:.27s}

/* ===== creative components ===== */
.tealsec{position:relative;background:linear-gradient(160deg,var(--tide-deep),#0a5366);color:#fff;isolation:isolate;overflow:hidden}
.tealsec::before{content:"";position:absolute;inset:0;background:url(../img/bild-1dc2165c502f.jpg) center/cover;opacity:.16;mix-blend-mode:screen;z-index:-1}
.tealsec h2,.tealsec h3{color:#fff}
.tealsec .eyebrow{color:var(--tide-pale)}.tealsec .eyebrow::before{background:var(--tide-pale)}
.tealsec p,.tealsec .lead{color:rgba(234,243,244,.9)}
.paper-tex{background:url(../img/bild-d20da9db3a0b.jpg) center/cover,var(--sand)}
.intro2{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,4.5rem);align-items:start}
.intro2 .lead-big{font-family:"Newsreader";font-weight:500;font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.22;color:var(--ink);letter-spacing:-.01em}
.intro2 .lead-big em{font-style:italic;color:var(--tide-deep)}
.intro2 .body p{color:var(--ink-soft);margin-bottom:1rem}
.energy{max-width:520px}
.ebar{position:relative;height:62px;border-radius:16px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.32);overflow:hidden}
.efill{position:absolute;inset:0;width:0;background:linear-gradient(90deg,var(--tide-bright),var(--tide-pale));transition:width 1.7s cubic-bezier(.2,.7,.2,1)}
.reveal.in .efill{width:62%}
.ecells{position:absolute;inset:0;display:flex;z-index:2}
.ecells span{flex:1;border-right:1px solid rgba(255,255,255,.22)}.ecells span:last-child{border:0}
.elabels{display:flex;justify-content:space-between;margin-top:.8rem;font-size:.82rem;font-weight:700;color:rgba(234,243,244,.85)}
.elabels .res{color:var(--tide-pale)}
.compare{display:grid;grid-template-columns:1fr 56px 1fr;align-items:stretch;margin-top:2.4rem}
.cpanel{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:2.1rem 1.9rem;box-shadow:var(--shadow-sm)}
.cpanel h3{font-size:1.3rem;font-weight:600;margin:.4rem 0 .6rem}
.cpanel p{color:var(--txt-dim);font-size:.97rem}
.cvs{align-self:center;justify-self:center;width:54px;height:54px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-family:"Newsreader";font-style:italic;font-size:1.5rem;box-shadow:var(--shadow);z-index:2}
.ichips{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2.4rem}
.ichip{display:flex;gap:.9rem;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:1rem 1.15rem;box-shadow:var(--shadow-sm);transition:transform .25s,border-color .25s}
.ichip:hover{transform:translateY(-3px);border-color:var(--tide-bright)}
.ichip .ic{width:40px;height:40px;border-radius:11px;background:linear-gradient(150deg,var(--sand),#fff);border:1px solid var(--line);display:grid;place-items:center;color:var(--tide);flex:none}
.ichip .ic svg{width:21px;height:21px}.ichip b{font-weight:600;font-size:.95rem;color:var(--ink)}
.collage{position:relative;min-height:430px}
.collage img{border-radius:var(--r);box-shadow:var(--shadow);object-fit:cover;position:absolute}
.collage .c1{width:64%;aspect-ratio:4/3;top:0;left:0;z-index:1}
.collage .c2{width:46%;aspect-ratio:3/4;right:0;bottom:0;z-index:2;border:6px solid var(--paper)}
.collage .cq{position:absolute;left:42%;top:6%;z-index:3;max-width:240px;padding:1.3rem 1.4rem;border-radius:var(--rs);font-family:"Newsreader";font-style:italic;font-size:1.15rem;color:var(--ink)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;text-align:center}
.stat .n{font-family:"Newsreader";font-weight:500;font-size:clamp(2.4rem,5vw,3.6rem);line-height:1;color:#fff}
.stat .l{margin-top:.5rem;font-size:.9rem;font-weight:600;color:rgba(234,243,244,.82)}
.tl{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;margin-top:3.4rem}
.tl::before{content:"";position:absolute;top:24px;left:16%;right:16%;height:2px;background:repeating-linear-gradient(90deg,var(--tide) 0 10px,transparent 10px 18px);opacity:.45}
.tlnode{text-align:center}
.tlnode .dot{width:50px;height:50px;margin:0 auto 1.1rem;border-radius:50%;background:#fff;border:2px solid var(--tide);color:var(--tide-deep);display:grid;place-items:center;font-family:"Newsreader";font-size:1.3rem;position:relative;z-index:2;box-shadow:0 8px 20px -10px rgba(18,124,150,.6)}
.tlnode h3{font-size:1.15rem;font-weight:600;margin-bottom:.4rem}.tlnode p{color:var(--txt-dim);font-size:.94rem}
@media(max-width:900px){
 .intro2,.compare{grid-template-columns:1fr}
 .compare{gap:1.2rem}.cvs{margin:-.6rem auto;transform:rotate(90deg)}
 .ichips,.stats{grid-template-columns:1fr 1fr}
 .tl{grid-template-columns:1fr;gap:2rem}.tl::before{display:none}
 .collage{min-height:0;display:grid;gap:1rem}.collage img{position:static;width:100%}.collage .c2{aspect-ratio:4/3}.collage .cq{position:static;max-width:none}
}

/* refined comparison */
.cmp{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:2.4rem}
.cmp-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:2rem 1.9rem;box-shadow:var(--shadow-sm);position:relative;overflow:hidden;transition:transform .3s,box-shadow .3s}
.cmp-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.cmp-card::before{content:"";position:absolute;left:0;top:0;right:0;height:4px}
.cmp-card.acc-tide::before{background:var(--tide-bright)}
.cmp-card.acc-sun::before{background:var(--tide-deep)}
.cmp-h{display:flex;align-items:center;gap:.85rem;margin-bottom:.9rem}
.cmp-ic{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;flex:none;color:#fff}
.cmp-card.acc-tide .cmp-ic{background:var(--tide)}
.cmp-card.acc-sun .cmp-ic{background:var(--tide-deep)}
.cmp-ic svg{width:24px;height:24px}
.cmp-h h3{font-size:1.3rem;font-weight:600}
.cmp-card>p{color:var(--ink-soft);margin-bottom:1.1rem}
.cmp-list{list-style:none;display:grid;gap:.65rem}
.cmp-list li{display:flex;gap:.6rem;align-items:flex-start;color:var(--txt-dim);font-size:.95rem}
.cmp-list li svg{width:18px;height:18px;color:var(--tide);flex:none;margin-top:3px}
/* vertical journey timeline */
.vtl{position:relative;max-width:760px;margin:2.8rem 0 0}
.vtl-line{position:absolute;left:109px;top:10px;bottom:10px;width:2px;background:var(--line)}
.vtl-prog{position:absolute;left:0;top:0;width:100%;height:0;background:var(--tide);transition:height 1.9s cubic-bezier(.3,.7,.3,1)}
.vtl.in .vtl-prog{height:100%}
.vstep{display:grid;grid-template-columns:72px 44px 1fr;gap:1rem;padding-bottom:2.3rem;position:relative}
.vstep:last-child{padding-bottom:0}
.vyear{font-family:"Newsreader";font-style:italic;font-size:1.2rem;color:var(--tide-deep);text-align:right;padding-top:1px}
.vdot{width:18px;height:18px;border-radius:50%;background:#fff;border:3px solid var(--tide);justify-self:center;margin-top:5px;box-shadow:0 0 0 5px rgba(31,182,212,.12);z-index:2}
.vbody h3{font-size:1.2rem;font-weight:600;margin-bottom:.35rem}
.vbody p{color:var(--txt-dim);font-size:.96rem}
/* values row (teal) */
.vals{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem;margin-top:2.8rem}
.val{text-align:center}
.val .vi{width:58px;height:58px;margin:0 auto 1rem;border-radius:16px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);display:grid;place-items:center;color:var(--tide-pale)}
.val .vi svg{width:28px;height:28px}
.val h3{font-size:1.1rem;color:#fff;margin-bottom:.3rem}
.val p{font-size:.9rem;color:rgba(234,243,244,.8)}
/* compass */
.compass-wrap{display:flex;justify-content:center}
.compass{width:230px;height:230px}
.compass .needle{transform-origin:115px 115px;animation:swing 5s ease-in-out infinite alternate}
@keyframes swing{from{transform:rotate(-16deg)}to{transform:rotate(16deg)}}
/* featured + logbuch grid */
.feat{display:grid;grid-template-columns:1.05fr 1fr;gap:0;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);margin-top:1.4rem}
.feat-img{position:relative;min-height:300px}
.feat-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.feat-b{padding:clamp(1.8rem,3vw,2.6rem)}
.feat-b .cat{font-family:"Mulish";font-weight:700;font-size:.74rem;letter-spacing:.13em;text-transform:uppercase;color:var(--tide);display:flex;align-items:center;gap:.5rem;margin-bottom:.8rem}
.feat-b .cat svg{width:17px;height:17px}
.feat-b h3{font-size:clamp(1.5rem,2.4vw,2.1rem);font-weight:500;margin-bottom:.8rem}
.feat-b p{color:var(--ink-soft);margin-bottom:1.3rem}
.lgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:1.5rem}
.lcard{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.7rem 1.6rem;box-shadow:var(--shadow-sm);transition:transform .3s,box-shadow .3s;display:flex;flex-direction:column;gap:.55rem}
.lcard:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.lcard .lc-ic{width:42px;height:42px;border-radius:11px;background:linear-gradient(150deg,var(--sand),#fff);border:1px solid var(--line);display:grid;place-items:center;color:var(--tide);margin-bottom:.3rem}
.lcard .lc-ic svg{width:22px;height:22px}
.lcard .cat{font-family:"Mulish";font-weight:700;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--tide)}
.lcard h3{font-size:1.18rem;font-weight:600}
.lcard p{color:var(--txt-dim);font-size:.93rem;flex:1}
@media(max-width:900px){
 .cmp,.feat,.vals{grid-template-columns:1fr}
 .vals{grid-template-columns:1fr 1fr}
 .lgrid{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
 .vstep{grid-template-columns:54px 30px 1fr;gap:.7rem}
 .vtl-line{left:79px}.vyear{font-size:1.02rem}
 .lgrid{grid-template-columns:1fr}.vals{grid-template-columns:1fr}
}
:focus-visible{outline:3px solid var(--tide-bright);outline-offset:3px;border-radius:4px}
.skip{position:absolute;left:-999px;top:0;z-index:999;background:var(--tide);color:#fff;padding:.8rem 1.3rem;border-radius:0 0 10px 0;font-weight:700}
.skip:focus{left:0}

@media(max-width:980px){
  .hero-grid,.about-grid,.split{grid-template-columns:1fr;gap:2.4rem}
  .split.rev .split-media{order:0}
  .about-photo,.fhero-panel{max-width:460px}
  .ways-grid,.voice-grid,.log-grid,.steps{grid-template-columns:1fr 1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
  .hero-media{max-width:440px;margin-inline:auto}
}
@media(max-width:760px){
  body{font-size:17px}
  .nav{display:none}.burger{display:flex}
  .hero{min-height:auto;padding-block:7rem 4rem}
  .door-grid,.ways-grid,.voice-grid,.log-grid,.fgrid,.steps,.loc-grid,.foot-grid{grid-template-columns:1fr}
  .voices-head,.log-head{flex-direction:column;align-items:flex-start}
  .hero-badge{left:0}.hero-badge2{right:0}
}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;scroll-behavior:auto!important}
  .reveal{opacity:1!important;transform:none!important;transition:none!important}
  .fhero-bg,.band-bg,.final-bg{transform:none!important}
}

.dd{position:relative}
.dd-menu{position:absolute;top:calc(100% + 14px);left:50%;transform:translateX(-50%) translateY(-8px);min-width:270px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:.6rem;opacity:0;visibility:hidden;transition:opacity .25s,transform .25s}
.dd:hover .dd-menu,.dd:focus-within .dd-menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.dd-menu a{display:block;padding:.65rem .9rem;border-radius:10px;color:var(--txt)!important;font-size:.95rem;font-weight:600;transition:background .2s,color .2s}
.dd-menu a:hover{background:var(--sand);color:var(--tide-deep)!important}
.dd-menu a::after{display:none}
.drawer .sub{font-size:1.05rem;color:var(--tide-pale);font-family:Mulish;font-weight:600}
.faq{max-width:820px;margin-top:2.2rem}
.faq details{background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:.85rem;box-shadow:var(--shadow-sm);overflow:hidden}
.faq summary{cursor:pointer;list-style:none;padding:1.15rem 1.4rem;font-weight:700;color:var(--ink);display:flex;justify-content:space-between;gap:1rem;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:Newsreader;font-size:1.5rem;color:var(--tide);line-height:1;transition:transform .25s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq .fa{padding:0 1.4rem 1.3rem;color:var(--txt-dim);font-size:.98rem}
.klist{display:grid;gap:.6rem;list-style:none;margin-top:1.2rem}
.klist li{display:flex;gap:.6rem;align-items:flex-start;color:var(--ink-soft);font-size:.98rem}
.klist svg{width:19px;height:19px;color:var(--tide);flex:none;margin-top:4px}
.qual{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.2rem}
.qual span{font-size:.83rem;font-weight:600;background:rgba(255,255,255,.7);border:1px solid var(--line);color:var(--tide-deep);padding:.4rem .9rem;border-radius:999px}

/* ==== Kooperationen ==== */
.logo-strip{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:1.2rem;margin-top:2.6rem}
.logo-card{background:#fff;border:1px solid var(--line);border-radius:var(--rs);box-shadow:var(--shadow-sm);padding:1.4rem 1.9rem;min-width:210px;min-height:104px;display:grid;place-items:center;transition:transform .3s,box-shadow .3s,border-color .3s}
.logo-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--tide-bright)}
.logo-card img{max-height:52px;width:auto;filter:saturate(.92)}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2.8rem}
.pcard{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;transition:transform .3s,box-shadow .3s}
.pcard:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.pcard-img{position:relative;aspect-ratio:16/11;overflow:hidden}
.pcard-img img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.pcard:hover .pcard-img img{transform:scale(1.06)}
.pcard-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(14,41,51,.35))}
.pcard-logo{position:absolute;left:1rem;bottom:1rem;z-index:2;background:#fff;border-radius:12px;padding:.5rem .85rem;height:56px;display:grid;place-items:center;box-shadow:0 10px 24px -12px rgba(14,41,51,.6)}
.pcard-logo img{max-height:34px;max-width:130px;width:auto}
.pcard-b{padding:1.6rem 1.6rem 1.8rem;display:flex;flex-direction:column;gap:.6rem;flex:1}
.pcard-b .role{font-family:"Mulish";font-weight:700;font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;color:var(--tide)}
.pcard-b h3{font-size:1.22rem;font-weight:600}
.pcard-b p{color:var(--txt-dim);font-size:.95rem;line-height:1.6;flex:1}
.pcard-b .meta{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.2rem}
.pcard-b .meta span{font-size:.78rem;font-weight:600;background:var(--sand);border:1px solid var(--sand-deep);color:var(--tide-deep);padding:.3rem .7rem;border-radius:999px}
.figwide{margin-top:2.4rem;position:relative;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow)}
.figwide img{width:100%;aspect-ratio:21/9;object-fit:cover;object-position:50% 42%}
.figwide figcaption{position:absolute;left:0;right:0;bottom:0;padding:2.4rem 1.8rem 1.2rem;color:#fff;font-size:.92rem;font-weight:600;background:linear-gradient(180deg,transparent,rgba(8,28,35,.85))}

/* ==== Leistungs-Balken ==== */
.bars{display:grid;gap:1.05rem;margin-top:2.8rem}
.bar-h{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.35rem}
.bar-l{font-weight:600;font-size:.95rem;color:var(--ink)}
.bar-v{font-family:"Newsreader";font-size:1.05rem;color:var(--tide-deep);white-space:nowrap}
.bar-t{height:10px;border-radius:999px;background:rgba(14,41,51,.09);overflow:hidden}
.bar-f{height:100%;width:0;border-radius:999px;background:linear-gradient(90deg,var(--tide),var(--tide-bright));transition:width 1.5s cubic-bezier(.2,.7,.2,1)}
.bars.in .bar-f{width:var(--w)}
.bar:nth-child(2) .bar-f{transition-delay:.08s}.bar:nth-child(3) .bar-f{transition-delay:.16s}
.bar:nth-child(4) .bar-f{transition-delay:.24s}.bar:nth-child(5) .bar-f{transition-delay:.32s}
.bar:nth-child(6) .bar-f{transition-delay:.4s}.bar:nth-child(7) .bar-f{transition-delay:.48s}
.bar:nth-child(8) .bar-f{transition-delay:.56s}.bar:nth-child(9) .bar-f{transition-delay:.64s}
.bar:nth-child(10) .bar-f{transition-delay:.72s}.bar:nth-child(11) .bar-f{transition-delay:.8s}
.bar:nth-child(12) .bar-f{transition-delay:.88s}
.log .bar-l{color:#fff}
.log .bar-v{color:var(--tide-pale)}
.log .bar-t{background:rgba(255,255,255,.12)}
.log .bar-f{background:linear-gradient(90deg,var(--tide-bright),var(--tide-pale))}
.log .stat .l{color:var(--on-dark-dim)}
.log .stats{margin:2.6rem 0 .6rem;text-align:left}
.log .lead{color:var(--on-dark-dim)}
.bars-legend{display:flex;flex-wrap:wrap;gap:1.2rem;margin-top:1.6rem;font-size:.82rem;font-weight:600;color:var(--txt-dim)}
.log .bars-legend{color:var(--on-dark-dim)}
.bars-legend b{display:inline-flex;align-items:center;gap:.45rem;font-weight:600}
.bars-legend i{width:11px;height:11px;border-radius:3px;display:inline-block}

/* ==== Leistungs-Portfolio (Module) ==== */
.mgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem;margin-top:2.6rem}
.mod{background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-sm);overflow:hidden;transition:transform .3s,box-shadow .3s,border-color .3s}
.mod:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--tide-bright)}
.mod-h{display:flex;gap:1rem;align-items:flex-start;padding:1.6rem 1.7rem 0}
.mod-n{font-family:"Newsreader";font-size:1.5rem;color:#fff;background:var(--tide);width:44px;height:44px;border-radius:12px;display:grid;place-items:center;flex:none;box-shadow:0 8px 18px -9px rgba(18,124,150,.8)}
.mod-h h3{font-size:1.18rem;font-weight:600;margin-top:.35rem}
.mod-b{padding:.9rem 1.7rem 0;color:var(--txt-dim);font-size:.95rem;line-height:1.62}
.mod details{margin:1rem 1.7rem 1.5rem;border-top:1px dashed var(--mist);padding-top:.9rem}
.mod summary{cursor:pointer;list-style:none;font-weight:700;font-size:.85rem;color:var(--tide-deep);display:flex;justify-content:space-between;align-items:center;gap:1rem}
.mod summary::-webkit-details-marker{display:none}
.mod summary::after{content:"+";font-family:Newsreader;font-size:1.35rem;line-height:1;color:var(--tide);transition:transform .25s}
.mod details[open] summary::after{transform:rotate(45deg)}
.mod .sig{list-style:none;margin-top:.9rem;display:grid;gap:.5rem}
.mod .sig li{position:relative;padding-left:1.1rem;font-size:.92rem;color:var(--ink-soft);line-height:1.5}
.mod .sig li::before{content:"";position:absolute;left:0;top:.6em;width:6px;height:6px;border-radius:50%;background:var(--tide-bright)}
.prog-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:2.6rem}
.prog{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);border-radius:var(--r);padding:2rem 1.9rem;display:flex;flex-direction:column;gap:.8rem;backdrop-filter:blur(6px)}
.prog h3{color:#fff;font-size:1.45rem;font-weight:600}
.prog .ptag{font-family:"Mulish";font-weight:700;font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;color:var(--tide-pale)}
.prog p{color:rgba(234,243,244,.88);font-size:.97rem}
.prog .facts{display:grid;gap:.55rem;list-style:none;margin-top:.4rem}
.prog .facts li{display:flex;gap:.6rem;align-items:flex-start;font-size:.93rem;color:rgba(234,243,244,.92)}
.prog .facts svg{width:17px;height:17px;color:var(--tide-pale);flex:none;margin-top:4px}
@media(max-width:900px){.pgrid,.mgrid,.prog-grid{grid-template-columns:1fr}}

.kpwrap{margin-top:2.6rem;background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:clamp(1.2rem,3vw,2.4rem)}
.kpwrap svg{width:100%;height:auto}

/* ===== FIX: Header-CTA immer lesbar ===== */
.hdr .nav .btn.btn-primary,
.hdr:not(.scrolled):not(.light) .nav .btn.btn-primary{
  background:var(--tide);color:#fff;border-color:transparent;
  box-shadow:0 12px 26px -14px rgba(18,124,150,.75);backdrop-filter:none}
.hdr .nav .btn.btn-primary:hover{background:var(--tide-deep);color:#fff}

/* ===== FIX: Dropdown sichtbar + erreichbar ===== */
.dd>a{display:inline-flex;align-items:center;gap:.4rem}
.dd>a .caret{width:11px;height:11px;flex:none;transition:transform .3s;opacity:.8}
.dd:hover>a .caret,.dd:focus-within>a .caret{transform:rotate(180deg);opacity:1}
.dd::after{content:"";position:absolute;left:-14px;right:-14px;top:100%;height:18px}
.dd-menu{top:calc(100% + 14px)}
.dd-menu::before{content:"";position:absolute;top:-7px;left:50%;width:14px;height:14px;background:#fff;
  border-left:1px solid var(--line);border-top:1px solid var(--line);transform:translateX(-50%) rotate(45deg);border-radius:3px 0 0 0}

/* ===== FIX: Hero atmet ===== */
.hero{min-height:0;padding-block:9.5rem 6.5rem;align-items:center}
.hero-grid{gap:clamp(2rem,4.5vw,4rem)}
.hero h1{font-size:clamp(2.3rem,3.9vw,3.5rem)}
.hero-sub{margin-top:1.2rem;font-size:1.06rem}
.hero-quote{margin-top:1.3rem;padding:1rem 1.15rem;font-size:1.02rem}
.hero-cta{margin-top:1.8rem}
.hero-frame{aspect-ratio:auto;height:clamp(360px,54vh,520px)}
.hero-badge{bottom:26px}
.scrollcue{display:none!important}
@media(max-width:980px){.hero{padding-block:8rem 4.5rem}.hero-frame{height:clamp(320px,48vh,430px)}}

/* ===== Editorial-Hero (Bild + Text ohne Kasten) ===== */
.fhero{min-height:min(86vh,780px);color:#fff;padding-block:9rem 5.5rem;align-items:flex-end}
.fhero-scrim{background:
  linear-gradient(96deg,rgba(6,24,31,.9) 0%,rgba(6,24,31,.74) 32%,rgba(6,24,31,.42) 56%,rgba(6,24,31,.1) 80%,transparent 100%),
  linear-gradient(0deg,rgba(6,24,31,.55) 0%,transparent 42%)!important}
.fhero-panel{background:none!important;border:0!important;box-shadow:none!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  padding:0!important;border-radius:0!important;max-width:740px;margin-block:0!important}
.fhero-panel .eyebrow{color:var(--tide-pale)}
.fhero-panel .eyebrow::before{background:var(--tide-pale);opacity:.9}
.fhero-panel h1{color:#fff;font-size:clamp(2.5rem,5vw,4.1rem);text-wrap:balance;
  text-shadow:0 2px 30px rgba(6,24,31,.35)}
.fhero-panel p{color:rgba(238,246,247,.94);font-size:1.14rem;max-width:52ch;margin-bottom:2rem}
.fhero-panel .btn-ghost{color:#fff;border-color:rgba(255,255,255,.5);background:rgba(255,255,255,.06);backdrop-filter:blur(6px)}
.fhero-panel .btn-ghost:hover{border-color:#fff;color:#fff;background:rgba(255,255,255,.14)}
@media(max-width:760px){.fhero{padding-block:7.5rem 3.5rem;min-height:0}
  .fhero-scrim{background:linear-gradient(0deg,rgba(6,24,31,.92) 8%,rgba(6,24,31,.72) 48%,rgba(6,24,31,.45) 100%)!important}}

/* ===== Animierte Icons (Werte / Haltung) ===== */
.val .vi{transition:box-shadow .35s,border-color .35s;animation:viFloat 5.5s ease-in-out infinite}
.val:nth-child(2) .vi{animation-delay:.7s}
.val:nth-child(3) .vi{animation-delay:1.4s}
.val:nth-child(4) .vi{animation-delay:2.1s}
.val .vi svg{transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.val .vi svg *{stroke-dasharray:180;stroke-dashoffset:180}
.val.in .vi svg *{animation:viDraw 1.5s cubic-bezier(.3,.7,.2,1) forwards}
.val.in .vi svg *:nth-child(2){animation-delay:.18s}
.val.in .vi svg *:nth-child(3){animation-delay:.34s}
.val:hover .vi{box-shadow:0 0 0 6px rgba(159,230,244,.14);border-color:var(--tide-pale)}
.val:hover .vi svg{transform:scale(1.14) rotate(-5deg)}
@keyframes viFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes viDraw{to{stroke-dashoffset:0}}

/* ===== Kennzahlen als Karten ===== */
.statcards{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;margin-top:3rem}
.scard{position:relative;padding:2rem 1.7rem 1.8rem;border-radius:var(--r);background:#fff;
  border:1px solid var(--line);box-shadow:var(--shadow-sm);overflow:hidden;
  transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
.scard:hover{transform:translateY(-7px);box-shadow:var(--shadow)}
.scard::before{content:"";position:absolute;left:0;top:0;height:3px;width:0;
  background:linear-gradient(90deg,var(--tide),var(--tide-bright));transition:width 1.3s cubic-bezier(.2,.7,.2,1)}
.scard.in::before{width:100%}
.scard::after{content:"";position:absolute;right:-30px;bottom:-30px;width:110px;height:110px;border-radius:50%;
  background:radial-gradient(circle,rgba(31,182,212,.13),transparent 68%);transition:transform .5s}
.scard:hover::after{transform:scale(1.35)}
.scard .sn{display:block;font-family:"Newsreader",Georgia,serif;font-weight:500;
  font-size:clamp(2.7rem,4.6vw,3.9rem);line-height:1;letter-spacing:-.025em;color:var(--ink)}
.scard .sl{display:block;margin-top:.85rem;font-weight:600;font-size:.97rem;color:var(--txt-dim);line-height:1.42}
.scard .sl b{color:var(--tide-deep);font-weight:800}
.scard .sf{display:block;margin-top:.55rem;font-size:.78rem;font-weight:600;color:var(--txt-dim);opacity:.68}
.log .scard,.band .scard,.tealsec .scard{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.18);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:none}
.log .scard:hover,.band .scard:hover,.tealsec .scard:hover{background:rgba(255,255,255,.11)}
.log .scard .sn,.band .scard .sn,.tealsec .scard .sn{color:#fff}
.log .scard .sl,.band .scard .sl,.tealsec .scard .sl{color:rgba(234,243,244,.78)}
.log .scard .sl b,.band .scard .sl b,.tealsec .scard .sl b{color:var(--tide-pale)}
.log .scard .sf,.band .scard .sf,.tealsec .scard .sf{color:rgba(234,243,244,.6)}
.log .scard::before,.band .scard::before,.tealsec .scard::before{background:linear-gradient(90deg,var(--tide-bright),var(--tide-pale))}
@media(max-width:900px){.statcards{grid-template-columns:1fr 1fr}}

/* ===== Ablauf-Route (Arbeitsweise) ===== */
.route{margin-top:2.6rem}
.route-svg{width:100%;height:auto;display:block;overflow:visible}
.route-line{fill:none;stroke:rgba(255,255,255,.28);stroke-width:2;stroke-dasharray:6 8;stroke-linecap:round}
.route-prog{fill:none;stroke:var(--tide-pale);stroke-width:3;stroke-linecap:round;
  stroke-dasharray:1400;stroke-dashoffset:1400}
.route.in .route-prog{animation:rDraw 2.6s .2s cubic-bezier(.35,.05,.15,1) forwards}
.route-node{opacity:0;transform-box:fill-box;transform-origin:center}
.route.in .rn1{animation:rPop .5s .5s cubic-bezier(.2,1.4,.4,1) forwards}
.route.in .rn2{animation:rPop .5s 1.1s cubic-bezier(.2,1.4,.4,1) forwards}
.route.in .rn3{animation:rPop .5s 1.7s cubic-bezier(.2,1.4,.4,1) forwards}
.route.in .rn4{animation:rPop .5s 2.4s cubic-bezier(.2,1.4,.4,1) forwards}
.route-boat{opacity:0}
.route.in .route-boat{animation:rFade .4s .3s forwards}
@keyframes rDraw{to{stroke-dashoffset:0}}
@keyframes rPop{from{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}
@keyframes rFade{to{opacity:1}}
.route-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1.3rem;margin-top:1.6rem}
.rstep{padding:1.5rem 1.4rem;border-radius:16px;background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(8px);transition:transform .35s,background .35s}
.rstep:hover{transform:translateY(-6px);background:rgba(255,255,255,.12)}
.rstep .rk{font-family:"Mulish";font-weight:800;font-size:.72rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--tide-pale);display:block;margin-bottom:.5rem}
.rstep h3{color:#fff;font-size:1.16rem;font-weight:600;margin-bottom:.4rem}
.rstep p{color:rgba(234,243,244,.8);font-size:.92rem;line-height:1.55}
@media(max-width:900px){.route-svg{display:none}.route-steps{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.route-steps{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){
  .val .vi{animation:none}.val .vi svg *{stroke-dashoffset:0;animation:none}
  .route-prog{stroke-dashoffset:0}.route-node,.route-boat{opacity:1}
  .scard::before{width:100%}
}


/* ===== FIX: kein horizontaler Überlauf auf Mobil ===== */
html,body{overflow-x:clip;max-width:100%}
@media(max-width:900px){
  .reveal.r-l,.reveal.r-r{transform:translateY(20px)}
  .reveal.r-l.in,.reveal.r-r.in{transform:none}
}

/* ===== FIX: Bild-Hero am Layoutrand + optisch mittig ===== */
.fhero{align-items:center!important;padding-block:calc(3.6rem + 92px) 3.6rem!important;
  min-height:min(84vh,760px)!important}
.fhero>.container{width:100%;max-width:var(--container);margin-inline:auto}
.fhero-panel{max-width:760px!important}
@media(max-width:760px){.fhero{padding-block:calc(2.5rem + 84px) 2.5rem!important}}

/* ===== FIX: "Mehr erfahren" als dezenter Textlink ===== */
.moreinfo{background:none!important;border:0!important;box-shadow:none!important;
  border-radius:0!important;overflow:visible!important;margin:1.1rem 0 0!important;max-width:none}
.moreinfo>summary{padding:0!important;background:none!important;border:0!important;
  font-family:"Mulish",system-ui,sans-serif!important;font-weight:800!important;font-size:.98rem!important;
  color:var(--tide-deep)!important;display:inline-flex!important;align-items:center;gap:.45rem;
  width:auto!important;cursor:pointer;transition:color .25s,gap .25s;list-style:none}
.moreinfo>summary::-webkit-details-marker{display:none}
.moreinfo>summary::after{content:""!important;width:8px;height:8px;flex:none;
  border-right:2.2px solid currentColor;border-bottom:2.2px solid currentColor;
  transform:rotate(45deg) translate(-2px,-2px);transition:transform .3s;background:none!important;
  position:static!important;font-size:0}
.moreinfo>summary:hover{color:var(--tide-bright)!important;gap:.7rem}
.moreinfo[open]>summary::after{transform:rotate(-135deg) translate(-1px,-1px)}
.moreinfo .fa{padding:.9rem 0 0!important;background:none!important;border:0!important;
  color:var(--txt-dim)!important;animation:moreOpen .45s ease}
@keyframes moreOpen{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
/* Bild bleibt stehen, wenn der Text aufklappt */
.about .container{align-items:start!important}

/* ===== Mobiles Menü: Gruppe, CTA, Kontakt ===== */
.drawer{justify-content:flex-start!important;padding:5.5rem 1.6rem 2.2rem;overflow-y:auto;gap:0!important}
.dnav{display:flex;flex-direction:column;align-items:center;gap:.55rem;width:100%;max-width:340px;margin-inline:auto}
.dnav>a{font-family:"Newsreader",Georgia,serif;font-size:1.55rem;color:var(--on-dark);padding:.25rem 0}
.dgroup{display:inline-flex;align-items:center;gap:.45rem;font-family:"Newsreader",Georgia,serif;
  font-size:1.55rem;color:var(--on-dark);padding:.25rem 0}
.dgroup svg{width:13px;height:13px;opacity:.7}
.dsubs{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;
  margin:.3rem 0 1.1rem;padding-left:1.1rem;border-left:2px solid rgba(155,230,244,.32)}
.drawer .sub{font-family:"Mulish",system-ui,sans-serif!important;font-size:1rem!important;
  font-weight:600;color:var(--tide-pale)!important;text-align:left}
.dcta{margin:1.8rem auto .4rem;display:inline-flex}
.dfoot{margin-top:1.6rem;text-align:center;display:grid;gap:.5rem}
.dfoot a{font-family:"Mulish",system-ui,sans-serif!important;font-size:.92rem!important;
  color:rgba(234,243,244,.85)!important;display:inline-flex;align-items:center;gap:.45rem;justify-content:center}
.dfoot a:hover{color:#fff!important}
.dfoot a svg{width:15px;height:15px;color:var(--tide-pale)}
.dfoot .dloc{font-size:.78rem;color:rgba(234,243,244,.5);letter-spacing:.04em;margin-top:.3rem}



/* Handlungsspielräume: Häkchen farblich abgesetzt */
.klist.goals li svg{color:var(--sun)!important}
.klist.goals li{color:#fff}


#toTop{position:fixed;right:clamp(1rem,2.4vw,2rem);bottom:clamp(1rem,2.4vw,2rem);z-index:90;
  width:48px;height:48px;border:0;border-radius:50%;cursor:pointer;display:grid;place-items:center;
  background:var(--tide);color:#fff;box-shadow:0 14px 30px -12px rgba(14,41,51,.55);
  opacity:0;visibility:hidden;transform:translateY(12px) scale(.9);
  transition:opacity .3s,transform .3s,visibility .3s,background .2s}
#toTop.on{opacity:1;visibility:visible;transform:none}
#toTop:hover{background:var(--tide-deep)}
#toTop:focus-visible{outline:3px solid var(--tide-bright);outline-offset:3px}
#toTop svg{width:21px;height:21px}
@media(prefers-reduced-motion:reduce){#toTop{transition:opacity .2s,visibility .2s;transform:none}}
@media(max-width:520px){#toTop{width:44px;height:44px}}


/* ===== Mobiles Menue: linksbuendig, Trennlinien, aufklappbare Gruppen ===== */
.drawer{justify-content:flex-start!important;align-items:stretch!important;
  padding:4.6rem 1.4rem 2rem!important;gap:0!important;overflow-y:auto;-webkit-overflow-scrolling:touch}
.drawer .close{top:1.1rem!important;right:1.1rem!important;width:44px;height:44px;
  display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.07)!important}
.drawer .dnav{display:block;width:100%;text-align:left}
.drawer .dnav > a{display:flex;align-items:center;justify-content:space-between;gap:.6rem;
  width:100%;padding:.95rem .2rem;text-align:left;
  font-family:"Newsreader",Georgia,serif;font-size:1.32rem;line-height:1.25;color:var(--on-dark);
  border-bottom:1px solid rgba(255,255,255,.10)}
.drawer .dnav > a:last-of-type{border-bottom:1px solid rgba(255,255,255,.10)}
.drawer .dnav > a svg{width:19px;height:19px;flex:none;opacity:.65;transition:transform .28s}
.drawer .dnav > a.dgroup.open svg{transform:rotate(180deg);opacity:1}
.drawer .dsubs{display:block;max-height:0;overflow:hidden;
  transition:max-height .32s cubic-bezier(.4,0,.2,1);border-bottom:1px solid rgba(255,255,255,.10)}
.drawer .dsubs.open{max-height:340px}
.drawer .dsubs .sub{display:block;padding:.62rem .2rem .62rem 1rem;
  border-left:2px solid rgba(31,179,209,.45);margin-left:.15rem;
  font-family:"Mulish",system-ui,sans-serif!important;font-size:.97rem!important;font-weight:600;
  color:var(--tide-pale)!important;text-align:left}
.drawer .dsubs .sub:first-child{padding-top:.85rem}
.drawer .dsubs .sub:last-child{padding-bottom:.95rem}
.drawer .dsubs .sub:active{color:#fff!important}
.drawer .dcta{display:flex!important;align-items:center;justify-content:center;
  width:100%;margin:1.6rem 0 0!important;padding:1rem 1.2rem!important;
  font-family:"Mulish",system-ui,sans-serif!important;font-size:1rem!important;font-weight:800;
  line-height:1.2!important;border-radius:999px;text-align:center;white-space:nowrap}
.drawer .dfoot{width:100%;margin-top:1.6rem;padding-top:1.3rem;
  border-top:1px solid rgba(255,255,255,.10);display:grid;gap:.15rem;text-align:left}
.drawer .dfoot a{display:flex;align-items:center;gap:.6rem;padding:.5rem .2rem;
  font-family:"Mulish",system-ui,sans-serif!important;font-size:.95rem!important;
  color:var(--on-dark)!important;border:0!important}
.drawer .dfoot a svg{width:17px;height:17px;color:var(--tide-bright);flex:none}
.drawer .dfoot .dloc{margin-top:.5rem;font-size:.76rem;line-height:1.5}
@media(max-height:700px){
  .drawer{padding-top:3.8rem!important}
  .drawer .dnav > a{padding:.72rem .2rem;font-size:1.18rem}
  .drawer .dsubs .sub{padding-top:.5rem;padding-bottom:.5rem}
  .drawer .dcta{margin-top:1.1rem!important;padding:.85rem 1.1rem!important}
}


/* Trennlinie nur zeigen, wenn die Gruppe offen ist */
.drawer .dsubs{border-bottom:0!important}
.drawer .dsubs.open{border-bottom:1px solid rgba(255,255,255,.10)!important}
/* Kontaktzeilen wirklich linksbuendig */
.drawer .dfoot{justify-items:start!important;text-align:left!important}
.drawer .dfoot a{justify-content:flex-start!important;width:100%}
.drawer .dfoot .dloc{text-align:left!important;width:100%}


.drawer .dsubs{border-left:0!important;padding-left:0!important;margin-left:0!important}


/* ===== Mobile Feinschliff: Tippziele, Mindestschriftgroessen, Formular ===== */
@media(max-width:900px){
  /* eigenstaendige Links bekommen ein echtes Tippziel */
  .txtlink,.wback,.post-more,.pcard-link{display:inline-flex;align-items:center;gap:.4rem;
    min-height:44px;padding-block:.35rem}
  .crumb a{display:inline-block;padding:.35rem .1rem}
  .foot-bottom a{display:inline-block;padding:.45rem .2rem}
  .faq summary,details summary{min-height:48px;display:flex;align-items:center;
    padding-block:.7rem;padding-right:2rem}

  /* keine Schrift unter 12 px */
  .rk,.ptag,.post-cat,.way-tag,.role,.lbl,.hero-badge .lbl,.dloc,small{font-size:.78rem!important;line-height:1.45}
  .eyebrow{font-size:.76rem!important;letter-spacing:.12em}
  .foot-bottom{font-size:.8rem}

  /* Kontaktformular: groessere Felder und Checkbox */
  .form input[type="text"],.form input[type="email"],.form textarea,
  input[type="text"],input[type="email"],textarea{font-size:16px!important;padding:.85rem .95rem!important}
  input[type="checkbox"]{width:22px!important;height:22px!important;flex:none;accent-color:var(--tide)}
  label:has(input[type="checkbox"]){display:flex;align-items:flex-start;gap:.65rem;
    min-height:44px;padding-block:.3rem;line-height:1.5}
}


@media(max-width:900px){
  .foot nav a,.foot ul a,.foot li a{display:inline-block;padding:.5rem .1rem;min-height:40px;line-height:1.6}
  .final-contact a{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;padding-block:.4rem}
}


@media(max-width:900px){.cat,.lc-ic + .cat,span.cat,div.cat{font-size:.78rem!important;letter-spacing:.1em}}


/* ===== v24: Detailkorrekturen und Mobilfeinschliff ===== */
/* Kartenraster: lange Woerter duerfen die Spalten nicht mehr aufblaehen */
.ichips{grid-template-columns:repeat(3,minmax(0,1fr))}
.ichip{min-width:0}
.ichip b{min-width:0;overflow-wrap:break-word;hyphens:auto}
@media(max-width:900px){.ichips{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.ichips{grid-template-columns:1fr}}

.statcards{grid-template-columns:repeat(4,minmax(0,1fr))}
.scard{min-width:0}
.scard .sl,.scard .sf{overflow-wrap:break-word;hyphens:auto}
@media(max-width:900px){.statcards{grid-template-columns:repeat(2,minmax(0,1fr))}}

.numrow{grid-template-columns:repeat(4,minmax(0,1fr))}
.numcell{min-width:0}
.numcell .nl{overflow-wrap:break-word;hyphens:auto}
@media(max-width:760px){.numrow{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.numrow{grid-template-columns:1fr}}

.loc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.loc-grid.loc-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.loc,.loc-b{min-width:0}
.loc-b h3,.loc-b p,.loc .way-tag{overflow-wrap:break-word;hyphens:auto}
@media(max-width:900px){.loc-grid,.loc-grid.loc-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.loc-grid,.loc-grid.loc-3{grid-template-columns:1fr}}
@media(max-width:520px){.loc .route{position:static;transform:none;display:inline-flex;margin:.7rem 0 0}}

.split>*,.split-t,.split-b,.intro2>*,.body,
.pgrid>*,.mgrid>*,.prog-grid>*,.ways-grid>*,.voice-grid>*,.log-grid>*,.fgrid>*,.steps>*,
.route-steps>*,.foot-grid>*,.tl>*,.klist li,.ichip,.rstep,.mod,.lcard{min-width:0}
.pgrid>* p,.mgrid>* p,.rstep p,.mod p,.lcard p,.foot-grid p{overflow-wrap:break-word}

/* Fliesstext bricht auf sehr schmalen Geraeten sauber um */
@media(max-width:420px){
  h1,h2,h3,.lead-big,.big{overflow-wrap:break-word;hyphens:auto}
}

/* Sektion "Situation verstehen" (Chronische Erkrankung) */
.sv-out{margin-top:1.4rem;padding:1.1rem 1.25rem;border-left:3px solid var(--tide-bright);
  background:rgba(31,179,209,.07);border-radius:0 12px 12px 0}
.sv-out b{color:var(--tide-deep)}

/* Zitat im Bild-Band (Mentale Staerke, Mein Ansatz) */
.bandquote{max-width:46ch;margin:2.2rem auto 0;padding:1.3rem 1.5rem;border:0;
  border-radius:var(--rs,16px);background:rgba(255,255,255,.12);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  border-left:3px solid var(--tide-pale);
  font-family:"Newsreader",Georgia,serif;font-style:italic;font-size:clamp(1.05rem,2.4vw,1.32rem);
  line-height:1.45;color:#fff;text-align:left}
@media(max-width:520px){.bandquote{padding:1.05rem 1.15rem}}
/* Restliche Ueberlaeufe auf sehr schmalen Geraeten */
.split-t h2,.split-b h3,.split-t p,.split-b p,.facts li,.klist li,ul li{overflow-wrap:break-word}
@media(max-width:1080px){.hero-badge2{right:0}.hero-badge{left:0}}
/* Listeneintraege: Text als eigener Flex-Block, damit nichts ueberlaeuft */
.cmp-list li,.klist li,.facts li,.sig li{min-width:0}
.cmp-list li>*,.klist li>*,.facts li>*{min-width:0}
.cmp-list li>.t{flex:1 1 auto;min-width:0;overflow-wrap:break-word}
