/*
 * FERN·LEUCHTEN · Piano Black
 * Verbindliche Produktionsschicht für alle Seiten:
 * Tiefe, bündige Flächen statt Körnung, Halos und schwebender Schattenkarten.
 */

:root{
  --piano-black:#030303;
  --piano-depth:#080808;
  --piano-mid:#171717;
  --piano-edge:rgba(255,255,255,.13);
  --piano-inner:inset 0 1px 0 rgba(255,255,255,.14);
  --piano-field:linear-gradient(180deg,#030303 0%,#080808 54%,#030303 100%);
  --piano-surface:linear-gradient(133deg,#050505 0%,#171717 58%,#060606 100%);
  --display-accent-font:FernSans,"Segoe UI",Helvetica,Arial,sans-serif;
  --display-accent-weight:600;
  --display-accent-tracking:-.07em;
}

body:after{content:none!important;display:none!important}

/*
 * Globale Titelrichtung: Der zweite Gedanke wird nicht mehr durch eine
 * dekorative Kursivschrift, sondern durch Gewicht, Maßstab und Orange geführt.
 * So bleibt die Typografie auf dunklen und hellen Kapiteln aus einem System.
 */
:where(h1,h2,.display,.title) em{
  font-family:var(--display-accent-font)!important;
  font-size:1em!important;
  font-style:normal!important;
  font-weight:var(--display-accent-weight)!important;
  letter-spacing:var(--display-accent-tracking)!important;
}

.site-header.is-scrolled{
  background:linear-gradient(180deg,rgba(2,2,2,.96),rgba(7,7,7,.91));
  border-color:rgba(255,255,255,.1);
  box-shadow:none;
}

/* Dunkle Kapitel: neutral und tief. Reflexe bleiben innerhalb klar begrenzter Flächen. */
:where(
  .chapter-dark,.chapter-soft,.contact-chapter,
  .home-origin,.hm-tasks,.hm-process,
  .about-hero,.about-leadership,.about-origin,.about-reydel,.about-final,
  .campaign-hero,.campaign-world,.campaign-channels,
  .ga-hero,.ga-journey,.ga-account,.ga-rhythm,
  .meta-hero,.meta-impulse,.meta-formats,.meta-rhythm,
  .consulting-hero,.consulting-experience,.consulting-avvicenda,.consulting-final
){background:var(--piano-field)!important}

:where(.ga-hero,.ga-journey,.ga-account,.ga-rhythm,.meta-hero,.meta-impulse,.meta-formats,.meta-rhythm):before{
  background:var(--piano-field)!important;
}

:where(.home-origin,.about-hero,.contact-chapter):before{content:none!important}
.about-origin:before{content:none!important}

/* Helle Kapitel bleiben ruhig: kein orangefarbener Nebel hinter dem Inhalt. */
:where(
  .hm-fragment,.hm-direction,.hm-entries,
  .campaign-origin,.campaign-anatomy,.campaign-process,
  .ga-intent,.ga-tools,.meta-story,.meta-system,
  .consulting-situations,.consulting-future,.consulting-process
){background:linear-gradient(112deg,var(--paper) 0%,var(--paper-deep) 100%)!important}

.meta-system{background:var(--paper-deep)!important}

/* Bündige Piano-Flächen statt schwebender dunkler Karten. */
:where(
  .search-stage,.phase-panel,.experience-panel,
  .ga-hero-stage,.ga-search-card,.ga-search-stage,.ga-ledger,
  .meta-hero-gallery,.meta-impulse-orbit,.meta-orbit-center,.meta-orbit-item,
  .meta-story-message,.meta-format-board,.meta-device,
  .channel-card,.bridge-card + article,.principle-pair article + article,
  .hm-entry + article,.ai-boundary article + article
){
  background:var(--piano-surface)!important;
  border-color:var(--piano-edge)!important;
  box-shadow:var(--piano-inner)!important;
  backdrop-filter:none!important;
}

/* Hero-Bühnen bilden jeweils ein einziges Objekt. */
.ga-hero-stage{
  overflow:hidden;
  padding:18px;
  border:1px solid var(--piano-edge);
  border-radius:54px 54px 142px 54px;
}
.ga-hero-stage:before{content:none!important}
.ga-hero-photo{inset:18px 18px 18px 38%;border:1px solid rgba(255,255,255,.1);border-radius:34px 34px 100px 34px;box-shadow:none!important}
.ga-search-card{left:24px;bottom:24px;width:51%;box-shadow:none!important}
.ga-ledger:after,.ga-search-stage:before,.channel-card:after{content:none!important}

/* Bilder sitzen im Layout, sie schweben nicht darüber. */
:where(
  .world-detail-photo,.home-work-photo,.hm-hero-visual>img,.hm-direction-photo>img,
  .campaign-hero-image>img,.ga-hero-photo,.meta-story-image,
  .founder-portrait-image,.reydel-portrait
){box-shadow:none!important;border-color:rgba(255,255,255,.12)}

.founder-portrait:before{content:none!important}
.founder-proof-strip>span,.hm-photo-note{box-shadow:none!important;border:1px solid rgba(17,17,17,.14)}

/* Leichte Informationskarten erhalten Kontur statt diffuser Tiefe. */
:where(
  .definition-cards article,.home-journey-grid article,.bridge-card,
  .principle-pair article,.ai-layout article,.model-pair article,.after-grid article,
  .origin-card,.campaign-process-path article,
  .ga-intent-map article,.ga-tool-pair article,
  .meta-system-map,.meta-system-map article,.hm-entry,.ai-boundary,.form-card
){box-shadow:none!important}

:where(
  .definition-cards article,.home-journey-grid article,.bridge-card,
  .ai-layout article,.model-pair article,.after-grid article,
  .origin-card,.campaign-process-path article,
  .ga-intent-map article,.ga-tool-pair article,.meta-system-map article,.hm-entry
){background-color:rgba(240,234,223,.56)}

/* Signale sind präzise Punkte, keine leuchtenden Blasen. */
:where(
  .proof-note:before,.rhythm article:before,.contact-assurance span:before,
  .home-service-row>b:before,.concept-ledger b:before,
  .campaign-hero-image:after,.campaign-stamp i,.channel-number i,.campaign-process-path i,
  .origin-steps button i,.format-tabs button i,.anatomy-item button i,
  .ga-live i,.ga-intent-map article i,.ga-account-note i,.ga-tool-number i,
  .meta-orbit-item>i,.meta-story-message>span i,.meta-system-core>i,
  .meta-story-tabs button i,.meta-format-tabs button i,
  .hm-task-number i,.hm-service-mark i,.chronicle-line article.is-key:before
){box-shadow:none!important}

.world-picker,.ga-query{box-shadow:none!important}
.ga-query{border:1px solid rgba(255,255,255,.11)}

/* Das zentrale Meta-Motiv bleibt die Referenz für die neue Materialität. */
.meta-hero-gallery{
  box-shadow:none!important;
  background:var(--piano-surface)!important;
}
.meta-frame{box-shadow:none!important}

/* Keine Schattenzunahme beim Darüberfahren. */
:where(.bridge-card,.hm-entry,.channel-card,.ga-intent-map article,.ga-tool-pair article):hover{
  box-shadow:none!important;
}

@media(max-width:1099px){
  html{scroll-snap-type:y proximity}
  main>section{scroll-snap-align:start;scroll-snap-stop:always}
  .ga-hero-stage{min-height:650px}
}

@media(min-width:721px) and (max-width:1099px){
  main>section{min-height:100svh!important}
}

@media(max-width:720px){
  .ga-hero-stage{min-height:590px;padding:10px;border-radius:34px 34px 82px 34px}
  .ga-hero-photo{inset:10px 10px 45% 10px;border-radius:24px 24px 58px 24px}
  .ga-search-card{left:18px;right:18px;bottom:18px;width:auto}
}

@media(prefers-reduced-motion:reduce){
  .meta-frame img,.ga-hero-photo img{transition:none!important}
}

/* Ein gemeinsamer kompakter Abschluss sitzt auf jeder letzten Vollbildseite. */
main>section:last-child{
  position:relative;
  padding-bottom:134px;
}
main>section:last-child>.production-footer{
  display:block;
  flex:none;
  position:absolute!important;
  inset:auto 0 0!important;
  z-index:4;
  width:100%;
  height:82px;
  min-height:82px!important;
  align-items:initial;
  gap:0;
  background:#030303!important;
}
main>section:last-child>.production-footer .production-footer-inner{
  width:min(calc(100% - 72px),var(--shell));
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:clamp(16px,2vw,32px);
  padding:10px 0 9px;
}
main>section:last-child>.production-footer .footer-brand{
  width:156px;
}
main>section:last-child>.production-footer nav{
  justify-self:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:6px clamp(8px,.85vw,14px);
  font-size:.41rem;
  line-height:1.25;
}
main>section:last-child>.production-footer .footer-brand small{
  margin-top:5px;
  color:rgba(240,234,223,.5);
  font-size:.39rem;
}
main>section:last-child>.production-footer .footer-legal{
  grid-column:auto;
  justify-content:flex-end;
  gap:11px;
  padding-top:0;
  border-top:0;
  color:rgba(240,234,223,.43);
  font-size:.4rem;
  white-space:nowrap;
}

@media(min-width:1100px) and (max-height:699px){
  main>section:last-child{
    height:100svh;
    min-height:100svh;
    max-height:100svh;
    padding-top:calc(var(--header) + 14px);
    padding-bottom:94px;
  }
  main>section:last-child .title{
    font-size:clamp(2.5rem,4vw,3.35rem)!important;
    line-height:.9;
  }
  main>section:last-child .lede{
    font-size:.76rem;
    line-height:1.5;
  }
  main>section:last-child .actions{
    margin-top:20px;
  }
  main>section:last-child>.shell{
    transform:translateY(-10px);
  }
  main>section:last-child>.production-footer{
    height:68px;
    min-height:68px!important;
  }
  main>section:last-child>.production-footer .production-footer-inner{
    padding:6px 0 5px;
  }
  main>section:last-child>.production-footer .footer-brand{
    width:140px;
  }
}

@media(max-width:1099px){
  main>section:last-child{
    padding-bottom:176px;
  }
  main>section:last-child>.production-footer{
    height:128px;
    min-height:128px!important;
  }
  main>section:last-child>.production-footer .production-footer-inner{
    width:min(calc(100% - 52px),var(--shell));
    grid-template-columns:1fr auto;
    gap:13px 24px;
    padding:13px 0 11px;
  }
  main>section:last-child>.production-footer nav{
    justify-self:end;
    max-width:670px;
  }
  main>section:last-child>.production-footer .footer-legal{
    grid-column:1/-1;
    justify-content:flex-start;
    padding-top:9px;
    border-top:1px solid rgba(240,234,223,.1);
  }
}

@media(max-width:720px){
  main>section:last-child{
    min-height:100svh;
    padding-bottom:210px;
  }
  .hm-final{padding-bottom:169px!important}
  .hm-final>.shell{transform:translateY(-41px)}
  .campaign-final{padding-bottom:161px!important}
  .campaign-final>.shell{transform:translateY(-49px)}
  .about-final{padding-bottom:190px!important}
  .about-final>.shell{transform:translateY(-20px)}
  .consulting-final{padding-bottom:201px!important}
  .consulting-final>.shell{transform:translateY(-9px)}
  main>section:last-child>.production-footer{
    height:166px;
    min-height:166px!important;
  }
  main>section:last-child>.production-footer .production-footer-inner{
    width:min(calc(100% - 36px),var(--shell));
    grid-template-columns:1fr;
    gap:13px;
    padding:14px 0 12px;
  }
  main>section:last-child>.production-footer nav{
    justify-self:start;
    justify-content:flex-start;
    display:grid;
    width:100%;
    max-width:none;
    grid-template-columns:repeat(3,1fr);
    gap:8px 12px;
    font-size:.39rem;
  }
  main>section:last-child>.production-footer .footer-legal{
    grid-column:auto;
    flex-wrap:wrap;
    gap:12px 18px;
  }
}

/* Startseite: inhaltliche Brücke zwischen Concierge und Hotelwelten. */
html.home-page{
  -ms-overflow-style:none;
  scrollbar-width:none;
}
html.home-page::-webkit-scrollbar{display:none;width:0;height:0}

.home-hero .hero-copy h1 .hero-title-line{display:block}
.home-hero .hero-copy h1 .hero-title-accent{
  display:inline;
  color:var(--orange);
  font:inherit;
  font-weight:400;
}
.home-hero .hero-results{
  max-width:880px;
  margin:14px 0 0;
  color:var(--orange);
  font-family:FernSans,"Segoe UI",Helvetica,Arial,sans-serif;
  font-size:clamp(1.05rem,1.45vw,1.5rem);
  font-weight:600;
  letter-spacing:-.035em;
  line-height:1.2;
  text-wrap:balance;
}
.home-hero .guest-entry{margin-top:clamp(28px,4vh,48px)}
.home-hero .wish-intro{
  max-width:930px;
  margin:0 5px 12px;
  color:rgba(240,234,223,.68);
  font-size:clamp(.62rem,.72vw,.72rem);
  line-height:1.55;
}

.home-hero .hero-seo-bridge{
  width:min(1180px,100%);
  display:grid;
  grid-template-columns:minmax(280px,.78fr) minmax(420px,1.22fr);
  gap:clamp(34px,5vw,78px);
  align-items:start;
  margin:auto 0;
  padding:clamp(15px,2vh,21px) 0 0;
  border-top:1px solid rgba(240,234,223,.2);
}
.hero-seo-bridge>div{display:grid;grid-template-columns:auto minmax(0,1fr);gap:15px;align-items:start}
.hero-seo-kicker{margin:3px 0 0;color:var(--orange);font-size:.43rem;font-weight:600;letter-spacing:.15em;line-height:1.45;text-transform:uppercase;writing-mode:vertical-rl;transform:rotate(180deg)}
.hero-seo-bridge h2{max-width:430px;margin:0;color:var(--paper);font-size:clamp(1.15rem,1.55vw,1.55rem);font-weight:400;letter-spacing:-.035em;line-height:1.12}
.hero-seo-bridge>p{max-width:680px;margin:0;color:rgba(240,234,223,.64);font-size:clamp(.65rem,.77vw,.76rem);line-height:1.68}
.hero-seo-bridge>p strong{display:block;margin-top:8px;color:var(--orange);font-size:.52rem;font-weight:600;letter-spacing:.06em;line-height:1.5;text-transform:uppercase}
.home-hero .hero-seo-bridge+.world-rail{margin-top:0}

@media(min-width:721px) and (max-height:800px){
  .home-hero .hero-seo-bridge{align-items:center;padding-top:12px}
  .home-hero .hero-seo-bridge>div{grid-template-columns:1fr;gap:6px}
  .home-hero .hero-seo-kicker{margin:0;writing-mode:horizontal-tb;transform:none;font-size:.4rem}
}

@media(max-width:1099px){
  .home-hero.concierge-hero{height:auto;min-height:100svh;overflow:clip}
  .home-hero .hero-shell{height:auto;min-height:100svh}
  .home-hero .hero-seo-bridge{grid-template-columns:minmax(230px,.8fr) minmax(0,1.2fr);gap:30px}
}

@media(max-width:720px){
  .home-hero .hero-shell{padding-bottom:18px}
  .home-hero .guest-entry{flex:none}
  .home-hero .hero-results{font-size:1.05rem;line-height:1.3}
  .home-hero .wish-intro{margin-bottom:10px;font-size:.58rem;line-height:1.5}
  .home-hero .hero-seo-bridge{grid-template-columns:1fr;gap:12px;margin:27px 0 22px;padding-top:16px}
  .hero-seo-bridge>div{grid-template-columns:1fr;gap:7px}
  .hero-seo-kicker{margin:0;writing-mode:horizontal-tb;transform:none;font-size:.4rem}
  .hero-seo-bridge h2{max-width:320px;font-size:1.08rem;line-height:1.17}
  .hero-seo-bridge>p{font-size:.62rem;line-height:1.58}
}

/* Startseite: redaktionelle Einblicke und semantisch lesbare FAQ. */
.home-insights{background:#111;color:var(--paper)}
.home-insights-layout,.home-faq-layout{display:grid;grid-template-columns:minmax(300px,.68fr) minmax(560px,1.32fr);gap:clamp(54px,7.5vw,116px);align-items:center}
.home-insights-layout{grid-template-columns:minmax(280px,.58fr) minmax(680px,1.42fr);gap:clamp(44px,5vw,82px)}
.home-insights-copy .title{font-size:clamp(2.8rem,4vw,4.4rem)}
.home-faq-copy .title{max-width:100%;font-size:clamp(2.8rem,3.65vw,4.25rem);hyphens:auto}
.home-insight-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.home-insight-card{display:grid;grid-template-columns:minmax(105px,.42fr) minmax(0,1.58fr);min-height:190px;overflow:hidden;border:1px solid rgba(240,234,223,.16);border-radius:26px 26px 58px 26px;background:rgba(240,234,223,.025);transition:transform .38s var(--ease),border-color .28s ease,background .28s ease}
.home-insight-card:nth-child(even){border-radius:26px 58px 26px 26px}
.home-insight-card:hover{border-color:rgba(223,106,62,.58);background:rgba(240,234,223,.045);transform:translateY(-5px)}
.home-insight-card figure{min-height:0;margin:0;overflow:hidden}
.home-insight-card img{width:100%;height:100%;object-fit:cover;filter:saturate(.78) contrast(1.04);transition:transform .8s var(--ease),filter .35s ease}
.home-insight-card:hover img{filter:saturate(.94) contrast(1.02);transform:scale(1.03)}
.home-insight-card>div{display:flex;min-width:0;flex-direction:column;padding:17px 18px 15px}
.home-insight-card p{margin:0;color:var(--orange);font-size:.4rem;font-weight:600;letter-spacing:.12em;line-height:1.35;text-transform:uppercase}
.home-insight-card h3{max-width:none;margin:16px 0 12px;font-size:clamp(.9rem,1.05vw,1.08rem);font-weight:400;letter-spacing:-.035em;line-height:1.1;text-wrap:balance}
.home-insight-card span{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:10px;border-top:1px solid rgba(240,234,223,.14);color:rgba(240,234,223,.62);font-size:.4rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.home-insight-card span:after{content:"↗";color:var(--orange);font-size:.85rem}

.home-faq{background:var(--paper);color:var(--ink)}
.home-faq .lede{color:rgba(17,17,17,.65)}
.faq-list{border-top:1px solid rgba(17,17,17,.18)}
.faq-list details{border-bottom:1px solid rgba(17,17,17,.18)}
.faq-list summary{position:relative;padding:17px 44px 17px 0;cursor:pointer;list-style:none;font-size:clamp(.78rem,1vw,.94rem);font-weight:500;line-height:1.3}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:"+";position:absolute;right:7px;top:12px;color:#9b492d;font-size:1.35rem;font-weight:300;transition:transform .22s ease}
.faq-list details[open] summary:after{transform:rotate(45deg)}
.faq-list details p{max-width:680px;margin:0;padding:0 42px 18px 0;color:rgba(17,17,17,.62);font-size:.68rem;line-height:1.58}

@media(min-width:1100px) and (max-height:760px){
  .home-insight-card{min-height:164px}
  .home-insight-card h3{margin:12px 0 9px;font-size:.86rem}
  .faq-list summary{padding-top:13px;padding-bottom:13px}
  .faq-list summary:after{top:9px}
  .faq-list details p{padding-bottom:13px}
}

@media(max-width:1099px){
  .home-insights-layout,.home-faq-layout{grid-template-columns:1fr;gap:45px}
  .home-insight-grid,.faq-list{max-width:900px}
}

@media(max-width:720px){
  .home-insights-layout{gap:34px}
  .home-insight-grid{grid-template-columns:1fr;gap:10px}
  .home-insight-card{grid-template-columns:96px minmax(0,1fr);min-height:168px;border-radius:20px 20px 42px 20px}
  .home-insight-card:nth-child(even){border-radius:20px 42px 20px 20px}
  .home-insight-card figure{aspect-ratio:auto}
  .home-insight-card>div{min-height:0;padding:14px 15px 13px}
  .home-insight-card h3{margin:12px 0 10px;font-size:.9rem;line-height:1.12}
  .home-faq-layout{gap:34px}
  .faq-list summary{padding:18px 38px 18px 0;font-size:.82rem}
  .faq-list details p{padding-right:20px;font-size:.67rem;line-height:1.62}
}

@media(prefers-reduced-motion:reduce){.home-insight-card,.home-insight-card img{transition:none}}
