/* ==========================================================================
   Torus: Basis-Styles (Frontend + Editor)
   Farben/Fonts kommen aus theme.json. Reine Frontend-Motion: frontend.css
   ========================================================================== */
:root{
	--tr-ink:var(--wp--preset--color--ink);
	--tr-ink2:var(--wp--preset--color--ink-2);
	--tr-cream:var(--wp--preset--color--cream);
	--tr-paper:var(--wp--preset--color--paper);
	--tr-mint:var(--wp--preset--color--mint);
	--tr-line-d:rgba(230,225,212,.16);   /* Linie auf dunkel */
	--tr-line-l:rgba(26,42,39,.14);      /* Linie auf hell */
	--tr-ease:cubic-bezier(.2,.7,.1,1);
	--tr-sec:clamp(80px,11vw,168px);
}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"ss01","kern"}
::selection{background:var(--tr-mint);color:var(--tr-ink)}
a{text-underline-offset:.2em;text-decoration-thickness:1px}

/* Sektionen: keine Lücken zwischen vollbreiten Blöcken */
.wp-site-blocks>*{margin-block:0}
.is-layout-constrained>.alignfull{margin-block:0}
.tr-section{padding-block:var(--tr-sec)}
.tr-dark{background:var(--tr-ink);color:var(--tr-cream)}
.tr-dark-2{background:var(--tr-ink2);color:var(--tr-cream)}
.tr-cream{background:var(--tr-cream)}
.tr-dark a:not(.wp-element-button):not(.tr-btn){color:inherit}

/* Typo-Bausteine */
.tr-eyebrow{font-size:.75rem!important;letter-spacing:.32em;text-transform:uppercase;font-weight:500;display:flex;align-items:center;gap:.8em;opacity:.85}
.tr-eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--tr-mint);flex:none}
.tr-display{font-size:clamp(2.7rem,7.2vw,7rem);font-weight:680;line-height:.94;letter-spacing:-.045em;margin:0;text-wrap:balance}
.tr-display mark{background:none!important}
.tr-lead{font-size:clamp(1.25rem,2.1vw,1.85rem);line-height:1.35;letter-spacing:-.015em;font-weight:420;text-wrap:pretty}
.tr-h1-sub{font-size:clamp(1.1rem,1.6vw,1.4rem)!important;line-height:1.45!important;letter-spacing:-.01em!important;font-weight:420!important;max-width:40ch;opacity:.86}
.tr-muted{opacity:.72}
.tr-num{font-size:.8rem;letter-spacing:.2em;font-weight:500;color:var(--tr-muted,#5E6D68);font-variant-numeric:tabular-nums}
.tr-dark .tr-num{color:var(--tr-mint)}
.tr-bignum{font-size:clamp(4.5rem,11vw,10rem)!important;line-height:.8;font-weight:700;letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1px currentColor;opacity:.5;margin:0}

/* Buttons */
.wp-element-button,.tr-btn{display:inline-flex;align-items:center;gap:.6em;text-decoration:none;transition:background .35s var(--tr-ease),color .35s var(--tr-ease),transform .35s var(--tr-ease)}
.tr-btn{background:var(--tr-mint);color:var(--tr-ink);border-radius:999px;padding:.95em 1.6em;font-weight:600;border:0;cursor:pointer;font:inherit;font-weight:600}
.wp-element-button::after,.tr-btn::after{content:"→";transition:transform .35s var(--tr-ease)}
.wp-element-button:hover,.tr-btn:hover{background:var(--tr-cream);color:var(--tr-ink)}
.wp-element-button:hover::after,.tr-btn:hover::after{transform:translateX(4px)}
.is-style-outline>.wp-element-button{background:transparent;color:inherit;border:1px solid currentColor}
.is-style-outline>.wp-element-button:hover{background:var(--tr-cream);color:var(--tr-ink);border-color:var(--tr-cream)}
.tr-paper .is-style-outline>.wp-element-button:hover,.tr-cream .is-style-outline>.wp-element-button:hover{background:var(--tr-ink);color:var(--tr-paper);border-color:var(--tr-ink)}
:where(.tr-paper,.tr-cream,body) .wp-block-button:not(.is-style-outline)>.wp-element-button:hover{background:var(--tr-ink);color:var(--tr-paper)}
.tr-dark .wp-block-button:not(.is-style-outline)>.wp-element-button:hover{background:var(--tr-cream);color:var(--tr-ink)}

/* Header */
.tr-header{position:relative;z-index:50;color:var(--tr-cream);padding-block:22px}
.tr-header__inner{gap:24px}
.tr-header .wp-block-navigation{font-size:.95rem;font-weight:500;gap:28px}
.tr-header .wp-block-navigation a{text-decoration:none;position:relative}
.tr-header .wp-block-navigation-item__content::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:1px;background:var(--tr-mint);transform:scaleX(0);transform-origin:right;transition:transform .4s var(--tr-ease)}
.tr-header .wp-block-navigation-item__content:hover::after,.tr-header .current-menu-item>.wp-block-navigation-item__content::after{transform:scaleX(1);transform-origin:left}
.tr-header__right{gap:20px}
.tr-header .tr-btn{padding:.7em 1.2em;font-size:.9rem}
.tr-lang{display:flex;gap:10px;font-size:.78rem;letter-spacing:.14em}
.tr-lang a{text-decoration:none;opacity:.55}.tr-lang a[aria-current]{opacity:1;color:var(--tr-mint)}

/* Logo */
.tr-logo{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:inherit}
.tr-logo__mark{width:34px;height:34px}
.tr-logo__mark .tr-rings__e{stroke-width:2.2px}
.tr-logo__word{font-weight:800;font-size:1.3rem;letter-spacing:.06em;line-height:1}

/* Ringe */
.tr-rings{display:block;width:100%;height:auto;overflow:visible}
.tr-rings__e{fill:none;stroke:var(--tr-cream);stroke-width:1.4px;vector-effect:non-scaling-stroke}
.tr-rings__e.is-mint{stroke:var(--tr-mint)}
.tr-paper .tr-rings__e,.tr-cream .tr-rings__e{stroke:var(--tr-ink)}
.tr-rings-wrap{position:relative;aspect-ratio:1;width:100%;max-width:640px;margin-inline:auto}
.tr-rings-wrap.is-deco{max-width:420px;opacity:.9}

/* Hero */
.tr-hero{min-height:100svh;display:flex;align-items:center;position:relative;overflow:hidden;padding-top:clamp(120px,14vw,170px)!important;padding-bottom:clamp(64px,8vw,110px)!important}
.tr-hero>.wp-block-columns,.tr-hero>*{width:100%}
.tr-hero .wp-block-buttons{margin-top:2.2rem}
.tr-hero-page{padding-top:clamp(150px,17vw,220px)!important;padding-bottom:clamp(64px,8vw,120px)!important;position:relative;overflow:hidden}
.tr-hero-page h1{margin-top:1.2rem}
.tr-hero-page .tr-rings-wrap{position:absolute;right:-12%;top:50%;width:min(62vw,760px);max-width:none;translate:0 -50%;opacity:.55;pointer-events:none}

/* Laufband */
.tr-marquee{overflow:hidden;padding-block:clamp(22px,3vw,40px);border-block:1px solid var(--tr-line-d);background:var(--tr-ink);color:var(--tr-cream)}
.tr-marquee__track{display:flex;width:max-content}
.tr-marquee__row{display:flex;align-items:center;flex:none}
.tr-marquee__item{font-size:clamp(2rem,5.4vw,5rem);font-weight:650;letter-spacing:-.04em;line-height:1;white-space:nowrap;padding-inline:.35em}
.tr-marquee__sep{width:.55em;height:.55em;border:1.5px solid var(--tr-mint);border-radius:50%;flex:none;margin-inline:.35em;font-size:clamp(2rem,5.4vw,5rem)}
.tr-marquee.is-mint .tr-marquee__item:nth-child(4n+1){color:var(--tr-mint)}
.tr-marquee.is-outline{background:transparent;border-color:var(--tr-line-d)}
.tr-marquee.is-outline .tr-marquee__item{color:transparent;-webkit-text-stroke:1px var(--tr-cream);transition:color .4s}
.tr-marquee.is-outline .tr-marquee__item:hover{color:var(--tr-mint);-webkit-text-stroke-color:var(--tr-mint)}

/* Leistungszeilen (Startseite) */
.tr-rows{border-top:1px solid var(--tr-line-l)}
.tr-row{position:relative;display:grid!important;grid-template-columns:72px 1fr auto;align-items:center;gap:20px!important;padding:clamp(22px,3vw,36px) 0;border-bottom:1px solid var(--tr-line-l);isolation:isolate}
.tr-row>*{margin:0!important}
.tr-row::before{content:"";position:absolute;inset:0 calc(-1 * clamp(20px,5vw,48px));background:var(--tr-ink);transform:scaleY(0);transform-origin:bottom;transition:transform .55s var(--tr-ease);z-index:-1}
.tr-row h3{font-size:clamp(2rem,5.2vw,4.4rem)!important;letter-spacing:-.045em;font-weight:650;transition:transform .55s var(--tr-ease),color .4s}
.tr-row h3 a{text-decoration:none;color:inherit}
.tr-row h3 a::after{content:"";position:absolute;inset:0}
.tr-row .tr-row__arrow{font-size:clamp(1.4rem,3vw,2.4rem);transition:transform .55s var(--tr-ease),color .4s}
.tr-row:hover::before,.tr-row:focus-within::before{transform:scaleY(1);transform-origin:top}
.tr-row:hover,.tr-row:focus-within{color:var(--tr-cream)}
.tr-row:hover h3,.tr-row:focus-within h3{transform:translateX(18px);color:var(--tr-mint)}
.tr-row:hover .tr-row__arrow{transform:translateX(-6px) rotate(-45deg);color:var(--tr-mint)}
.tr-row:hover .tr-num{color:var(--tr-mint)}

/* Karten */
.tr-card{border:1px solid var(--tr-line-l);border-radius:22px;padding:clamp(24px,3vw,40px)!important;height:100%;transition:border-color .4s,transform .5s var(--tr-ease),background .4s}
.tr-dark .tr-card,.tr-dark-2 .tr-card{border-color:var(--tr-line-d)}
.tr-card:hover{border-color:var(--tr-mint);transform:translateY(-4px)}
.tr-card h3,.tr-card .tr-card__title{font-size:clamp(1.6rem,2.6vw,2.2rem)!important;letter-spacing:-.03em;font-weight:650;margin-top:1.4rem!important}
.wp-block-columns.tr-grid{gap:clamp(16px,2vw,28px)!important}

/* Leistungen im Detail */
.tr-service{border-top:1px solid var(--tr-line-l);padding-block:clamp(56px,7vw,110px)}
.tr-service h2{scroll-margin-top:120px}
.tr-checks{list-style:none;padding:0!important;margin:0;border-top:1px solid var(--tr-line-l)}
.tr-checks li{padding:16px 0 16px 34px;border-bottom:1px solid var(--tr-line-l);position:relative;font-size:1.08rem;font-weight:500}
.tr-checks li::before{content:"";position:absolute;left:2px;top:50%;width:14px;height:14px;margin-top:-7px;border:1.5px solid var(--tr-ink);border-radius:50%;box-shadow:inset 0 0 0 3px var(--tr-paper),inset 0 0 0 8px var(--tr-mint)}
.tr-note{font-size:1rem;opacity:.78;max-width:56ch}

/* Kreislauf */
.tr-cycle-ring{position:sticky;top:130px;max-width:440px;margin-inline:auto}
.tr-cycle-ring svg{width:100%;height:auto;display:block;overflow:visible}
.tr-cycle-ring__base{fill:none;stroke:var(--tr-line-d);stroke-width:1.5}
.tr-cycle-ring__prog{fill:none;stroke:var(--tr-mint);stroke-width:2;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--p,0));transition:stroke-dashoffset .9s var(--tr-ease)}
.tr-cycle-ring__node{fill:var(--tr-ink);stroke:var(--tr-cream);stroke-width:1.5;transition:fill .4s,r .4s}
.tr-cycle-ring__node.is-on{fill:var(--tr-mint);stroke:var(--tr-mint)}
.tr-cycle-ring text{fill:var(--tr-cream);font-size:13px;letter-spacing:.12em;text-anchor:middle;opacity:.6}
.tr-cycle-ring__dot{transform-origin:200px 200px;transform:rotate(var(--deg,0deg));transition:transform .9s var(--tr-ease)}
.tr-cycle-ring__dot circle{fill:var(--tr-mint)}
.tr-cycle-ring__label{position:absolute;inset:0;display:grid;place-items:center;margin:0;font-size:clamp(1.4rem,2.6vw,2.2rem);font-weight:650;letter-spacing:-.03em;text-align:center;pointer-events:none}
.tr-step{border-top:1px solid var(--tr-line-d);padding-block:clamp(36px,5vw,64px)!important;transition:opacity .5s}
.tr-step>*{margin-block:0!important}
.tr-step>*+*{margin-top:.8rem!important}
.tr-step .tr-step__title{font-size:clamp(1.8rem,3.4vw,3rem)!important;font-weight:650;letter-spacing:-.04em;line-height:1}

/* Prinzipien */
.tr-principle .tr-card__title{color:var(--tr-mint)}

/* Kontakt */
.tr-info{border-top:1px solid var(--tr-line-l);padding-top:18px!important}
.tr-info .tr-eyebrow{opacity:.6}
.tr-reveals{display:flex;flex-wrap:wrap;gap:12px}
.tr-reveal{display:inline-flex;flex-direction:column;align-items:flex-start;gap:2px;padding:14px 22px;border:1px solid currentColor;border-radius:16px;background:transparent;color:inherit;font:inherit;cursor:pointer;text-align:left;transition:background .35s,color .35s,border-color .35s}
.tr-reveal span{font-weight:650;font-size:1.15rem;letter-spacing:-.02em}
.tr-reveal small{font-size:.8rem;opacity:.65}
.tr-reveal:hover{background:var(--tr-ink);color:var(--tr-paper);border-color:var(--tr-ink)}
.tr-dark .tr-reveal:hover{background:var(--tr-mint);color:var(--tr-ink);border-color:var(--tr-mint)}
a.tr-revealed{display:inline-flex;flex-direction:column;padding:14px 22px;border:1px solid var(--tr-mint);background:var(--tr-mint);color:var(--tr-ink)!important;border-radius:16px;text-decoration:none;font-weight:650}
a.tr-revealed small{font-weight:400;font-size:.8rem;opacity:.7}

/* Formular */
.tr-form{display:grid;gap:22px}
.tr-form p{margin:0}
.tr-field label{display:block;font-size:.75rem;letter-spacing:.24em;text-transform:uppercase;font-weight:500;opacity:.7;margin-bottom:6px}
.tr-field input,.tr-field textarea{width:100%;font:inherit;font-size:1.15rem;color:inherit;background:transparent;border:0;border-bottom:1px solid currentColor;border-radius:0;padding:10px 0;outline:0;transition:border-color .3s;resize:vertical}
.tr-field input:focus,.tr-field textarea:focus{border-color:var(--tr-mint);box-shadow:0 1px 0 var(--tr-mint)}
.tr-check{display:flex;gap:12px;align-items:flex-start;font-size:.95rem}
.tr-check input{width:18px;height:18px;margin-top:3px;accent-color:var(--tr-ink)}
.tr-form__hp{position:absolute!important;left:-9999px}
.tr-form__msg{padding:14px 18px;border-radius:12px;font-weight:500}
.tr-form__msg.is-ok{background:var(--tr-mint);color:var(--tr-ink)}
.tr-form__msg.is-err{background:#f3d8d0;color:#5a1f12}

/* Video */
.tr-play{display:inline-flex;align-items:center;gap:14px;background:none;border:0;color:inherit;font:inherit;font-weight:600;cursor:pointer;padding:0}
.tr-play__icon{width:54px;height:54px;border-radius:50%;border:1px solid currentColor;position:relative;transition:background .35s,border-color .35s}
.tr-play__icon::after{content:"";position:absolute;left:52%;top:50%;translate:-40% -50%;border-left:12px solid currentColor;border-block:8px solid transparent}
.tr-play:hover .tr-play__icon{background:var(--tr-mint);border-color:var(--tr-mint);color:var(--tr-ink)}
.tr-modal{width:min(1100px,92vw);padding:0;border:0;background:#000;border-radius:16px;overflow:visible}
.tr-modal::backdrop{background:rgba(10,18,16,.86);backdrop-filter:blur(6px)}
.tr-modal video{display:block;width:100%;border-radius:16px}
.tr-modal__close{position:absolute;top:-46px;right:0;background:none;border:0;color:#fff;font-size:2rem;cursor:pointer}

/* Footer */
.tr-cta{position:relative;overflow:hidden}
.tr-cta .tr-rings-wrap{position:absolute;right:-8%;bottom:-35%;width:min(70vw,820px);max-width:none;opacity:.35;pointer-events:none}
.tr-cta .tr-display{font-size:clamp(3.2rem,10vw,9.5rem)}
body.tr-no-cta .tr-cta{display:none}
.tr-footer{font-size:.95rem}
.tr-footer a{text-decoration:none}
.tr-footer a:hover{color:var(--tr-mint)}
.tr-footer .wp-block-navigation{gap:10px 24px}
.tr-footer__bottom{border-top:1px solid var(--tr-line-d);padding-top:22px!important;font-size:.85rem;opacity:.75}

/* Rechtstexte */
.tr-text{padding-block:clamp(48px,7vw,96px)}
.tr-text h2{font-size:clamp(1.4rem,2.2vw,1.8rem)!important;letter-spacing:-.02em;margin-top:2.6em}

/* Mobil */
@media (max-width:781px){
	.tr-hero{min-height:auto}
	.tr-hero .wp-block-column:last-child{order:-1;max-width:300px;margin-inline:auto;margin-bottom:-10px}
	.tr-row{grid-template-columns:44px 1fr auto}
	.tr-cycle-ring{display:none}
	.tr-header__right .tr-btn{display:none}
	.tr-hero-page .tr-rings-wrap{width:110vw;right:-55%;opacity:.3}
	.wp-block-buttons>.wp-block-button{flex:1 1 auto}
	.wp-block-buttons>.wp-block-button>.wp-element-button{width:100%;justify-content:center}
}
.tr-header p,.tr-footer .tr-logo-p{margin:0}
/* Logo-Größe fix (überschreibt .tr-rings{width:100%}) */
.tr-logo .tr-logo__mark{width:34px;height:34px;flex:none}
.tr-footer .tr-logo .tr-logo__mark{width:44px;height:44px}
.tr-header .wp-block-shortcode,.tr-footer .wp-block-shortcode{margin:0}
/* Große Ziffern: gefüllt statt Outline (Outline rendert nicht überall zuverlässig) */
.tr-bignum{color:rgba(26,42,39,.1)!important;-webkit-text-stroke:0!important;opacity:1!important}
.tr-dark .tr-bignum{color:rgba(187,230,157,.16)!important}
/* Seiten-Hero: Text bleibt links von den Ringen */
.tr-hero-page>*:not(.tr-rings-wrap){position:relative;z-index:1}
.tr-hero-page .tr-lead{max-width:min(34ch,1240px)!important;margin-left:max(0px,calc((100% - 1240px) / 2))!important;margin-right:auto!important}
/* Bildmarke "Drei Ringe" */
.tr-mark ellipse{fill:none;stroke:var(--tr-cream);stroke-width:5}
.tr-mark ellipse.is-mint{stroke:var(--tr-mint)}
.tr-mark__spin{transform-origin:50px 50px;transition:transform 1.2s var(--tr-ease)}
.tr-logo:hover .tr-mark__spin{transform:rotate(180deg)}
.tr-footer .tr-logo .tr-logo__mark{width:40px;height:40px}
.tr-footer .tr-mark ellipse{stroke-width:4.5}

/* ---- 1.1.2: Lesbarkeit und Barrierefreiheit ---- */
/* Kartentitel: kleiner, damit lange Wörter (Verständlich, Weiterentwickeln) nicht brechen */
.tr-card h3,.tr-card .tr-card__title{font-size:clamp(1.25rem,1.75vw,1.65rem)!important;letter-spacing:-.025em;overflow-wrap:normal;word-break:normal;hyphens:manual}
/* Buttons im Footer: Link-Hover des Footers darf die Button-Farbe nicht überschreiben */
.tr-footer a:not(.tr-btn):not(.wp-element-button):hover{color:var(--tr-mint)}
.tr-footer a.tr-btn:hover,.tr-btn:hover,.tr-btn:focus-visible{background:var(--tr-cream);color:var(--tr-ink)}
.tr-paper .tr-btn:hover,.tr-form .tr-btn:hover{background:var(--tr-ink);color:var(--tr-paper)}
/* Sichtbarer Tastatur-Fokus überall (WCAG 2.4.7) */
:where(a,button,input,textarea,summary):focus-visible{outline:2px solid var(--tr-ink);outline-offset:3px;border-radius:4px}
:where(.tr-dark,.tr-dark-2,.tr-header,.tr-footer) :where(a,button):focus-visible{outline-color:var(--tr-mint)}
/* Anrufen/WhatsApp als echte Links */
a.tr-reveal{text-decoration:none}
a.tr-reveal small{font-variant-numeric:tabular-nums}

/* ---- 1.2.0: Seitenmenü mobil ---- */
.tr-burger{display:none;width:44px;height:44px;padding:0;border:0;background:none;color:inherit;cursor:pointer;position:relative}
.tr-burger span,.tr-menu__close span{position:absolute;left:10px;right:10px;height:1.5px;background:currentColor;border-radius:2px;transition:transform .45s var(--tr-ease)}
.tr-burger span:first-child{top:17px}.tr-burger span:last-child{top:26px;left:16px}
.tr-burger:hover span:last-child{left:10px}
@media (max-width:781px){
	.tr-header .wp-block-navigation,.tr-header .tr-lang{display:none}
	.tr-burger{display:block}
}
.tr-menu{position:fixed;inset:0;z-index:200;visibility:hidden;pointer-events:none;transition:visibility 0s linear .6s}
.tr-menu.is-open{visibility:visible;pointer-events:auto;transition:none}
.tr-menu__backdrop{position:absolute;inset:0;background:rgba(10,18,16,.55);opacity:0;transition:opacity .5s var(--tr-ease)}
.tr-menu.is-open .tr-menu__backdrop{opacity:1}
.tr-menu__panel{box-sizing:border-box;position:absolute;top:0;right:0;bottom:0;width:min(100%,480px);background:var(--tr-ink);color:var(--tr-cream);padding:92px clamp(24px,7vw,48px) 32px;display:flex;flex-direction:column;overflow:auto;overflow-x:hidden;transform:translateX(100%);transition:transform .6s var(--tr-ease)}
.tr-menu.is-open .tr-menu__panel{transform:none}
.tr-menu__close{position:absolute;top:18px;right:clamp(14px,5vw,40px);width:44px;height:44px;border:0;background:none;color:inherit;cursor:pointer}
.tr-menu__close span{top:21px}
.tr-menu__close span:first-child{transform:rotate(45deg)}.tr-menu__close span:last-child{transform:rotate(-45deg)}
.tr-menu__rings{position:absolute;right:-45%;bottom:-25%;width:110%;opacity:.16;pointer-events:none}
.tr-menu__list{list-style:none;margin:0;padding:0;border-top:1px solid var(--tr-line-d);position:relative}
.tr-menu__list li{border-bottom:1px solid var(--tr-line-d);opacity:0;transform:translateX(40px);transition:opacity .6s var(--tr-ease),transform .6s var(--tr-ease);transition-delay:calc(var(--i) * 70ms + 150ms)}
.tr-menu.is-open .tr-menu__list li{opacity:1;transform:none}
.tr-menu__list a{display:flex;align-items:baseline;gap:18px;padding:20px 0;text-decoration:none;color:inherit;font-size:clamp(2.4rem,10vw,3.6rem);font-weight:650;letter-spacing:-.045em;line-height:1}
.tr-menu__num{font-size:.8rem;letter-spacing:.2em;font-weight:500;color:var(--tr-mint);min-width:2.2em}
.tr-menu__label{transition:transform .45s var(--tr-ease),color .3s}
.tr-menu__list a:hover .tr-menu__label,.tr-menu__list a:focus-visible .tr-menu__label{transform:translateX(10px);color:var(--tr-mint)}
.tr-menu__list a[aria-current] .tr-menu__label{color:var(--tr-mint)}
.tr-menu__foot{margin-top:auto;padding-top:40px;display:flex;flex-direction:column;align-items:flex-start;gap:18px;position:relative}
.tr-menu__foot .tr-mail{color:var(--tr-cream);opacity:.8}
.tr-menu__foot .tr-lang{display:flex}
html.tr-menu-open{overflow:hidden}

/* Footer-Ringe: seitlich auslaufen statt unten abgeschnitten */
.tr-cta .tr-rings-wrap{top:50%;bottom:auto;right:-14%;translate:0 -50%;width:min(58vw,720px)}
@media (max-width:781px){.tr-cta .tr-rings-wrap{width:95vw;right:-52vw;opacity:.22}}

/* ---- 1.3.0: Wortmarke mit Unterzeile ---- */
.tr-logo__text{display:flex;flex-direction:column;align-items:center;line-height:1}
.tr-logo__word{line-height:.9}
.tr-logo__sub{font-size:.56rem;font-weight:500;letter-spacing:.3em;margin-top:5px;margin-right:-.3em;opacity:.85;white-space:nowrap}
.tr-footer .tr-logo__word{font-size:1.5rem}
.tr-footer .tr-logo__sub{font-size:.64rem}
.tr-menu__logo{position:absolute;top:22px;left:clamp(24px,7vw,48px)}
.tr-menu__logo .tr-logo__mark{width:30px;height:30px}
/* Footer-Ringe: Höhe an die Sektion koppeln, damit nichts angeschnitten wird */
@media (min-width:782px){.tr-cta .tr-rings-wrap{width:auto;height:88%;right:-6%;aspect-ratio:1}}

/* ---- 1.4.1: Karten reagieren auf Hover (wie die Leistungszeilen) ---- */
.tr-card{position:relative;transition:transform .5s var(--tr-ease),background .45s var(--tr-ease),color .45s var(--tr-ease),border-color .45s var(--tr-ease)}
.tr-card .tr-num,.tr-card .tr-card__title{transition:color .45s var(--tr-ease)}
.tr-card:hover{background:var(--tr-ink);color:var(--tr-cream);border-color:var(--tr-ink)}
.tr-card:hover .tr-num,.tr-card:hover .tr-card__title{color:var(--tr-mint)}
/* Formular-Karte (Kontakt) bleibt ruhig, dort tippt man */
.tr-form-card:hover,.tr-js .tr-form-card.tr-r.is-in:hover{background:transparent;color:inherit;border-color:var(--tr-line-l);transform:none}
.tr-form-card:hover .tr-form-title{color:inherit}
