/* Überschriften: Space Grotesk (seit 13.11.2026, vorher Lexend; Lizenz assets/OFL-space-grotesk.txt). */
@font-face{font-family:"Space Grotesk";src:url("assets/space-grotesk-latin.woff2") format("woff2");font-weight:300 700;font-display:swap}
@font-face{font-family:Atkinson;src:url("assets/atkinson-hyperlegible-400-latin.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Atkinson;src:url("assets/atkinson-hyperlegible-700-latin.woff2") format("woff2");font-weight:700;font-display:swap}
:root{--paper:#f7f5ef;--white:#fffdf8;--navy:#102a43;--ink:#172b3a;--muted:#4e626a;--teal:#226b69;--mint:#b9f4d7;--gold:#d5a62e;--line:#d7ded8;--night:#0b151c;--light:#f7f5ef;--heading:"Space Grotesk",system-ui,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1.0625rem/1.55 Atkinson,system-ui,sans-serif}
img,video{max-width:100%;display:block}
figure,h1,h2,h3,p{margin:0}
h1,h2,h3,.brand{font-family:var(--heading)}
h1,h2,h3{font-weight:600;letter-spacing:-.058em;line-height:1.08}
h2{font-size:clamp(2.05rem,5vw,4.15rem)}
h3{font-size:1.32rem;letter-spacing:-.045em}
a{color:inherit}
button{font:inherit;cursor:pointer}
:focus-visible{outline:3px solid #287f79;outline-offset:4px}
section[id]{scroll-margin-top:26px}
.wrap{width:min(100% - clamp(2rem,8vw,8rem),1250px);margin-inline:auto}
.skip-link{position:fixed;top:10px;left:10px;z-index:5;padding:8px 14px;color:white;background:var(--navy);border-radius:7px;transform:translateY(-200%)}
.skip-link:focus{transform:none}
.site-header{border-bottom:1px solid var(--line);background:var(--paper);color:var(--navy)}
.site-header-inner,.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:20px}
.site-header-inner{min-height:78px}
.brand{display:inline-flex;align-items:center;gap:11px;text-decoration:none;font-weight:650;font-size:1.1rem;letter-spacing:-.04em;white-space:nowrap}
.brand img{object-fit:contain}
.site-header nav,.site-footer nav{display:flex;align-items:center;gap:clamp(.9rem,3.1vw,2.5rem)}
.site-header nav a,.site-footer nav a{font-size:.98rem;font-weight:700;text-decoration:none}
.site-header nav a:hover,.site-footer nav a:hover,.text-link:hover{text-decoration:underline;text-underline-offset:5px}
.eyebrow,.world-index,.catalog-index{font:700 .735rem/1.35 var(--heading);letter-spacing:.13em;text-transform:uppercase}
.eyebrow{display:flex;align-items:center;gap:10px;color:var(--teal);margin-bottom:15px}
.index-mark{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--gold);flex:none}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;margin-top:28px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:13px;min-height:48px;padding:10px 19px;border-radius:8px;border:1px solid transparent;font-weight:700;text-decoration:none;line-height:1.2}
.button.primary{background:var(--navy);color:#fffdf8}
.button.primary:hover{background:#1c4255}
.button.secondary{border-color:currentColor;background:transparent}
.text-link{font-weight:700;text-underline-offset:4px;text-decoration:underline;text-decoration-color:currentColor;text-decoration-thickness:1px}
.hero{padding-block:clamp(3.1rem,7vw,6.2rem) clamp(3.5rem,7vw,6rem)}
.hero-layout{display:grid;grid-template-columns:minmax(0,.91fr) minmax(0,1.09fr);gap:clamp(25px,5vw,78px);align-items:center}
.hero-copy h1{font-size:clamp(3.1rem,6.2vw,6rem);letter-spacing:-.075em;line-height:.99;color:var(--navy)}
.hero-copy h1 em{display:block;color:var(--teal);font-style:normal}
.intro{color:var(--muted);max-width:36ch;font-size:clamp(1.12rem,1.6vw,1.38rem);line-height:1.45;margin-top:24px}
.orbit{background:#101a20;color:#f3f4ee;border:1px solid #26363d;border-radius:17px;overflow:hidden;box-shadow:0 20px 46px #102a4322}
.orbit-screen{position:relative;overflow:hidden;aspect-ratio:1.62;background:#08090c}
.orbit-screen img,.orbit-screen video{width:100%;height:100%;object-fit:cover}
.orbit-screen video{position:absolute;inset:0;opacity:0}
.orbit-screen video.is-visible{opacity:1}
.orbit figcaption{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 15px;font-size:.84rem}
.orbit figcaption i{display:inline-block;background:var(--gold);width:6px;height:6px;border-radius:50%;margin-right:6px;vertical-align:2px}
.motion-toggle{background:transparent;color:#c9e7db;border:0;padding:3px 0;text-align:right;text-decoration:underline;text-underline-offset:3px}
.section-pad{padding-block:clamp(3rem,7vw,6rem)}
.worlds{background:var(--white);border-block:1px solid var(--line)}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:34px}
.section-head>p{max-width:40ch;color:var(--muted)}
.world-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.world{isolation:isolate;min-height:clamp(180px,22vw,310px);position:relative;display:flex;align-items:end;overflow:hidden;border-radius:12px;color:#fff;text-decoration:none;background:#10202c}
.world img,.world::after{position:absolute;inset:0;width:100%;height:100%;z-index:-1}
.world img{object-fit:cover;transition:transform .4s ease}
.world::after{content:"";background:linear-gradient(0deg,#081620 2%,#0a1723ab 28%,transparent 70%)}
.world:hover img{transform:scale(1.055)}
.world-caption{display:flex;align-items:end;justify-content:space-between;gap:12px;width:100%;padding:20px}
.world-index{display:block;color:#e1eadf;margin-bottom:6px}
.world strong{font:600 clamp(1.25rem,2.7vw,2.1rem)/1.15 var(--heading);letter-spacing:-.05em}
.world-arrow{display:grid;place-items:center;flex:none;width:36px;height:36px;border:1px solid #ffffff80;border-radius:50%;background:#14252e9c}
.spotlight{padding-block:clamp(3.25rem,7.5vw,6.5rem);background:#102a35;color:var(--paper)}
.spotlight-layout,.home-layout{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);align-items:center;gap:clamp(24px,6.5vw,88px)}
.spotlight .eyebrow{color:var(--mint)}
.spotlight h2{max-width:14ch}
.spotlight-copy>p:not(.eyebrow){max-width:37ch;margin-top:20px;color:#d7e7e5}
.spotlight-copy .button{margin-top:24px;background:var(--mint);color:var(--night)}
.spotlight-copy .button:hover{background:#d4fae8}
.spotlight-media,.home-art{border:1px solid #6b817c50;border-radius:13px;overflow:hidden}
.spotlight-media{position:relative;background:#101b24;box-shadow:0 20px 35px #06121b55}
.spotlight-media img,.home-art img{width:100%;height:auto}
.spotlight-media figcaption{position:absolute;bottom:14px;left:14px}
.clip-button{min-height:43px;display:inline-flex;align-items:center;gap:8px;border:1px solid #ffffff62;border-radius:7px;padding:7px 12px;background:#0d1b23ee;color:#fff;font-size:.95rem;font-weight:700}
.clip-button:hover{background:#244d4d}
.catalog{padding-block:10px clamp(2.5rem,6vw,5rem)}
.catalog-world{padding-block:clamp(2.5rem,6.2vw,5.8rem);border-bottom:1px solid var(--line)}
.catalog-world:last-child{border-bottom:0}
.catalog-heading{display:grid;grid-template-columns:44px minmax(0,1fr) minmax(0,.78fr);gap:15px;align-items:end;margin-bottom:24px}
.catalog-index{color:var(--teal);padding-bottom:.35rem}
.catalog-heading h2{font-size:clamp(1.95rem,4.5vw,3.5rem)}
.catalog-heading p{color:var(--muted);max-width:42ch}
.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.product-card{min-width:0;display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.card-media{position:relative;aspect-ratio:16/9;background:#13232e}
.card-media img{width:100%;height:100%;object-fit:cover}
.card-media .clip-button{position:absolute;left:10px;bottom:10px}
.card-copy{padding:17px 18px 19px;display:flex;flex-direction:column;align-items:start;gap:8px;flex:1}
.card-copy .card-category{color:var(--teal);font-size:.86rem;font-weight:700}
.card-copy p{color:var(--muted)}
.card-link{color:var(--navy);margin-top:auto;padding-top:4px}
.home-world{background:#e3ece4;border-block:1px solid #cbd9cf}
.home-lead{font-size:1.36rem;color:var(--teal);font-weight:700;margin-top:11px}
.home-layout p:not(.eyebrow){max-width:42ch}
.home-layout p:not(.eyebrow)+p{margin-top:12px}
.home-layout .text-link{display:inline-block;margin-top:18px}
.home-art{background:#152632;color:#e6ede7}
.home-art figcaption{font-size:.85rem;padding:9px 13px}
.site-footer{padding-block:30px;background:var(--paper);color:var(--navy)}
.site-footer p{color:var(--muted);font-size:.9rem;margin-top:5px}
.clip-dialog{width:min(92vw,850px);max-height:92dvh;padding:0;color:var(--paper);background:#111d25;border:1px solid #50656b;border-radius:16px;overflow:auto}
.clip-dialog::backdrop{background:#060b12ca}
.dialog-header,.dialog-footer{padding:16px 19px}
.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:15px}
.dialog-header .eyebrow{margin-bottom:6px;color:var(--mint)}
.dialog-header h2{font-size:clamp(1.45rem,3vw,2.3rem)}
.dialog-close{display:grid;place-items:center;width:44px;height:44px;border:1px solid #64717b;border-radius:50%;background:transparent;color:var(--paper);font-size:1.8rem;line-height:1}
.clip-dialog video{width:100%;max-height:65dvh;background:#000}
.dialog-footer{color:var(--mint)}
@media(max-width:880px){
.hero-layout{grid-template-columns:1fr 1fr;gap:24px}
.hero-copy h1{font-size:clamp(2.6rem,6.2vw,4.9rem)}
.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.catalog-heading{grid-template-columns:34px 1fr}
.catalog-heading p{grid-column:2}
}
@media(max-width:650px){
.wrap{width:calc(100% - 32px)}
.site-header-inner{min-height:62px;gap:10px}
.brand{gap:6px;font-size:.95rem}
.brand img{width:30px;height:30px}
.site-header nav{gap:12px}
.site-header nav a{font-size:.84rem}
.hero{padding-top:34px}
.hero-layout,.spotlight-layout,.home-layout{grid-template-columns:1fr}
.hero-copy h1{font-size:clamp(2.9rem,11.5vw,4.6rem)}
.intro{margin-top:17px}
.actions{margin-top:20px}
.orbit{margin-top:4px}
.section-head,.footer-inner{align-items:start;flex-direction:column}
.section-head{gap:13px}
.world-grid{grid-template-columns:1fr;gap:11px}
.world{min-height:175px}
.world-caption{padding:16px}
.world strong{font-size:1.65rem}
.product-grid{gap:12px}
.card-copy{padding:12px}
.card-copy h3{font-size:1.08rem}
.card-copy p{font-size:.94rem}
.card-copy .card-category{font-size:.77rem}
.card-media .clip-button{left:6px;bottom:6px;min-height:34px;font-size:.8rem;padding:4px 7px}
.site-footer nav{flex-wrap:wrap}
}
@media(max-width:390px){.product-grid{grid-template-columns:1fr}.card-copy h3{font-size:1.24rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.world img{transition:none}}

.clip-button.clip-icon {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  min-height: 46px;
  padding: 0;
  border: 1px solid #ffffff75;
  border-radius: 50%;
  background: #061320cf;
  color: #fff;
  box-shadow: 0 2px 13px #0005;
}
.clip-button.clip-icon:hover { background: #1d4547; }
.clip-icon-symbol { margin-left: 2px; font-size: .93rem; line-height: 1; }
.card-media .clip-button.clip-icon { right: 12px; bottom: 12px; left: auto; }
.card-copy .card-story { color: var(--ink); font-size: 1.13rem; font-weight: 700; }
.card-copy .card-teaching { line-height: 1.5; }
.clip-dialog { width: min(94vw, 1100px); }
.dialog-header h2 { font-size: clamp(1.3rem, 3vw, 2rem); }
/* Schmale Bildschirme: Die Kopfnavigation zeigt nur Katalog, Demos und Vergleich. */
@media (max-width:560px){.site-header nav a[href="#zuhause"]{display:none}}

/* Seitenwechsel: weiche Überblendung zwischen den Seiten (die Regel @view-transition
   steht im Kopf jeder Seite). Das Spielbild einer Katalogkarte wächst dabei zum
   Bild im Seitenkopf (site.js vergibt den Namen). */
::view-transition-group(produkt-bild){animation-duration:.55s;animation-timing-function:cubic-bezier(.2,.7,.2,1)}
::view-transition-old(root),::view-transition-new(root){animation-duration:.35s}
/* Karte eines großen Auftritts (site.js, auftritte.js). */
.card-badge{position:absolute;left:12px;top:12px;padding:.3rem .7rem;border-radius:999px;background:#f3c56d;color:#1a1505;font:700 .72rem/1.2 var(--heading);letter-spacing:.12em;text-transform:uppercase}
/* Space Grotesk läuft weiter als Lexend: große Zeilen etwas weniger eng als in den einzelnen Stilen vorgesehen. */
h1,h2{letter-spacing:-.045em!important}
h3{letter-spacing:-.025em!important}

/* Logbuch (Instagram) und Store (eduki): Embleme von Codex, Auftrag 17 */
.social-links{display:flex;flex-wrap:wrap;gap:.6rem;margin:0}
.site-footer p.social-links{margin-top:0;color:inherit;font-size:1rem}
.social-link{display:inline-flex;align-items:center;gap:.6rem;padding:.3rem 1rem .3rem .35rem;border:1px solid color-mix(in srgb,currentColor 24%,transparent);border-radius:999px;color:inherit;text-decoration:none;transition:transform .2s ease,border-color .2s ease,background-color .2s ease}
.social-link:hover{transform:translateY(-2px);border-color:currentColor;background:color-mix(in srgb,currentColor 8%,transparent)}
.social-link:focus-visible{outline:3px solid currentColor;outline-offset:3px}
.social-link img{width:40px;height:40px;flex:none}
.social-link span{display:grid;gap:.1rem;line-height:1.1;text-align:left}
.social-link b{font:700 .95rem/1.1 var(--heading);letter-spacing:-.01em}
.social-link small{font-size:.72rem;opacity:.78}
.social-kopf{flex-wrap:nowrap;gap:.35rem}
.social-kopf .social-link{padding:0;border:0;background:none}
.social-kopf .social-link:hover{transform:translateY(-2px) scale(1.08)}
.social-kopf .social-link span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(max-width:900px){.social-kopf{display:none}}
@media(max-width:700px){.site-footer .footer-inner{gap:1.2rem}}
.cup-footer .social-links{margin-top:1rem}
