@import url('/styles_shared.css?v=74_01');

*{box-sizing:border-box}
html{scroll-behavior:smooth;font-size:var(--font-root-size)}
body{margin:0;background:rgb(var(--basic-rgb));color:rgb(var(--primary-rgb));font-family:var(--font-family),system-ui,sans-serif;font-size:var(--font-body-size);font-weight:var(--font-weight-body);line-height:var(--line-height-body);overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.skip-link{position:absolute;left:-9999px;top:10px;background:rgb(var(--primary-rgb));color:rgb(var(--basic-rgb));padding:.75rem 1rem;z-index:1000;border-radius:10px}.skip-link:focus{left:10px}
.section-shell{width:min(var(--max),calc(100% - 44px));margin-inline:auto}
.site-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:14px max(22px,calc((100vw - var(--max))/2));background:rgb(var(--basic-rgb) / var(--opacity-strong));backdrop-filter:blur(16px);border-bottom:var(--line-section)}
.brand{width:382px;overflow:visible;height:87px;display:flex;align-items:center}.brand img{width:382px;max-width:none;height:auto}
.main-nav{display:flex;align-items:center;gap:1.6rem;font-size:.92rem;font-weight:600}.main-nav a{position:relative}.main-nav a:not(.nav-cta)::after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:2px;background:rgb(var(--secondary-rgb));transition:.25s}.main-nav a:hover::after{right:0}.nav-cta{padding:.7rem 1rem;border-radius:999px;background:rgb(var(--primary-rgb));color:rgb(var(--basic-rgb))}.nav-toggle{display:none;border:0;background:transparent;color:rgb(var(--primary-rgb));font:inherit;font-weight:700}
.hero{min-height:82vh;display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:7vw;padding:8rem 0 6rem}.eyebrow{margin:0 0 1rem;color:rgb(var(--secondary-rgb));font-size:.83rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.hero h1,.section-intro h2,.physics h2,.promise h2,.about h2,.contact h2{margin:.1rem 0 1.2rem;line-height:var(--line-height-heading);letter-spacing:var(--letter-spacing-heading);font-weight:var(--font-weight-heading)}.hero h1{font-size:var(--font-h1-size);max-width:780px}.hero h1 span{color:rgb(var(--secondary-rgb))}.lead{font-size:clamp(1.08rem,1.5vw,1.35rem);max-width:720px;color:rgb(var(--primary-light-rgb))}.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2.1rem}.button{display:inline-flex;align-items:center;justify-content:center;padding:.9rem 1.25rem;border-radius:999px;font-weight:700;transition:transform .2s,box-shadow .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:rgb(var(--secondary-rgb));color:rgb(var(--basic-rgb));box-shadow:0 12px 40px rgb(var(--secondary-rgb) / var(--opacity-medium)),0 3px 12px rgb(var(--secondary-rgb) / var(--opacity-medium))}.button-ghost{border:1px solid rgb(var(--systemlight-rgb));color:rgb(var(--primary-rgb));background:rgb(var(--basic-rgb))}.hero-system{position:relative;min-height:520px;display:grid;place-items:center}
.orbit-window{
  position:relative;
  width:min(520px,88vw);
  aspect-ratio:1 / 1;
  border-radius:50%;
  overflow:hidden;
  background:rgb(var(--basic-rgb));
  box-shadow:var(--shadow);
  flex:none;
}
.orbit-window img{
  position:absolute;
  width:100%;
  height:100%;
  max-width:none;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  object-fit:contain;
  animation:none;
}.floating-note{position:absolute;padding:.7rem 1rem;border-radius:999px;background:rgb(var(--basic-rgb));box-shadow:var(--shadow);font-size:.82rem;font-weight:700;z-index:3}
.note-brand{right:69%;top:3%}
.note-structure{left:38%;top:97%}
.note-experience{right:1%;bottom:9%;color:rgb(var(--secondary-rgb))}
@keyframes breath{0%,100%{transform:scale(1) rotate(0)}50%{transform:scale(1.025) rotate(.7deg)}}
.statement-band{padding:0 0 7rem}.inner-glow-panel{background:rgb(var(--panel-inner-background-rgb));color:rgb(var(--panel-inner-text-rgb));box-shadow:var(--panel-inner-glow);border-radius:var(--radius)}.statement-panel{padding:clamp(2rem,5vw,4rem);max-width:1040px;margin:auto;text-align:center}.statement-panel .micro{font-size:.8rem;letter-spacing:.15em;text-transform:uppercase;margin:0 0 1rem}.statement-panel h2{font-size:clamp(2rem,4vw,4rem);font-weight:500;line-height:1.08;margin:0}
.problem,.offers,.physics,.process,.promise,.references,.about,.contact{padding:7rem 0}.section-intro{max-width:820px;margin-bottom:3rem}.section-intro h2,.physics h2,.promise h2,.about h2,.contact h2{font-size:var(--font-h2-size)}.section-intro>p:last-child,.physics-copy>p:not(.eyebrow),.about-copy>p:not(.eyebrow){font-size:1.15rem;color:rgb(var(--primary-light-rgb))}
.problem-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem}.white-card{background:rgb(var(--basic-rgb));border-radius:var(--radius);box-shadow:var(--shadow)}.problem-grid article{padding:2rem}.problem-grid span,.reference-card span{font-size:.78rem;color:rgb(var(--primary-light-rgb));font-weight:700;letter-spacing:.08em;text-transform:uppercase}.problem-grid h3{font-size:var(--font-h3-size);margin:.7rem 0 .4rem}.problem-grid p{margin:0;color:rgb(var(--primary-light-rgb))}
.offer-stack{display:grid;gap:1rem}.offer-card{display:grid;grid-template-columns:90px minmax(230px,.75fr) 1.35fr;gap:2rem;align-items:start;padding:2rem 2.3rem;border-radius:var(--radius);background:rgb(var(--basic-rgb));box-shadow:var(--shadow);position:relative;overflow:hidden}.offer-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(rgb(var(--secondary-rgb)),rgb(var(--secondary-light-rgb)))}.offer-number{font-size:2.6rem;font-weight:300;color:rgb(var(--secondary-light-rgb))}.offer-kicker{margin:0 0 .3rem;color:rgb(var(--secondary-rgb));font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;font-weight:700}.offer-card h3{font-size:2rem;margin:.2rem 0 .5rem}.offer-tagline{margin:0;color:rgb(var(--primary-light-rgb))}.offer-body p{margin-top:0}.offer-body ul{margin:.6rem 0 1rem;padding-left:1.2rem;color:rgb(var(--primary-light-rgb))}.deliverable{padding-top:.7rem;border-top:var(--line-detail)}
.physics{position:relative;display:grid;grid-template-columns:.9fr 1.1fr;gap:5rem;align-items:center;overflow:visible;isolation:isolate}.physics-path{font-size:1rem!important;color:rgb(var(--primary-rgb))!important;margin-top:2rem}.physics-path b{color:rgb(var(--secondary-rgb));padding:0 .35rem}.physics-visual{position:relative;min-height:560px;display:grid;place-items:center;overflow:visible;z-index:-1}.orbit-stage{
  position:absolute;
  width:100%;
  aspect-ratio:1 / 1;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%) scale(3);
  transform-origin:center center;
  display:grid;
  place-items:center;
  pointer-events:none;
}
.orbit-stage img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  opacity:.18;
}
.process-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem}.process-card{border-radius:26px;padding:1.5rem;background:rgb(var(--basic-rgb));box-shadow:var(--shadow);min-height:250px}.process-card>span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:rgb(var(--primary-rgb));color:rgb(var(--basic-rgb))}.process-card h3{font-size:1.35rem;margin:1.2rem 0 .2rem}.process-card p{color:rgb(var(--secondary-rgb));font-weight:700;margin:.2rem 0 1rem}.process-card small{color:rgb(var(--primary-light-rgb));font-size:.82rem}
.promise-card{padding:clamp(2.2rem,5vw,4.5rem)}.promise-card>p:not(.eyebrow){max-width:920px;font-size:1.15rem;color:rgb(var(--primary-light-rgb))}.promise-flow{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem;margin-top:2rem}.promise-flow span{padding:.55rem .8rem;border-radius:999px;background:rgb(var(--systemlight-rgb));color:rgb(var(--primary-rgb));font-size:.82rem;font-weight:700}.promise-flow i{font-style:normal;color:rgb(var(--secondary-rgb))}
.reference-grid{display:grid;grid-template-columns:1.1fr .9fr .9fr;gap:1rem}.reference-card{padding:2rem;min-height:300px}.reference-card h3{font-size:2.6rem;margin:1.3rem 0 .8rem}.reference-card.inner-glow-panel span{color:rgb(var(--basic-rgb) / var(--opacity-strong))}.reference-card.inner-glow-panel.muted{background:rgb(var(--primary-light-rgb))}.reference-note{margin-top:1.4rem;color:rgb(var(--primary-light-rgb))}
.about{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.stat{padding:1.6rem;min-height:180px;display:flex;flex-direction:column;justify-content:space-between}.stat strong{font-size:2.4rem;color:rgb(var(--secondary-rgb));font-weight:500}.stat span{font-size:.85rem;color:rgb(var(--primary-light-rgb))}
.contact-card{padding:clamp(2.5rem,6vw,5rem);text-align:center}.contact-card .light{color:rgb(var(--panel-inner-text-rgb) / var(--panel-inner-muted-opacity))}.contact-card p:not(.eyebrow){max-width:720px;margin:0 auto 2rem;color:rgb(var(--panel-inner-text-rgb) / var(--panel-inner-muted-opacity))}.button-light{background:rgb(var(--basic-rgb));color:rgb(var(--primary-rgb))}
.site-footer{padding:3rem 0 4rem;border-top:var(--line-section);display:flex;justify-content:space-between;align-items:center;gap:2rem}.site-footer img{width:280px}.site-footer div{display:flex;gap:1.3rem;flex-wrap:wrap;color:rgb(var(--primary-light-rgb));font-size:.85rem}
.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none}.orbit-window img{animation:none}}
@media(max-width:980px){.main-nav{position:absolute;top:100%;left:0;right:0;background:rgb(var(--basic-rgb));padding:1.2rem 22px 1.5rem;display:none;flex-direction:column;align-items:flex-start;border-bottom:1px solid rgb(var(--systemlight-rgb))}.main-nav.open{display:flex}.nav-toggle{display:block}.hero,.physics,.about{grid-template-columns:1fr}.hero{padding-top:5rem}.hero-system{min-height:460px}.offer-card{grid-template-columns:70px 1fr}.offer-body{grid-column:2}.process-grid{grid-template-columns:repeat(2,1fr)}.reference-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:680px){.section-shell{width:min(var(--max),calc(100% - 28px))}.site-header{padding:10px 14px}.brand{width:315px;height:75px;overflow:visible}.brand img{width:315px;max-width:none}.hero{min-height:auto;padding:4rem 0}.hero h1{font-size:var(--font-h1-mobile-size)}.hero-system{min-height:340px}.floating-note{font-size:.72rem}.problem-grid,.process-grid,.stats-grid{grid-template-columns:1fr}.offer-card{grid-template-columns:1fr;gap:.5rem;padding:1.7rem}.offer-body{grid-column:auto}.offer-number{font-size:2rem}.physics{gap:1rem}.physics-visual{min-height:420px}.promise-flow i{display:none}.site-footer{align-items:flex-start;flex-direction:column}.site-footer img{width:230px}}

/* Footer text lockup */
.footer-brand{
  font-family:"Quicksand",sans-serif;
  font-size:1rem;
  font-weight:400;
  letter-spacing:0;
  color:rgb(var(--primary-rgb));
  white-space:nowrap;
}
.footer-brand span{
  font-weight:600;
}


/* v6 — header logo alignment */
.site-header > .brand{
  flex:0 0 auto;
  margin:0 auto 0 0;
  justify-content:flex-start;
  transform:none;
}
.site-header > .brand img{
  margin:0;
  transform:none;
  transform-origin:left center;
}

@media(max-width:680px){
  .hero-system{
    min-height:360px;
  }
  .orbit-window{
    width:min(340px,82vw);
    aspect-ratio:1 / 1;
  }
  .orbit-stage{
    width:min(360px,86vw);
    aspect-ratio:1 / 1;
  }
}

.physics-copy{
  position:relative;
  z-index:2;
}

@media(max-width:680px){
  .orbit-window img{
    width:100%;
    height:100%;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    object-fit:contain;
  }
  .note-brand{right:69%;top:3%}
  .note-structure{left:38%;top:97%}
  .note-experience{right:1%;bottom:9%}
  .physics-visual{
    min-height:420px;
  }
  
}

@media(max-width:680px){
  .note-identity{right:4%;top:9%;left:auto}
  .note-narrative{left:-3%;top:58%;right:auto}
}

/* v10 — exact restored base positions for the original notes */
.note-identity{
  right:4%;
  top:9%;
  left:auto;
}
.note-narrative{left:-3%;top:58%;right:auto}

.footer-brand{
  font-family:"Quicksand",sans-serif;
  font-size:1rem;
  letter-spacing:0;
  color:rgb(var(--primary-rgb));
  white-space:nowrap;
}
.footer-brand .idol-word{font-weight:700}
.footer-brand .brand-word{font-weight:300}
.footer-brand .structure-word{font-weight:600}

/* v12 — iOS horizontal overflow fix */
html{
  overflow-x:hidden;
}
body{
  position:relative;
  overflow-x:hidden;
  overscroll-behavior-x:none;
  touch-action:pan-y;
}

/* v14 — footer lockup: idol [space] BrandStructure */
.site-footer .footer-brand{
  display:inline-flex;
  align-items:baseline;
  gap:0 !important;
  flex-wrap:nowrap;
}
.site-footer .footer-brand .idol-word{
  margin-right:.35em;
}
.site-footer .footer-brand .brand-word,
.site-footer .footer-brand .structure-word{
  margin:0;
}

/* v15 — persistent header */
.site-header{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:1000;
  width:100%;
}

/* Offset for fixed header */
body{
  padding-top:96px;
}

@media(max-width:680px){
  body{
    padding-top:84px;
  }
}

/* v16 — force fixed header on desktop and mobile */
.site-header{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  z-index:1000 !important;
  width:100% !important;
}

@media(max-width:680px){
  .site-nav{
    text-align:right;
    align-items:flex-end;
  }

  .site-nav a{
    text-align:right;
    width:100%;
  }

  .site-nav.is-open,
  .site-nav.open,
  .site-nav[data-open="true"]{
    right:0;
    left:auto;
    background:rgb(var(--basic-rgb) / var(--opacity-light));
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
  }
}

/* v17 — mobile popup menu matches the translucent blurred header */
@media(max-width:980px){
  .main-nav{
    left:0;
    right:0;
    align-items:flex-end;
    text-align:right;
  }

  .main-nav.open{
    display:flex;
    background:rgb(var(--basic-rgb) / var(--opacity-strong));
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
    border-bottom:var(--line-section);
  }

  .main-nav a{
    text-align:right;
  }
}

/* v18 — mobile footer contact/legal block right aligned */
@media(max-width:680px){
  .site-footer{
    text-align:right;
  }

  .site-footer > div:last-child{
    margin-left:auto;
    align-items:flex-end;
    text-align:right;
  }

  .site-footer > div:last-child a,
  .site-footer > div:last-child p,
  .site-footer > div:last-child span{
    text-align:right;
  }
}




/* Reference hierarchy — 2026-08-11 */
.reference-card .reference-kicker{
  display:block;
  min-height:3.2em;
  line-height:1.4;
}

.reference-card .reference-client{
  margin:1.3rem 0 .3rem;
  font-size:2.6rem;
  line-height:1.15;
}

.reference-card .reference-project{
  margin:0 0 .8rem;
  font-size:1.3rem;
  line-height:1.15;
  font-weight:600;
}




/* Contact figures */
.contact{
  position:relative;
}

.contact-card{
  position:relative;
  overflow:hidden;
}

.contact-figures{
  display:flex;
  align-items:flex-end;
  justify-content:center;
  gap:.7rem;
  width:100%;
  margin-top:1rem;
  pointer-events:none;
}

.contact-figure{
  display:block;
  width:clamp(110px, 12vw, 170px);
  height:auto;
  object-fit:contain;
}

.contact-figure-red{
  width:clamp(82.5px, 9vw, 127.5px);
  transform:scaleX(-1) translateY(-4px);
}

@media(max-width:680px){
  .contact-figures{
    gap:.35rem;
    margin-top:.75rem;
  }

  .contact-figure{
    width:clamp(90px, 27vw, 125px);
  }

  .contact-figure-red{
    width:clamp(67.5px, 20.25vw, 93.75px);
    transform:scaleX(-1) translateY(-3px);
  }
}


/* Contact section only: figures provide the lower spacing */
.contact.section-shell{
  padding-bottom:0 !important;
}


/* Mobile contact figure sizing fix */
@media(max-width:680px){
  .contact-figures .contact-figure-blue{
    width:92px !important;
    max-width:92px !important;
  }

  .contact-figures .contact-figure-red{
    width:69px !important;
    max-width:69px !important;
    transform:scaleX(-1) translateY(-3px) !important;
  }
}


/* Mobile stats: keep all three cards in one row */
@media(max-width:680px){
  .stats-grid{
    grid-template-columns:repeat(3, minmax(0,1fr)) !important;
    gap:.6rem !important;
  }

  .stats-grid .stat{
    min-width:0;
    padding:1rem .55rem !important;
  }

  .stats-grid .stat strong{
    font-size:clamp(1.7rem, 9vw, 2.35rem) !important;
    line-height:1;
  }

  .stats-grid .stat span{
    font-size:.72rem !important;
    line-height:1.25;
  }
}


/* Portrait phone stats: restore more generous inner spacing without changing landscape */
@media(max-width:680px) and (orientation:portrait){
  .stats-grid .stat{
    padding:1.15rem .85rem !important;
  }

  .stats-grid .stat strong{
    font-size:clamp(1.65rem, 8.4vw, 2.15rem) !important;
  }

  .stats-grid .stat span{
    font-size:.68rem !important;
    line-height:1.3;
  }
}

/* ===== Legal / Impressum ===== */
.legal-page{
  padding-top: clamp(7.5rem, 12vw, 10rem);
  padding-bottom: clamp(3rem, 7vw, 5rem);
}

.legal-card{
  position: relative;
  overflow: hidden;
  padding: clamp(2rem, 5vw, 4rem);
}

.legal-card-inner{
  position: relative;
  z-index: 2;
  max-width: 44rem;
}

.legal-back{
  color: rgb(var(--primary-rgb));
  text-decoration: none;
  font-weight: 600;
}

.legal-back:hover{
  color: rgb(var(--secondary-rgb));
}

.legal-block + .legal-block{
  margin-top: 1.75rem;
}

.legal-block h2{
  font-size: 1.1rem;
  margin: 0 0 .55rem;
}

.legal-block p{
  margin: 0;
  color: rgb(var(--primary-light-rgb));
  line-height: 1.75;
}

.legal-figure{
  position:static;
  width:130px;
  margin-top:1rem;
  pointer-events:none;
}

.legal-figure img{
  display:block;
  width:100%;
  height:auto;
}

@media (max-width: 860px){
  .legal-card{
    padding-bottom: clamp(11rem, 30vw, 14rem);
  }

  .legal-card-inner{
    max-width: 100%;
  }
}

@media (max-width: 680px){
  .legal-page{
    padding-top: 6.5rem;
  }

  .legal-card{
    padding: 1.6rem 1.25rem 9.5rem;
    border-radius: 28px;
  }

  .legal-block h2{
    font-size: 1.12rem;
  }
}


/* Impressum H1 uses the same scale as the homepage H1 */
.legal-card h1{
  font-size:var(--font-h1-size);
  line-height:1.02;
  letter-spacing:-.045em;
  font-weight:500;
  margin:.1rem 0 1.2rem;
}


/* Impressum card: only as large as its content requires */
.legal-card{
  width:fit-content;
  max-width:100%;
  margin-left:auto;
  margin-right:auto;
}

@supports not (width:fit-content){
  .legal-card{
    display:table;
  }
}

@media(max-width:680px){
  .legal-card{
    width:100%;
  }
}


/* Mobile footer: legal/contact items stacked and right-aligned */
@media(max-width:680px){
  .site-footer{
    align-items:flex-start;
  }

  .site-footer > div:last-child{
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    gap:.35rem;
    margin-left:auto;
    text-align:right;
  }

  .site-footer > div:last-child > a,
  .site-footer > div:last-child > span{
    display:block;
    width:100%;
    text-align:right;
  }
}


/* 3D Brand Physics orbit section */
.orbit-3d-section{
  padding:0 0 7rem;
}

.orbit-3d-frame{
  display:block;
  width:100%;
  height:auto;
  min-height:clamp(760px, 104vw, 1280px);
  border:0;
  border-radius:var(--radius);
  background:transparent;
  overflow:hidden;
}

@media(max-width:680px){
  .orbit-3d-section{
    padding-bottom:5rem;
  }

  .orbit-3d-frame{
    min-height:calc(100vw + 210px);
  }
}


/* iframe rounding / scrollbar safeguard */
.orbit-3d-frame{
  overflow:hidden !important;
}

@media(min-width:681px){
  .orbit-3d-frame{
    min-height:calc(clamp(760px, 104vw, 1280px) + 4px);
  }
}

@media(max-width:680px){
  .orbit-3d-frame{
    min-height:calc(100vw + 214px);
  }
}

/* Orbit motion */
@keyframes idol-orbit-window-spin{
  from{transform:translate(-50%,-50%) rotate(0deg)}
  to{transform:translate(-50%,-50%) rotate(360deg)}
}

.orbit-window img{
  animation:idol-orbit-window-spin 180s linear infinite;
  animation-play-state:running;
  will-change:transform;
}


@keyframes idol-orbit-stage-spin{
  from{transform:rotate(0deg)}
  to{transform:rotate(360deg)}
}

.orbit-stage img{
  animation:idol-orbit-stage-spin 180s linear infinite;
  transform-origin:center center;
  will-change:transform;
}

@media (prefers-reduced-motion: reduce){
  .orbit-window img,
  .orbit-stage img{
    animation:none !important;
  }
}

/* Offer title markers */
.offer-title{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:.42em;
}

.offer-mark{
  display:inline-flex;
  flex:0 0 auto;
  vertical-align:middle;
}

.offer-mark-red,
.offer-mark-blue{
  width:.8em;
  height:.8em;
  border-radius:50%;
}

.offer-mark-red{
  background:rgb(var(--secondary-rgb));
}

.offer-mark-blue{
  background:rgb(var(--primary-rgb));
}

.offer-mark-orbit{
  width:1.2em;
  height:1.2em;
}

.offer-mark-orbit img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}

.offer-mark-direction{
  display:inline-flex;
  align-items:center;
  flex:0 0 auto;
  height:.8em;
  gap:0;
}

.offer-mark-direction .dot{
  border-radius:50%;
  flex:0 0 auto;
}

.offer-mark-direction .dot.red{
  width:.4em;
  height:.4em;
  background:rgb(var(--secondary-rgb));
}

.offer-mark-direction .dot.blue{
  width:.8em;
  height:.8em;
  background:rgb(var(--primary-rgb));
}

.offer-mark-direction .line{
  width:.55em;
  height:1px;
  flex:0 0 auto;
  margin:0;
}

.offer-mark-direction .line.red{
  background:rgb(var(--secondary-light-rgb));
}

.offer-mark-direction .line.blue{
  background:rgb(var(--primary-light-rgb));
}

/* Overlay the two connector lines between both circles */
.offer-mark-direction .line.red{
  margin-right:-.55em;
}



/* Offer markers below offer number */
.offer-number{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:.55rem;
}

.offer-number > span:first-child{
  display:block;
  line-height:1;
}

.offer-number .offer-mark,
.offer-number .offer-mark-direction{
  margin-left:.08em;
}

.offer-number .offer-mark-red,
.offer-number .offer-mark-blue{
  width:.8em;
  height:.8em;
}

.offer-number .offer-mark-orbit{
  width:1.2em;
  height:1.2em;
}


.offer-format{
  margin:0 0 .9rem;
  color:rgb(var(--primary-rgb));
  font-weight:700;
  font-size:.9rem;
  letter-spacing:.02em;
}

/* Booking details */
.booking-details{
  grid-column:1 / -1;
  width:100%;
  margin-top:.35rem;
  border:var(--line-detail);
  border-radius:calc(var(--radius) * .72);
  background:transparent;
  overflow:hidden;
}

.booking-details summary{
  position:relative;
  cursor:pointer;
  list-style:none;
  padding:1rem 3.2rem 1rem 1.25rem;
  color:rgb(var(--primary-rgb));
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  user-select:none;
}

.booking-details summary::-webkit-details-marker{
  display:none;
}

.booking-details summary::after{
  content:"+";
  position:absolute;
  right:1.25rem;
  top:50%;
  transform:translateY(-50%);
  color:rgb(var(--primary-light-rgb));
  font-size:1.45rem;
  font-weight:500;
  line-height:1;
}

.booking-details[open] summary::after{
  content:"–";
}

.booking-details-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1.25rem 2rem;
  padding:0 1.25rem 1.35rem;
  border-top:var(--line-detail);
}

.booking-details-grid > div{
  padding-top:1.15rem;
}

.booking-details-grid span{
  display:block;
  margin-bottom:.35rem;
  color:rgb(var(--primary-light-rgb));
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.booking-details-grid p{
  margin:0;
  color:rgb(var(--primary-rgb));
  font-size:.92rem;
  line-height:1.5;
}

@media(max-width:680px){

  .booking-details-grid{
    grid-template-columns:1fr;
    gap:.8rem;
  }
}



/* Explicit structure statement */
.decision-statement-panel{
  background:rgb(var(--secondary-extra-light-rgb));
  color:rgb(var(--basic-rgb));
  box-shadow:var(--inner);
  border-radius:var(--radius);
  padding:clamp(2rem,5vw,4rem);
  max-width:1040px;
  margin:auto;
  text-align:center;
}

.decision-statement-panel .micro{
  font-size:.8rem;
  letter-spacing:.15em;
  text-transform:uppercase;
  margin:0 0 1rem;
}

.decision-statement-panel h2{
  font-size:clamp(2rem,4vw,4rem);
  font-weight:500;
  line-height:1.08;
  margin:0;
}

.decision-qualities{
  margin:1.5rem auto 0;
  font-size:1rem;
  line-height:1.55;
  color:rgb(var(--basic-rgb));
  word-spacing:.9em;
  letter-spacing:.03em;
}

/* Concrete project entry points */
.project-entry{
  padding:7rem 0;
}

.project-entry-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1.2rem;
}

.project-entry-card{
  padding:2rem;
}

.project-entry-card span{
  font-size:.78rem;
  color:rgb(var(--primary-light-rgb));
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.project-entry-card h3{
  font-size:var(--font-h3-size);
  margin:.7rem 0 .4rem;
  color:rgb(var(--primary-rgb));
}

.project-entry-card p{
  margin:0;
  color:rgb(var(--primary-light-rgb));
}

.project-entry-card-ai span,
.project-entry-card-ai h3,
.project-entry-card-ai p{
  color:rgb(var(--secondary-rgb));
}

@media(max-width:680px){
  .project-entry{
    padding:5rem 0;
  }

  .project-entry-grid{
    grid-template-columns:1fr;
  }
}



/* 3D orbit: extra bottom breathing room below descriptive note */
.orbit-3d-frame{
  min-height:calc(clamp(760px, 104vw, 1280px) + 52px);
}

@media(max-width:680px){
  .orbit-3d-frame{
    min-height:calc(100vw + 262px);
  }
}

/* Responsive line rhythm for explicit-structure statement */
.decision-headline .decision-desktop,
.decision-headline .decision-mobile{
  display:block;
}

.decision-headline .decision-desktop > span,
.decision-headline .decision-mobile > span{
  display:block;
}

.decision-headline .decision-mobile{
  display:none;
}

@media(max-width:680px){
  .decision-headline .decision-desktop{
    display:none;
  }

  .decision-headline .decision-mobile{
    display:block;
  }
}

/* Blueprint investment: secondary explanatory text */
.blueprint-investment small{
  color:rgb(var(--primary-light-rgb));
  font-size:inherit;
}

/* Blueprint timeframe: secondary explanatory text */
.blueprint-time small{
  color:rgb(var(--primary-light-rgb));
  font-size:inherit;
}

/* System booking details: secondary explanatory text */
.system-time small,
.system-investment small{
  color:rgb(var(--primary-light-rgb));
  font-size:inherit;
}

/* Direction booking details: optional / secondary information */
.direction-format small,
.direction-investment small,
.direction-optional{
  color:rgb(var(--primary-light-rgb));
}
.direction-format small,
.direction-investment small{
  font-size:inherit;
}



/* Direction: optional extension as a distinct secondary block */
.direction-optional-label{
  color:rgb(var(--primary-light-rgb));
  margin:.9rem 0 .25rem;
}
.direction-optional-list{
  color:rgb(var(--primary-light-rgb));
  margin-top:0;
}

/* Project-specific booking option below concrete occasions */
.project-offer-card{
  margin-top:1.2rem;
}

/* BrandProject: no sequence number or marker */
.offer-number-empty{
  min-height:1px;
}



/* v70 — compact two-row header controls; theme switch above navigation */
.header-controls{
  margin-left:auto;
  align-self:stretch;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-end;
  min-width:0;
}
.header-theme-row{
  width:100%;
  min-height:24px;
  display:flex;
  justify-content:flex-end;
  align-items:center;
  margin-bottom:2px;
  transform:translateY(-8px);
}
.nav-theme-switch{justify-content:flex-end;
  margin:0;
  line-height:1}
.header-nav-row{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  min-width:0;
}

@media(max-width:980px){
  .header-controls{
    justify-content:center;
    flex:1 1 auto;
  }
  .header-theme-row{
    min-height:22px;
    margin-bottom:1px;
    transform:translateY(-4px);
  }
  .header-nav-row{width:100%}
  .nav-toggle{margin-left:auto}
  .main-nav{
    top:100%;
  }
}

@media(max-width:680px){
}


/* v71 — shared theme control on legal pages */
.legal-header-controls{
  margin-left:auto;
  align-self:stretch;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-end;
}
.legal-header-controls .header-theme-row{width:auto}
.legal-header-controls .header-nav-row{width:auto}
.legal-header-controls .legal-back{white-space:nowrap}
@media(max-width:680px){
  .legal-header-controls{flex:1 1 auto}
}


/* v72 — decision surface uses secondary-extra-light; theme_shared.js?v=71_07 keeps this role constant across darth/idol */
.decision-statement-panel{
  background-color:rgb(var(--secondary-extra-light-rgb)) !important;
}


/* v73 — mobile theme control lives inside popup menu */
.mobile-theme-item{display:none}
@media(max-width:980px){
  .header-theme-row{display:none;}
  .mobile-theme-item{display:flex;
    width:100%;
    justify-content:flex-end;
    align-items:center;
    margin:0 0 .65rem;
    padding:0;
    color:rgb(var(--primary-light-rgb))}
  .legal-header-controls{justify-content:center;}
  .legal-header-controls .header-nav-row{width:100%;}
  .legal-main-nav{align-items:flex-end;text-align:right;}
  .legal-main-nav .legal-back{width:auto;text-align:right;}
}
@media(max-width:680px){
}


/* v74 — BrandStructure Snapshot entry below Brand Physics */
.physics-snapshot-entry{
  display:flex;
  align-items:center;
  gap:1rem;
  flex-wrap:wrap;
  margin-top:1.35rem;
}
.physics-snapshot-entry .button{flex:0 0 auto;}
.physics-snapshot-entry p{
  margin:0;
  max-width:430px;
  color:rgb(var(--primary-light-rgb));
  font-size:.92rem;
  line-height:1.45;
}
@media(max-width:680px){
  .physics-snapshot-entry{align-items:flex-start;flex-direction:column;gap:.75rem;}
}


/* v76 — Snapshot teaser aligned to the same three-column offer grid */
.snapshot-teaser-card{
  display:grid;
  grid-template-columns:90px minmax(230px,.75fr) 1.35fr;
  gap:2rem;
  align-items:center;
  padding:1.25rem 2.3rem;
  border-radius:var(--radius);
  background:rgb(var(--basic-rgb));
  box-shadow:var(--shadow);
  color:rgb(var(--primary-rgb));
  transition:transform .2s ease,box-shadow .2s ease;
}
.snapshot-teaser-card:hover{transform:translateY(-2px)}
.snapshot-teaser-spacer{min-height:1px}
.snapshot-teaser-copy{min-width:0}
.snapshot-teaser-card .offer-kicker{margin:0 0 .2rem}
.snapshot-teaser-card h3{margin:0;font-size:var(--font-h3-size);line-height:1.15;font-weight:600}
.snapshot-teaser-arrow{
  justify-self:end;
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border-radius:50%;
  background:rgb(var(--primary-rgb));
  color:rgb(var(--basic-rgb));
  font-size:1.15rem;
  font-weight:600;
}
@media(max-width:980px){
  .snapshot-teaser-card{grid-template-columns:70px 1fr auto;}
}
@media(max-width:680px){
  .snapshot-teaser-card{
    grid-template-columns:1fr auto;
    gap:.8rem;
    padding:1.1rem 1.7rem;
  }
  .snapshot-teaser-spacer{display:none}
  .snapshot-teaser-card h3{font-size:1.35rem}
}



/* v79 — narrative modes: authentic / staged / illustrative */
.narrative-modes{padding:7rem 0}
.narrative-modes-grid{display:grid;grid-template-columns:1.16fr .72fr .92fr;gap:1.2rem;align-items:start}
.narrative-mode{min-width:0}
.narrative-mode-illustrative{transform:translateY(-2.25rem)}
.narrative-media{position:relative;overflow:hidden;border-radius:var(--radius);background:rgb(var(--basic-rgb));box-shadow:var(--shadow)}
.narrative-media img{display:block;width:100%;height:100%}
.narrative-media-location{aspect-ratio:1672 / 941}
.narrative-media-location img{object-fit:cover}
.narrative-media-illustrative{aspect-ratio:1024 / 1536}
.narrative-media-illustrative img{object-fit:cover;object-position:center top}
.narrative-media-authentic{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));aspect-ratio:1.28 / 1}
.narrative-media-authentic img{min-width:0;object-fit:cover;object-position:center center}
.narrative-media-authentic img + img{border-left:var(--line-detail)}
.narrative-copy{padding:1.35rem .25rem 0}
.narrative-copy .eyebrow{margin-bottom:.55rem}
.narrative-copy h3{margin:0 0 .55rem;font-size:clamp(1.35rem,2vw,1.8rem);line-height:1.15;font-weight:600;color:rgb(var(--primary-rgb))}
.narrative-copy p:last-child{margin:0;color:rgb(var(--primary-light-rgb));font-size:.98rem;line-height:1.55}
@media(max-width:980px){.narrative-modes-grid{grid-template-columns:1fr 1fr}.narrative-mode-staged{grid-column:1 / -1}.narrative-mode-illustrative{transform:none}.narrative-media-location{aspect-ratio:16 / 9}}
@media(max-width:680px){.narrative-modes{padding:5rem 0}.narrative-modes-grid{grid-template-columns:1fr;gap:2.4rem}.narrative-mode-staged{grid-column:auto}.narrative-mode-illustrative{width:min(76%,320px);margin-inline:auto}.narrative-media-authentic{aspect-ratio:1.35 / 1}.narrative-copy{padding-top:1rem}}


/* v80 — illustrative mode floats freely between the two photographic blocks */
.narrative-mode-illustrative{
  transform:translateY(-4.8rem);
  position:relative;
  z-index:2;
}

.narrative-mode-illustrative .narrative-media{
  overflow:visible;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.narrative-media-illustrative{
  aspect-ratio:auto;
  height:clamp(470px,46vw,650px);
  display:flex;
  align-items:flex-start;
  justify-content:center;
}

.narrative-media-illustrative img{
  width:auto;
  height:100%;
  max-width:none;
  object-fit:contain;
  object-position:center top;
}

@media(max-width:980px){
  .narrative-mode-illustrative{
    transform:none;
  }
  .narrative-media-illustrative{
    height:clamp(420px,66vw,600px);
  }
}

@media(max-width:680px){
  .narrative-mode-illustrative{
    width:min(82%,340px);
  }
  .narrative-media-illustrative{
    height:auto;
  }
  .narrative-media-illustrative img{
    width:100%;
    height:auto;
    max-width:100%;
  }
}


/* v81 — illustrative narrative mode: smaller, clearly raised above outer columns */
.narrative-mode-illustrative{
  transform:translateY(-7.5rem);
}

.narrative-mode-illustrative .narrative-media-illustrative{
  width:92.5%;
  margin-inline:auto;
}

@media(max-width:980px){
  .narrative-mode-illustrative{
    transform:translateY(-4.5rem);
  }
}

@media(max-width:680px){
  .narrative-mode-illustrative{
    transform:none;
  }

  .narrative-mode-illustrative .narrative-media-illustrative{
    width:92.5%;
  }
}


/* v82 — fix illustrative narrative sizing + vertical position without transform collision */
.narrative-mode-illustrative{
  transform:none !important;
}

.narrative-mode-illustrative .narrative-media-illustrative{
  width:auto;
  height:clamp(435px,42.55vw,601px);
  margin-top:-7.5rem;
  margin-left:auto;
  margin-right:auto;
}

.narrative-mode-illustrative .narrative-media-illustrative img{
  width:auto;
  height:100%;
  max-width:none;
}

@media(max-width:980px){
  .narrative-mode-illustrative{
    transform:none !important;
  }

  .narrative-mode-illustrative .narrative-media-illustrative{
    height:clamp(420px,58vw,560px);
    margin-top:-4.5rem;
  }
}

@media(max-width:680px){
  .narrative-mode-illustrative{
    transform:none !important;
  }

  .narrative-mode-illustrative .narrative-media-illustrative{
    width:auto;
    height:min(112vw,520px);
    margin-top:0;
  }
}


/* v83 — illustrative overhang reduced + AI generated label */
.narrative-mode-illustrative .narrative-media-illustrative{
  margin-top:-4.8rem;
}

.narrative-ai-label{
  position:absolute;
  left:1rem;
  bottom:1rem;
  width:clamp(108px, 20%, 146px);
  height:auto;
  z-index:2;
  pointer-events:none;
}

@media(max-width:980px){
  .narrative-mode-illustrative .narrative-media-illustrative{
    margin-top:-3rem;
  }

  .narrative-ai-label{
    left:.85rem;
    bottom:.85rem;
    width:clamp(102px, 23%, 132px);
  }
}

@media(max-width:680px){
  .narrative-mode-illustrative .narrative-media-illustrative{
    margin-top:0;
  }

  .narrative-ai-label{
    left:.8rem;
    bottom:.8rem;
    width:118px;
  }
}


/* v84 — AI label overrides generic .narrative-media img sizing */
.narrative-media img.narrative-ai-label{
  position:absolute;
  left:1rem;
  bottom:1rem;
  width:clamp(108px,20%,146px);
  height:auto;
  max-width:none;
  z-index:2;
  pointer-events:none;
  object-fit:contain;
}

@media(max-width:980px){
  .narrative-media img.narrative-ai-label{
    left:.85rem;
    bottom:.85rem;
    width:clamp(102px,23%,132px);
    height:auto;
  }
}

@media(max-width:680px){
  .narrative-media img.narrative-ai-label{
    left:.8rem;
    bottom:.8rem;
    width:118px;
    height:auto;
  }
}


/* v85 — AI label final size/position tweak */
.narrative-media img.narrative-ai-label{
  bottom:.5rem;
  width:clamp(136px,25%,184px);
}

@media(max-width:980px){
  .narrative-media img.narrative-ai-label{
    bottom:.5rem;
    width:clamp(128px,28%,166px);
  }
}

@media(max-width:680px){
  .narrative-media img.narrative-ai-label{
    bottom:.5rem;
    width:136px;
  }
}

/* v71_05 — Angebot disclosure: click, touch and keyboard. */
.main-nav .nav-dropdown{position:relative;}
.main-nav .nav-dropdown > summary{
  display:flex;align-items:center;gap:.45rem;list-style:none;cursor:pointer;
  color:inherit;font:inherit;
}
.main-nav .nav-dropdown > summary::-webkit-details-marker{display:none;}
.main-nav .nav-dropdown > summary::after{
  content:"";width:.4rem;height:.4rem;border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);
}
.main-nav .nav-dropdown[open] > summary::after{transform:translateY(2px) rotate(225deg);}
.main-nav .nav-dropdown > summary:focus-visible,
.main-nav .nav-dropdown-links a:focus-visible{outline:2px solid rgb(var(--secondary-rgb));outline-offset:5px;}
.main-nav .nav-dropdown-links{
  position:absolute;top:calc(100% + .85rem);left:-1rem;z-index:1;
  display:flex;flex-direction:column;align-items:stretch;gap:.25rem;min-width:150px;
  padding:.65rem;border:var(--line-section);border-radius:16px;
  background:rgb(var(--basic-rgb));color:rgb(var(--primary-rgb));box-shadow:var(--shadow);
}
.main-nav .nav-dropdown-links a{display:block;padding:.65rem .75rem;border-radius:9px;text-align:left;}
.main-nav .nav-dropdown-links a::after{display:none;}
.main-nav .nav-dropdown-links a:hover,
.main-nav .nav-dropdown-links a:focus-visible{background:rgb(var(--systemlight-rgb) / var(--opacity-medium));}
@media(max-width:980px){
  .main-nav .nav-dropdown{max-width:100%;}
  .main-nav .nav-dropdown > summary{justify-content:flex-end;}
  .main-nav .nav-dropdown-links{position:static;margin-top:.75rem;min-width:0;}
  .main-nav .nav-dropdown-links a{text-align:right;min-width:130px;}
}

/* v71_06 — section destinations with stable, trailing direction arrows. */
.main-nav .nav-dropdown-links{width:max-content;max-width:calc(100vw - 44px);}
.main-nav .nav-dropdown-links a{display:flex;align-items:center;justify-content:space-between;gap:.85rem;}
.main-nav .nav-dropdown-links a > span[aria-hidden="true"]{flex:0 0 auto;}
@media(max-width:980px){
  .main-nav .nav-dropdown-links{margin-left:auto;}
}
