/* comelo Horizont: Design des Child-Themes (portiert aus dem Prototyp v5c).
   Schriften kommen aus theme.json (lokale WOFF2). Alles hier ist reines CSS ohne externe Aufrufe.
   Bewegung steht ganz unten und gilt nur bei prefers-reduced-motion: no-preference. */

:root{
  --primary:#3a5a78; --secondary:#a8c4b6; --accent:#e6d6c7;
  --primary-dark:#2a4156; --primary-deep:#1f3345; --secondary-dark:#4a6c5b;
  --sand:#f7f2ed; --sky:#eaf0f5; --paper:#fffdfb;
  --text:#686868;            /* aus #7A7A7A abgeleitet: 5,5:1 auf Weiß, 5,0:1 auf Sand, 4,85:1 auf Himmel */
  --line:rgba(58,90,120,.2);
  --field-border:#7c94aa;
  --focus:#3a5a78;
  --wave:var(--paper);
  --display:'Poppins',system-ui,-apple-system,'Segoe UI',sans-serif;
  --body:'Open Sans','Segoe UI',system-ui,-apple-system,sans-serif;
  --gutter:max(clamp(1rem,4vw,2.5rem),env(safe-area-inset-left,0px));
  --gutter-r:max(clamp(1rem,4vw,2.5rem),env(safe-area-inset-right,0px));
  --section:clamp(4.5rem,9vw,8rem);
  --wave-h:clamp(36px,6vw,90px);
  --wave-a:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 96' preserveAspectRatio='none'%3E%3Cpath d='M0 36C190 4 380 10 560 34C760 62 960 56 1160 30C1260 16 1360 10 1440 18L1440 96L0 96Z'/%3E%3C/svg%3E");
  --wave-b:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 96' preserveAspectRatio='none'%3E%3Cpath d='M0 22C220 60 470 58 720 36C960 14 1210 6 1440 26L1440 96L0 96Z'/%3E%3C/svg%3E");
  --wave-c:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 96' preserveAspectRatio='none'%3E%3Cpath d='M0 30C260 6 520 10 760 34C1000 58 1240 54 1440 24L1440 96L0 96Z'/%3E%3C/svg%3E");
  --wave-d:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 96' preserveAspectRatio='none'%3E%3Cpath d='M0 24C240 58 500 56 740 40C980 22 1220 8 1440 30L1440 96L0 96Z'/%3E%3C/svg%3E");
}
@property --vp{syntax:'<number>';inherits:true;initial-value:.5;}
@property --calm{syntax:'<number>';inherits:true;initial-value:0;}

*,*::before,*::after{box-sizing:border-box;}
/* Astra setzt auf Handy html{font-size:91.2%}; die Gestaltung rechnet mit 16 px (1rem). html:root gewinnt ohne !important. */
html:root{font-size:100%;}
html{scroll-behavior:smooth;scroll-padding-top:5rem;}
body.cmlo-horizont{margin:0;background:var(--paper);color:var(--text);font-family:var(--body);font-size:clamp(1.0625rem,1.02rem + .15vw,1.125rem);line-height:1.7;-webkit-font-smoothing:antialiased;}
.cmlo-horizont img,.cmlo-horizont svg{max-width:100%;}
.cmlo-horizont a{color:inherit;text-decoration:none;}
.cmlo-horizont :is(p,h1,h2,h3,h4,ul,ol,figure,fieldset){margin:0;padding:0;}
.cmlo-horizont :is(ul,ol){list-style:none;}
/* body.-Präfix: schlägt globale Elementor-Kit-Regeln für Überschriften (.elementor-kit-N h1 …) ohne !important */
body.cmlo-horizont :is(h1,h2,h3,h4){font-family:var(--display);font-weight:700;color:var(--primary-dark);text-wrap:balance;}
.cmlo-horizont :focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:6px;}
.cmlo-horizont ::selection{background:var(--secondary);color:var(--primary-deep);}
.cmlo-horizont .wp-block-group__inner-container{display:contents;}
.cmlo-horizont .cmlo-skip{color:#fff;}
.cmlo-nav .cmlo-logo{color:var(--primary-dark);}
.cmlo-skip{position:absolute;left:1rem;top:-4rem;z-index:100;background:var(--primary-dark);color:#fff;padding:.7rem 1.1rem;border-radius:10px;font-weight:600;}
.cmlo-skip:focus{top:1rem;}
.cmlo-vh{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}

/* ---------- Grundbausteine ---------- */
.cmlo-main{display:block;}
.cmlo-sec{position:relative;}
.cmlo-wrap{max-width:1240px;margin-left:auto;margin-right:auto;padding-left:var(--gutter);padding-right:var(--gutter-r);min-width:0;width:100%;box-sizing:border-box;}
.cmlo-horizont p.cmlo-label{display:flex;align-items:center;gap:.7rem;font-family:var(--display);font-weight:600;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;line-height:1.7;color:var(--secondary-dark);}
.cmlo-label::before{content:"";flex:none;width:20px;height:10px;border:2.5px solid currentColor;border-bottom:0;border-radius:20px 20px 0 0;}
.cmlo-horizont .cmlo-display{font-weight:700;font-size:clamp(2.15rem,4.7vw,4.1rem);line-height:1.04;letter-spacing:-.03em;}
.cmlo-horizont p.cmlo-lede{font-size:clamp(1.1rem,1.4vw,1.3rem);line-height:1.65;max-width:34em;}

/* Buttons (Standard-Button-Block mit Klassen) */
.cmlo-horizont .wp-block-buttons{display:flex;flex-wrap:wrap;gap:.9rem;margin:0;}
.cmlo-horizont .cmlo-btn{margin:0;}
.cmlo-horizont .cmlo-btn .wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;font-family:var(--display);font-weight:600;font-size:.95rem;line-height:1.2;padding:.95rem 1.7rem;border-radius:12px;border:1.5px solid transparent;cursor:pointer;text-decoration:none;box-shadow:none;transition:background .2s ease,color .2s ease,border-color .2s ease;}
.cmlo-horizont .cmlo-btn--primary .wp-block-button__link{background:var(--primary);color:#fff;}
.cmlo-horizont .cmlo-btn--primary .wp-block-button__link:hover{background:var(--primary-dark);color:#fff;}
.cmlo-horizont .cmlo-btn--pill .wp-block-button__link{border-radius:999px;background:var(--secondary);color:var(--primary-deep);padding:.8rem 1.5rem;}
.cmlo-horizont .cmlo-btn--pill .wp-block-button__link:hover{background:var(--primary-dark);color:#fff;}
.cmlo-horizont .cmlo-btn--lg .wp-block-button__link{padding:1.15rem 2.1rem;font-size:1.05rem;}
.cmlo-horizont .cmlo-btn--sm .wp-block-button__link{padding:.7rem 1.2rem;font-size:.88rem;}
.cmlo-horizont .cmlo-btn--photo .wp-block-button__link{border-color:rgba(255,253,251,.9);}
.cmlo-horizont .cmlo-btn--arrow .wp-block-button__link::after{content:"";width:16px;height:16px;flex:none;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;transition:transform .2s ease;}
.cmlo-horizont .cmlo-btn--arrow .wp-block-button__link:hover::after{transform:translateX(3px);}

/* Wellen als Abschluss eines Abschnitts: Form per Klasse --a/--b/--c/--d, Farbe der nächsten Fläche per cmlo-next-* */
.cmlo-wave::before,.cmlo-wave::after{content:"";position:absolute;left:0;right:0;bottom:-1px;background:var(--wave);pointer-events:none;}
.cmlo-wave::after{height:var(--wave-h);-webkit-mask:var(--wave-mask,var(--wave-a)) center/100% 100% no-repeat;mask:var(--wave-mask,var(--wave-a)) center/100% 100% no-repeat;transform-origin:50% 64.6%;}
.cmlo-wave::before{height:calc(var(--wave-h) * .354);}
.cmlo-wave--a{--wave-mask:var(--wave-a);}
.cmlo-wave--b{--wave-mask:var(--wave-b);}
.cmlo-wave--c{--wave-mask:var(--wave-c);}
.cmlo-wave--d{--wave-mask:var(--wave-d);}
.cmlo-next-paper{--wave:var(--paper);}
.cmlo-next-sand{--wave:var(--sand);}
.cmlo-next-green{--wave:var(--secondary);}
.cmlo-next-dark{--wave:var(--primary-dark);}
.cmlo-next-deep{--wave:var(--primary-deep);}
.cmlo-next-sky{--wave:var(--sky);}
.cmlo-bg-paper{background:var(--paper);}
.cmlo-bg-sand{background:var(--sand);}
.cmlo-bg-sky{background:var(--sky);}
.cmlo-bg-green{background:var(--secondary);color:var(--primary-deep);}
.cmlo-bg-dark{background:var(--primary-dark);color:var(--sky);}

/* KI-Kennzeichnung: weißer Kreis „AI“, wiederverwendbar (Absatz mit Klasse cmlo-ki oder Block-Stil „KI-Zeichen“) */
.cmlo-media{position:relative;margin:0;}
.cmlo-horizont :is(p.cmlo-ki,p.is-style-cmlo-ki){position:absolute;right:.5rem;bottom:.5rem;z-index:3;display:grid;place-items:center;width:32px;height:32px;margin:0;padding:0;border-radius:50%;background:#fff;color:var(--primary-dark);border:1px solid rgba(0,0,0,.25);box-shadow:0 2px 6px rgba(0,0,0,.28);font-family:var(--display);font-weight:700;font-size:.75rem;line-height:1;letter-spacing:0;text-align:center;cursor:help;}

.cmlo-horizont :is(p.cmlo-ki,p.is-style-cmlo-ki)::after{content:var(--cmlo-ki-title,"KI-generiert");position:absolute;right:0;bottom:calc(100% + 6px);padding:.25rem .55rem;border-radius:6px;background:var(--primary-deep);color:#fff;font-family:var(--body);font-weight:600;font-size:.75rem;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s ease;}
.cmlo-horizont :is(p.cmlo-ki,p.is-style-cmlo-ki):hover::after{opacity:1;}

/* Bogenbilder (Bild-Block mit Klasse cmlo-arch) */
.cmlo-horizont :is(figure.cmlo-arch,figure.is-style-cmlo-arch){position:relative;overflow:clip;margin:0;border-radius:999px 999px 0 0;background:var(--sky);aspect-ratio:4/5;transition:transform .45s ease;}
.cmlo-horizont figure.cmlo-arch--tall{aspect-ratio:4/5;}
.cmlo-horizont :is(figure.cmlo-arch,figure.is-style-cmlo-arch) img{position:absolute;top:0;left:-12px;width:calc(100% + 24px);height:100%;max-width:none;object-fit:cover;object-position:var(--fx,50%) 50%;}
.cmlo-focus-35{--fx:35%;}.cmlo-focus-38{--fx:38%;}.cmlo-focus-40{--fx:40%;}.cmlo-focus-50{--fx:50%;}.cmlo-focus-52{--fx:52%;}.cmlo-focus-55{--fx:55%;}.cmlo-focus-58{--fx:58%;}.cmlo-focus-60{--fx:60%;}

/* ---------- Kopfzeile ---------- */
.cmlo-nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:rgba(255,253,251,.9);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);transition:background .3s ease,box-shadow .3s ease;}
.admin-bar .cmlo-nav{top:32px;}
@media (max-width:782px){.admin-bar .cmlo-nav{top:46px;}}
body.cmlo-horizont::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);background:var(--paper);z-index:60;}
.cmlo-nav__in{display:flex;align-items:center;gap:1.5rem;max-width:1240px;margin:0 auto;padding:.85rem var(--gutter-r) .85rem var(--gutter);transition:padding .3s ease;}
.cmlo-logo{display:flex;align-items:center;gap:.65rem;font-family:var(--display);font-weight:700;font-size:1.05rem;letter-spacing:-.01em;color:var(--primary-dark);margin-right:auto;}
.cmlo-logo svg{width:30px;height:30px;flex:none;transition:width .3s ease,height .3s ease;}
.cmlo-logo__t{display:grid;gap:.05rem;line-height:1.1;min-width:0;}
.cmlo-logo__n{font-size:1.15rem;letter-spacing:-.02em;}
.cmlo-logo__s{font-weight:600;font-size:.72rem;letter-spacing:.01em;color:var(--text);}
.cmlo-foot .cmlo-logo__s{color:var(--sky);}
.cmlo-nav__links{display:flex;gap:2rem;font-weight:600;font-size:.95rem;}
.cmlo-nav__links ul,.cmlo-nav__links li{display:contents;}
.cmlo-nav__links a{padding:.35rem 0;border-bottom:2px solid transparent;transition:border-color .2s ease,color .2s ease;}
.cmlo-nav__links a:hover,.cmlo-nav__links .current-menu-item>a,.cmlo-nav__links [aria-current="page"]{color:var(--primary-dark);border-color:var(--secondary-dark);}
.cmlo-nav.is-compact{background:rgba(255,253,251,.97);box-shadow:0 14px 28px -24px rgba(42,65,86,.55);}
.cmlo-nav.is-compact .cmlo-nav__in{padding-top:.4rem;padding-bottom:.4rem;}
.cmlo-nav.is-compact .cmlo-logo svg{width:24px;height:24px;}
/* Horizont-Fortschrittslinie */
.cmlo-nav::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:linear-gradient(90deg,var(--secondary-dark),var(--primary));transform-origin:0 50%;transform:scaleX(var(--calm,0));}
.cmlo-menu{display:none;position:relative;}
.cmlo-menu summary{list-style:none;cursor:pointer;font-family:var(--display);font-weight:600;font-size:.9rem;color:var(--primary-dark);padding:.6rem .95rem;border:1.5px solid var(--line);border-radius:999px;}
.cmlo-menu summary::-webkit-details-marker{display:none;}
.cmlo-menu__panel{position:absolute;right:0;top:calc(100% + .6rem);width:min(78vw,280px);background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:.6rem;display:grid;box-shadow:0 24px 40px -24px rgba(42,65,86,.35);}
.cmlo-menu__panel ul,.cmlo-menu__panel li{display:contents;}
.cmlo-menu__panel a{padding:.8rem 1rem;border-radius:12px;font-weight:600;color:var(--primary-dark);}
.cmlo-menu__panel a:hover{background:var(--sand);}
#cmlo-top-sentinel{position:absolute;top:0;left:0;width:1px;height:48px;pointer-events:none;}

/* ---------- Hero ---------- */
.cmlo-hero{--focus:#fffdfb;position:relative;height:clamp(600px,56.25vw,880px);overflow:clip;background:var(--sky);--wave:var(--paper);--wave-mask:var(--wave-a);}
.cmlo-horizont figure.cmlo-hero__media{position:absolute;inset:0;margin:0;overflow:clip;}
.cmlo-horizont figure.cmlo-hero__media img{position:absolute;left:0;top:-70px;width:100%;height:calc(100% + 70px);max-width:none;object-fit:cover;object-position:50% 58%;}
.cmlo-hero__media::before,.cmlo-hero__media::after{content:"";position:absolute;left:0;right:0;bottom:-1px;background:var(--wave);pointer-events:none;z-index:1;}
.cmlo-hero__media::after{height:var(--wave-h);-webkit-mask:var(--wave-mask) center/100% 100% no-repeat;mask:var(--wave-mask) center/100% 100% no-repeat;transform-origin:50% 64.6%;}
.cmlo-hero__media::before{height:calc(var(--wave-h) * .354);}
.cmlo-hero__copy{position:absolute;inset:0;z-index:2;}
.cmlo-hero__inner{height:100%;display:flex;flex-direction:column;max-width:1240px;margin:0 auto;padding:clamp(2.25rem,5.2vw,4.75rem) var(--gutter-r) 0 var(--gutter);}
.cmlo-hero__text{max-width:min(56%,50rem);}
.cmlo-hero__text::before{content:"";display:block;width:20px;height:10px;margin-bottom:.9rem;border:2.5px solid var(--primary-dark);border-bottom:0;border-radius:20px 20px 0 0;}
.cmlo-horizont h1.cmlo-hero__title{font-weight:700;font-size:clamp(2.4rem,5.35vw,5.3rem);line-height:.98;letter-spacing:-.04em;color:var(--primary-dark);}
/* Erste Zeile der Überschrift (Stichwort für Suchmaschinen und Screenreader) wird zur kleinen Versalien-Zeile */
.cmlo-hero__title::first-line{font-family:var(--display);font-weight:600;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;line-height:2.8;}
.cmlo-horizont p.cmlo-hero__lead{margin-top:1.4rem;font-family:var(--display);font-weight:600;font-size:clamp(1.05rem,1.6vw,1.45rem);line-height:1.4;color:var(--primary-dark);}
.cmlo-horizont .cmlo-hero__actions{margin-top:auto;padding-bottom:calc(var(--wave-h) + clamp(1.25rem,3vw,2.5rem));}
.cmlo-hero__end{display:none;}

/* ---------- Seitenkopf der Unterseiten ---------- */
.cmlo-pagehero{padding-top:clamp(3.5rem,7vw,6rem);padding-bottom:calc(var(--section) * .55 + var(--wave-h) * .6);}
.cmlo-pagehero .cmlo-wrap{display:grid;gap:1.4rem;}
.cmlo-pagehero .cmlo-display{max-width:18ch;}

/* ---------- Angebote ---------- */
.cmlo-offers{padding-top:var(--section);padding-bottom:calc(var(--section) + var(--wave-h) * .6);}
.cmlo-sec-head{display:grid;gap:1.4rem;max-width:62rem;margin-bottom:clamp(2.5rem,5vw,4.5rem);}
.cmlo-sec-head .cmlo-display{max-width:20ch;}
.cmlo-offer-list{border-bottom:1px solid var(--line);}
.cmlo-offer{position:relative;isolation:isolate;display:grid;grid-template-columns:clamp(150px,17vw,220px) minmax(0,1fr) minmax(190px,auto);gap:clamp(1.5rem,4vw,3.5rem);align-items:start;padding-block:clamp(2rem,3.6vw,3rem);border-top:1px solid var(--line);}
.cmlo-offer::before{content:"";position:absolute;inset:0 calc(-1 * clamp(.75rem,2vw,1.5rem));background:linear-gradient(90deg,var(--sand),rgba(247,242,237,0));border-radius:28px;opacity:0;transition:opacity .35s ease;z-index:-1;}
.cmlo-offer__media{min-width:0;}
.cmlo-offer__main{min-width:0;display:grid;gap:.9rem;align-content:start;}
.cmlo-horizont .cmlo-offer__title{font-size:clamp(1.9rem,3.4vw,3rem);line-height:1.05;letter-spacing:-.03em;transition:color .25s ease;}
.cmlo-horizont p.cmlo-offer__claim{font-family:var(--display);font-weight:600;font-size:1.05rem;line-height:1.45;color:var(--secondary-dark);}
.cmlo-offer__desc{max-width:38em;}
.cmlo-horizont ul.cmlo-points{display:grid;gap:.5rem;margin-top:.4rem;padding:0;}
.cmlo-points li{position:relative;padding-left:1.7rem;font-size:.98rem;line-height:1.55;}
.cmlo-points li::before{content:"";position:absolute;left:0;top:.38em;width:11px;height:13px;border-radius:11px 11px 0 0;background:var(--secondary);}
.cmlo-offer__side{display:grid;justify-items:end;gap:1.2rem;text-align:right;align-self:center;}
.cmlo-horizont p.cmlo-price{font-family:var(--display);font-weight:700;font-size:clamp(2.4rem,3.8vw,3.4rem);line-height:1;letter-spacing:-.03em;color:var(--primary-dark);}
.cmlo-horizont p.cmlo-price-note{margin-top:-.7rem;font-weight:600;font-size:.9rem;color:var(--text);}
@media (hover:hover){
  .cmlo-offer:hover::before{opacity:1;}
  .cmlo-offer:hover :is(figure.cmlo-arch,figure.is-style-cmlo-arch){transform:translateY(-6px);}
  .cmlo-offer:hover .cmlo-offer__title{color:var(--primary);}
}
.cmlo-offer__title a{color:inherit;text-decoration:none;}
.cmlo-offer__title a:hover{color:var(--primary);text-decoration:underline;text-decoration-color:rgba(58,90,120,.4);text-underline-offset:6px;}
.cmlo-horizont .cmlo-btn--text .wp-block-button__link{background:transparent;color:var(--primary);padding:.3rem .1rem;border-radius:4px;font-size:.9rem;text-decoration:underline;text-decoration-color:rgba(58,90,120,.4);text-underline-offset:4px;}
.cmlo-horizont .cmlo-btn--text .wp-block-button__link:hover{color:var(--primary-dark);text-decoration-color:currentColor;background:transparent;}
/* Wutcoaching-Bogen: Anspannung -> Ruhe (zweites Bild liegt über dem ersten) */
.cmlo-morph{--vp:0;--mo:0;}
.cmlo-horizont .cmlo-morph figure.cmlo-morph__calm{position:absolute;inset:0;opacity:var(--mo);}
.cmlo-morph.is-calm{--mo:1;}
.cmlo-morph.is-tense{--mo:0;}
@media (hover:hover){.cmlo-morph:hover{--mo:1;}.cmlo-morph.is-tense:hover{--mo:0;}}
.cmlo-morph__btn{display:block;width:100%;margin-top:.75rem;min-height:44px;padding:.6rem .9rem;border-radius:999px;border:1.5px solid var(--field-border);background:var(--paper);color:var(--primary-dark);font-family:var(--display);font-weight:600;font-size:.82rem;line-height:1.2;cursor:pointer;transition:border-color .2s ease;}
.cmlo-morph__btn:hover{border-color:var(--primary);}

/* ---------- Haltung ---------- */
.cmlo-stance{background:var(--secondary);color:var(--primary-deep);padding-top:calc(var(--section) * .55);padding-bottom:calc(var(--section) + var(--wave-h) * .6);overflow:clip;--focus:#1f3345;}
.cmlo-horizont .cmlo-stance p.cmlo-label{color:var(--primary-deep);}
.cmlo-horizont .cmlo-stance h2.cmlo-stance__title{font-weight:600;font-size:clamp(1.15rem,1.7vw,1.4rem);letter-spacing:-.01em;line-height:1.4;color:var(--primary-deep);margin-top:1rem;max-width:26em;}
.cmlo-beliefs{position:relative;z-index:1;margin-top:clamp(2rem,4vw,3.5rem);}
.cmlo-belief{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr);gap:.4rem;align-items:start;padding-block:clamp(1.6rem,3vw,2.6rem);border-top:1.5px solid rgba(31,51,69,.35);}
.cmlo-belief:last-child{border-bottom:1.5px solid rgba(31,51,69,.35);}
.cmlo-belief::before{content:"";position:absolute;inset:.5rem -1rem;z-index:-1;border-radius:20px;background:linear-gradient(90deg,rgba(255,253,251,.4),rgba(255,253,251,0));opacity:0;}
/* Gewichtung: falsche Annahme ca. 0,92-fach so groß wie die Haltung, Open Sans 400, gedämpft (5,65:1), gut sichtbar durchgestrichen; die Haltung Poppins 700 in vollem Kontrast (6,95:1) */
.cmlo-horizont p.cmlo-belief__not{position:relative;font-family:var(--body);font-weight:400;font-size:clamp(1.65rem,3.3vw,2.95rem);line-height:1.15;letter-spacing:-.01em;color:var(--primary-dark);text-wrap:balance;}
.cmlo-belief__not s{text-decoration:none;background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-position:0 56%;background-size:100% max(3px,.07em);-webkit-box-decoration-break:slice;box-decoration-break:slice;}
.cmlo-horizont p.cmlo-belief__is{position:relative;font-family:var(--display);font-weight:700;font-size:clamp(1.8rem,3.6vw,3.2rem);line-height:1.08;letter-spacing:-.03em;color:var(--primary-deep);text-wrap:balance;}
/* Vorlesehilfe für Screenreader (Text kommt aus dem Theme, übersetzbar) */
.cmlo-belief__not::before,.cmlo-belief__is::before{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.cmlo-belief__not::before{content:var(--cmlo-sr-false,"Falsche Annahme: ");}
.cmlo-belief__is::before{content:var(--cmlo-sr-true,"Stattdessen: ");}
.cmlo-stance__rings{position:absolute;right:max(var(--gutter-r),calc((100% - 1240px) / 2 + 2.5rem));top:clamp(10px,1.6vw,22px);width:min(24vw,280px);height:min(14vw,162px);opacity:.6;pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 230' fill='none' stroke='%23fffdfb' stroke-width='2'%3E%3Cpath d='M20 230v-30a180 180 0 0 1 360 0v30'/%3E%3Cpath d='M70 230v-30a130 130 0 0 1 260 0v30'/%3E%3Cpath d='M120 230v-30a80 80 0 0 1 160 0v30'/%3E%3C/svg%3E") center/contain no-repeat;}

/* ---------- Über mich ---------- */
.cmlo-about{overflow-x:clip;padding-top:calc(var(--section) * .6);padding-bottom:calc(var(--section) + var(--wave-h) * .6);}
.cmlo-about__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(2.5rem,7vw,7rem);align-items:start;}
.cmlo-about__copy{display:grid;gap:1.4rem;padding-top:clamp(1rem,6vw,5.5rem);align-content:start;}
.cmlo-about__copy .cmlo-display{max-width:14ch;margin-block:.4rem .3rem;}
.cmlo-horizont ul.cmlo-words{margin-top:1.2rem;border-top:1px solid var(--line);}
.cmlo-words li{display:flex;align-items:center;gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--line);font-family:var(--display);font-weight:600;font-size:clamp(1.3rem,2.1vw,1.75rem);letter-spacing:-.02em;color:var(--primary-dark);}
.cmlo-words li::before{content:"";flex:none;width:16px;height:19px;border-radius:16px 16px 0 0;background:var(--secondary);}
.cmlo-portrait{position:relative;width:min(100%,500px);margin:0 clamp(0px,3vw,2.5rem) 0 auto;}
.cmlo-portrait::before{content:"";position:absolute;z-index:1;inset:0;transform:translate(clamp(14px,3vw,34px),clamp(14px,3vw,34px));border:2px solid var(--primary);border-radius:999px 999px 0 0;opacity:.45;}
.cmlo-horizont figure.cmlo-portrait__main{position:relative;z-index:2;margin:0;aspect-ratio:3/4.1;border-radius:999px 999px 0 0;overflow:clip;background:#aab3bd;}
.cmlo-horizont figure.cmlo-portrait__main img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 12%;}
.cmlo-portrait__block{position:absolute;z-index:3;left:clamp(-70px,-5vw,-26px);bottom:-1.6rem;width:34%;aspect-ratio:3/4;border-radius:999px 999px 0 0;background:var(--secondary);overflow:clip;}
.cmlo-horizont .cmlo-portrait__block figure{position:absolute;inset:0;margin:0;}
.cmlo-horizont .cmlo-portrait__block img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:55% 50%;}

/* ---------- FAQ (Details-Blöcke) ---------- */
.cmlo-faq{padding-top:calc(var(--section) * .3);padding-bottom:calc(var(--section) + var(--wave-h) * .6);}
.cmlo-faq__grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2.5rem,7vw,7rem);align-items:start;}
.cmlo-faq__intro{display:grid;gap:1.4rem;align-content:start;}
.cmlo-faq__intro .cmlo-display{max-width:12ch;font-size:clamp(2rem,3.9vw,3.4rem);}
.cmlo-faq__intro .cmlo-media{width:min(100%,340px);margin-top:1rem;}
.cmlo-faq__list{border-bottom:1px solid var(--line);}
.cmlo-horizont details.cmlo-faq__item{border-top:1px solid var(--line);margin:0;}
.cmlo-faq__item summary{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.35rem 0;cursor:pointer;list-style:none;font-family:var(--display);font-weight:600;font-size:clamp(1.1rem,1.6vw,1.35rem);line-height:1.3;letter-spacing:-.01em;color:var(--primary-dark);}
.cmlo-faq__item summary::-webkit-details-marker{display:none;}
.cmlo-faq__item summary:hover{color:var(--primary);}
.cmlo-faq__item summary::after{content:"+";flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1.5px solid var(--field-border);font-family:var(--body);font-weight:400;font-size:1.4rem;line-height:1;color:var(--primary-dark);transition:transform .3s ease,background .2s ease;}
.cmlo-faq__item[open] summary::after{transform:rotate(45deg);background:var(--secondary);border-color:var(--secondary);}
.cmlo-faq__item>p{padding:0 3.2rem 1.5rem 0;max-width:40em;font-size:1rem;line-height:1.7;}

/* ---------- Termine / Formular ---------- */
.cmlo-book{background:var(--primary-dark);color:var(--sky);padding-top:calc(var(--section) * .7);padding-bottom:var(--section);overflow:clip;--focus:#e6d6c7;}
.cmlo-book__bg{position:absolute;inset:0;overflow:clip;margin:0;}
.cmlo-horizont .cmlo-book__bg figure{position:absolute;inset:0;margin:0;}
.cmlo-horizont .cmlo-book__bg img{position:absolute;left:0;top:-60px;width:100%;height:calc(100% + 120px);max-width:none;object-fit:cover;object-position:50% 56%;}
.cmlo-book__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(42,65,86,.86),rgba(42,65,86,.80) 55%,rgba(42,65,86,.72));}
.cmlo-horizont .cmlo-book__bg p.cmlo-ki{right:var(--gutter-r);bottom:1rem;z-index:4;}
.cmlo-horizont .cmlo-book p.cmlo-label{color:var(--accent);}
.cmlo-horizont .cmlo-book h2{color:var(--paper);}
.cmlo-book__grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(2.5rem,6vw,6rem);align-items:start;}
.cmlo-book__copy{display:grid;gap:1.6rem;justify-items:start;align-content:start;}
.cmlo-book__copy .cmlo-lede{color:var(--sky);}
.cmlo-book__prices{width:100%;max-width:30rem;margin-top:.6rem;}
.cmlo-price-row{display:flex;justify-content:space-between;gap:1rem;padding:.8rem 0;border-top:1px solid rgba(230,214,199,.3);font-weight:600;}
.cmlo-price-row:last-child{border-bottom:1px solid rgba(230,214,199,.3);}
.cmlo-horizont .cmlo-price-row p:last-child{font-family:var(--display);color:var(--paper);white-space:nowrap;}
.cmlo-book__rings{position:absolute;left:-30px;bottom:-130px;width:360px;height:360px;opacity:.5;pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 400' fill='none' stroke='%23e6d6c7' stroke-width='2'%3E%3Cpath d='M20 400V200a180 180 0 0 1 360 0v200'/%3E%3Cpath d='M70 400V200a130 130 0 0 1 260 0v200'/%3E%3Cpath d='M120 400V200a80 80 0 0 1 160 0v200'/%3E%3C/svg%3E") center/contain no-repeat;}
.cmlo-panel{background:var(--paper);color:var(--text);border-radius:999px 999px 28px 28px;padding:clamp(4.2rem,9vw,6.8rem) clamp(1.4rem,4vw,3rem) clamp(1.6rem,3vw,2.4rem);scroll-margin-top:5rem;}
.cmlo-horizont .cmlo-panel h3{margin:0 auto 1.4rem;text-align:center;font-size:1.3rem;letter-spacing:-.01em;}
.cmlo-form__note,.cmlo-booking__slot{font-size:.88rem;line-height:1.55;text-align:center;color:var(--text);}
.cmlo-booking__slot{margin-top:1.4rem;}

/* WPForms in die Optik ziehen (Selektoren und Variablen von WPForms Lite 2.0, im Quelltext und im Test mit echtem Formular geprüft) */
.cmlo-panel .wpforms-container{margin:0;--wpforms-button-background-color:var(--primary);--wpforms-button-background-color-alt:var(--primary);--wpforms-button-border-color:var(--primary);--wpforms-button-text-color:#fff;--wpforms-button-border-radius:12px;--wpforms-field-border-color:var(--field-border);--wpforms-field-border-radius:12px;--wpforms-label-color:var(--primary-dark);--wpforms-label-sublabel-color:var(--text);--wpforms-field-text-color:var(--primary-dark);}
.cmlo-panel .wpforms-container .wpforms-field{padding:0 0 1.1rem;}
.cmlo-panel .wpforms-container .wpforms-field-label{margin:0 0 .4rem;font-family:var(--display);font-weight:600;font-size:.82rem;line-height:1.3;color:var(--primary-dark);}
.cmlo-panel .wpforms-container .wpforms-field-sublabel{font-size:.8rem;color:var(--text);}
.cmlo-panel .wpforms-container input[type=text],.cmlo-panel .wpforms-container input[type=email],.cmlo-panel .wpforms-container input[type=tel],.cmlo-panel .wpforms-container input[type=url],.cmlo-panel .wpforms-container input[type=number],.cmlo-panel .wpforms-container select,.cmlo-panel .wpforms-container textarea{width:100%;max-width:100%;font:inherit;font-size:1rem;color:var(--primary-dark);background:#fff;border:1.5px solid var(--field-border);border-radius:12px;padding:.8rem 1rem;height:auto;min-height:3rem;box-shadow:none;}
.cmlo-panel .wpforms-container textarea{min-height:6.5rem;}
.cmlo-panel .wpforms-container ::placeholder{color:var(--text);opacity:1;}
.cmlo-horizont .cmlo-panel div.wpforms-container-full .wpforms-form :is(input,select,textarea):focus-visible,.cmlo-panel .wpforms-container :is(input,select,textarea):focus-visible{outline:3px solid var(--primary);outline-offset:2px;}
.cmlo-panel .wpforms-container .wpforms-field-radio ul,.cmlo-panel .wpforms-container .wpforms-field-checkbox ul{display:flex;flex-wrap:wrap;gap:.5rem;padding:0;margin:0;list-style:none;}
.cmlo-panel .wpforms-container .wpforms-field-radio li,.cmlo-panel .wpforms-container .wpforms-field-checkbox li{margin:0;padding:.55rem 1rem;border:1.5px solid var(--field-border);border-radius:999px;background:#fff;min-height:44px;display:flex;align-items:center;}
.cmlo-panel .wpforms-container .wpforms-field-label-inline{font-family:var(--display);font-weight:600;font-size:.88rem;color:var(--primary-dark);}
.cmlo-panel .wpforms-container .wpforms-error,.cmlo-panel .wpforms-container label.wpforms-error{font-size:.85rem;color:#8a2b1f;}
.cmlo-panel .wpforms-container .wpforms-confirmation-container-full,.cmlo-panel .wpforms-container .wpforms-confirmation-container{background:var(--sand);border:0;border-radius:20px;color:var(--primary-dark);padding:1.1rem 1.3rem;}
.cmlo-panel .wpforms-container .wpforms-submit-container{padding:.4rem 0 0;}
.cmlo-panel .wpforms-container button.wpforms-submit,.cmlo-panel .wpforms-container .wpforms-submit{display:inline-flex;align-items:center;justify-content:center;width:100%;font-family:var(--display);font-weight:600;font-size:.95rem;line-height:1.2;padding:.95rem 1.7rem;border-radius:12px;border:1.5px solid transparent;background:var(--primary);color:#fff;cursor:pointer;transition:background .2s ease;}
.cmlo-panel .wpforms-container .wpforms-submit:hover{background:var(--primary-dark);}
.cmlo-horizont .cmlo-panel div.wpforms-container-full .wpforms-form .wpforms-submit-container button.wpforms-submit:focus-visible{outline:3px solid var(--primary);outline-offset:3px;}
.cmlo-panel .wpforms-recaptcha-container{padding:.2rem 0 1rem;}

/* ---------- Textseiten und Standard-Seiten ---------- */
.cmlo-textpage{padding-block:clamp(3rem,7vw,5.5rem) clamp(4rem,8vw,7rem);}
.cmlo-textpage__in{max-width:46rem;margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter-r);}
.cmlo-horizont .cmlo-textpage h1{font-size:clamp(2.2rem,4.4vw,3.4rem);line-height:1.08;letter-spacing:-.03em;margin-bottom:1.6rem;}
.cmlo-horizont .cmlo-textpage :is(h2,h3){margin:2.2rem 0 .8rem;letter-spacing:-.02em;}
.cmlo-horizont .cmlo-textpage h2{font-size:1.7rem;}
.cmlo-horizont .cmlo-textpage h3{font-size:1.3rem;}
.cmlo-horizont .cmlo-textpage p{margin:0 0 1.1em;}
.cmlo-horizont .cmlo-textpage :is(ul,ol){list-style:revert;padding-left:1.4em;margin:0 0 1.1em;}
.cmlo-textpage a{color:var(--primary);text-decoration:underline;text-underline-offset:3px;}
.cmlo-post-list article{padding-block:1.4rem;border-bottom:1px solid var(--line);}


/* ---------- Unterseiten: Brotkrumen, Seitenkopf, Abschnitte ---------- */
/* Zeilenumbruch im Editor (<br>) wird durch display:block der Fettschrift ersetzt */
.cmlo-facts br,.cmlo-steps br,.cmlo-story__next br{display:none;}
.cmlo-nums li br{display:none;}
.cmlo-nums li strong{display:block;}
.cmlo-nums li a{display:block;}
.cmlo-crumbs{padding-top:1.1rem;font-size:.9rem;}
.cmlo-crumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .65rem;}
.cmlo-crumbs li{display:flex;align-items:center;gap:.65rem;color:var(--text);}
.cmlo-crumbs li+li::before{content:"";flex:none;width:6px;height:6px;border-top:1.6px solid currentColor;border-right:1.6px solid currentColor;transform:rotate(45deg);opacity:.75;}
.cmlo-crumbs a{text-decoration:underline;text-decoration-color:rgba(58,90,120,.35);text-underline-offset:3px;}
.cmlo-crumbs a:hover{color:var(--primary-dark);text-decoration-color:currentColor;}
.cmlo-crumbs [aria-current]{font-weight:600;color:var(--primary-dark);}

.cmlo-wrap .cmlo-wrap{padding-left:0;padding-right:0;}
/* WordPress setzt zwischen Geschwistern im Gruppen-Layout einen Abstand; Abschnitte stehen bündig */
.cmlo-horizont .cmlo-sec>*{margin-block-start:0;margin-block-end:0;}
.cmlo-pad{padding-top:calc(var(--section) * .75);padding-bottom:calc(var(--section) * .9 + var(--wave-h) * .6);}
.cmlo-sub{padding-bottom:calc(var(--wave-h) + clamp(2.2rem,5vw,4rem));overflow:clip;}
.cmlo-sub__grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(2rem,6vw,6rem);align-items:center;padding-top:clamp(1.4rem,3.5vw,3rem);}
.cmlo-sub--hub .cmlo-sub__grid{grid-template-columns:minmax(0,1fr);padding-bottom:clamp(.5rem,2vw,1.5rem);}
.cmlo-sub__copy{display:grid;gap:1.35rem;justify-items:start;min-width:0;}
.cmlo-horizont .cmlo-sub h1.cmlo-sub__title{font-weight:700;font-size:clamp(2.3rem,4.8vw,4.2rem);line-height:1.04;letter-spacing:-.03em;max-width:15ch;}
.cmlo-sub--hub h1.cmlo-sub__title{max-width:20ch;}
.cmlo-horizont .cmlo-sub p.cmlo-lede{max-width:33em;}
.cmlo-horizont .cmlo-sub__actions{margin:0;}
.cmlo-horizont ul.cmlo-facts{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;margin-top:.3rem;}
.cmlo-facts li{padding-left:.75rem;border-left:3px solid var(--secondary);font-size:.88rem;line-height:1.35;}
.cmlo-facts strong{display:block;font-family:var(--display);font-weight:700;font-size:1.08rem;line-height:1.25;color:var(--primary-dark);}
.cmlo-horizont p.cmlo-go-note{max-width:34em;font-size:.88rem;line-height:1.55;}
.cmlo-sub__media{position:relative;justify-self:end;width:min(100%,430px);min-width:0;}
.cmlo-sub__media::before{content:"";position:absolute;inset:0;transform:translate(clamp(12px,2.4vw,28px),clamp(12px,2.4vw,28px));border:2px solid var(--primary);border-radius:999px 999px 0 0;opacity:.4;}
.cmlo-sub__media .cmlo-media{position:relative;z-index:1;}
.cmlo-horizont .cmlo-sub__media figure.cmlo-arch{aspect-ratio:4/5;}
.cmlo-sub__media .cmlo-morph__btn{position:relative;z-index:2;}
.cmlo-sub__rings{position:absolute;right:max(var(--gutter-r),calc((100% - 1240px) / 2 + 2.5rem));top:clamp(10px,1.6vw,22px);width:min(24vw,300px);height:min(14vw,172px);opacity:.5;pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 230' fill='none' stroke='%233a5a78' stroke-width='2'%3E%3Cpath d='M20 230v-30a180 180 0 0 1 360 0v30'/%3E%3Cpath d='M70 230v-30a130 130 0 0 1 260 0v30'/%3E%3Cpath d='M120 230v-30a80 80 0 0 1 160 0v30'/%3E%3C/svg%3E") center/contain no-repeat;}

.cmlo-split{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,6vw,6rem);align-items:start;}
.cmlo-split__head{display:grid;gap:1.2rem;align-content:start;justify-items:start;min-width:0;}
.cmlo-split__body{min-width:0;display:grid;gap:1.6rem;}
.cmlo-horizont .cmlo-h2{font-weight:700;font-size:clamp(1.9rem,3.6vw,3rem);line-height:1.08;letter-spacing:-.03em;max-width:16ch;}
.cmlo-horizont .cmlo-h2--wide{max-width:22ch;}
.cmlo-prose{display:grid;gap:1.1rem;max-width:40em;}
.cmlo-horizont :is(.cmlo-prose,.cmlo-hint,.cmlo-limits,.cmlo-situ,.cmlo-author,.cmlo-story__text,.cmlo-rahmen__dd,.cmlo-notbox) a{color:var(--primary);font-weight:600;text-decoration:underline;text-decoration-color:rgba(58,90,120,.4);text-underline-offset:3px;}
.cmlo-horizont :is(.cmlo-prose,.cmlo-hint,.cmlo-limits,.cmlo-situ,.cmlo-author,.cmlo-story__text,.cmlo-rahmen__dd,.cmlo-notbox) a:hover{color:var(--primary-dark);text-decoration-color:currentColor;}
.cmlo-side-arch{width:min(100%,300px);margin-top:.8rem;}
.cmlo-horizont .cmlo-side-arch figure.cmlo-arch{aspect-ratio:4/5;}

.cmlo-horizont ul.cmlo-situ{display:grid;border-top:1px solid var(--line);}
.cmlo-situ li{position:relative;padding:1rem 0 1rem 2.1rem;border-bottom:1px solid var(--line);font-size:1.05rem;line-height:1.55;}
.cmlo-situ li::before{content:"";position:absolute;left:0;top:1.45em;width:13px;height:16px;border-radius:13px 13px 0 0;background:var(--secondary);}
.cmlo-horizont p.cmlo-hint{font-size:.98rem;max-width:40em;}
.cmlo-horizont p.cmlo-hint--after{margin-top:2rem;}

.cmlo-aim{background:var(--secondary);color:var(--primary-deep);border-radius:20px;padding:clamp(1.4rem,3vw,2.1rem);display:grid;gap:.9rem;}
.cmlo-horizont .cmlo-aim h3{font-size:1.25rem;font-weight:700;color:var(--primary-deep);}
.cmlo-aim .cmlo-points li{font-size:1rem;color:var(--primary-deep);}
.cmlo-aim .cmlo-points li::before{background:var(--paper);}

/* Ablauf als echte Abfolge (nummerierte Liste, Nummern per CSS) */
.cmlo-horizont ol.cmlo-steps{counter-reset:s;max-width:44rem;}
.cmlo-steps li{counter-increment:s;position:relative;display:block;min-height:50px;padding:0 0 2rem calc(44px + 1.3rem);font-size:1rem;line-height:1.65;}
.cmlo-steps li:last-child{padding-bottom:0;}
.cmlo-steps li::before{content:counter(s);position:absolute;left:0;top:0;display:grid;place-items:center;width:44px;height:50px;border-radius:44px 44px 0 0;background:var(--secondary);color:var(--primary-deep);font-family:var(--display);font-weight:700;font-size:1.15rem;}
.cmlo-steps li::after{content:"";position:absolute;left:21px;top:56px;bottom:6px;width:2px;background:var(--line);}
.cmlo-steps li:last-child::after{display:none;}
.cmlo-steps li strong{display:block;margin-top:.55rem;margin-bottom:.35rem;font-family:var(--display);font-weight:600;font-size:1.25rem;line-height:1.3;letter-spacing:-.01em;color:var(--primary-dark);}
.cmlo-horizont p.cmlo-stepnote{font-size:.98rem;}
.cmlo-stepnote strong{color:var(--primary-dark);font-weight:600;}

/* Beispiel-Notizbuch mit Bogenakzent, bewusst kein Testimonial. Hinweis und Schlusssatz setzt inc/dynamic.php. */
.cmlo-story-wrap{max-width:50rem;margin-left:auto;margin-right:auto;}
.cmlo-story-intro{display:grid;gap:1rem;justify-items:center;text-align:center;margin-bottom:clamp(2.6rem,5vw,3.6rem);}
.cmlo-story-intro .cmlo-h2{max-width:20ch;}
.cmlo-story-intro p:not(.cmlo-label){max-width:36em;font-size:1rem;}
.cmlo-story{position:relative;background:var(--paper);border-radius:10px 30px 30px 10px;box-shadow:0 34px 50px -38px rgba(42,65,86,.5),0 0 0 1px var(--line);padding:clamp(2.6rem,5vw,3.4rem) clamp(1.3rem,4vw,3.2rem) clamp(1.8rem,4vw,2.6rem) clamp(3.3rem,8vw,5.6rem);}
.cmlo-story::before{content:"";position:absolute;left:clamp(.9rem,2.4vw,1.6rem);top:1.4rem;bottom:1.4rem;width:18px;background:radial-gradient(circle,var(--sand) 0 4.5px,rgba(58,90,120,.4) 5px 6px,transparent 6.6px) 0 0/18px 34px repeat-y;}
.cmlo-story::after{content:"";position:absolute;left:clamp(3rem,7vw,5rem);top:0;bottom:0;width:1.5px;background:rgba(58,90,120,.14);}
.cmlo-horizont p.cmlo-story__tag{position:absolute;top:-1.15rem;left:clamp(3.3rem,8vw,5.6rem);z-index:1;display:inline-flex;max-width:calc(100% - 2rem);margin:0;padding:.5rem 1.1rem;border-radius:999px;background:var(--accent);color:var(--primary-deep);border:1.5px solid rgba(31,51,69,.35);font-family:var(--display);font-weight:600;font-size:.85rem;line-height:1.3;}
.cmlo-story__arc{position:absolute;right:clamp(1rem,3vw,2rem);top:0;width:64px;height:32px;pointer-events:none;}
.cmlo-horizont .cmlo-story h3.cmlo-story__title{position:relative;z-index:1;font-weight:700;font-size:clamp(1.35rem,2.4vw,1.8rem);line-height:1.2;letter-spacing:-.02em;margin-bottom:1.1rem;}
.cmlo-story__text{position:relative;z-index:1;display:grid;gap:1.05rem;font-size:1.04rem;line-height:1.75;}
.cmlo-horizont p.cmlo-story__next{position:relative;z-index:1;margin-top:1.6rem;padding:1rem 1.2rem 1rem 1.3rem;border-left:4px solid var(--secondary-dark);background:var(--sky);border-radius:4px 14px 14px 4px;font-size:1.02rem;line-height:1.6;}
.cmlo-story__next strong{display:block;margin-bottom:.15rem;font-family:var(--display);font-weight:600;font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;color:var(--secondary-dark);}
.cmlo-horizont p.cmlo-story__foot{position:relative;z-index:1;margin-top:1.3rem;font-size:.88rem;line-height:1.5;}

/* Abgrenzung und Notfallkasten */
.cmlo-horizont ul.cmlo-limits{display:grid;gap:.9rem;max-width:40em;}
.cmlo-limits li{position:relative;padding-left:1.9rem;line-height:1.65;}
.cmlo-limits li::before{content:"";position:absolute;left:0;top:.62em;width:14px;height:2.5px;border-radius:2px;background:var(--primary);}
.cmlo-notbox{margin-top:clamp(2.2rem,4vw,3.2rem);background:var(--accent);color:var(--primary-deep);border-radius:20px;padding:clamp(1.5rem,3.5vw,2.5rem);display:grid;gap:1.2rem;--focus:#1f3345;}
.cmlo-horizont .cmlo-notbox h3{font-weight:700;font-size:clamp(1.4rem,2.4vw,1.9rem);line-height:1.2;letter-spacing:-.02em;color:var(--primary-deep);}
.cmlo-notbox p{color:var(--primary-deep);max-width:46em;}
.cmlo-horizont ul.cmlo-nums{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15.5rem),1fr));gap:.8rem;}
.cmlo-nums li{display:block;background:var(--paper);border-radius:14px;padding:.95rem 1.1rem;font-size:.88rem;line-height:1.45;color:var(--text);}
.cmlo-horizont .cmlo-nums li a{display:inline-block;font-family:var(--display);font-weight:700;font-size:1.65rem;line-height:1.15;letter-spacing:-.01em;color:var(--primary-dark);text-decoration:none;}
.cmlo-horizont .cmlo-nums li a:hover{text-decoration:underline;text-underline-offset:4px;}
.cmlo-nums li strong{font-weight:600;font-size:.95rem;color:var(--primary-deep);}
.cmlo-horizont p.cmlo-notbox__src{font-size:.84rem;line-height:1.55;}

/* FAQ ohne Bild */
.cmlo-faq--plain{padding-top:calc(var(--section) * .75);}

/* Kosten und Rahmen, Autorin, Weiterlesen */
.cmlo-rahmen{border-top:1px solid var(--line);}
.cmlo-rahmen__row{display:grid;grid-template-columns:minmax(0,.45fr) minmax(0,1fr);gap:1rem;padding:.95rem 0;border-bottom:1px solid var(--line);}
.cmlo-horizont p.cmlo-rahmen__dt{font-family:var(--display);font-weight:600;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--secondary-dark);padding-top:.35rem;}
.cmlo-horizont p.cmlo-rahmen__dd{font-size:1.02rem;line-height:1.55;}
.cmlo-rahmen__dd strong{color:var(--primary-dark);font-weight:600;}
.cmlo-author{display:grid;grid-template-columns:clamp(110px,14vw,150px) minmax(0,1fr);gap:clamp(1.2rem,3vw,2rem);align-items:center;margin-top:clamp(2.4rem,5vw,3.6rem);padding-top:clamp(2rem,4vw,2.6rem);border-top:1px solid var(--line);}
.cmlo-horizont figure.cmlo-author__img{position:relative;aspect-ratio:3/4;border-radius:999px 999px 0 0;overflow:clip;background:#aab3bd;}
.cmlo-horizont figure.cmlo-author__img img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 14%;}
.cmlo-author__text{display:grid;gap:.4rem;min-width:0;}
.cmlo-horizont .cmlo-author h3{font-weight:700;font-size:1.4rem;letter-spacing:-.02em;margin:.1rem 0 .1rem;}
.cmlo-author__text p:not(.cmlo-label){font-size:1rem;line-height:1.65;max-width:36em;}
.cmlo-horizont .cmlo-more__head{margin-top:clamp(2.4rem,5vw,3.6rem);max-width:none;font-size:clamp(1.6rem,2.8vw,2.2rem);}
.cmlo-more{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem;margin-top:1.4rem;align-items:stretch;}
.cmlo-more__card{position:relative;display:grid;gap:.55rem;align-content:start;padding:1.4rem 1.4rem 1.5rem;border:1.5px solid var(--line);border-radius:20px;background:var(--paper);transition:border-color .2s ease,background .2s ease;}
.cmlo-more__card:hover,.cmlo-more__card:focus-within{border-color:var(--primary);background:var(--sand);}
.cmlo-horizont .cmlo-more__card h3{font-weight:700;font-size:1.25rem;line-height:1.25;letter-spacing:-.02em;}
.cmlo-more__card h3 a::after{content:"";position:absolute;inset:0;border-radius:20px;}
.cmlo-more__card h3 a:focus-visible{outline:none;}
.cmlo-more__card:focus-within{outline:3px solid var(--focus);outline-offset:3px;}
.cmlo-more__card p{font-size:.95rem;line-height:1.55;}
.cmlo-horizont p.cmlo-more__go{display:inline-flex;align-items:center;gap:.5rem;margin-top:.3rem;font-family:var(--display);font-weight:600;font-size:.9rem;color:var(--primary);}
.cmlo-more__go::after{content:"";width:15px;height:15px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;transition:transform .2s ease;}
.cmlo-more__card:hover .cmlo-more__go::after{transform:translateX(3px);}

/* Leistungen: Wegweiser und Preisübersicht */
.cmlo-wg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;}
.cmlo-wg__card{display:grid;gap:1rem;align-content:start;padding:clamp(1.4rem,2.6vw,2rem);background:var(--paper);border:1.5px solid var(--line);border-radius:20px;}
.cmlo-horizont .cmlo-wg__card h3{font-weight:700;font-size:1.3rem;line-height:1.25;letter-spacing:-.02em;}
.cmlo-wg__card .cmlo-situ li{font-size:1rem;}
.cmlo-wg__card .wp-block-buttons{justify-self:start;}
.cmlo-sum{display:grid;max-width:44rem;border-top:1px solid var(--line);}
.cmlo-sum__row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.4rem 1.2rem;padding:1rem 0;border-bottom:1px solid var(--line);}
.cmlo-horizont p.cmlo-sum__name{font-family:var(--display);font-weight:600;font-size:1.1rem;color:var(--primary-dark);}
.cmlo-sum__name a:hover{color:var(--primary);text-decoration:underline;text-underline-offset:4px;}
.cmlo-horizont p.cmlo-sum__price{font-family:var(--display);font-weight:700;color:var(--primary-dark);white-space:nowrap;}

/* Termine: zwei Wege */
.cmlo-ways{display:grid;gap:1.4rem;width:100%;max-width:34rem;margin-top:.4rem;}
.cmlo-way{display:grid;gap:.6rem;justify-items:start;padding-top:1.3rem;border-top:1px solid rgba(230,214,199,.3);}
.cmlo-horizont p.cmlo-way__k{font-family:var(--display);font-weight:600;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);}
.cmlo-horizont p.cmlo-way__t{font-family:var(--display);font-weight:600;font-size:1.35rem;line-height:1.25;color:var(--paper);}
.cmlo-horizont p.cmlo-way__n{font-size:.88rem;line-height:1.5;color:var(--sky);}
.cmlo-book .cmlo-way .wp-block-buttons{margin-top:.2rem;}

/* ---------- Termin anfragen direkt unter dem Hero, Abschlussband, schmale Leiste (Handy) ---------- */
.cmlo-quick{padding-top:clamp(2.4rem,5vw,4rem);padding-bottom:calc(clamp(2.4rem,5vw,4rem) + var(--wave-h) * .6);}
.cmlo-quick__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:clamp(2rem,5vw,5rem);align-items:start;}
.cmlo-quick__copy{display:grid;gap:1.1rem;align-content:start;justify-items:start;min-width:0;}
.cmlo-qways{display:grid;gap:1.1rem;margin-top:.6rem;max-width:34rem;width:100%;}
.cmlo-qway{display:grid;gap:.5rem;justify-items:start;padding:1.2rem 1.3rem 1.3rem;background:var(--paper);border:1.5px solid var(--line);border-radius:20px;}
.cmlo-horizont .cmlo-qway p{font-size:.98rem;line-height:1.55;}
.cmlo-horizont .cmlo-qway p.cmlo-qway__k{font-family:var(--display);font-weight:600;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--secondary-dark);}
.cmlo-horizont .cmlo-qway h3.cmlo-qway__t{font-weight:700;font-size:1.25rem;line-height:1.25;letter-spacing:-.02em;}
.cmlo-horizont .cmlo-qway p.cmlo-qway__n{font-size:.86rem;line-height:1.5;}
.cmlo-panel--compact{padding:clamp(3.6rem,7vw,5.4rem) clamp(1.3rem,3.5vw,2.4rem) clamp(1.4rem,2.6vw,2rem);box-shadow:0 30px 50px -40px rgba(42,65,86,.45);min-width:0;}
.cmlo-horizont .cmlo-panel--compact h3{margin-bottom:.3rem;}
.cmlo-horizont .cmlo-panel p.cmlo-panel__n{margin:0 0 1.2rem;text-align:center;font-size:.92rem;font-weight:600;color:var(--primary-dark);}
.cmlo-form--compact .wpforms-field{padding-bottom:.8rem;}
.cmlo-form--compact .wpforms-field-textarea textarea{min-height:5rem;}
/* Optionale Nachricht eingeklappt (Feld in WPForms mit CSS-Klasse cmlo-collapse; das Skript baut den Schalter, ohne JS bleibt das Feld offen) */
.cmlo-collapse-btn{display:inline-flex;align-items:center;gap:.55rem;min-height:44px;margin:0 0 .6rem;padding:0;border:0;background:none;cursor:pointer;font-family:var(--display);font-weight:600;font-size:.88rem;color:var(--primary);text-decoration:underline;text-decoration-color:rgba(58,90,120,.4);text-underline-offset:4px;}
.cmlo-collapse-btn::before{content:"+";display:inline-grid;place-items:center;width:22px;height:22px;border:1.5px solid var(--field-border);border-radius:50%;font-family:var(--body);font-weight:400;font-size:1rem;line-height:1;color:var(--primary-dark);text-decoration:none;}
.cmlo-collapse-btn[aria-expanded="true"]::before{content:"\2212";}
.cmlo-collapse-btn:hover{color:var(--primary-dark);}

.cmlo-band .cmlo-book__rings{opacity:.2;}
.cmlo-band{padding-top:calc(var(--section) * .5);padding-bottom:calc(var(--section) * .55);}
.cmlo-band__in{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(1.5rem,5vw,5rem);align-items:center;}
.cmlo-band__copy{display:grid;gap:1rem;justify-items:start;}
.cmlo-horizont .cmlo-band__copy .cmlo-display{font-size:clamp(1.9rem,3.6vw,3rem);}
.cmlo-band__act{display:grid;gap:.9rem;justify-items:start;}
.cmlo-band__google{display:grid;gap:.6rem;justify-items:start;}
.cmlo-horizont p.cmlo-band__n{max-width:28rem;font-size:.88rem;line-height:1.5;color:var(--sky);}
.cmlo-horizont .cmlo-btn--ghost .wp-block-button__link{background:transparent;color:var(--paper);border-color:rgba(255,253,251,.7);border-radius:999px;}
.cmlo-horizont .cmlo-btn--ghost .wp-block-button__link:hover{background:var(--paper);color:var(--primary-dark);}
/* Wellenfarbe: Abschnitt unter dem Hero (nur wenn der Block auf der Seite steht) */
.cmlo-has-quick .cmlo-hero{--wave:var(--sky);}
.cmlo-has-quick .cmlo-sub{--wave:var(--sand);}

.cmlo-sbar{display:none;}
@media (max-width:767px){
  .cmlo-sbar{display:block;position:sticky;bottom:0;z-index:40;background:var(--primary-dark);padding:.55rem var(--gutter-r) calc(.55rem + env(safe-area-inset-bottom,0px)) var(--gutter);box-shadow:0 -10px 24px -18px rgba(31,51,69,.7);--focus:#e6d6c7;}
  .cmlo-horizont a.cmlo-sbar__btn{display:flex;align-items:center;justify-content:center;gap:.6rem;width:100%;min-height:48px;padding:.8rem 1.2rem;border-radius:12px;background:var(--paper);color:var(--primary-dark);font-family:var(--display);font-weight:600;font-size:.95rem;line-height:1.2;}
  .cmlo-sbar__btn svg{width:16px;height:16px;flex:none;}
  .cmlo-horizont a.cmlo-sbar__btn:hover{background:var(--secondary);}
  .cmlo-sbar.is-away{visibility:hidden;opacity:0;}
}
@media (max-width:1024px){
  .cmlo-quick__grid,.cmlo-band__in{grid-template-columns:minmax(0,1fr);}
}
@media (max-width:767px){
  .cmlo-band{padding-bottom:4.2rem;}
}
@media (prefers-reduced-motion:no-preference){
  .cmlo-sbar{transition:opacity .25s ease,visibility .25s ease;}
}

/* ---------- Ratgeber: Übersicht, Karten, Artikel ---------- */
.cmlo-ratgeber-head,.cmlo-art-head{padding-bottom:calc(var(--wave-h) + clamp(2rem,4vw,3.4rem));}
.cmlo-ratgeber-head .cmlo-wrap,.cmlo-art-head .cmlo-wrap{display:grid;gap:1.1rem;justify-items:start;}
.cmlo-ratgeber-head .cmlo-crumbs,.cmlo-art-head .cmlo-crumbs{padding-top:1.1rem;}
.cmlo-horizont .cmlo-ratgeber-head h1.cmlo-display{max-width:16ch;}
.cmlo-horizont .cmlo-ratgeber-intro p{max-width:34em;}
.cmlo-ratgeber-body{padding-top:clamp(2rem,4vw,3rem);padding-bottom:var(--section);}
.cmlo-filter ul{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:clamp(1.6rem,3vw,2.4rem);}
.cmlo-filter a{display:inline-flex;align-items:center;min-height:44px;padding:.5rem 1.15rem;border:1.5px solid var(--field-border);border-radius:999px;background:#fff;color:var(--primary-dark);font-family:var(--display);font-weight:600;font-size:.88rem;}
.cmlo-filter a:hover{border-color:var(--primary);}
.cmlo-filter a[aria-current]{background:var(--primary);border-color:var(--primary);color:#fff;}
.cmlo-rgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem;}
.cmlo-rcard{position:relative;display:grid;gap:.6rem;align-content:start;padding:1.5rem 1.6rem 1.6rem;border:1.5px solid var(--line);border-radius:20px;background:var(--paper);transition:border-color .2s ease,background .2s ease;}
.cmlo-rcard:hover,.cmlo-rcard:focus-within{border-color:var(--primary);background:var(--sand);}
.cmlo-rcard:focus-within{outline:3px solid var(--focus);outline-offset:3px;}
.cmlo-horizont p.cmlo-rcard__k{font-family:var(--display);font-weight:600;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--secondary-dark);}
.cmlo-horizont h2.cmlo-rcard__t{font-weight:700;font-size:1.4rem;line-height:1.25;letter-spacing:-.02em;}
.cmlo-rcard__t a::after{content:"";position:absolute;inset:0;border-radius:20px;}
.cmlo-rcard__t a:focus-visible{outline:none;}
.cmlo-horizont p.cmlo-rcard__x{font-size:.98rem;line-height:1.6;}
.cmlo-horizont p.cmlo-rcard__d{font-size:.86rem;}
.cmlo-horizont p.cmlo-rcard__go{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--display);font-weight:600;font-size:.9rem;color:var(--primary);}
.cmlo-rcard__go::after{content:"";width:15px;height:15px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;}
.cmlo-pagination ul{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:clamp(2rem,4vw,3rem);}
.cmlo-pagination :is(a,span){display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:.4rem .9rem;border:1.5px solid var(--field-border);border-radius:999px;background:#fff;color:var(--primary-dark);font-family:var(--display);font-weight:600;font-size:.9rem;}
.cmlo-pagination a:hover{border-color:var(--primary);}
.cmlo-pagination span.current{background:var(--primary);border-color:var(--primary);color:#fff;}
.cmlo-pagination span.dots{border-color:transparent;background:none;}
.cmlo-horizont .cmlo-empty{max-width:34em;padding:1.4rem 1.6rem;border:1.5px dashed var(--field-border);border-radius:20px;}
.cmlo-ratgeber-foot{display:grid;gap:1rem;justify-items:start;margin-top:clamp(2.4rem,5vw,3.6rem);padding-top:clamp(1.6rem,3vw,2.2rem);border-top:1px solid var(--line);}
.cmlo-ratgeber-foot__act{display:flex;flex-wrap:wrap;gap:.9rem;}

/* Artikel */
.cmlo-horizont article.cmlo-article{padding:0;margin:0;max-width:none;border:0;background:none;box-shadow:none;}
.cmlo-art-head__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(1.5rem,5vw,4rem);align-items:center;width:100%;}
.cmlo-art-head__grid.has-image{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);}
.cmlo-art-head__copy{display:grid;gap:1.1rem;justify-items:start;min-width:0;}
.cmlo-horizont h1.cmlo-art-title{font-weight:700;font-size:clamp(2rem,4.2vw,3.5rem);line-height:1.08;letter-spacing:-.03em;max-width:22ch;}
.cmlo-art-meta{display:flex;flex-wrap:wrap;gap:.3rem 1.4rem;font-size:.92rem;line-height:1.5;}
.cmlo-art-meta strong{font-weight:600;color:var(--primary-dark);}
.cmlo-art-head__media{width:min(100%,340px);justify-self:end;}
.cmlo-art-body{padding-top:clamp(1.5rem,3vw,2.5rem);padding-bottom:clamp(2.5rem,5vw,4rem);}
.cmlo-art-body__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:1.6rem clamp(2rem,5vw,4.5rem);align-items:start;}
.cmlo-art-side{display:grid;gap:1.1rem;align-content:start;}
.cmlo-toc{padding:1rem 1.2rem;border:1.5px solid var(--line);border-radius:16px;background:var(--paper);}
.cmlo-toc summary{display:flex;align-items:center;min-height:44px;cursor:pointer;font-family:var(--display);font-weight:600;font-size:.95rem;color:var(--primary-dark);list-style:none;}
.cmlo-toc summary::-webkit-details-marker{display:none;}
.cmlo-toc summary::after{content:"+";margin-left:auto;display:grid;place-items:center;width:28px;height:28px;border:1.5px solid var(--field-border);border-radius:50%;font-family:var(--body);font-size:1.1rem;line-height:1;}
.cmlo-toc[open] summary::after{content:"\2212";}
.cmlo-horizont .cmlo-toc ol{display:grid;gap:.15rem;margin-top:.3rem;}
.cmlo-toc a{display:block;padding:.4rem 0;font-size:.95rem;line-height:1.4;color:var(--primary);text-decoration:underline;text-decoration-color:rgba(58,90,120,.35);text-underline-offset:3px;}
.cmlo-toc a:hover{color:var(--primary-dark);text-decoration-color:currentColor;}
.cmlo-toc__l3 a{padding-left:1rem;font-size:.9rem;}
.cmlo-offerbox{display:grid;gap:.35rem;padding:1.1rem 1.2rem;border-radius:16px;background:var(--sand);}
.cmlo-horizont .cmlo-offerbox p{font-size:.95rem;line-height:1.5;}
.cmlo-horizont .cmlo-offerbox p.cmlo-offerbox__k{font-family:var(--display);font-weight:600;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--secondary-dark);}
.cmlo-horizont .cmlo-offerbox p.cmlo-offerbox__t{font-family:var(--display);font-weight:700;font-size:1.1rem;line-height:1.3;}
.cmlo-offerbox a{color:var(--primary);font-weight:600;text-decoration:underline;text-underline-offset:3px;}
.cmlo-art-content{min-width:0;max-width:40rem;font-size:1.0625rem;line-height:1.75;}
.cmlo-art-content>*+*{margin-top:1.1em;}
.cmlo-horizont .cmlo-art-content :is(h2,h3){scroll-margin-top:5.5rem;letter-spacing:-.02em;}
.cmlo-horizont .cmlo-art-content h2{margin-top:2.2em;font-size:clamp(1.5rem,2.6vw,2rem);line-height:1.2;}
.cmlo-horizont .cmlo-art-content h3{margin-top:1.8em;font-size:1.3rem;line-height:1.3;}
.cmlo-horizont .cmlo-art-content ul.wp-block-list:not([class*="cmlo-"]),.cmlo-horizont .cmlo-art-content ol.wp-block-list:not([class*="cmlo-"]){list-style:revert;padding-left:1.4em;}
.cmlo-horizont .cmlo-art-content li+li{margin-top:.4em;}
.cmlo-art-content a{color:var(--primary);font-weight:600;text-decoration:underline;text-decoration-color:rgba(58,90,120,.4);text-underline-offset:3px;}
.cmlo-art-content a:hover{color:var(--primary-dark);text-decoration-color:currentColor;}
.cmlo-art-content figure{margin-block:1.6em;}
.cmlo-art-content img{height:auto;border-radius:16px;}
.cmlo-horizont ol.cmlo-sources{list-style:decimal;padding-left:1.4em;font-size:.95rem;line-height:1.6;}
.cmlo-art-content .cmlo-story{margin-block:2.4rem 1.6rem;}
.cmlo-art-content .cmlo-notbox{margin-top:2rem;}
.cmlo-art-end{padding-block:clamp(2.4rem,5vw,4rem);}
.cmlo-art-end__in{display:grid;gap:clamp(1.6rem,3vw,2.4rem);max-width:56rem;}
.cmlo-cta{display:grid;gap:.7rem;justify-items:start;padding:clamp(1.4rem,3vw,2rem);border-radius:20px;background:var(--paper);border:1.5px solid var(--line);}
.cmlo-horizont h2.cmlo-art__h{font-weight:700;font-size:clamp(1.5rem,2.6vw,2rem);line-height:1.2;letter-spacing:-.02em;}
.cmlo-cta p{max-width:36em;}
.cmlo-horizont .cmlo-cta p.cmlo-cta__n{font-size:.88rem;line-height:1.5;}
.cmlo-cta__act{margin-top:.2rem;}
.cmlo-author__name{font-family:var(--display);font-weight:700;font-size:1.4rem;letter-spacing:-.02em;color:var(--primary-dark);}
.cmlo-art-related{padding-block:clamp(2.4rem,5vw,4rem);}
.cmlo-art-related .cmlo-art__h{margin-bottom:1.4rem;}
@media (min-width:1100px){
  .cmlo-art-body__grid{grid-template-columns:15.5rem minmax(0,40rem);}
  .cmlo-art-side{position:sticky;top:6rem;}
}
@media (max-width:767px){
  .cmlo-rgrid{grid-template-columns:minmax(0,1fr);}
  .cmlo-art-head__grid.has-image{grid-template-columns:minmax(0,1fr);}
  .cmlo-art-head__media{justify-self:center;width:min(100%,300px);}
  .cmlo-art-content{font-size:1.05rem;}
}

/* ---------- Footer ---------- */
.cmlo-foot{background:var(--primary-deep);color:var(--sky);padding-block:clamp(2rem,3.6vw,2.75rem) 1.1rem;--focus:#e6d6c7;}
.cmlo-foot__grid{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));gap:1.5rem 2rem;}
.cmlo-foot .cmlo-logo{color:var(--paper);margin:0 0 .6rem;}
.cmlo-foot p{max-width:26em;font-size:.92rem;line-height:1.55;}
.cmlo-foot .cmlo-foot__h{margin:0 0 .6rem;font-family:var(--display);font-weight:600;font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);}
.cmlo-foot nav ul{display:grid;align-content:start;gap:.3rem;font-size:.92rem;}
.cmlo-foot nav a{color:var(--secondary);width:fit-content;max-width:100%;overflow-wrap:anywhere;transition:color .2s ease;}
.cmlo-foot nav a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px;}
.cmlo-foot__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.35rem 2rem;margin-top:1.25rem;padding-top:.9rem;border-top:1px solid rgba(230,214,199,.28);font-size:.8rem;line-height:1.5;color:var(--sky);}
.cmlo-foot .cmlo-foot__credit{max-width:none;margin:0;font-size:.8rem;line-height:1.5;color:var(--sky);}
.cmlo-foot__credit strong{font-weight:600;color:var(--accent);}

/* ---------- Responsive ---------- */
@media (max-width:1024px){
  .cmlo-offer{grid-template-columns:clamp(130px,19vw,180px) minmax(0,1fr);}
  .cmlo-offer__side{grid-column:2;display:flex;flex-wrap:wrap;justify-items:start;text-align:left;align-items:center;gap:.8rem 1.6rem;align-self:start;}
  .cmlo-horizont p.cmlo-price-note{margin-top:0;}
  .cmlo-foot__grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .cmlo-hero__text{max-width:58%;}
  .cmlo-split,.cmlo-faq__grid{grid-template-columns:minmax(0,1fr);}
  .cmlo-horizont .cmlo-h2,.cmlo-horizont .cmlo-h2--wide{max-width:none;}
  .cmlo-more,.cmlo-wg{grid-template-columns:minmax(0,1fr);}
  .cmlo-side-arch{width:min(100%,240px);}
}
@media (max-width:900px){
  .cmlo-nav__links{display:none;}
  .cmlo-menu{display:block;}
}
@media (max-width:767px){
  .cmlo-nav__cta{display:none;}
  .cmlo-stance__rings{width:150px;height:86px;top:1.2rem;}
  .cmlo-book__rings{display:none;}
  .cmlo-hero{height:auto;background:var(--sand);--wave:var(--sand);}
  .cmlo-horizont figure.cmlo-hero__media{position:relative;inset:auto;aspect-ratio:4/3.3;}
  .cmlo-horizont figure.cmlo-hero__media img{top:-40px;height:calc(100% + 40px);object-position:76% 40%;}
  .cmlo-hero__copy{position:relative;inset:auto;}
  .cmlo-has-quick .cmlo-hero{--wave:var(--sky);}
  .cmlo-has-quick .cmlo-hero__copy::after{background:var(--sky);}
  .cmlo-hero__copy::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:var(--wave-h);background:var(--paper);-webkit-mask:var(--wave-a) center/100% 100% no-repeat;mask:var(--wave-a) center/100% 100% no-repeat;pointer-events:none;}
  .cmlo-hero__inner{height:auto;padding-top:1.6rem;padding-bottom:calc(var(--wave-h) + 2.4rem);}
  .cmlo-hero__text{max-width:none;}
  .cmlo-horizont h1.cmlo-hero__title{font-size:clamp(2.1rem,9.4vw,3.2rem);}
  .cmlo-horizont p.cmlo-hero__lead{font-size:1.15rem;}
  .cmlo-horizont .cmlo-hero__actions{margin-top:1.6rem;padding-bottom:0;}
  .cmlo-offer{grid-template-columns:minmax(0,1fr);gap:1.3rem;}
  .cmlo-offer__media{width:min(100%,190px);}
  .cmlo-offer__side{grid-column:auto;}
  .cmlo-about__grid,.cmlo-faq__grid{grid-template-columns:minmax(0,1fr);}
  .cmlo-faq__item>p{padding-right:0;}
  .cmlo-about__copy{padding-top:0;order:2;}
  .cmlo-portrait{order:1;margin:0 auto 2rem;width:min(100%,380px);padding-right:clamp(10px,3vw,20px);}
  .cmlo-portrait__block{left:-12px;}
  .cmlo-book__grid{grid-template-columns:minmax(0,1fr);}
  .cmlo-foot__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem 1.5rem;}
  .cmlo-foot__grid>div:first-child{grid-column:1/-1;}
  .cmlo-foot__grid>nav:nth-child(3){grid-column:1/-1;order:5;}
  .cmlo-sub__grid{grid-template-columns:minmax(0,1fr);}
  .cmlo-sub__media{justify-self:center;width:min(100%,340px);margin-right:clamp(10px,3vw,20px);}
  .cmlo-sub__rings{width:140px;height:80px;opacity:.35;}
  .cmlo-horizont .cmlo-sub h1.cmlo-sub__title{max-width:none;}
  .cmlo-rahmen__row{grid-template-columns:minmax(0,1fr);gap:.2rem;}
  .cmlo-author{grid-template-columns:minmax(0,1fr);}
  .cmlo-horizont figure.cmlo-author__img{width:140px;}
  .cmlo-story{padding:3.9rem 1.2rem 1.8rem 3.1rem;border-radius:8px 24px 24px 8px;}
  .cmlo-story::after{left:2.55rem;}
  .cmlo-horizont p.cmlo-story__tag{left:3.1rem;font-size:.8rem;}
  .cmlo-steps li{padding-left:calc(40px + 1rem);}
  .cmlo-steps li::before{width:40px;height:46px;}
  .cmlo-steps li::after{left:19px;top:52px;}
}

/* =====================================================================
   BEWEGUNG. Alles hier nur bei prefers-reduced-motion: no-preference.
   Die Basis oben ist die vollständige, statische Seite.
   Treiber: --vp (Position eines Elements im Viewport), --calm (Scrolltiefe der Seite).
   ===================================================================== */
@media (prefers-reduced-motion:no-preference){
  @supports (animation-timeline:view()){
    @keyframes cmlo-vp-fill{from{--vp:0;}to{--vp:1;}}
    @keyframes cmlo-calm-fill{from{--calm:0;}to{--calm:1;}}
    .cmlo-vp{animation:cmlo-vp-fill linear both;animation-timeline:view();}
    :root{animation:cmlo-calm-fill linear both;animation-timeline:scroll(root);}
  }
  /* Das Meer beruhigt sich: Amplitude fällt mit der Scrolltiefe, unten fast gerade */
  :root{--k:max(.04,calc((1 - var(--calm,0)) * (1 - var(--calm,0)) * .7 + (1 - var(--calm,0)) * .3));}
  .cmlo-wave::after,.cmlo-hero__media::after{transform:scaleY(var(--k,1));}

  .cmlo-fx{--a:.02;--b:.2;--en:clamp(0,calc((var(--vp,.5) - var(--a)) / (var(--b) - var(--a))),1);opacity:var(--en);transform:translate3d(0,calc((1 - var(--en)) * var(--dy,28px)),0);}
  .cmlo-fx--1{--a:.02;--b:.2;--dy:36px;}
  .cmlo-fx--2{--a:.06;--b:.26;}
  .cmlo-fx--3{--a:.1;--b:.3;}
  .cmlo-fx--late{--a:.04;--b:.32;--dy:36px;}

  .cmlo-horizont figure.cmlo-hero__media img{transform:translate3d(0,max(0px,calc((var(--vp,.5) - .49) * 150px)),0);}
  @keyframes cmlo-fade-up{from{opacity:0;transform:translate3d(0,14px,0);}to{opacity:1;transform:none;}}
  .cmlo-hero__text::before{animation:cmlo-fade-up .8s ease both .05s;}
  .cmlo-hero__title{animation:cmlo-fade-up 1s cubic-bezier(.2,.7,.2,1) both .2s;}
  .cmlo-hero__lead{animation:cmlo-fade-up .9s ease both .8s;}
  .cmlo-horizont .cmlo-hero__actions{animation:cmlo-fade-up .9s ease both 1s;}

  .cmlo-horizont :is(figure.cmlo-arch,figure.is-style-cmlo-arch) img{transform:translate3d(calc((var(--vp,.5) - .5) * 22px),0,0);}
  .cmlo-morph{--mo:clamp(0,calc((var(--vp) - .26) * 4),1);}
  .cmlo-morph.is-calm{--mo:1;}
  .cmlo-morph.is-tense{--mo:0;}
  @media (hover:hover){.cmlo-morph:hover{--mo:1;}.cmlo-morph.is-tense:hover{--mo:0;}}

  .cmlo-belief{--hl:min(clamp(0,calc((var(--vp,.5) - .18) * 6),1),clamp(0,calc((.88 - var(--vp,.5)) * 6),1));}
  .cmlo-belief::before{opacity:var(--hl);}
  .cmlo-belief__not s{--st:clamp(0,calc((var(--vp,.5) - .3) / .1),1);background-size:calc(var(--st) * 100%) max(3px,.07em);}
  .cmlo-belief__is{--si:clamp(0,calc((var(--vp,.5) - .4) / .1),1);opacity:var(--si);transform:translate3d(calc((1 - var(--si)) * 18px),0,0);}

  .cmlo-horizont figure.cmlo-portrait__main img{transform:translate3d(0,calc((var(--vp,.5) - .5) * -36px),0) scale(1.14);}
  .cmlo-portrait::before{transform:translate(calc(clamp(14px,3vw,34px) + (var(--vp,.5) - .5) * 46px),calc(clamp(14px,3vw,34px) + (var(--vp,.5) - .5) * -34px));}
  .cmlo-portrait__block{transform:translate3d(0,calc((var(--vp,.5) - .5) * 44px),0);}
  .cmlo-horizont .cmlo-portrait__block img{transform:none;}
  .cmlo-horizont .cmlo-book__bg img{transform:translate3d(0,calc((var(--vp,.5) - .5) * -80px),0);}

  /* Unterseiten */
  .cmlo-fx--head{--a:.03;--b:.24;}
  .cmlo-fx--body{--a:.04;--b:.3;}
  .cmlo-fx--intro{--a:.03;--b:.22;}
  .cmlo-sub .cmlo-morph{--mo:clamp(0,calc((var(--vp) - .56) * 5),1);}
  .cmlo-sub .cmlo-morph.is-calm{--mo:1;}
  .cmlo-sub .cmlo-morph.is-tense{--mo:0;}
  @media (hover:hover){.cmlo-sub .cmlo-morph:hover{--mo:1;}.cmlo-sub .cmlo-morph.is-tense:hover{--mo:0;}}
  .cmlo-sub__copy>*{animation:cmlo-fade-up .8s ease both;animation-delay:calc(.05s + var(--i,0) * .12s);}
  .cmlo-sub__copy>*:nth-child(1){--i:0}.cmlo-sub__copy>*:nth-child(2){--i:1}.cmlo-sub__copy>*:nth-child(3){--i:2}.cmlo-sub__copy>*:nth-child(4){--i:3}.cmlo-sub__copy>*:nth-child(5){--i:4}.cmlo-sub__copy>*:nth-child(6){--i:5}
  .cmlo-story .cmlo-story__arc path{stroke-dasharray:60;stroke-dashoffset:calc((1 - clamp(0,calc((var(--vp,.5) - .25) * 5),1)) * 60);}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .cmlo-horizont figure.cmlo-arch img{transform:none;}
  .cmlo-horizont *{transition:none !important;}
}
