@font-face{font-family:"Baskerville Old Face";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/baskerville-old-face-regular.ttf") format("truetype")}@font-face{font-family:"Open Sans";font-style:normal;font-weight:400 800;font-display:swap;src:url("../fonts/open-sans-400-800-latin.woff2") format("woff2")}@font-face{font-family:Allura;font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/allura-400-latin.woff2") format("woff2")}@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/poppins-400.woff2") format("woff2")}@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/poppins-500.woff2") format("woff2")}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/poppins-600.woff2") format("woff2")}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/poppins-700.woff2") format("woff2")}@font-face{font-family:Poppins;font-style:normal;font-weight:800;font-display:swap;src:url("../fonts/poppins-800.woff2") format("woff2")}
:root{--accent:#82968c;--accent-dark:#626262;--ink:#171717;--muted:#666;--surface:#f5f5f2;--white:#fff;--line:rgba(23,23,23,.12);--radius:28px;--shadow:0 24px 70px rgba(0,0,0,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"Poppins",Arial,sans-serif;color:var(--ink);background:#fbfbf9;line-height:1.65;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,textarea{font:inherit}.section-shell{width:min(1180px,calc(100% - 40px));margin-inline:auto}.site-header{position:fixed;z-index:100;top:16px;left:50%;transform:translateX(-50%);width:min(1180px,calc(100% - 32px));height:72px;padding:10px 12px 10px 20px;border:1px solid rgba(255,255,255,.55);background:rgba(255,255,255,.78);backdrop-filter:blur(18px);border-radius:22px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 12px 40px rgba(0,0,0,.08)}.brand img{width:190px;height:48px;object-fit:contain;object-position:left}.main-nav{display:flex;align-items:center;gap:28px;font-size:.93rem;font-weight:600}.main-nav a{transition:.25s}.main-nav a:hover{color:var(--accent-dark)}.main-nav .nav-cta{background:var(--ink);color:#fff;padding:12px 18px;border-radius:14px}.menu-toggle{display:none;border:0;background:none;width:44px;height:44px}.menu-toggle span{display:block;width:24px;height:2px;background:#111;margin:6px auto;transition:.25s}.hero{min-height:100vh;padding-top:150px;padding-bottom:70px;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:70px;position:relative}.hero h1,.section-heading h2,.intro h2,.about h2,.feature h2,.contact h2{font-family:"Poppins",Arial,sans-serif;letter-spacing:-.045em;line-height:1.04;margin:0}.hero h1{font-size:clamp(3.3rem,7vw,6.7rem);max-width:800px}.hero h1 span{color:var(--accent)}.eyebrow{font-size:.76rem;text-transform:uppercase;letter-spacing:.2em;font-weight:800;color:var(--accent-dark);margin:0 0 18px}.hero-copy{font-size:1.15rem;color:var(--muted);max-width:660px;margin:28px 0 34px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;justify-content:center;align-items:center;gap:10px;padding:15px 20px;border-radius:14px;font-weight:700;border:1px solid transparent;cursor:pointer;transition:.25s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--ink);color:#fff}.button-primary:hover{background:var(--accent-dark)}.button-ghost{border-color:var(--line);background:#fff}.hero-meta{display:flex;gap:28px;margin-top:52px;color:var(--muted);font-size:.86rem}.hero-meta span{display:flex;flex-direction:column}.hero-meta b{font-family:"Poppins";font-size:1.35rem;color:var(--ink)}.hero-visual{position:relative;justify-self:end}.image-frame{border-radius:36px;overflow:hidden;box-shadow:var(--shadow)}.portrait-frame{width:min(430px,38vw);aspect-ratio:3/4;transform:rotate(2deg);border:10px solid #fff}.portrait-frame img{width:100%;height:100%;object-fit:cover}.floating-card{position:absolute;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);padding:14px 18px;border:1px solid rgba(255,255,255,.8);border-radius:16px;box-shadow:0 15px 40px rgba(0,0,0,.12);font-weight:700}.card-top{top:9%;left:-18%}.card-bottom{bottom:10%;right:-12%;display:flex;align-items:center;gap:9px}.pulse-dot{width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 7px rgba(130,150,140,.18)}.hero-orb{position:absolute;border-radius:999px;filter:blur(2px);pointer-events:none}.orb-one{width:380px;height:380px;background:radial-gradient(circle,rgba(130,150,140,.18),transparent 67%);right:-170px;top:90px}.orb-two{width:240px;height:240px;border:1px solid rgba(130,150,140,.25);left:-140px;bottom:70px}.section-label{font-size:.75rem;color:var(--accent);font-weight:700;border-top:1px solid var(--line);padding-top:18px}.intro{padding:130px 0}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;margin-top:45px}.intro h2,.about h2,.feature h2,.contact h2,.section-heading h2{font-size:clamp(2.4rem,5vw,4.5rem)}blockquote{margin:0 0 28px;font-family:"Poppins";font-size:1.35rem;font-weight:700;line-height:1.4}.intro-text p,.about-content>p,.feature-copy>p{color:var(--muted);font-size:1.05rem}.about{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px;align-items:center;padding:40px 0 150px}.about-image{position:relative}.about-image img{width:100%;max-height:680px;object-fit:cover;border-radius:var(--radius)}.image-badge{position:absolute;right:-25px;bottom:35px;background:var(--ink);color:#fff;border-radius:999px;padding:16px 22px;font-weight:700}.timeline{margin-top:38px;border-top:1px solid var(--line)}.timeline>div{display:grid;grid-template-columns:90px 1fr;gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}.timeline span{font-family:"Poppins";font-weight:800;color:var(--accent-dark)}.timeline p{margin:0}.services{padding:120px 0;background:var(--surface);position:relative}.services:before{content:"";position:absolute;inset:0 calc((100vw - 100%)/-2);background:var(--surface);z-index:-1}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:55px}.section-heading>p{max-width:420px;color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.service-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:30px;min-height:310px;display:flex;flex-direction:column;transition:.3s}.service-card:hover{transform:translateY(-8px);box-shadow:0 20px 55px rgba(0,0,0,.08)}.service-card>span{font-size:.78rem;color:var(--accent);font-weight:800}.service-card h3{font-family:"Poppins";font-size:1.55rem;margin:38px 0 12px}.service-card p{color:var(--muted);margin:0}.service-card a{margin-top:auto;font-weight:700}.feature{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center;padding:140px 0}.feature.reverse{direction:rtl;padding-top:0}.feature.reverse>*{direction:ltr}.feature-image img{border-radius:var(--radius);width:100%;max-height:680px;object-fit:cover}.accordion{margin-top:35px}.accordion details{border-top:1px solid var(--line);padding:18px 0}.accordion details:last-child{border-bottom:1px solid var(--line)}.accordion summary{font-family:"Poppins";font-size:1.08rem;font-weight:700;cursor:pointer;list-style:none;display:flex;justify-content:space-between}.accordion summary::-webkit-details-marker{display:none}.accordion details p{color:var(--muted);padding-right:30px}.check-list{list-style:none;padding:0;margin-top:30px}.check-list li{padding:12px 0 12px 34px;position:relative;border-bottom:1px solid var(--line)}.check-list li:before{content:"✓";position:absolute;left:0;color:var(--accent-dark);font-weight:800}.pricing{padding:120px 0}.table-wrap{border-radius:24px;border:1px solid var(--line);background:#fff;overflow:hidden;box-shadow:0 15px 50px rgba(0,0,0,.05)}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:22px 26px;border-bottom:1px solid var(--line)}th{background:var(--accent);color:#fff;font-family:"Poppins";letter-spacing:.03em}th:last-child,td:last-child{text-align:right;font-weight:800;width:160px}tbody tr{transition:.2s}tbody tr:hover{background:#f7f7f5}.sub-row td:first-child{padding-left:48px;color:var(--muted)}.contact{padding:50px 0 130px}.contact-panel{background:var(--accent);color:#fff;border-radius:34px;padding:65px;display:grid;grid-template-columns:1fr 1fr;gap:70px;position:relative;overflow:hidden}.contact-panel:after{content:"";position:absolute;width:430px;height:430px;border:1px solid rgba(255,255,255,.22);border-radius:50%;right:-170px;top:-190px}.contact .eyebrow{color:#fff;opacity:.7}.contact-copy>p{max-width:500px}.contact-links{display:flex;flex-direction:column;gap:10px;margin-top:34px}.contact-links a{font-weight:800;font-size:1.1rem}.contact-form{position:relative;z-index:2;background:#fff;color:var(--ink);padding:30px;border-radius:22px}.contact-form label{display:block;margin-bottom:18px}.contact-form label span{display:block;font-size:.78rem;font-weight:800;margin-bottom:7px}.contact-form input,.contact-form textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:13px 14px;outline:none;background:#fafafa}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--accent)}.contact-form .button{width:100%}.contact-form small{display:block;text-align:center;color:var(--muted);margin-top:10px}.site-footer{padding:45px 0;display:grid;grid-template-columns:1.2fr 1fr auto;align-items:end;gap:40px;border-top:1px solid var(--line);font-size:.9rem;color:var(--muted)}.site-footer img{width:190px;margin-bottom:12px}.footer-links{display:flex;gap:22px;flex-wrap:wrap}.cursor-glow{position:fixed;width:260px;height:260px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(130,150,140,.10),transparent 65%);transform:translate(-50%,-50%);z-index:-1}.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}.reveal.is-visible{opacity:1;transform:none}.delay-1{transition-delay:.12s}.delay-2{transition-delay:.24s}
@media(max-width:950px){.main-nav{position:fixed;top:80px;left:0;right:0;padding:22px;background:#fff;border-radius:20px;box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:stretch;transform:translateY(-20px);opacity:0;pointer-events:none;transition:.25s}.main-nav.open{opacity:1;transform:none;pointer-events:auto}.menu-toggle{display:block}.hero{grid-template-columns:1fr;padding-top:145px;text-align:center}.hero-copy{margin-left:auto;margin-right:auto}.hero-actions,.hero-meta{justify-content:center}.hero-visual{justify-self:center}.portrait-frame{width:min(500px,75vw)}.card-top{left:-8%}.card-bottom{right:-5%}.intro-grid,.about,.feature,.feature.reverse,.contact-panel{grid-template-columns:1fr;gap:50px}.intro-grid{gap:35px}.feature.reverse{direction:ltr}.service-grid{grid-template-columns:repeat(2,1fr)}.section-heading{align-items:start;flex-direction:column}.contact-panel{padding:42px}.site-footer{grid-template-columns:1fr 1fr}.site-footer>p{grid-column:1/-1}.about{gap:55px}.image-badge{right:15px}.cursor-glow{display:none}}
@media(max-width:640px){.section-shell{width:min(100% - 24px,1180px)}.site-header{width:calc(100% - 20px);top:10px}.brand img{width:150px}.hero{padding-top:125px;gap:45px}.hero h1{font-size:3rem}.hero-copy{font-size:1rem}.hero-meta{gap:14px;display:grid;grid-template-columns:repeat(3,1fr)}.floating-card{font-size:.78rem;padding:10px 12px}.intro,.services,.feature,.pricing{padding-top:90px;padding-bottom:90px}.about{padding-bottom:90px}.service-grid{grid-template-columns:1fr}.service-card{min-height:260px}.contact-panel{padding:28px 20px;border-radius:24px}.contact-form{padding:20px}.site-footer{grid-template-columns:1fr;align-items:start}.site-footer>p{grid-column:auto}.table-wrap{background:transparent;border:0;box-shadow:none;overflow:visible}table,tbody,tr,td{display:block;width:100%}thead{display:none}tbody{display:grid;gap:12px}tr{background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px 16px}td{border:0;padding:7px 0;display:grid;grid-template-columns:95px 1fr;gap:12px;text-align:left!important;width:auto!important}td:before{content:attr(data-label);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-dark);font-weight:800}.sub-row td:first-child{padding-left:0}.hero-meta b{font-size:1.1rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.button,.service-card{transition:none}}

/* Blog */
.main-nav a.active{color:#222}.blog-hero{min-height:70vh;padding-top:10rem;padding-bottom:5rem;display:grid;grid-template-columns:1.05fr .95fr;gap:5rem;align-items:center;position:relative;overflow:hidden}.blog-hero-copy{position:relative;z-index:1}.blog-hero h1,.article-header h1{font-family:Poppins,Arial,sans-serif;font-size:clamp(3rem,6vw,6.7rem);line-height:.98;letter-spacing:-.065em;max-width:850px;margin:.7rem 0 1.6rem}.blog-hero h1 span{color:#82968c}.blog-hero-copy>p:last-child{max-width:650px;font-size:1.14rem;color:#666}.blog-hero-feature{background:#fff;border:1px solid rgba(130,150,140,.18);border-radius:32px;padding:14px;box-shadow:0 30px 80px rgba(40,40,40,.12);transform:rotate(1.5deg)}.blog-hero-feature img{width:100%;height:360px;object-fit:cover;border-radius:22px}.blog-hero-feature div{padding:1.4rem 1.3rem 1.2rem}.blog-hero-feature span,.blog-meta{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:#82968c}.blog-hero-feature h2{font-size:1.4rem;margin:.55rem 0}.blog-hero-feature a,.text-link{font-weight:700}.blog-list-section{padding-top:6rem;padding-bottom:7rem}.blog-toolbar{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2.8rem}.blog-toolbar h2,.related-posts h2{font-size:clamp(2.2rem,4vw,4rem);margin:.3rem 0 0}.blog-search{display:flex;align-items:center;gap:.75rem;min-width:300px;padding:.85rem 1rem;border:1px solid #ddd;border-radius:100px;background:#fff}.blog-search input{border:0;outline:0;width:100%;font:inherit;background:transparent}.blog-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}.blog-card{background:#fff;border:1px solid rgba(130,150,140,.2);border-radius:28px;overflow:hidden;transition:transform .35s ease,box-shadow .35s ease}.blog-card:hover{transform:translateY(-7px);box-shadow:0 24px 60px rgba(50,50,50,.1)}.blog-card-image{height:330px;display:block;position:relative;overflow:hidden}.blog-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.blog-card:hover img{transform:scale(1.045)}.blog-card-image span{position:absolute;left:1rem;top:1rem;background:rgba(255,255,255,.88);backdrop-filter:blur(10px);padding:.55rem .8rem;border-radius:100px;font-size:.75rem;font-weight:700}.blog-card-body{padding:2rem}.blog-card h2{font-size:clamp(1.5rem,2.5vw,2.3rem);line-height:1.12;margin:.7rem 0 1rem}.blog-card h2 a{text-decoration:none}.blog-card-body>p:not(.blog-meta){color:#666}.text-link{display:inline-flex;margin-top:1rem;gap:.4rem}.empty-state{text-align:center;padding:4rem;color:#777}.blog-cta{margin-bottom:7rem;padding:3rem 4rem;background:#1f1f1f;color:#fff;border-radius:32px;display:flex;justify-content:space-between;align-items:center;gap:3rem}.blog-cta h2{font-size:clamp(2rem,4vw,3.4rem);margin:.4rem 0}.blog-cta p{color:#bbb;max-width:650px}.article-page{padding-top:9rem}.article-header{text-align:center;padding-bottom:3rem}.back-link{display:inline-flex;margin-bottom:2.5rem;color:#777}.article-header h1{font-size:clamp(2.8rem,6vw,6rem);margin-left:auto;margin-right:auto}.article-meta{display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap;color:#777}.article-hero-image{max-width:1180px}.article-hero-image img{width:100%;height:min(58vw,660px);object-fit:cover;border-radius:36px}.article-layout{display:grid;grid-template-columns:minmax(0,760px) 280px;justify-content:center;gap:5rem;padding-top:5rem;padding-bottom:7rem}.article-content{font-size:1.08rem;line-height:1.85;color:#444}.article-content h2{font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.2;margin:3.2rem 0 1rem;color:#222}.article-lead{font-size:1.38rem;line-height:1.65;color:#222}.article-callout{margin:2.5rem 0;padding:2rem;border-left:4px solid #82968c;background:#f3f3f3;border-radius:0 20px 20px 0}.article-callout ul{margin-bottom:0}.article-steps{counter-reset:steps;padding:0;list-style:none}.article-steps li{display:flex;justify-content:space-between;gap:1rem;padding:1rem 0;border-bottom:1px solid #ddd}.article-steps li span{color:#82968c}.article-signoff{margin-top:4rem;padding-top:2rem;border-top:1px solid #ddd;display:flex;align-items:center;gap:1rem}.article-signoff img{width:64px;height:64px;border-radius:50%;object-fit:cover}.article-signoff span{font-weight:800}.article-signoff p{font-size:.9rem;margin:0;color:#777}.article-aside{position:sticky;top:120px;height:max-content;padding:1.5rem;border:1px solid #ddd;border-radius:22px}.article-aside span{font-weight:800}.article-aside p{color:#777}.article-aside .button{width:100%;justify-content:center;margin-top:1rem}.related-posts{padding-bottom:7rem}.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem}.related-grid a{min-height:160px;padding:1.5rem;border:1px solid #ddd;border-radius:20px;display:flex;flex-direction:column;justify-content:space-between;text-decoration:none;transition:.3s}.related-grid a:hover{background:#222;color:#fff;transform:translateY(-4px)}.related-grid span{font-size:.75rem;color:#82968c}.related-grid strong{font-size:1.1rem}
@media(max-width:900px){.blog-hero{grid-template-columns:1fr;padding-top:8rem;gap:2rem}.blog-hero-feature{max-width:620px}.blog-grid{grid-template-columns:1fr}.blog-toolbar{align-items:stretch;flex-direction:column}.blog-search{min-width:0;width:100%}.blog-cta{padding:2.2rem;align-items:flex-start;flex-direction:column}.article-layout{grid-template-columns:1fr;gap:2rem}.article-aside{position:static}.related-grid{grid-template-columns:1fr}.blog-card-image{height:280px}}
@media(max-width:600px){.blog-hero{padding-top:7rem}.blog-hero-feature img{height:240px}.blog-list-section{padding-top:4rem}.blog-card-body{padding:1.4rem}.article-page{padding-top:7rem}.article-hero-image img{border-radius:22px;height:65vw}.article-layout{padding-top:3rem}.article-lead{font-size:1.18rem}.article-meta{gap:.7rem;font-size:.85rem}}

/* TitanSystem static conversion guards. */
html { scroll-behavior: auto; }
.titansystem-template { width: 100%; max-width: 100%; overflow-x: clip; }
body.titansystem-assigned-page .wp-site-blocks > main,
body.titansystem-assigned-page .wp-block-group.alignfull.has-global-padding,
body.titansystem-assigned-page .entry-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
.titansystem-template .hero, .titansystem-template .blog-hero { overflow: hidden; }
.titansystem-template table, .titansystem-template tbody, .titansystem-template tr, .titansystem-template td { max-width: 100%; }
@media (max-width: 640px) {
  .titansystem-template tr { width: 100%; }
  .titansystem-template .hero-orb { max-width: 72vw; }
}

/* TitanSystem Laura polish overrides. */
.titansystem-template {
  --accent: #82968c;
  --accent-dark: #5f7469;
  --font-body: "Poppins", Arial, sans-serif;
  --font-heading: "Poppins", Arial, sans-serif;
  --font-ui: "Poppins", Arial, sans-serif;
  --font-signature: "Poppins", Arial, sans-serif;
  font-family: var(--font-body);
}

.titansystem-template input,
.titansystem-template textarea,
.titansystem-template select {
  font-family: var(--font-body);
}

.titansystem-template h1,
.titansystem-template h2,
.titansystem-template h3,
.titansystem-template .article-header h1,
.titansystem-template .article-content h2,
.titansystem-template .blog-card h2,
.titansystem-template .related-posts h2 {
  font-family: var(--font-heading);
  letter-spacing: -.02em;
}

.titansystem-template .main-nav,
.titansystem-template .button,
.titansystem-template .eyebrow,
.titansystem-template .section-label,
.titansystem-template .service-card > span,
.titansystem-template .timeline span,
.titansystem-template .accordion summary,
.titansystem-template th,
.titansystem-template .ruheweg-hero h1,
.titansystem-template .ruheweg-section-title,
.titansystem-template .ruheweg-week-card h3,
.titansystem-template .ruheweg-feature-card h3,
.titansystem-template .ruheweg-price-card h3,
.titansystem-template .blog-hero h1 {
  font-family: var(--font-ui);
}

.titansystem-template blockquote {
  font-family: var(--font-heading);
}

.titansystem-template .article-signoff span {
  font-family: var(--font-signature);
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.25;
}

.titansystem-template .article-signoff img {
  flex: 0 0 64px;
  width: 64px;
  height: 64px;
  aspect-ratio: 1;
  border-radius: 999px;
  object-fit: cover;
}

.titansystem-template .titansystem-turnstile {
  display: flex;
  justify-content: center;
  margin: 16px 0;
}

.titansystem-template .hero-scroll-cue {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  grid-column: 1 / -1;
  justify-self: center;
  margin-top: clamp(8px, 2vw, 18px);
  color: var(--accent-dark);
  font-family: var(--font-ui);
  font-size: .8rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.titansystem-template .hero-scroll-cue span {
  width: 18px;
  height: 32px;
  border: 1px solid rgba(130, 150, 140, .55);
  border-radius: 999px;
  position: relative;
}

.titansystem-template .hero-scroll-cue span::after {
  content: "";
  width: 4px;
  height: 4px;
  border-radius: 999px;
  background: var(--accent);
  position: absolute;
  top: 7px;
  left: 50%;
  transform: translateX(-50%);
  animation: laura-scroll-dot 1.7s ease-in-out infinite;
}

.titansystem-template :focus,
.titansystem-template :focus-visible,
.titansystem-template summary:focus,
.titansystem-template summary:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}

body:not(.logged-in) .titansystem-template img {
  -webkit-user-drag: none;
  user-select: none;
}

.titansystem-template .site-header {
  min-height: 82px;
}

.titansystem-template .brand img {
  width: 235px;
  height: 58px;
}

.titansystem-template .button-primary,
.titansystem-template .main-nav .nav-cta {
  background: #82968c;
  color: #fff;
}

.titansystem-template .button-primary:hover,
.titansystem-template .main-nav .nav-cta:hover {
  background: #6f8579;
  color: #fff;
}

.titansystem-template .button-ghost {
  border-color: rgba(23, 23, 23, .18);
  background: rgba(255, 255, 255, .82);
}

.titansystem-template .button-ghost:hover {
  border-color: #82968c;
  color: #5f7469;
}

.titansystem-template .hero {
  grid-template-columns: minmax(0, 1.04fr) minmax(330px, .82fr);
  gap: clamp(38px, 5vw, 70px);
  min-height: auto;
  padding-top: clamp(124px, 12vh, 142px);
  padding-bottom: clamp(70px, 8vh, 96px);
  overflow: visible;
  isolation: isolate;
}

.titansystem-template .hero-content {
  min-width: 0;
  position: relative;
  isolation: isolate;
}

.titansystem-template .hero-content::before {
  content: "";
  position: absolute;
  inset: 9% auto auto -8%;
  width: 340px;
  height: 340px;
  border-radius: 50%;
  background:
    linear-gradient(90deg, rgba(130,150,140,.06) 1px, transparent 1px),
    linear-gradient(0deg, rgba(130,150,140,.05) 1px, transparent 1px);
  background-size: 34px 34px;
  mask-image: radial-gradient(circle, #000 0 46%, transparent 70%);
  pointer-events: none;
  z-index: -1;
}

.titansystem-template .hero h1 {
  font-size: clamp(3rem, 6.1vw, 6.1rem);
  line-height: 1.075;
  max-width: 760px;
}

.titansystem-template .hero-visual {
  isolation: isolate;
}

.titansystem-template .hero-visual::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 8% -10% 5% -8%;
  border-radius: 46% 54% 48% 52%;
  background:
    radial-gradient(circle at 68% 24%, rgba(130, 150, 140, .18), transparent 38%),
    radial-gradient(circle at 30% 78%, rgba(23, 23, 23, .07), transparent 42%),
    linear-gradient(135deg, rgba(130, 150, 140, .08), rgba(255, 255, 255, .2));
  filter: blur(.2px);
}

.titansystem-template .portrait-frame {
  transform: none;
  border: 9px solid rgba(255, 255, 255, .94);
  box-shadow: 0 22px 48px rgba(23, 23, 23, .10);
}

.titansystem-template .floating-card {
  box-shadow: 0 12px 32px rgba(23, 23, 23, .10);
}

@media (max-width: 950px) {
  .titansystem-template .hero {
    grid-template-columns: 1fr;
    padding-top: 118px;
  }
}

@media (max-width: 640px) {
  .titansystem-template .site-header {
    min-height: 76px;
  }

  .titansystem-template .brand img {
    width: 176px;
    height: 54px;
  }

  .titansystem-template .hero h1 {
    font-size: clamp(2.65rem, 13vw, 3.45rem);
  }

  .titansystem-template .hero {
    padding-top: 104px;
    padding-bottom: 72px;
  }
}

/* Ruheweg sales page. */
.titansystem-template .main-nav {
  gap: clamp(18px, 2vw, 36px);
  font-size: clamp(.94rem, 1vw, 1.08rem);
  font-weight: 500;
}

.titansystem-template .site-header {
  width: min(1240px, calc(100% - 32px));
}

.titansystem-template .menu-toggle {
  position: relative;
  place-items: center;
  border-radius: 999px;
}

.titansystem-template .menu-toggle span {
  transform-origin: center;
  transition:
    transform .34s cubic-bezier(.22, 1, .36, 1),
    opacity .2s ease,
    background .2s ease;
}

.titansystem-template .menu-toggle.is-open span:first-child {
  transform: translateY(4px) rotate(45deg);
}

.titansystem-template .menu-toggle.is-open span:last-child {
  transform: translateY(-4px) rotate(-45deg);
}

.titansystem-template .check-list li::before {
  content: "✓";
}

.titansystem-template .ruheweg-page {
  --ruhe-cream: #f7f3eb;
  --ruhe-paper: #fffdf8;
  --ruhe-sage: #82968c;
  --ruhe-sage-dark: #5f7469;
  --ruhe-gold: #b8914f;
  --ruhe-line: rgba(95, 116, 105, .18);
  --ruhe-shadow: 0 24px 70px rgba(54, 65, 59, .12);
  color: var(--ink);
  background: var(--ruhe-paper);
  font-family: var(--font-body);
}

.titansystem-template .ruheweg-page h1,
.titansystem-template .ruheweg-page h2,
.titansystem-template .ruheweg-page h3 {
  font-family: var(--font-heading);
  font-weight: 400;
  letter-spacing: -.025em;
}

.titansystem-template .ruheweg-page .ruheweg-hero h1,
.titansystem-template .ruheweg-page .ruheweg-section-title,
.titansystem-template .ruheweg-page .ruheweg-section-head h2,
.titansystem-template .ruheweg-page .ruheweg-intro h2,
.titansystem-template .ruheweg-page .ruheweg-community h2,
.titansystem-template .ruheweg-page .ruheweg-author h2,
.titansystem-template .ruheweg-page .ruheweg-purchase h2 {
  font-family: var(--font-heading);
  font-weight: 400;
}

.titansystem-template .ruheweg-page .eyebrow {
  color: var(--ruhe-sage-dark);
}

.titansystem-template .ruheweg-page .reveal {
  opacity: 0;
  transform: translateY(28px) scale(.985);
  filter: blur(8px);
  transition:
    opacity .82s cubic-bezier(.22, 1, .36, 1),
    transform .82s cubic-bezier(.22, 1, .36, 1),
    filter .82s cubic-bezier(.22, 1, .36, 1);
}

.titansystem-template .ruheweg-page .reveal.is-visible {
  opacity: 1;
  transform: none;
  filter: none;
}

.titansystem-template .ruheweg-page .delay-3 {
  transition-delay: .32s;
}

.titansystem-template .ruheweg-hero {
  position: relative;
  overflow: hidden;
  margin-top: 0;
  padding: clamp(128px, 13vw, 168px) 0 clamp(82px, 9vw, 128px);
  background: #182018;
  color: #fff;
}

.titansystem-template .ruheweg-hero__bg {
  position: absolute;
  z-index: 0;
  inset: -3%;
  background: url("../ruheweg-hero-bg.jpg") center center / cover no-repeat;
  transform: scale(1.02);
  transform-origin: 54% 44%;
  animation: ruhewegKenBurns 18s ease-in-out infinite alternate;
  will-change: transform;
}

.titansystem-template .ruheweg-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(21, 28, 22, .90) 0%, rgba(38, 46, 36, .72) 42%, rgba(38, 46, 36, .26) 72%, rgba(38, 46, 36, .12) 100%),
    linear-gradient(180deg, rgba(12, 16, 12, .10) 0%, rgba(12, 16, 12, .08) 58%, rgba(255, 253, 248, .72) 100%),
    radial-gradient(circle at 77% 30%, rgba(255, 235, 190, .22), transparent 27%),
    radial-gradient(circle at 18% 76%, rgba(130, 150, 140, .20), transparent 34%);
  opacity: 1;
  pointer-events: none;
}

.titansystem-template .ruheweg-hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  z-index: 1;
  height: clamp(110px, 16vw, 190px);
  background: linear-gradient(180deg, rgba(255, 253, 248, 0), var(--ruhe-paper));
  pointer-events: none;
}

.titansystem-template .ruheweg-hero__grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(360px, .8fr);
  align-items: center;
  gap: clamp(44px, 7vw, 96px);
}

.titansystem-template .ruheweg-hero__copy {
  max-width: 660px;
}

.titansystem-template .ruheweg-hero h1 {
  margin: 0;
  color: #fff;
  font-size: clamp(4rem, 8vw, 7.8rem);
  line-height: .94;
  text-shadow: 0 24px 60px rgba(0, 0, 0, .35);
  text-transform: uppercase;
}

.titansystem-template .ruheweg-hero h1 span {
  display: block;
  color: rgba(255, 255, 255, .72);
  font-size: .36em;
  letter-spacing: .16em;
}

.titansystem-template .ruheweg-hero__lead {
  max-width: 560px;
  margin: 28px 0 16px;
  color: #f1d6a1;
  font-size: clamp(1.28rem, 2.2vw, 2rem);
  font-weight: 700;
  line-height: 1.28;
}

.titansystem-template .ruheweg-hero__copy > p:not(.eyebrow):not(.ruheweg-hero__lead) {
  max-width: 560px;
  color: rgba(255, 255, 255, .82);
  font-size: 1.05rem;
}

.titansystem-template .ruheweg-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 30px 0 12px;
}

.titansystem-template .ruheweg-page .button {
  position: relative;
  overflow: hidden;
  transition: transform .34s cubic-bezier(.22, 1, .36, 1), box-shadow .34s ease, background .34s ease, border-color .34s ease, color .34s ease;
}

.titansystem-template .ruheweg-page .button::before {
  content: "";
  position: absolute;
  top: 0;
  left: -140%;
  width: 90%;
  height: 100%;
  background: linear-gradient(110deg, transparent, rgba(255, 255, 255, .30), transparent);
  transform: skewX(-18deg);
  transition: left .75s ease;
}

.titansystem-template .ruheweg-page .button:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 45px rgba(34, 42, 29, .20);
}

.titansystem-template .ruheweg-page .button:hover::before {
  left: 150%;
}

.titansystem-template .ruheweg-page .button span {
  position: relative;
  transition: transform .3s ease;
}

.titansystem-template .ruheweg-page .button:hover span {
  transform: translateX(4px);
}

.titansystem-template .ruheweg-hero small {
  color: rgba(255, 255, 255, .70);
}

.titansystem-template .ruheweg-purchase__action small {
  color: var(--muted);
}

.titansystem-template .ruheweg-hero .eyebrow {
  color: #f1d6a1;
}

.titansystem-template .ruheweg-hero .button-ghost {
  border-color: rgba(255, 255, 255, .38);
  background: rgba(255, 255, 255, .14);
  color: #fff;
  backdrop-filter: blur(14px);
}

.titansystem-template .ruheweg-hero .button-ghost:hover {
  border-color: rgba(255, 255, 255, .68);
  background: rgba(255, 255, 255, .22);
  color: #fff;
}

.titansystem-template .ruheweg-hero__art {
  position: relative;
  min-height: 540px;
  display: grid;
  place-items: center;
}

.titansystem-template .ruheweg-book-stack {
  position: relative;
  width: min(560px, 100%);
  min-height: 500px;
}

.titansystem-template .ruheweg-book-stack::before {
  content: "";
  position: absolute;
  inset: 12% 4% 4% 8%;
  border-radius: 44% 56% 48% 52%;
  background:
    radial-gradient(circle at 42% 30%, rgba(184, 145, 79, .20), transparent 36%),
    radial-gradient(circle at 62% 72%, rgba(130, 150, 140, .24), transparent 42%);
  filter: blur(10px);
}

.titansystem-template .ruheweg-book {
  position: absolute;
  z-index: 2;
  left: 50%;
  bottom: 0;
  width: 88%;
  transform: translateX(-50%);
  filter: drop-shadow(0 28px 34px rgba(23, 23, 23, .18));
}

.titansystem-template .ruheweg-intro,
.titansystem-template .ruheweg-community {
  display: grid;
  grid-template-columns: .9fr 1.05fr;
  align-items: center;
  gap: clamp(44px, 7vw, 92px);
  padding: clamp(86px, 9vw, 130px) 0;
}

.titansystem-template .ruheweg-photo-card {
  position: relative;
}

.titansystem-template .ruheweg-photo-card::before {
  content: "";
  position: absolute;
  inset: -24px auto -24px -22px;
  width: 128px;
  border-radius: 999px;
  background: linear-gradient(180deg, transparent, rgba(130, 150, 140, .18), transparent);
}

.titansystem-template .ruheweg-photo-card img {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: center 28%;
  border-radius: 34px;
  box-shadow: var(--ruhe-shadow);
  filter: saturate(.84);
}

.titansystem-template .ruheweg-intro h2,
.titansystem-template .ruheweg-section-head h2,
.titansystem-template .ruheweg-community h2,
.titansystem-template .ruheweg-author h2,
.titansystem-template .ruheweg-purchase h2 {
  margin: 0;
  font-size: clamp(2.35rem, 5vw, 4.6rem);
  line-height: 1.03;
}

.titansystem-template .ruheweg-intro__copy p {
  color: var(--muted);
}

.titansystem-template .ruheweg-intro blockquote {
  margin: 34px 0 0;
  border-left: 3px solid var(--ruhe-sage);
  padding-left: 22px;
  color: var(--ruhe-sage-dark);
  font-size: clamp(1.18rem, 2vw, 1.55rem);
}

.titansystem-template .ruheweg-bridge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: 28px;
  padding: 18px 24px;
  border: 1px solid rgba(130, 150, 140, .30);
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(255, 255, 255, .92), rgba(247, 243, 235, .92));
  color: var(--ruhe-sage-dark);
  font-size: clamp(1rem, 1.6vw, 1.16rem);
  font-weight: 800;
  box-shadow: 0 18px 46px rgba(54, 65, 59, .12);
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}

.titansystem-template .ruheweg-bridge::after {
  content: "↗";
  color: var(--ruhe-gold);
}

.titansystem-template .ruheweg-bridge:hover {
  transform: translateY(-2px);
  border-color: rgba(184, 145, 79, .38);
  box-shadow: 0 20px 46px rgba(54, 65, 59, .12);
}

.titansystem-template .ruheweg-bridge::after {
  content: "\2197";
}

.titansystem-template .ruheweg-journey,
.titansystem-template .ruheweg-preview,
.titansystem-template .ruheweg-author {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  padding: clamp(86px, 9vw, 128px) 0;
  background: var(--ruhe-cream);
}

.titansystem-template .ruheweg-section-head {
  max-width: 780px;
  margin: 0 auto clamp(38px, 5vw, 58px);
  text-align: center;
}

.titansystem-template .ruheweg-section-head > p:not(.eyebrow) {
  max-width: 680px;
  margin: 18px auto 0;
  color: var(--muted);
  font-size: clamp(1rem, 1.5vw, 1.13rem);
  line-height: 1.8;
}

.titansystem-template .ruheweg-journey__grid,
.titansystem-template .ruheweg-feature-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.titansystem-template .ruhekreis-room-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.titansystem-template .ruheweg-journey__grid {
  position: relative;
}

.titansystem-template .ruheweg-journey__grid::before {
  content: "";
  position: absolute;
  top: 59px;
  right: 10%;
  left: 10%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(215, 191, 146, .76), rgba(215, 191, 146, .76), transparent);
}

.titansystem-template .ruheweg-step,
.titansystem-template .ruheweg-feature-card,
.titansystem-template .ruheweg-preview__page {
  position: relative;
  border: 1px solid var(--ruhe-line);
  border-radius: 28px;
  background: rgba(255, 255, 255, .78);
  padding: clamp(24px, 3vw, 34px);
  box-shadow: 0 16px 45px rgba(54, 65, 59, .06);
  transition: transform .38s cubic-bezier(.22, 1, .36, 1), box-shadow .38s ease, border-color .38s ease;
}

.titansystem-template .ruheweg-step {
  z-index: 1;
  min-height: 260px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.titansystem-template .ruheweg-step span,
.titansystem-template .ruheweg-feature-card span,
.titansystem-template .ruheweg-preview__page small {
  color: var(--ruhe-gold);
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.titansystem-template .ruheweg-step .ruheweg-step__icon,
.titansystem-template .ruheweg-feature-card .ruheweg-feature-card__icon {
  display: grid;
  place-items: center;
  color: var(--ruhe-sage);
  font-family: inherit;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1;
  text-transform: none;
}

.titansystem-template .ruheweg-step .ruheweg-step__icon svg,
.titansystem-template .ruheweg-feature-card .ruheweg-feature-card__icon svg {
  display: block;
  width: 46px;
  height: 46px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.75;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.titansystem-template .ruheweg-step .ruheweg-step__icon {
  width: 104px;
  height: 104px;
  margin: 0 auto 24px;
  border: 1px solid rgba(215, 191, 146, .86);
  border-radius: 50%;
  background: var(--ruhe-paper);
  box-shadow: 0 12px 35px rgba(63, 73, 55, .08);
  transition: transform .4s cubic-bezier(.22, 1, .36, 1), box-shadow .4s ease;
}

.titansystem-template .ruheweg-feature-card .ruheweg-feature-card__icon {
  margin-bottom: 24px;
}

.titansystem-template .ruheweg-feature-card .ruheweg-feature-card__icon svg {
  width: 52px;
  height: 52px;
}

.titansystem-template .ruheweg-step h3,
.titansystem-template .ruheweg-feature-card h3,
.titansystem-template .ruheweg-preview__page h3 {
  margin: auto 0 14px;
  color: var(--ink);
  font-size: clamp(1.45rem, 2vw, 2rem);
}

.titansystem-template .ruheweg-step:hover,
.titansystem-template .ruheweg-feature-card:hover,
.titansystem-template .ruheweg-preview__page:hover {
  transform: translateY(-8px);
  border-color: rgba(184, 145, 79, .28);
  box-shadow: 0 24px 64px rgba(54, 65, 59, .12);
}

.titansystem-template .ruheweg-step:hover .ruheweg-step__icon {
  transform: translateY(-7px) scale(1.03);
  box-shadow: 0 18px 45px rgba(63, 73, 55, .15);
}

.titansystem-template .ruheweg-step p,
.titansystem-template .ruheweg-feature-card p,
.titansystem-template .ruheweg-preview__page p {
  margin: 0;
  color: var(--muted);
}

.titansystem-template .ruheweg-features,
.titansystem-template .ruheweg-purchase,
.titansystem-template .ruheweg-faq {
  padding: clamp(86px, 9vw, 128px) 0;
}

.titansystem-template .ruheweg-feature-card {
  min-height: 250px;
  text-align: center;
}

.titansystem-template .ruheweg-preview__grid {
  display: grid;
  grid-template-columns: .8fr 1fr 1fr;
  gap: 24px;
  align-items: stretch;
}

.titansystem-template .ruheweg-preview__cover {
  margin: 0;
  border-radius: 28px;
  overflow: hidden;
  display: grid;
  place-items: center;
  padding: clamp(20px, 4vw, 34px);
  background:
    radial-gradient(circle at 50% 18%, rgba(184, 145, 79, .16), transparent 34%),
    linear-gradient(145deg, #fffdf8, #eef2ed);
  box-shadow: var(--ruhe-shadow);
}

.titansystem-template .ruheweg-preview__cover img {
  width: min(100%, 340px);
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 28px 32px rgba(23, 23, 23, .18));
}

.titansystem-template .ruheweg-preview__page {
  min-height: 360px;
}

.titansystem-template .ruheweg-preview__page span {
  display: block;
  height: 1px;
  margin: 18px 0;
  background: rgba(95, 116, 105, .18);
}

.titansystem-template .ruheweg-community__art {
  min-height: 340px;
  overflow: hidden;
  border-radius: 38px;
  background: #e8ede8;
  box-shadow: var(--ruhe-shadow);
}

.titansystem-template .ruheweg-community__art img {
  width: 100%;
  height: 100%;
  min-height: 340px;
  object-fit: cover;
  object-position: center;
  filter: saturate(.92) contrast(.98);
}

.titansystem-template .ruheweg-author__card {
  display: grid;
  grid-template-columns: 310px minmax(0, 1fr);
  gap: clamp(34px, 6vw, 70px);
  align-items: center;
  width: min(980px, calc(100% - 40px));
  margin: auto;
  border: 1px solid rgba(255, 255, 255, .78);
  border-radius: 34px;
  background: rgba(255, 255, 255, .82);
  padding: clamp(24px, 4vw, 46px);
  box-shadow: var(--ruhe-shadow);
}

.titansystem-template .ruheweg-author__card img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: center 25%;
  border-radius: 26px;
}

.titansystem-template .ruheweg-purchase__card {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(260px, .58fr);
  gap: clamp(30px, 5vw, 56px);
  align-items: center;
  border: 1px solid rgba(130, 150, 140, .20);
  border-radius: 38px;
  background: linear-gradient(115deg, #f7f3eb, #fbfbf9);
  padding: clamp(26px, 5vw, 54px);
  box-shadow: var(--ruhe-shadow);
}

.titansystem-template .ruheweg-purchase__product {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: clamp(22px, 4vw, 42px);
  align-items: center;
}

.titansystem-template .ruheweg-purchase__product img {
  max-height: 330px;
  filter: drop-shadow(0 22px 24px rgba(23, 23, 23, .16));
}

.titansystem-template .ruheweg-purchase__action {
  border-left: 1px solid var(--ruhe-line);
  padding-left: clamp(24px, 4vw, 46px);
  text-align: center;
}

.titansystem-template .ruheweg-price {
  margin: 0 0 6px;
  color: var(--ruhe-sage-dark);
  font-size: clamp(3.2rem, 5vw, 5rem);
  font-weight: 800;
  letter-spacing: -.06em;
  line-height: 1;
}

.titansystem-template .ruheweg-price .titansystem-price-cents,
.titansystem-template .ruheweg-price .price-cents {
  display: inline-block;
  margin-left: .05em;
  font-size: .38em;
  line-height: 1;
  vertical-align: super;
  letter-spacing: -.02em;
}

.titansystem-template .ruheweg-purchase__action .button {
  width: 100%;
  margin: 18px 0 10px;
}

.titansystem-template .ruheweg-accordion {
  max-width: 840px;
  margin: auto;
}

.titansystem-template .ruheweg-accordion details {
  border-color: var(--ruhe-line);
}

.titansystem-template .ruheweg-accordion summary {
  font-size: 1.05rem;
}

.titansystem-template .ruhekreis-page .ruheweg-hero__bg {
  background: url("../ruhekreis-hero.jpg") center center / cover no-repeat;
}

.titansystem-template .ruhekreis-page .ruheweg-hero::before {
  background:
    linear-gradient(90deg, rgba(21, 28, 22, .88) 0%, rgba(38, 46, 36, .70) 46%, rgba(38, 46, 36, .25) 76%, rgba(38, 46, 36, .14) 100%),
    linear-gradient(180deg, rgba(12, 16, 12, .14) 0%, rgba(12, 16, 12, .08) 58%, rgba(255, 253, 248, .72) 100%),
    radial-gradient(circle at 78% 32%, rgba(184, 145, 79, .26), transparent 30%),
    radial-gradient(circle at 20% 72%, rgba(130, 150, 140, .22), transparent 34%);
}

.titansystem-template .ruhekreis-hero-card {
  position: relative;
  width: min(520px, 100%);
  border: 10px solid rgba(255, 255, 255, .82);
  border-radius: 40px;
  overflow: hidden;
  box-shadow: 0 30px 80px rgba(0, 0, 0, .26);
}

.titansystem-template .ruhekreis-hero-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent, rgba(19, 26, 19, .18));
  pointer-events: none;
}

.titansystem-template .ruhekreis-hero-card img {
  width: 100%;
  aspect-ratio: 4 / 5;
  height: auto;
  object-fit: cover;
  filter: saturate(.92) contrast(.98);
}

.titansystem-template .ruhekreis-values {
  display: grid;
  grid-template-columns: minmax(260px, .82fr) minmax(0, 1fr);
  gap: clamp(34px, 6vw, 72px);
  align-items: center;
}

.titansystem-template .ruhekreis-values__art {
  position: relative;
  border-radius: 34px;
  background: linear-gradient(145deg, rgba(255, 255, 255, .92), rgba(247, 243, 235, .82));
  padding: clamp(14px, 3vw, 26px);
  box-shadow: var(--ruhe-shadow);
}

.titansystem-template .ruhekreis-values__art::before {
  content: "";
  position: absolute;
  inset: -20px;
  z-index: -1;
  border-radius: 42px;
  background: radial-gradient(circle, rgba(184, 154, 99, .16), transparent 66%);
}

.titansystem-template .ruhekreis-values__art img {
  width: 100%;
  display: block;
  border-radius: 26px;
}

.titansystem-template .ruhekreis-values__copy h2,
.titansystem-template .ruhekreis-local h2 {
  margin: 0 0 24px;
  font-size: clamp(2.25rem, 5vw, 4.2rem);
  line-height: 1.04;
}

.titansystem-template .ruhekreis-values__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.titansystem-template .ruhekreis-values__grid article,
.titansystem-template .ruhekreis-tag-cloud li {
  border: 1px solid rgba(130, 150, 140, .18);
  border-radius: 24px;
  background: rgba(255, 255, 255, .78);
  box-shadow: 0 16px 40px rgba(54, 65, 59, .08);
}

.titansystem-template .ruhekreis-values__grid article {
  padding: 20px;
}

.titansystem-template .ruhekreis-values__grid h3 {
  margin: 0 0 8px;
  color: var(--ruhe-sage-dark);
  font-size: 1.04rem;
}

.titansystem-template .ruhekreis-values__grid p {
  margin: 0;
  color: var(--muted);
  font-size: .95rem;
  line-height: 1.65;
}

.titansystem-template .ruhekreis-personas {
  padding-top: 0;
}

.titansystem-template .ruhekreis-tag-cloud {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  max-width: 860px;
  margin: 0 auto;
  padding: 0;
  list-style: none;
}

.titansystem-template .ruhekreis-tag-cloud li {
  padding: 12px 18px;
  color: var(--ruhe-sage-dark);
  font-weight: 700;
}

.titansystem-template .ruhekreis-local {
  padding-top: 0;
}

.titansystem-template .ruhekreis-local__card {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(130, 150, 140, .20);
  border-radius: 38px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .84), rgba(247, 243, 235, .92)),
    radial-gradient(circle at 85% 18%, rgba(184, 154, 99, .16), transparent 36%);
  padding: clamp(30px, 6vw, 64px);
  box-shadow: var(--ruhe-shadow);
}

.titansystem-template .ruhekreis-local__text {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(16px, 3vw, 28px);
}

.titansystem-template .ruhekreis-local__text p {
  margin: 0;
  color: var(--muted);
  line-height: 1.75;
}

.titansystem-template .ruhekreis-page .ruheweg-purchase__product img {
  width: 100%;
  max-height: 340px;
  object-fit: cover;
  border-radius: 28px;
  filter: saturate(.92) drop-shadow(0 22px 24px rgba(23, 23, 23, .12));
}

@media (max-width: 1120px) {
  .titansystem-template .main-nav {
    gap: 17px;
    font-size: .94rem;
  }

  .titansystem-template .main-nav .nav-cta {
    padding-inline: 14px;
  }
}

@media (max-width: 950px) {
  .titansystem-template .menu-toggle {
    display: grid;
  }

  .titansystem-template .main-nav {
    visibility: hidden;
    gap: 18px;
    font-size: .93rem;
    transform: translateY(-12px) scale(.985);
    filter: blur(4px);
    transition:
      opacity .3s cubic-bezier(.22, 1, .36, 1),
      transform .3s cubic-bezier(.22, 1, .36, 1),
      filter .3s ease,
      visibility .3s ease;
  }

  .titansystem-template .main-nav.open {
    visibility: visible;
    transform: none;
    filter: none;
  }

  .titansystem-template .ruheweg-hero__grid,
  .titansystem-template .ruheweg-intro,
  .titansystem-template .ruheweg-community,
  .titansystem-template .ruhekreis-values,
  .titansystem-template .ruheweg-purchase__card {
    grid-template-columns: 1fr;
  }

  .titansystem-template .ruheweg-hero__copy {
    max-width: none;
    text-align: center;
  }

  .titansystem-template .ruheweg-hero__copy > p,
  .titansystem-template .ruheweg-hero__lead,
  .titansystem-template .ruheweg-actions {
    margin-left: auto;
    margin-right: auto;
    justify-content: center;
  }

  .titansystem-template .ruheweg-hero__art {
    min-height: 460px;
  }

  .titansystem-template .ruheweg-journey__grid,
  .titansystem-template .ruhekreis-room-grid,
  .titansystem-template .ruhekreis-values__grid,
  .titansystem-template .ruhekreis-local__text,
  .titansystem-template .ruheweg-feature-grid,
  .titansystem-template .ruheweg-preview__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .titansystem-template .ruheweg-journey__grid::before {
    display: none;
  }

  .titansystem-template .ruheweg-purchase__action {
    border-left: 0;
    border-top: 1px solid var(--ruhe-line);
    padding: 30px 0 0;
  }
}

@media (max-width: 640px) {
  .titansystem-template .ruheweg-hero {
    padding-top: 118px;
    padding-bottom: 58px;
  }

  .titansystem-template .ruheweg-hero h1 {
    font-size: clamp(3.3rem, 17vw, 4.6rem);
  }

  .titansystem-template .ruheweg-actions {
    position: relative;
    z-index: 4;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: min(100%, 340px);
    gap: 10px;
    margin-top: 24px;
    margin-bottom: 16px;
  }

  .titansystem-template .ruheweg-actions .button {
    min-width: 0;
    padding: 13px 12px;
    white-space: nowrap;
  }

  .titansystem-template .ruheweg-hero__art {
    min-height: 268px;
    margin-top: 6px;
    pointer-events: none;
  }

  .titansystem-template .ruheweg-book-stack {
    width: min(258px, 68vw);
    min-height: 268px;
  }

  .titansystem-template .ruheweg-book-stack::before {
    inset: 24% 1% 4%;
    filter: blur(12px);
  }

  .titansystem-template .ruheweg-book {
    width: 100%;
    max-height: 268px;
    object-fit: contain;
  }

  .titansystem-template .ruheweg-journey__grid,
  .titansystem-template .ruhekreis-room-grid,
  .titansystem-template .ruhekreis-values__grid,
  .titansystem-template .ruhekreis-local__text,
  .titansystem-template .ruheweg-feature-grid,
  .titansystem-template .ruheweg-preview__grid,
  .titansystem-template .ruheweg-author__card,
  .titansystem-template .ruheweg-purchase__product {
    grid-template-columns: 1fr;
  }

  .titansystem-template .ruheweg-preview__cover {
    max-width: 290px;
    margin: auto;
  }

  .titansystem-template .ruheweg-author__card {
    width: min(100% - 24px, 980px);
  }

  .titansystem-template .ruheweg-step .ruheweg-step__icon {
    width: 92px;
    height: 92px;
  }

  .titansystem-template .ruheweg-step .ruheweg-step__icon svg {
    width: 40px;
    height: 40px;
  }
}

@keyframes ruhewegKenBurns {
  0% {
    transform: scale(1.02) translate3d(0, 0, 0);
  }

  100% {
    transform: scale(1.105) translate3d(-1.5%, 1.2%, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .titansystem-template .ruheweg-hero__bg {
    animation: none;
    transform: scale(1.03);
  }

  .titansystem-template .ruheweg-page .reveal {
    opacity: 1;
    transform: none;
    filter: none;
    transition: none;
  }

  .titansystem-template .ruheweg-page .button,
  .titansystem-template .ruheweg-step,
  .titansystem-template .ruheweg-feature-card,
  .titansystem-template .ruheweg-preview__page,
  .titansystem-template .ruheweg-step__icon {
    transition: none;
  }
}

/* Laura original welcome/content polish. */
.titansystem-template {
  font-family: "Poppins", Arial, sans-serif;
}

.titansystem-template h1,
.titansystem-template h2,
.titansystem-template h3,
.titansystem-template h4,
.titansystem-template .button,
.titansystem-template .main-nav,
.titansystem-template .floating-card,
.titansystem-template blockquote {
  font-family: "Poppins", Arial, sans-serif;
}

.titansystem-template .welcome-band {
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  min-height: clamp(560px, 68vw, 760px);
  display: flex;
  align-items: end;
  overflow: hidden;
  background: #e8ede8;
}

.titansystem-template .welcome-band__image,
.titansystem-template .welcome-band__image img,
.titansystem-template .welcome-band__overlay {
  position: absolute;
  inset: 0;
}

.titansystem-template .welcome-band__image img {
  width: 100%;
  height: 116%;
  object-fit: cover;
  object-position: center 38%;
  transform: translate3d(0, var(--laura-parallax-y, 0px), 0) scale(1.035);
  will-change: transform;
}

.titansystem-template .welcome-band__overlay {
  background:
    linear-gradient(90deg, rgba(251, 251, 249, .96) 0%, rgba(251, 251, 249, .76) 39%, rgba(251, 251, 249, .18) 72%),
    linear-gradient(0deg, rgba(251, 251, 249, 1) 0%, rgba(251, 251, 249, 0) 32%);
}

.titansystem-template .welcome-band__content {
  position: relative;
  z-index: 1;
  padding: clamp(84px, 10vw, 140px) 0 clamp(70px, 9vw, 118px);
}

.titansystem-template .welcome-card {
  max-width: 700px;
  padding: clamp(28px, 5vw, 54px);
  border: 1px solid rgba(255, 255, 255, .74);
  border-radius: 34px;
  background: rgba(255, 255, 255, .72);
  box-shadow: 0 28px 85px rgba(23, 23, 23, .10);
  backdrop-filter: blur(18px);
}

.titansystem-template .welcome-card .section-label {
  margin: 0 0 28px;
  border-top-color: rgba(130, 150, 140, .35);
}

.titansystem-template .welcome-card h2,
.titansystem-template .soul-section h2 {
  font-size: clamp(2.35rem, 5.2vw, 5.35rem);
  line-height: .99;
  letter-spacing: -.065em;
  margin: 0;
}

.titansystem-template .welcome-card__lead {
  max-width: 620px;
  margin: 26px 0 24px;
  color: var(--accent-dark);
  font-size: clamp(1.05rem, 1.8vw, 1.35rem);
  font-weight: 700;
  line-height: 1.5;
}

.titansystem-template .welcome-card blockquote {
  margin: 0;
  color: var(--ink);
  font-size: clamp(1.22rem, 2vw, 1.65rem);
  line-height: 1.35;
}

.titansystem-template .welcome-band {
  min-height: clamp(640px, 72vw, 860px);
  align-items: center;
}

.titansystem-template .welcome-band__image img {
  opacity: 1;
  object-position: center center;
  filter: saturate(.96) contrast(.98);
}

.titansystem-template .welcome-band__overlay {
  background:
    linear-gradient(90deg, rgba(13, 26, 21, .24) 0%, rgba(246, 250, 247, .42) 38%, rgba(246, 250, 247, .08) 100%),
    linear-gradient(0deg, rgba(251, 251, 249, .9) 0%, rgba(251, 251, 249, .15) 30%, rgba(251, 251, 249, .05) 100%);
}

.titansystem-template .welcome-band__content {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(280px, .55fr);
  align-items: center;
  gap: clamp(26px, 5vw, 76px);
  width: min(1180px, calc(100% - 40px));
}

.titansystem-template .welcome-card {
  max-width: 650px;
  background: rgba(255, 255, 255, .78);
}

.titansystem-template .welcome-quote {
  justify-self: end;
  max-width: 460px;
  margin: 0;
  padding: clamp(24px, 4vw, 42px);
  border: 1px solid rgba(255, 255, 255, .52);
  border-radius: 30px;
  background: rgba(22, 32, 29, .5);
  color: #fff;
  box-shadow: 0 26px 70px rgba(15, 24, 21, .18);
  backdrop-filter: blur(14px);
  font-family: "Poppins", Arial, sans-serif;
  font-size: clamp(1.5rem, 3vw, 2.7rem);
  font-weight: 700;
  line-height: 1.14;
  letter-spacing: -.055em;
  text-wrap: balance;
}

.titansystem-template .welcome-quote::after {
  content: "";
  display: block;
  width: 108px;
  height: 10px;
  margin-top: 24px;
  border-bottom: 3px solid rgba(255, 255, 255, .78);
  border-radius: 50%;
  transform: skewX(-18deg);
}

.titansystem-template .welcome-quote.is-visible {
  animation: lauraQuoteWave .9s cubic-bezier(.2, .8, .2, 1) both;
}

@keyframes lauraQuoteWave {
  0% { opacity: 0; transform: translateY(18px) rotate(-1deg); filter: blur(10px); }
  55% { opacity: 1; transform: translateY(-4px) rotate(.6deg); filter: blur(0); }
  100% { opacity: 1; transform: none; filter: blur(0); }
}

.titansystem-template .soul-section {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
  gap: clamp(48px, 8vw, 110px);
  padding-top: clamp(88px, 10vw, 140px);
  padding-bottom: clamp(88px, 10vw, 140px);
}

.titansystem-template .soul-section h2 em {
  color: #82968c;
  font-style: italic;
}

.titansystem-template .soul-section__body {
  color: var(--muted);
  font-size: clamp(1.03rem, 1.2vw, 1.16rem);
}

.titansystem-template .soul-section__body p {
  margin: 0 0 22px;
}

.titansystem-template .calm-list {
  display: grid;
  gap: 12px;
  margin: 30px 0 0;
  padding: 0;
  list-style: none;
}

.titansystem-template .calm-list li {
  position: relative;
  padding: 18px 20px 18px 54px;
  border: 1px solid rgba(130, 150, 140, .18);
  border-radius: 18px;
  background: rgba(255, 255, 255, .72);
  color: var(--ink);
  box-shadow: 0 12px 34px rgba(23, 23, 23, .045);
}

.titansystem-template .calm-list li::before {
  content: "";
  position: absolute;
  left: 20px;
  top: 22px;
  width: 12px;
  height: 12px;
  border-radius: 999px;
  background: #82968c;
  box-shadow: 0 0 0 7px rgba(130, 150, 140, .16);
}

.titansystem-template .accordion details {
  overflow: hidden;
}

.titansystem-template .accordion summary span {
  transition: transform .32s ease;
}

.titansystem-template .accordion details[open] summary span {
  transform: rotate(45deg);
}

.titansystem-template .accordion details p {
  overflow: hidden;
  max-height: var(--accordion-height, 260px);
  opacity: 1;
  transform: translateY(0);
  transition: max-height .42s ease, opacity .32s ease, transform .32s ease;
}

.titansystem-template .accordion details:not([open]) p,
.titansystem-template .accordion details.is-closing p {
  max-height: 0;
  opacity: 0;
  transform: translateY(-6px);
}

.titansystem-template .back-to-top {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 90;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 999px;
  background: #82968c;
  color: #fff;
  box-shadow: 0 14px 34px rgba(23, 23, 23, .18);
  opacity: 0;
  pointer-events: none;
  transform: translateY(18px);
  transition: opacity .28s ease, transform .28s ease, background .22s ease;
}

.titansystem-template .back-to-top.is-visible {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.titansystem-template .back-to-top:hover {
  background: #6f8579;
  transform: translateY(-4px);
}

@media (max-width: 950px) {
  .titansystem-template .welcome-band {
    min-height: 760px;
    align-items: end;
  }

  .titansystem-template .welcome-band__overlay {
    background:
      linear-gradient(0deg, rgba(251, 251, 249, .96) 0%, rgba(251, 251, 249, .68) 43%, rgba(251, 251, 249, .18) 100%),
      linear-gradient(90deg, rgba(18, 30, 25, .2), rgba(18, 30, 25, .04));
  }

  .titansystem-template .welcome-band__content {
    grid-template-columns: 1fr;
    align-content: end;
    gap: 18px;
    padding-top: clamp(120px, 18vw, 170px);
  }

  .titansystem-template .welcome-quote {
    justify-self: start;
    max-width: min(100%, 560px);
    background: rgba(255, 255, 255, .82);
    color: var(--ink);
  }

  .titansystem-template .welcome-quote::after {
    border-bottom-color: rgba(130, 150, 140, .72);
  }

  .titansystem-template .soul-section {
    grid-template-columns: 1fr;
    gap: 34px;
  }
}

@media (max-width: 640px) {
  .titansystem-template .welcome-band {
    min-height: 740px;
  }

  .titansystem-template .welcome-card {
    border-radius: 26px;
    padding: 24px;
  }

  .titansystem-template .welcome-card h2,
  .titansystem-template .soul-section h2 {
    font-size: clamp(2.25rem, 12vw, 3.25rem);
  }

  .titansystem-template .welcome-quote {
    padding: 22px;
    border-radius: 24px;
    font-size: clamp(1.25rem, 7vw, 1.85rem);
  }

  .titansystem-template .back-to-top {
    right: 14px;
    bottom: 14px;
    width: 40px;
    height: 40px;
  }
}

/* Privacy-safe local Poppins and native form polish. */
.titansystem-template,
.titansystem-template button,
.titansystem-template input,
.titansystem-template textarea,
.titansystem-template select {
  font-family: "Poppins", Arial, sans-serif;
}

.titansystem-template h1,
.titansystem-template h2,
.titansystem-template h3,
.titansystem-template h4,
.titansystem-template blockquote,
.titansystem-template .button,
.titansystem-template .main-nav,
.titansystem-template .floating-card,
.titansystem-template .timeline span,
.titansystem-template table th {
  font-family: "Poppins", Arial, sans-serif;
}

.titansystem-template .form-honeypot {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.titansystem-template .contact-form button[disabled] {
  cursor: wait;
  opacity: .72;
  transform: none;
}

.titansystem-template .contact-form [data-titan-form-status] {
  min-height: 1.4em;
}

.titansystem-template .ruheweg-thankyou {
  position: relative;
  min-height: calc(100vh - 90px);
  overflow: hidden;
  isolation: isolate;
  display: flex;
  align-items: center;
  padding: clamp(120px, 14vw, 190px) 0 clamp(70px, 8vw, 120px);
  color: #fff;
}

.titansystem-template .ruheweg-thankyou::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(circle at 18% 20%, rgba(130, 150, 140, .52), transparent 34%),
    linear-gradient(105deg, rgba(18, 29, 23, .94), rgba(18, 29, 23, .74) 52%, rgba(18, 29, 23, .55));
}

.titansystem-template .ruheweg-thankyou::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  z-index: -1;
  height: 36%;
  background: linear-gradient(0deg, #fbfbf9 0%, rgba(251, 251, 249, 0) 100%);
}

.titansystem-template .ruheweg-thankyou__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(280px, .75fr);
  gap: clamp(36px, 7vw, 96px);
  align-items: center;
}

.titansystem-template .ruheweg-thankyou__card {
  background: rgba(255, 255, 255, .13);
  border: 1px solid rgba(255, 255, 255, .24);
  border-radius: 34px;
  box-shadow: 0 34px 110px rgba(0, 0, 0, .24);
  backdrop-filter: blur(18px);
  padding: clamp(30px, 5vw, 58px);
}

.titansystem-template .ruheweg-thankyou__card h1 {
  color: #fff;
  font-size: clamp(42px, 8vw, 86px);
  line-height: .96;
  letter-spacing: -.065em;
  margin: 12px 0 18px;
}

.titansystem-template .ruheweg-thankyou__card p {
  color: rgba(255, 255, 255, .82);
  font-size: clamp(16px, 1.4vw, 19px);
  line-height: 1.75;
}

.titansystem-template .ruheweg-thankyou__order {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  margin: 18px 0 0;
  padding: 10px 14px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .14);
}

.titansystem-template .ruheweg-thankyou__steps {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px 14px;
  margin: 28px 0 30px;
}

.titansystem-template .ruheweg-thankyou__steps span {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #82968c;
  color: #fff;
  font-weight: 800;
}

.titansystem-template .ruheweg-thankyou__steps p {
  margin: 3px 0 0;
}

.titansystem-template .ruheweg-thankyou__visual {
  position: relative;
  display: grid;
  place-items: center;
}

.titansystem-template .ruheweg-thankyou__visual::before {
  content: "";
  position: absolute;
  width: 78%;
  height: 78%;
  border-radius: 44%;
  background: rgba(255, 255, 255, .18);
  filter: blur(28px);
}

.titansystem-template .ruheweg-thankyou__visual img {
  position: relative;
  width: min(90%, 420px);
  filter: drop-shadow(0 32px 55px rgba(0, 0, 0, .28));
}

@media (max-width: 860px) {
  .titansystem-template .ruheweg-thankyou__grid {
    grid-template-columns: 1fr;
  }

  .titansystem-template .ruheweg-thankyou__visual {
    order: -1;
  }

  .titansystem-template .ruheweg-thankyou__visual img {
    width: min(62vw, 280px);
  }
}

.titansystem-template .legal-page {
  background:
    radial-gradient(circle at 84% 12%, rgba(130, 150, 140, .14), transparent 32%),
    linear-gradient(180deg, #fbfbf9 0%, #f5f5f2 100%);
  min-height: 100vh;
  padding: clamp(130px, 14vw, 190px) 0 clamp(70px, 9vw, 130px);
}

.titansystem-template .legal-hero {
  margin-bottom: clamp(28px, 5vw, 54px);
}

.titansystem-template .legal-hero h1 {
  max-width: 9ch;
  margin: 10px 0 16px;
  color: var(--ink);
  font-size: clamp(56px, 12vw, 128px);
  line-height: .86;
  letter-spacing: -.075em;
}

.titansystem-template .legal-hero p:last-child {
  max-width: 58ch;
  color: var(--muted);
  font-size: clamp(17px, 1.5vw, 21px);
  line-height: 1.65;
}

.titansystem-template .legal-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 420px);
  gap: clamp(22px, 4vw, 42px);
  align-items: start;
}

.titansystem-template .legal-layout--wide {
  grid-template-columns: minmax(0, 1fr) minmax(260px, 360px);
}

.titansystem-template .legal-card {
  border: 1px solid rgba(23, 23, 23, .08);
  border-radius: 34px;
  background: rgba(255, 255, 255, .78);
  box-shadow: 0 24px 80px rgba(23, 23, 23, .08);
  padding: clamp(28px, 4vw, 52px);
}

.titansystem-template .legal-card h2 {
  margin: 34px 0 12px;
  color: var(--ink);
  font-size: clamp(24px, 3vw, 38px);
  line-height: 1.05;
  letter-spacing: -.045em;
}

.titansystem-template .legal-card h2:first-child {
  margin-top: 0;
}

.titansystem-template .legal-card p,
.titansystem-template .legal-card li {
  color: var(--muted);
  font-size: 16px;
  line-height: 1.78;
}

.titansystem-template .legal-card a {
  color: var(--accent-dark);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.titansystem-template .legal-sources,
.titansystem-template .legal-index {
  position: sticky;
  top: 118px;
}

.titansystem-template .legal-sources ul,
.titansystem-template .legal-index ul {
  display: grid;
  gap: 12px;
  padding: 0;
  margin: 0 0 20px;
  list-style: none;
}

.titansystem-template .legal-sources li,
.titansystem-template .legal-index li {
  border-radius: 18px;
  background: rgba(130, 150, 140, .09);
  padding: 14px 16px;
}

.titansystem-template .legal-note {
  margin-top: 22px;
  border-left: 3px solid var(--accent);
  padding-left: 14px;
}

@media (max-width: 920px) {
  .titansystem-template .legal-layout,
  .titansystem-template .legal-layout--wide {
    grid-template-columns: 1fr;
  }

  .titansystem-template .legal-sources,
  .titansystem-template .legal-index {
    position: static;
  }
}

/* Final Laura UX polish. */
.titansystem-template .site-header {
  min-height: 86px;
}

.titansystem-template .brand img {
  width: 252px;
  height: 64px;
}

.titansystem-template .menu-toggle span {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 23px;
  height: 1.5px;
  margin: 0;
  border-radius: 999px;
  background: #171717;
  transform: translate(-50%, -4px);
}

.titansystem-template .menu-toggle span:last-child {
  transform: translate(-50%, 4px);
}

.titansystem-template .menu-toggle.is-open span:first-child {
  transform: translate(-50%, -50%) rotate(45deg);
}

.titansystem-template .menu-toggle.is-open span:last-child {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.titansystem-template .contact-form {
  transition:
    min-height .42s cubic-bezier(.22, 1, .36, 1),
    padding .42s cubic-bezier(.22, 1, .36, 1),
    background .42s ease;
}

.titansystem-template .contact-form label,
.titansystem-template .contact-form button[type="submit"] {
  overflow: hidden;
  max-height: 170px;
  opacity: 1;
  transform: translateY(0);
  transition:
    opacity .28s ease,
    max-height .42s cubic-bezier(.22, 1, .36, 1),
    margin .42s cubic-bezier(.22, 1, .36, 1),
    transform .32s ease;
}

.titansystem-template .contact-form.is-sent label:not(.form-honeypot),
.titansystem-template .contact-form.is-sent button[type="submit"] {
  max-height: 0;
  margin: 0;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-8px);
}

.titansystem-template .contact-form [data-titan-form-status] {
  transition:
    color .25s ease,
    min-height .42s cubic-bezier(.22, 1, .36, 1),
    opacity .25s ease;
}

.titansystem-template .contact-form.is-sent [data-titan-form-status] {
  display: grid;
  min-height: 190px;
  place-items: center;
  margin-top: 0;
  color: #5f7469;
  font-size: 1rem;
  line-height: 1.6;
}

.titansystem-template .contact-form.is-sent [data-titan-form-status] strong {
  display: block;
  margin-bottom: 8px;
  color: #171717;
  font-size: 1.28rem;
  line-height: 1.25;
}

@media (max-width: 950px) {
  .titansystem-template .main-nav {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-10px) scale(.98);
    filter: blur(5px);
    transition:
      opacity .38s cubic-bezier(.22, 1, .36, 1),
      transform .38s cubic-bezier(.22, 1, .36, 1),
      filter .38s ease,
      visibility .38s ease;
  }

  .titansystem-template .main-nav.open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
    filter: none;
  }
}

@media (max-width: 640px) {
  .titansystem-template .site-header {
    min-height: 78px;
  }

  .titansystem-template .brand img {
    width: 190px;
    height: 58px;
  }

  .titansystem-template .ruheweg-hero__art {
    min-height: 308px;
  }

  .titansystem-template .ruheweg-book-stack {
    width: min(300px, 76vw);
    min-height: 308px;
  }

  .titansystem-template .ruheweg-book {
    max-height: 308px;
  }
}

/* Homepage content pass: original copy, calmer sections, readable cards. */
.titansystem-template:not(:has(.ruheweg-page)) {
  font-family: var(--font-body);
}

.titansystem-template:not(:has(.ruheweg-page)) h1,
.titansystem-template:not(:has(.ruheweg-page)) h2,
.titansystem-template:not(:has(.ruheweg-page)) h3,
.titansystem-template:not(:has(.ruheweg-page)) h4,
.titansystem-template:not(:has(.ruheweg-page)) blockquote {
  font-family: var(--font-heading);
  letter-spacing: -.025em;
}

.titansystem-template:not(:has(.ruheweg-page)) .button,
.titansystem-template:not(:has(.ruheweg-page)) .main-nav,
.titansystem-template:not(:has(.ruheweg-page)) .eyebrow,
.titansystem-template:not(:has(.ruheweg-page)) .section-label,
.titansystem-template:not(:has(.ruheweg-page)) .service-card > span,
.titansystem-template:not(:has(.ruheweg-page)) th {
  font-family: var(--font-ui);
}

.titansystem-template .hero-content::before {
  content: "";
  position: absolute;
  inset: -22px -18px auto auto;
  z-index: -1;
  width: min(300px, 44vw);
  height: min(300px, 44vw);
  opacity: .32;
  background-image:
    linear-gradient(rgba(130, 150, 140, .16) 1px, transparent 1px),
    linear-gradient(90deg, rgba(130, 150, 140, .16) 1px, transparent 1px);
  background-size: 28px 28px;
  mask-image: radial-gradient(circle, #000 0%, transparent 70%);
  pointer-events: none;
}

.titansystem-template .check-list li::before {
  content: "✓";
}

.titansystem-template .section-soft-lines {
  position: relative;
  isolation: isolate;
}

.titansystem-template .section-soft-lines::before {
  content: "";
  position: absolute;
  inset: 0 calc((100vw - 100%) / -2);
  z-index: -2;
  background:
    radial-gradient(circle at 12% 18%, rgba(130, 150, 140, .10), transparent 32%),
    linear-gradient(180deg, #fbfbf9 0%, #f7f7f3 48%, #fbfbf9 100%);
}

.titansystem-template .energy-line {
  position: absolute;
  z-index: -1;
  width: min(650px, 56vw);
  height: 160px;
  border-top: 1px solid rgba(130, 150, 140, .22);
  border-radius: 52% 48% 46% 54%;
  background: none;
  transform-origin: center;
  animation: laura-energy-line 9s ease-in-out infinite alternate;
  pointer-events: none;
}

.titansystem-template .energy-line--one {
  top: 8%;
  right: -12%;
  rotate: -11deg;
}

.titansystem-template .energy-line--two {
  right: 2%;
  top: 35%;
  rotate: 9deg;
  animation-delay: -2s;
}

.titansystem-template .energy-line--three {
  right: -18%;
  bottom: 5%;
  rotate: -20deg;
  animation-delay: -4s;
}

.titansystem-template .soul-section__lead {
  margin: 28px 0 0;
  max-width: 620px;
  color: var(--muted);
  font-size: clamp(1.08rem, 1.8vw, 1.5rem);
  line-height: 1.45;
}

.titansystem-template .soul-section__lead em {
  color: #82968c;
  font-family: var(--font-heading);
  font-size: 1.08em;
}

.titansystem-template .calm-list li {
  transition:
    opacity .7s ease,
    transform .7s ease,
    box-shadow .25s ease,
    border-color .25s ease;
}

.titansystem-template .calm-list li:hover {
  border-color: rgba(130, 150, 140, .32);
  box-shadow: 0 16px 42px rgba(23, 23, 23, .07);
}

.titansystem-template .reveal.is-visible .calm-list li,
.titansystem-template .calm-list.reveal.is-visible li {
  animation: laura-bullet-rise .72s ease both;
}

.titansystem-template .reveal.is-visible .calm-list li:nth-child(2),
.titansystem-template .calm-list.reveal.is-visible li:nth-child(2) {
  animation-delay: .08s;
}

.titansystem-template .reveal.is-visible .calm-list li:nth-child(3),
.titansystem-template .calm-list.reveal.is-visible li:nth-child(3) {
  animation-delay: .16s;
}

.titansystem-template .reveal.is-visible .calm-list li:nth-child(4),
.titansystem-template .calm-list.reveal.is-visible li:nth-child(4) {
  animation-delay: .24s;
}

.titansystem-template .calm-list--compact {
  gap: 9px;
  margin-top: 16px;
}

.titansystem-template .calm-list--compact li {
  padding: 13px 16px 13px 44px;
  border-radius: 14px;
  font-size: .96rem;
}

.titansystem-template .calm-list--compact li::before {
  left: 17px;
  top: 18px;
  width: 9px;
  height: 9px;
  box-shadow: 0 0 0 6px rgba(130, 150, 140, .13);
}

.titansystem-template .about-profile {
  display: grid;
  grid-template-columns: minmax(280px, .8fr) minmax(0, 1.2fr);
  gap: clamp(42px, 7vw, 92px);
  align-items: start;
  padding-top: clamp(92px, 10vw, 142px);
  padding-bottom: clamp(92px, 10vw, 142px);
}

.titansystem-template .about-profile__image {
  position: sticky;
  top: 125px;
}

.titansystem-template .about-profile__image img {
  width: 100%;
  max-height: 720px;
  object-fit: cover;
  border-radius: 34px;
  box-shadow: 0 28px 82px rgba(23, 23, 23, .10);
}

.titansystem-template .about-profile__summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 28px 0 34px;
}

.titansystem-template .about-profile__summary p {
  margin: 0;
  border: 1px solid rgba(130, 150, 140, .18);
  border-radius: 18px;
  background: rgba(130, 150, 140, .08);
  padding: 16px 18px;
  color: #405149;
  font-weight: 700;
}

.titansystem-template .about-profile__summary p:last-child {
  grid-column: 1 / -1;
  color: var(--muted);
  font-weight: 400;
  line-height: 1.7;
}

.titansystem-template .about-profile__lists {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.titansystem-template .about-profile__lists h3,
.titansystem-template .feature-kicker {
  margin: 0;
  color: var(--accent-dark);
  font-family: var(--font-ui);
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.titansystem-template .service-card {
  min-height: 350px;
}

.titansystem-template .stress-free-section {
  display: grid;
  gap: clamp(28px, 4vw, 46px);
  padding: clamp(96px, 11vw, 145px) 0;
}

.titansystem-template .stress-free-section__top {
  display: grid;
  grid-template-columns: minmax(280px, .82fr) minmax(0, 1.18fr);
  gap: clamp(44px, 7vw, 92px);
  align-items: start;
}

.titansystem-template .stress-free-section .feature-image {
  align-self: start;
}

.titansystem-template .stress-free-section .feature-image img {
  max-height: 620px;
  object-fit: cover;
}

.titansystem-template .stress-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(18px, 3vw, 34px);
  margin-top: 0;
  padding-left: calc((100% - min(760px, 100%)) / 2);
  padding-right: calc((100% - min(760px, 100%)) / 2);
}

.titansystem-template .personal-note-card {
  width: min(760px, 100%);
  margin: 0 auto;
  border: 1px solid rgba(130, 150, 140, .20);
  border-radius: 22px;
  background:
    linear-gradient(135deg, rgba(130, 150, 140, .12), rgba(255, 255, 255, .76));
  padding: clamp(22px, 3vw, 32px);
  color: #405149;
  line-height: 1.75;
}

.titansystem-template .useful-links {
  padding: clamp(72px, 9vw, 118px) 0 clamp(92px, 10vw, 132px);
}

.titansystem-template .useful-links__list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 0;
}

.titansystem-template .useful-links__list li::before {
  content: "✓";
  display: grid;
  place-items: center;
  top: 18px;
  color: #fff;
  font-size: .72rem;
  font-weight: 900;
  background: #82968c;
}

.titansystem-template .useful-links__list a {
  color: var(--accent-dark);
  font-weight: 600;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

.titansystem-template .useful-links__list span,
.titansystem-template .useful-links__list strong {
  color: var(--muted);
  font-weight: 400;
}

.titansystem-template .check-list li::before,
.titansystem-template .useful-links__list li::before {
  content: "✓";
}

.titansystem-template .table-wrap--secondary {
  margin-top: 22px;
}

.titansystem-template table caption {
  padding: 20px 26px;
  text-align: left;
  color: #405149;
  background: rgba(130, 150, 140, .10);
  font-weight: 800;
}

.titansystem-template .table-wrap--secondary th:not(:first-child),
.titansystem-template .table-wrap--secondary td:not(:first-child) {
  text-align: right;
  width: auto;
}

.titansystem-template .pricing-notes {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 24px;
}

.titansystem-template .pricing-notes li:first-child {
  grid-column: 1 / -1;
}

.titansystem-template .contact-links--cards {
  display: grid;
  gap: 12px;
}

.titansystem-template .contact-links--cards a,
.titansystem-template .contact-links--cards span {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 16px;
  background: rgba(255, 255, 255, .10);
  padding: 13px 15px;
  color: #fff;
  font-size: .98rem;
  font-weight: 400;
  line-height: 1.5;
}

.titansystem-template .contact-links--cards a {
  font-weight: 400;
}

.titansystem-template .contact-links--cards .contact-icon {
  display: inline-flex;
  flex: 0 0 auto;
  width: 24px;
  height: 24px;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, .16);
  padding: 0;
}

.titansystem-template .contact-links--cards .contact-icon::before {
  content: "";
  width: 13px;
  height: 13px;
  background: currentColor;
  mask: var(--contact-icon) center / contain no-repeat;
  -webkit-mask: var(--contact-icon) center / contain no-repeat;
}

.titansystem-template .contact-icon--phone {
  --contact-icon: url("data:image/svg+xml,%3Csvg width='24' height='24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.8 19.8 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.12 4.18 2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.35 1.89.66 2.77a2 2 0 0 1-.45 2.11L8.05 9.87a16 16 0 0 0 6.08 6.08l1.27-1.27a2 2 0 0 1 2.11-.45c.88.31 1.81.53 2.77.66A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");
}

.titansystem-template .contact-icon--mail {
  --contact-icon: url("data:image/svg+xml,%3Csvg width='24' height='24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E");
}

.titansystem-template .contact-icon--pin {
  --contact-icon: url("data:image/svg+xml,%3Csvg width='24' height='24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 5-8 12-8 12S4 15 4 10a8 8 0 1 1 16 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
}

.titansystem-template .contact-icon--calendar {
  --contact-icon: url("data:image/svg+xml,%3Csvg width='24' height='24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E");
}

.titansystem-template .contact-note {
  margin-top: 22px;
  max-width: 560px;
  color: rgba(255, 255, 255, .82);
  font-size: .94rem;
}

.titansystem-template .privacy-consent {
  display: grid !important;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  color: #555;
  font-size: .88rem;
  line-height: 1.5;
}

.titansystem-template .privacy-consent input {
  width: 18px;
  height: 18px;
  margin: 2px 0 0;
  accent-color: #82968c;
}

.titansystem-template .privacy-consent span {
  margin: 0;
  font-weight: 400;
}

.titansystem-template .privacy-consent a {
  color: var(--accent-dark);
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 3px;
}

@keyframes laura-scroll-dot {
  0%, 100% {
    opacity: .45;
    transform: translate(-50%, 0);
  }

  50% {
    opacity: 1;
    transform: translate(-50%, 12px);
  }
}

@keyframes laura-energy-line {
  0% {
    opacity: .22;
    transform: translate3d(-12px, 0, 0) scaleX(.78);
  }

  100% {
    opacity: .58;
    transform: translate3d(12px, 10px, 0) scaleX(1.08);
  }
}

@keyframes laura-bullet-rise {
  0% {
    opacity: 0;
    transform: translateY(16px);
  }

  100% {
    opacity: 1;
    transform: none;
  }
}

@media (max-width: 950px) {
  .titansystem-template .about-profile,
  .titansystem-template .about-profile__lists,
  .titansystem-template .stress-free-section__top,
  .titansystem-template .stress-card-grid,
  .titansystem-template .pricing-notes,
  .titansystem-template .useful-links__list {
    grid-template-columns: 1fr;
  }

  .titansystem-template .about-profile__image {
    position: static;
    max-width: 560px;
  }

  .titansystem-template .about-profile__summary {
    grid-template-columns: 1fr;
  }

  .titansystem-template .energy-line {
    width: 92vw;
    height: 120px;
    right: -32%;
  }
}

@media (max-width: 640px) {
  .titansystem-template .hero-content::before {
    inset: -8px -10px auto auto;
    opacity: .24;
  }

  .titansystem-template .hero::after {
    content: "";
    position: absolute;
    left: -92px;
    bottom: 150px;
    z-index: -1;
    width: 210px;
    height: 210px;
    border: 1px solid rgba(130, 150, 140, .30);
    border-radius: 999px;
    pointer-events: none;
  }

  .titansystem-template .hero-scroll-cue {
    justify-content: center;
    margin-top: 22px;
  }

  .titansystem-template .calm-list li {
    padding: 16px 16px 16px 48px;
  }

  .titansystem-template .calm-list li::before {
    left: 18px;
  }

  .titansystem-template .about-profile {
    padding-top: 82px;
    padding-bottom: 84px;
  }

  .titansystem-template .service-card {
    min-height: auto;
  }

  .titansystem-template table caption {
    display: block;
    border-radius: 16px;
    margin-bottom: 12px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .titansystem-template .hero-scroll-cue span::after,
  .titansystem-template .energy-line,
  .titansystem-template .reveal.is-visible .calm-list li,
  .titansystem-template .calm-list.reveal.is-visible li {
    animation: none;
  }
}

/* Laura homepage detail tuning: scoped late overrides for the active start page. */
.titansystem-template:not(:has(.ruheweg-page)) .service-card > span {
  font-size: clamp(1.05rem, 1.45vw, 1.35rem);
  letter-spacing: .14em;
}

.titansystem-template:not(:has(.ruheweg-page)) .site-header {
  min-height: 78px;
}

.titansystem-template:not(:has(.ruheweg-page)) .brand img {
  width: clamp(220px, 18vw, 265px);
  height: 58px;
}

.titansystem-template .stress-free-section .feature-copy h2 {
  font-size: clamp(3.35rem, 6vw, 5.65rem);
  line-height: .96;
}

.titansystem-template .hero-scroll-cue {
  width: 100%;
  justify-self: stretch;
  justify-content: center;
  gap: 0;
  font-size: 0;
  line-height: 0;
}

.titansystem-template .hero-scroll-cue span {
  flex: 0 0 auto;
}

.titansystem-template .stress-free-section .feature-kicker {
  font-size: clamp(.98rem, 1.08vw, 1.16rem);
  letter-spacing: .11em;
  line-height: 1.28;
}

.titansystem-template .stress-card-grid {
  grid-template-columns: minmax(250px, .78fr) minmax(0, 1.42fr);
  gap: clamp(28px, 5vw, 72px);
  padding-left: 0;
  padding-right: 0;
  align-items: start;
}

.titansystem-template .stress-card-grid > div:nth-child(2) .calm-list--compact {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
  gap: 12px 16px;
}

.titansystem-template .stress-card-grid > div:nth-child(2) .calm-list--compact li {
  min-height: 92px;
  align-content: start;
}

.titansystem-template .personal-note-card--quote {
  position: relative;
  padding-left: clamp(26px, 4vw, 54px);
}

.titansystem-template .personal-note-card--quote p {
  margin: 0;
}

.titansystem-template .personal-note-card--quote p + p {
  margin-top: 18px;
}

.titansystem-template .personal-note-card--quote strong {
  color: var(--accent-dark);
  font-weight: 800;
}

.titansystem-template .personal-note-card__icon {
  position: absolute;
  top: 10px;
  left: clamp(12px, 2vw, 22px);
  color: rgba(130, 150, 140, .22);
  font-family: var(--font-heading);
  font-size: clamp(4rem, 8vw, 7rem);
  line-height: .8;
  pointer-events: none;
}

.titansystem-template .useful-links__list {
  gap: 12px clamp(20px, 4vw, 44px);
}

.titansystem-template .useful-links__list li {
  display: block;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding: 4px 0 4px 32px;
  line-height: 1.55;
}

.titansystem-template .useful-links__list li:hover {
  transform: none;
  box-shadow: none;
}

.titansystem-template .useful-links__list li::before,
.titansystem-template .check-list li::before {
  content: "✓";
}

.titansystem-template .useful-links__list li::before {
  display: block;
  top: 4px;
  left: 0;
  width: auto;
  height: auto;
  color: var(--accent-dark);
  font-size: 1rem;
  font-weight: 900;
  background: transparent;
  box-shadow: none;
}

@media (max-width: 950px) {
  .titansystem-template .stress-card-grid {
    grid-template-columns: 1fr;
  }

  .titansystem-template .stress-card-grid .calm-list--compact {
    width: 100%;
    min-width: 0;
  }

  .titansystem-template .stress-card-grid .calm-list--compact li {
    min-width: 0;
  }

  .titansystem-template [data-titan-section="home.osteopathy"] .feature-image {
    order: -1;
    width: min(100%, 560px);
    margin-inline: auto;
  }

  .titansystem-template .stress-card-grid > div:nth-child(2) .calm-list--compact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .titansystem-template:not(:has(.ruheweg-page)) .site-header {
    min-height: 78px;
    padding-left: 18px;
  }

  .titansystem-template:not(:has(.ruheweg-page)) .brand img {
    width: clamp(185px, 54vw, 220px);
    height: 54px;
  }

  .titansystem-template .hero::after {
    left: -78px;
    top: 115px;
    bottom: auto;
  }

  .titansystem-template .stress-free-section .feature-copy h2 {
    font-size: clamp(2.75rem, 13vw, 4rem);
  }

  .titansystem-template .stress-card-grid > div:nth-child(2) .calm-list--compact {
    grid-template-columns: 1fr;
  }

  .titansystem-template .stress-card-grid .calm-list--compact {
    grid-template-columns: 1fr;
  }

  .titansystem-template .stress-card-grid > div:nth-child(2) .calm-list--compact li {
    min-height: 0;
  }

  .titansystem-template td:before {
    font-size: .86rem;
    letter-spacing: .1em;
  }
}

/* Final Laura header/form sizing pass. Keep this at the end to win the legacy cascade. */
.titansystem-template:not(:has(.ruheweg-page)) .site-header {
  height: 92px;
  min-height: 92px;
  padding: 14px 14px 14px 24px;
}

.titansystem-template:not(:has(.ruheweg-page)) .brand {
  display: flex;
  align-items: center;
  min-width: clamp(240px, 21vw, 310px);
}

.titansystem-template:not(:has(.ruheweg-page)) .brand img {
  width: clamp(240px, 21vw, 310px);
  height: 68px;
  object-fit: contain;
  object-position: left center;
}

.titansystem-template .contact-form label span {
  font-size: .94rem;
  letter-spacing: .01em;
  line-height: 1.35;
}

@media (max-width: 640px) {
  .titansystem-template:not(:has(.ruheweg-page)) .site-header {
    height: 100px;
    min-height: 100px;
    padding: 16px 18px;
  }

  .titansystem-template:not(:has(.ruheweg-page)) .brand {
    min-width: min(245px, 68vw);
  }

  .titansystem-template:not(:has(.ruheweg-page)) .brand img {
    width: min(245px, 68vw);
    height: 68px;
  }

  .titansystem-template .contact-form label span {
    font-size: 1rem;
  }
}

/* Editorial blog article hero: image-led preset inspired by the Ruheweg article mockup. */
.titansystem-template .article-page {
  padding-top: clamp(148px, 12vw, 184px);
}

.titansystem-template .article-page .article-header {
  position: absolute;
  z-index: 3;
  top: clamp(232px, 19vw, 282px);
  left: 50%;
  width: min(1180px, calc(100% - 40px));
  padding: clamp(34px, 5vw, 72px) clamp(26px, 6vw, 86px);
  color: #fff;
  text-align: left;
  transform: translateX(-50%);
  pointer-events: none;
}

.titansystem-template .article-page .back-link {
  position: absolute;
  top: -126px;
  left: 0;
  z-index: 5;
  color: rgba(23, 23, 23, .9);
  font-family: var(--font-ui);
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  pointer-events: auto;
  text-shadow: 0 1px 0 rgba(255, 255, 255, .7);
}

.titansystem-template .article-page .eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 20px;
  padding: 9px 13px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .14);
  color: #fff;
  backdrop-filter: blur(12px);
  letter-spacing: .02em;
  text-transform: none;
}

.titansystem-template .article-page .eyebrow::before {
  content: "";
  width: 14px;
  height: 14px;
  background: currentColor;
  mask: url("data:image/svg+xml,%3Csvg width='24' height='24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 20A7 7 0 0 1 4 13c0-6 8-10 16-10 0 8-4 16-10 16Z'/%3E%3Cpath d='M4 13c4 0 7-1 10-4'/%3E%3C/svg%3E") center / contain no-repeat;
  -webkit-mask: url("data:image/svg+xml,%3Csvg width='24' height='24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 20A7 7 0 0 1 4 13c0-6 8-10 16-10 0 8-4 16-10 16Z'/%3E%3Cpath d='M4 13c4 0 7-1 10-4'/%3E%3C/svg%3E") center / contain no-repeat;
}

.titansystem-template .article-page .article-header h1 {
  width: min(820px, 100%);
  margin: 0 0 22px;
  color: #fff;
  font-family: var(--font-heading);
  font-size: clamp(2.55rem, 4.85vw, 4.78rem);
  font-weight: 700;
  letter-spacing: -.055em;
  line-height: 1.02;
  overflow-wrap: anywhere;
  text-shadow: 0 18px 55px rgba(0, 0, 0, .48);
}

.titansystem-template .article-page .article-hero-excerpt {
  width: min(760px, 100%);
  margin: 0 0 22px;
  color: rgba(255, 255, 255, .92);
  font-size: clamp(.98rem, 1.2vw, 1.08rem);
  line-height: 1.65;
}

.titansystem-template .article-page .article-meta {
  justify-content: flex-start;
  gap: 10px;
  color: rgba(255, 255, 255, .92);
  font-family: var(--font-ui);
  font-size: .86rem;
}

.titansystem-template .article-page .article-meta span {
  display: inline-flex;
  align-items: center;
}

.titansystem-template .article-page .article-meta span + span::before {
  content: "";
  width: 4px;
  height: 4px;
  margin-right: 10px;
  border-radius: 999px;
  background: currentColor;
  opacity: .8;
}

.titansystem-template .article-page .article-hero-image {
  position: relative;
  width: min(1180px, calc(100% - 40px));
  max-width: none;
  min-height: clamp(520px, 52vw, 710px);
  margin: 0 auto clamp(56px, 8vw, 92px);
  overflow: hidden;
  border-radius: clamp(24px, 3vw, 34px);
  box-shadow: 0 36px 90px rgba(31, 34, 29, .18);
}

.titansystem-template .article-page .article-hero-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(0, 0, 0, .74) 0%, rgba(0, 0, 0, .45) 43%, rgba(0, 0, 0, .12) 100%),
    linear-gradient(0deg, rgba(0, 0, 0, .35), transparent 46%);
  pointer-events: none;
}

.titansystem-template .article-page .article-hero-image img {
  width: 100%;
  height: clamp(520px, 52vw, 710px);
  min-height: 0;
  object-fit: cover;
  border-radius: 0;
  transform: scale(1.015);
}

.titansystem-template .article-page .article-layout {
  grid-template-columns: minmax(190px, 250px) minmax(0, 760px);
  gap: clamp(42px, 6vw, 78px);
  align-items: start;
  justify-content: center;
  padding-top: 0;
}

.titansystem-template .article-page .article-aside {
  grid-column: 1;
  grid-row: 1;
  top: 132px;
  padding: 26px;
  border-color: rgba(130, 150, 140, .18);
  background: linear-gradient(145deg, rgba(250, 247, 242, .96), rgba(255, 255, 255, .82));
  box-shadow: 0 20px 55px rgba(23, 23, 23, .06);
}

.titansystem-template .article-page .article-content {
  grid-column: 2;
  grid-row: 1;
  font-size: clamp(1.04rem, 1.15vw, 1.16rem);
}

.titansystem-template .article-page .article-content.reveal,
.titansystem-template .article-page .article-aside.reveal {
  opacity: 1;
  transform: none;
}

.titansystem-template .article-page .article-content > p.article-lead:first-child::first-letter {
  float: left;
  margin: .04em .14em 0 0;
  color: var(--accent-dark);
  font-family: var(--font-heading);
  font-size: 4.4em;
  line-height: .75;
}

.titansystem-template .article-page .article-content h2 {
  color: #314338;
  font-family: var(--font-heading);
  font-size: clamp(2rem, 3.2vw, 3.05rem);
  font-weight: 400;
  letter-spacing: -.02em;
}

@media (max-width: 900px) {
  .titansystem-template .article-page .article-header {
    top: clamp(210px, 30vw, 246px);
    padding: 32px 26px;
  }

  .titansystem-template .article-page .article-header h1 {
    width: min(680px, 100%);
  }

  .titansystem-template .article-page .article-hero-image {
    min-height: 560px;
  }

  .titansystem-template .article-page .article-layout {
    grid-template-columns: 1fr;
  }

  .titansystem-template .article-page .article-content,
  .titansystem-template .article-page .article-aside {
    grid-column: auto;
    grid-row: auto;
  }
}

@media (max-width: 600px) {
  .titansystem-template .article-page {
    padding-top: 168px;
  }

  .titansystem-template .article-page .article-header {
    top: 224px;
    width: min(100% - 24px, 1180px);
    padding: 24px 20px;
  }

  .titansystem-template .article-page .back-link {
    top: -92px;
    color: rgba(23, 23, 23, .82);
    font-size: .72rem;
  }

  .titansystem-template .article-page .article-header h1 {
    width: 100%;
    font-size: clamp(2rem, 10.4vw, 2.9rem);
    letter-spacing: -.045em;
    line-height: 1.04;
    overflow-wrap: anywhere;
  }

  .titansystem-template .article-page .article-meta {
    gap: 7px;
    font-size: .72rem;
  }

  .titansystem-template .article-page .article-hero-image {
    width: min(100% - 24px, 1180px);
    min-height: 0;
    height: 640px;
    margin-bottom: 48px;
  }

  .titansystem-template .article-page .article-hero-image img {
    height: 640px;
  }

  .titansystem-template .article-page .article-hero-image::after {
    background:
      linear-gradient(180deg, rgba(0, 0, 0, .58), rgba(0, 0, 0, .36) 52%, rgba(0, 0, 0, .62)),
      linear-gradient(90deg, rgba(0, 0, 0, .28), transparent);
  }

  .titansystem-template .article-page .article-content > p.article-lead:first-child::first-letter {
    font-size: 3.3em;
  }

  .titansystem-template .article-signoff img {
    flex-basis: 58px;
    width: 58px;
    height: 58px;
  }
}
