/* Follow the device preference immediately, including changes while open. */
:root{color-scheme:light dark}
@media screen and (prefers-color-scheme:dark){
  :root{--ink:#edf4f5;--muted:#b5c6cb;--accent:#8ddbe2;--line:#3a5058;--paper:#101c22;--white:#18282f}
  body,.legal-page{background:#0d171c;color:var(--ink)}
  .site-header{background:#0d171cee;border-color:#31454c}
  .brand,.main-nav,.legal-back{color:var(--ink)}
  .brand img,.brand-o img{filter:drop-shadow(0 0 2px #88dbe25c)}
  .menu-toggle,.main-nav .nav-cta{background:#18282f;color:var(--accent);border-color:#62858c}
  .menu-toggle span{background:var(--ink)}
  .main-nav .nav-cta:hover{background:#243b43}
  .hero{background:radial-gradient(ellipse at 50% 95%,#173a42,transparent 60%),#0d171c}
  .hero .product-scene:before{background:radial-gradient(ellipse,#24535d,#10212900 72%)}
  .hero h1,.hero-lead{color:var(--ink)}
  .hero .hero-note,.hero .scene-caption,.scene-caption{color:var(--muted)}
  .experience-link{color:var(--accent)}
  .button,.hero .button{background:#8ddbe2;color:#0d252c;border-color:#8ddbe2}
  .button:hover,.hero .button:hover{background:#b0edf1;border-color:#b0edf1}
  .benefit-strip{background:#14252c;border-color:#31454c}
  .benefit-strip small{color:var(--muted)}
  .product-fragment{background:#21353d;color:var(--ink);border-color:#46616a;box-shadow:0 12px 35px #0003}
  .product-fragment svg,.fragment-search svg{color:#a1e5eb}
  .fragment-icon{background:#294953}
  .approved-label{background:#224e40;color:#b4f0cf}
  .approved-label svg{color:inherit}
  .sample-lines i{background:#566f79}
  .sample-avatar{background:#36536b;color:#f0f8ff}
  .sample-avatar:last-child{background:#315860;color:#effbfc}
  .need-section{background:#081216}
  .question-stack p{background:#1b3038;border-color:#425b64;color:#edf4f5}
  .knowledge-story .insight-card,.package,.news-card,.news-feature{background:#18282f;border-color:var(--line)}
  .knowledge-story .insight-visual,.insight-visual,.news-visual{background:linear-gradient(145deg,#1c333c,#203d46)}
  .story-number{background:#294953;color:#b3edf1}
  #ueber-mich{background:#0d171c}
  #ueber-mich>.shell{background:#16282f;border-color:var(--line)}
  .portrait-bubble .founder-quote{background:#243b44;border-color:#62808a;box-shadow:0 10px 28px #0004}
  .portrait-bubble .founder-quote:before{background:#243b44;filter:drop-shadow(-1px 1px 0 #62808a)}
  .portrait-bubble .founder-quote blockquote p{color:#f0f6f7}
  .portrait-bubble .founder-quote figcaption{color:#c2d3d8}
  .section.soft,.soft{background:#111f26}
  .package.ultra{background:#1b343c;border-color:#62858c}
  .news-filters button{background:#18282f;color:var(--ink);border-color:#62858c}
  .news-filters button:hover{background:#29424b}
  .news-filters button[aria-pressed=true]{background:#8ddbe2;border-color:#8ddbe2;color:#0d252c}
  .contact-section{background:#0d171c}
  .contact-section>.shell{background:linear-gradient(110deg,#104f59,#12444e)}
  .contact-section>.shell::before{background:#367e8540}
  .contact-section>.shell::after{background:#36858d24}
  .contact-section .contact-invitation .button{background:#e7f7f8;color:#123c45;border-color:#e7f7f8}
  .contact-section .contact-invitation .button:hover{background:#fff;color:#123c45}
  .contact-section .contact-invitation #booking-status{color:#e0f3f4}
  footer,.legal-footer{background:#0d171c;color:var(--muted)}
  .legal-card{background:#18282f;border-color:var(--line)}
  .legal-card h1,.legal-card h2,.legal-card a{color:var(--ink)}
  .legal-card .section-label{color:var(--accent)}
  .skip-link{background:#edf4f5;color:#0d171c}
  :focus-visible{outline-color:#b3edf1}
  ::selection{background:#8ddbe2;color:#0d252c}
  @media(max-width:850px){.main-nav{background:#18282f;border-color:#46616a;box-shadow:0 14px 30px #0006}}
}
/* Gentle motion belongs to individual bubbles, never their backdrop. */
.question-stack>p,.news-visual>.product-fragment{animation:oh-extra-bubble 8s ease-in-out infinite}
.question-stack>p:nth-child(2){animation-duration:9s;animation-delay:-3s}
.question-stack>p:nth-child(3){animation-duration:7.5s;animation-delay:-5s}
.news-visual>.product-fragment:nth-child(2){animation-duration:9s;animation-delay:-4s}
@keyframes oh-extra-bubble{0%,100%{translate:0 4px}50%{translate:0 -4px}}
@media(prefers-reduced-motion:reduce){.question-stack>p,.news-visual>.product-fragment{animation:none;translate:none}}
@media print{:root{color-scheme:light}.question-stack>p,.news-visual>.product-fragment{animation:none;translate:none}}
