/* 8am GmbH · www.8am.eu */
@font-face{font-family:"8am Display";src:url(/assets/fonts/bodoni-moda.woff2) format("woff2");font-weight:400 500;font-style:normal;font-display:swap;unicode-range:U+0000-024F,U+0259,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0308,U+0329,U+1E00-1EFF,U+2000-206F,U+20AC,U+2122,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"8am Display";src:url(/assets/fonts/bodoni-moda-italic.woff2) format("woff2");font-weight:400 500;font-style:italic;font-display:swap;unicode-range:U+0000-024F,U+0259,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0308,U+0329,U+1E00-1EFF,U+2000-206F,U+20AC,U+2122,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"8am Display";src:url(/assets/fonts/playfair-display-cyrillic.woff2) format("woff2");font-weight:400 500;font-style:normal;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"8am Display";src:url(/assets/fonts/playfair-display-italic-cyrillic.woff2) format("woff2");font-weight:400 500;font-style:italic;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Jost";src:url(/assets/fonts/jost.woff2) format("woff2");font-weight:300 500;font-style:normal;font-display:swap}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
:root{color-scheme:light;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
body{margin:0}
img{max-width:100%;height:auto}
[hidden]{display:none!important}
/* Layout: Maison-Prinzip – viel Weißraum, zentrierte Bodoni-Wortmarke, Marken als ruhiges Register, eine einzige tiefe Bordeaux-Note als Akzent */
:root{
  --paper:#fbfbf9; --surface:#ffffff; --ink:#151413; --muted:#6c6862; --line:#e4e1dc;
  --accent:#6e1f24; --tint:#f4efec;
  --display:"8am Display", "Bodoni Moda", "Didot", "Times New Roman", serif;
  --body:"Jost", "Futura", "Helvetica Neue", Arial, sans-serif;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --paper:#121110; --surface:#1a1918; --ink:#f1eee8; --muted:#a29d95; --line:#2d2b28;
  --accent:#c98a8e; --tint:#1e1a19; color-scheme:dark}}
:root[data-theme="dark"]{
  --paper:#121110; --surface:#1a1918; --ink:#f1eee8; --muted:#a29d95; --line:#2d2b28;
  --accent:#c98a8e; --tint:#1e1a19; color-scheme:dark}

body{background:var(--paper);color:var(--ink);font-family:var(--body);font-weight:300;font-size:17px;line-height:1.7;letter-spacing:.01em}
.wrap{max-width:1180px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.narrow{max-width:760px}
a{color:inherit}
:focus-visible{outline:1px solid var(--accent);outline-offset:4px}
h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.08;margin:0;text-wrap:balance}
p{margin:0}
.label{font-size:12px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}
.label.acc{color:var(--accent)}
em{font-family:var(--display);font-style:italic}
.todo{background:var(--tint);border:1px dashed var(--accent);color:var(--ink);padding:0 6px;font-size:.85em}

/* Kopf */
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--paper)}
header.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
header.top .wrap.hdr{display:grid;grid-template-columns:1fr auto 1fr;grid-template-areas:". mark lang" "nav nav nav";align-items:center;column-gap:16px;row-gap:12px;padding-block:20px 14px}
.mark{grid-area:mark;font-family:var(--display);font-size:34px;line-height:1;letter-spacing:.02em;text-decoration:none;justify-self:center}
.mark sup{font-family:var(--body);font-size:10px;letter-spacing:.24em;margin-left:6px;color:var(--muted);vertical-align:middle}
nav.main{grid-area:nav;display:flex;gap:34px;font-size:12px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;overflow-x:auto;scrollbar-width:none;min-width:0;padding-block:4px}
nav.main::-webkit-scrollbar{display:none}
nav.main a:first-child{margin-left:auto}
nav.main a:last-child{margin-right:auto}
nav a{text-decoration:none;color:var(--muted)}
nav a:hover,nav a[aria-current="true"]{color:var(--ink)}
.menu-btn{display:none}

.lang{grid-area:lang;justify-self:end;display:inline-flex;gap:2px}
.lang button{font-family:var(--body);font-size:11px;font-weight:500;letter-spacing:.14em;padding:6px 4px;border:0;border-bottom:1px solid transparent;background:none;color:var(--muted);cursor:pointer}
.lang button:hover{color:var(--ink)}
.lang button[aria-pressed="true"]{color:var(--ink);border-bottom-color:var(--accent)}
nav a{white-space:nowrap}
section[id]{scroll-margin-top:130px}
.lg-note:empty{display:none}
.lg-note{font-size:14px;color:var(--muted);margin-top:16px;padding:12px 16px;background:var(--tint)}
/* Hero */
.hero{text-align:center}
.hero .wrap{padding-block:96px 88px;display:flex;flex-direction:column;align-items:center;gap:28px}
.hero h1{font-size:clamp(44px,7.4vw,98px);letter-spacing:-.01em;max-width:13ch}
.hero h1 em{color:var(--accent)}
.hero p{color:var(--muted);font-size:19px;max-width:38em}
.rule{width:1px;height:64px;background:var(--line)}
.btns{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}
.btn{display:inline-block;padding:15px 30px;font-size:12px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;text-decoration:none;border:1px solid var(--ink);background:transparent;color:var(--ink);cursor:pointer;font-family:var(--body)}
.btn.solid{background:var(--ink);color:var(--paper)}
.btn:hover{border-color:var(--accent)}
.btn.solid:hover{background:var(--accent);border-color:var(--accent)}

/* Bausteine */
section.s .wrap{padding-block:96px}
.s-head{text-align:center;display:flex;flex-direction:column;align-items:center;gap:18px;margin-bottom:64px}
.s-head h2{font-size:clamp(34px,4.6vw,58px)}
.s-head p{color:var(--muted);max-width:40em}

/* Marquee-Band mit Markennamen */
.band{border-block:1px solid var(--line);overflow:hidden;white-space:nowrap}
.band .track{display:inline-flex;gap:56px;padding-block:22px;animation:slide 60s linear infinite;font-family:var(--display);font-size:24px;font-style:italic;color:var(--muted)}
.band .track span::after{content:"·";margin-left:56px;color:var(--accent)}
@keyframes slide{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.band .track{animation:none}}

/* Leistungen */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.pillar{padding:44px 36px 48px;display:flex;flex-direction:column;gap:18px;min-width:0}
.pillar + .pillar{border-left:1px solid var(--line)}
.pillar h3{font-size:32px}
.pillar p{color:var(--muted)}
.pillar ul{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:10px;font-size:15px}
.pillar li{border-top:1px solid var(--line);padding-top:10px}

.training{display:grid;grid-template-columns:5fr 7fr;gap:64px;align-items:start;margin-top:88px}
.tr-img{margin:0;aspect-ratio:4/5;max-width:100%;overflow:hidden}
.tr-img img{width:100%;height:100%;object-fit:cover;display:block}
.tr-txt{display:flex;flex-direction:column;gap:18px}
.tr-txt h3{font-size:clamp(30px,3.6vw,46px)}
.tr-txt p{color:var(--muted)}
.tr-txt ul{list-style:none;margin:6px 0 0;padding:0;border-top:1px solid var(--ink)}
.tr-txt li{padding:13px 0;border-bottom:1px solid var(--line);font-size:16px}
@media (max-width:900px){.training{grid-template-columns:1fr;gap:36px}.tr-img{max-width:440px}}
/* Marken-Register */
.filters{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:44px}
.filters button{font-family:var(--body);font-size:12px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;padding:10px 20px;border:1px solid var(--line);background:transparent;color:var(--muted);cursor:pointer}
.filters button[aria-pressed="true"]{border-color:var(--ink);color:var(--ink)}
.register{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.brand{background:var(--paper);padding:0;display:flex;flex-direction:column;text-decoration:none;transition:background .3s}
.b-img,.d-img{aspect-ratio:4/5;max-width:100%;overflow:hidden;background:var(--tint)}
.b-img img,.d-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s ease}
.brand:hover .b-img img{transform:scale(1.03)}
.blank{display:flex;align-items:center;justify-content:center;padding:24px;text-align:center}
.blank span{font-family:var(--display);font-style:italic;font-size:clamp(28px,3vw,40px);color:var(--muted)}
.b-txt{padding:24px 26px 28px;display:flex;flex-direction:column;gap:10px;flex:1}
.d-img{max-width:560px;margin:48px auto 0}
@media (prefers-reduced-motion:reduce){.b-img img{transition:none}}

.brand:hover{background:var(--surface)}
.brand .cat{font-size:11px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);display:flex;justify-content:space-between;gap:8px}
.brand h3{font-size:30px;margin-top:4px}
.brand .role{font-size:14px;color:var(--accent)}
.brand .more{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.brand:hover .more{color:var(--ink)}

#register{display:flex;flex-direction:column;gap:72px}
.register{background:transparent;gap:0;border:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.register .brand{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.register.pf{grid-template-columns:repeat(4,1fr)}
.register.pf .b-img,.d-img.sq{aspect-ratio:1/1}
.register.pf .brand h3{font-size:26px}
@media (max-width:1100px){.register.pf{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.register.pf{grid-template-columns:1fr}}
.group{display:flex;flex-direction:column;gap:28px}
.g-head{display:grid;grid-template-columns:1fr 1.4fr;gap:8px 40px;align-items:end;border-bottom:1px solid var(--ink);padding-bottom:18px}
.g-head .label{grid-column:1/-1}
.g-head h3{font-size:clamp(28px,3vw,38px)}
.g-head p{color:var(--muted);font-size:15px}
@media (max-width:620px){.g-head{grid-template-columns:1fr}}
.area-note{background:var(--tint);border-left:2px solid var(--accent);padding:24px 28px;display:flex;flex-direction:column;gap:10px;margin-bottom:48px}
.area-note .small{font-size:15px;color:var(--muted)}
.xp .group+.group{margin-top:72px}
.xp-grid{display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}
.xp-grid.two{grid-template-columns:repeat(2,1fr)}
.xp-grid.three{grid-template-columns:repeat(3,1fr)}
.xp-card{background:var(--paper);padding:32px 30px 34px;display:flex;flex-direction:column;gap:12px;min-width:0}
.xp-card h4{font-family:var(--display);font-weight:400;font-size:28px;line-height:1.15;margin:0}
.xp-card p{color:var(--muted);margin:0}
.topics{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:15px}
.topics li{border-top:1px solid var(--line);padding-top:8px}
.xp-foot{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:64px;align-items:end}
.xp-foot p{color:var(--muted);margin-top:10px}
.xp-cta{display:flex;flex-direction:column;gap:20px;align-items:flex-start}
.xp-cta strong{color:var(--ink);font-weight:500}
@media (max-width:900px){.xp-grid.three{grid-template-columns:1fr}.xp-foot{grid-template-columns:1fr}}
@media (max-width:620px){.xp-grid.two{grid-template-columns:1fr}.xp-card{padding:26px 22px}}
.values{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line);margin-bottom:72px}
.values div{padding:22px 20px;display:flex;flex-direction:column;gap:6px;text-align:center}
.values div+div{border-left:1px solid var(--line)}
.values b{font-family:var(--display);font-weight:400;font-size:24px}
.values span{font-size:14px;color:var(--muted)}
@media (max-width:900px){.values{grid-template-columns:1fr 1fr}.values div:nth-child(3){border-left:0}.values div:nth-child(n+3){border-top:1px solid var(--line)}}
@media (max-width:480px){.values{grid-template-columns:1fr}.values div+div{border-left:0;border-top:1px solid var(--line)}}
/* Markteintritt */
.entry{background:var(--tint)}
.entry-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start}
.entry h2{font-size:clamp(34px,4.2vw,52px)}
.entry p{color:var(--muted);margin-top:22px}
.qs{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.qs li{padding:20px 0;border-bottom:1px solid var(--line);font-family:var(--display);font-size:22px;line-height:1.3}
.channels{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.channels span{border:1px solid var(--line);padding:6px 14px;font-size:13px;color:var(--muted);background:var(--paper)}

.entry-img{margin:36px 0 0;aspect-ratio:4/5;max-width:420px;overflow:hidden}
.entry-img img{width:100%;height:100%;object-fit:cover;display:block}
/* Über */
.about-grid{display:grid;grid-template-columns:7fr 6fr;gap:72px;align-items:start}
.portrait{aspect-ratio:4/5;max-width:100%;margin:0;overflow:hidden;background:var(--tint);position:sticky;top:140px}
.portrait img{width:100%;height:100%;object-fit:cover;display:block}
.about h2{font-size:clamp(34px,4.2vw,52px)}
.about .copy{display:flex;flex-direction:column;gap:20px;margin-top:28px;color:var(--muted)}
.about .copy strong{font-weight:500;color:var(--ink)}
.timeline{margin-top:40px;border-top:1px solid var(--line)}
.timeline div{display:grid;grid-template-columns:110px 1fr;gap:20px;padding:16px 0;border-bottom:1px solid var(--line);font-size:15px}
.timeline b{font-family:var(--display);font-weight:400;font-size:20px;font-variant-numeric:tabular-nums}

.showroom{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:40px;align-items:start}
.showroom figure{margin:0;display:flex;flex-direction:column;gap:10px;min-width:0}
.showroom img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block}
.showroom figcaption{font-size:13px;color:var(--muted);letter-spacing:.02em}
@media (max-width:620px){.showroom{grid-template-columns:1fr}}
.und-grid{display:grid;grid-template-columns:5fr 6fr;gap:72px;align-items:center}
.und-img{margin:0;max-width:100%}
.und-img img{width:100%;height:auto;display:block}
.und-txt{display:flex;flex-direction:column;gap:20px;color:var(--muted)}
.und-txt h2{font-size:clamp(34px,4.2vw,52px);color:var(--ink)}
@media (max-width:900px){.und-grid{grid-template-columns:1fr;gap:40px}.und-img{max-width:480px}}
.vis{margin:40px 0 0;display:flex;flex-direction:column;gap:10px}
.vis img{width:100%;height:auto;display:block}
.vis figcaption{font-size:13px;color:var(--muted)}
/* Kontakt */
.contact{text-align:center}
.contact h2{font-size:clamp(38px,5.6vw,72px)}
.contact-lines{display:flex;flex-direction:column;gap:22px;align-items:center;margin-top:44px}
.cl{display:flex;flex-direction:column;gap:6px;align-items:center}
.cl .v{font-family:var(--display);font-size:clamp(24px,3vw,32px);user-select:all;overflow-wrap:anywhere}
.cl a.v{text-decoration:none;color:var(--ink)}
.cl a.v:hover{color:var(--accent)}
.copy-btn{font-family:var(--body);font-size:11px;letter-spacing:.2em;text-transform:uppercase;background:none;border:0;border-bottom:1px solid var(--line);color:var(--muted);cursor:pointer;padding:2px 0}

/* Markendetail */
.detail .wrap{padding-block:72px 96px}
.back{font-size:12px;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;color:var(--muted)}
.d-head{text-align:center;display:flex;flex-direction:column;align-items:center;gap:20px;padding-block:56px 64px;border-bottom:1px solid var(--line)}
.d-head h1{font-size:clamp(52px,9vw,120px)}
.d-meta{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line)}
.d-meta div{padding:22px 0;text-align:center;display:flex;flex-direction:column;gap:4px}
.d-meta div + div{border-left:1px solid var(--line)}
.d-meta b{font-family:var(--display);font-weight:400;font-size:20px}
.d-body{display:flex;flex-direction:column;gap:22px;padding-block:56px;font-size:19px;color:var(--muted)}
.d-body p:first-child{font-family:var(--display);font-size:clamp(24px,2.6vw,30px);line-height:1.35;color:var(--ink)}
.d-cta{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;border-top:1px solid var(--line);padding-top:48px}
.d-nav{display:flex;justify-content:space-between;gap:16px;margin-top:64px;font-size:12px;letter-spacing:.2em;text-transform:uppercase}
.d-nav a{text-decoration:none;color:var(--muted)}
.d-nav a:hover{color:var(--ink)}

.d-gal{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:12px}
.d-gal figure{margin:0;display:flex;flex-direction:column;gap:8px;min-width:0}
.d-gal img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block}
.d-gal figure.w{grid-column:1/-1}
.d-gal figure.w img{aspect-ratio:auto;height:auto}
.d-gal figcaption{font-size:13px;color:var(--muted)}
.d-credit{font-size:12px;color:var(--muted);margin-bottom:40px}
@media (max-width:620px){.d-gal{grid-template-columns:1fr}}
.legal .wrap{padding-block:56px 96px}
.lg{display:flex;flex-direction:column;gap:16px;margin-top:32px;color:var(--muted);overflow-wrap:break-word;hyphens:auto}
.lg h1{font-size:clamp(32px,6vw,64px);hyphens:auto;overflow-wrap:break-word;color:var(--ink);margin-bottom:8px}
.lg h2{font-family:var(--body);font-weight:500;font-size:15px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);margin-top:24px}
.lg .lg-sub{font-size:14px}
footer a{color:inherit;text-decoration:none;border-bottom:1px solid var(--line)}
footer{border-top:1px solid var(--line)}
footer .wrap{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;padding-block:36px;font-size:13px;color:var(--muted);align-items:center}
footer .f-mark{font-family:var(--display);font-size:24px;color:var(--ink)}
footer .r{text-align:right}
footer .isis{grid-column:1/-1;font-size:12px;border-top:1px solid var(--line);padding-top:18px}

@media (max-width:900px){
  nav.main{gap:26px}
  .pillars,.register{grid-template-columns:1fr 1fr}
  .pillar:nth-child(3){grid-column:1/-1;border-left:0;border-top:1px solid var(--line)}
  .entry-grid,.about-grid{grid-template-columns:1fr;gap:44px}
  .portrait{max-width:520px;position:static}
}
@media (max-width:620px){
  header.top .wrap.hdr{padding-block:14px 10px;row-gap:8px}
  .mark{font-size:28px}
  .lang button{font-size:10px;letter-spacing:.08em;padding:5px 2px}
  nav.main{gap:22px;font-size:11px;letter-spacing:.16em;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 40px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 40px),transparent);padding-right:44px}
  .hero .wrap{padding-block:64px}
  section.s .wrap{padding-block:68px}
  .pillars,.register{grid-template-columns:1fr}
  .pillar + .pillar{border-left:0;border-top:1px solid var(--line)}
  .pillar{padding:32px 0}
  .d-meta{grid-template-columns:1fr}
  .d-meta div + div{border-left:0;border-top:1px solid var(--line)}
  footer .wrap{grid-template-columns:1fr;text-align:center}
  footer .r{text-align:center}
  .timeline div{grid-template-columns:90px 1fr}
}

/* statische Website */
.lang a{font-family:var(--body);font-size:11px;font-weight:500;letter-spacing:.14em;padding:6px 4px;border-bottom:1px solid transparent;color:var(--muted);text-decoration:none}
.lang a:hover{color:var(--ink)}
.lang a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--accent)}
.lang a{display:inline-block}
@media (max-width:620px){.lang a{font-size:10px;letter-spacing:.08em;padding:5px 2px}}
.cl a.v{text-decoration:none;color:var(--ink)}
.cl a.v:hover{color:var(--accent)}
section[id],main{scroll-margin-top:96px}
.nf-langs{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:8px}
