/* Schriften werden ausschliesslich in fonts.css deklariert. Nicht hier duplizieren. */

:root{
  --sage:#2C3026; --sage-deep:#23261E; --ivory:#F1ECE1; --sand:#CBBBA3;
  --stone:#8E887C; --stone-text:#6B6557; --black:#1E1D1A; --gold:#B49A67;
  --ivory-text:#1E1D1A; --on-dark:#EFE9DC; --on-dark-soft:#B7B3A6;
  --display:"Cormorant Garamond", Georgia, serif;
  --body:"Lora", Georgia, serif;
  --label:"Poppins", system-ui, sans-serif;
  --measure:33ch;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--body); color:var(--ivory-text);
  background:var(--ivory); line-height:1.85; font-size:17px;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
img{display:block; max-width:100%; height:auto;}
html,body{overflow-x:clip;}
a{color:inherit; text-decoration:none;}

.eyebrow{
  font-family:var(--label); font-weight:300; font-size:.7rem;
  letter-spacing:.32em; text-transform:uppercase; color:var(--stone);
}
.eyebrow.gold{color:var(--gold);}
.rule{width:1px; height:54px; background:var(--gold); opacity:.6; margin:0 auto;}
.dot{width:5px; height:5px; border-radius:50%; background:var(--gold); margin:0 auto;}

/* ---------- NAV ---------- */
.nav{
  position:fixed; inset:0 0 auto 0; z-index:50;
  display:flex; align-items:center; justify-content:space-between;
  padding:1.4rem clamp(1.25rem,5vw,3.5rem);
  transition:background .5s ease, padding .5s ease, box-shadow .5s ease;
}
.nav.scrolled{background:rgba(35,38,30,.94); padding-top:1rem; padding-bottom:1rem; box-shadow:0 1px 0 rgba(180,154,103,.18);}
.nav__brand{
  font-family:var(--display); font-weight:400; color:var(--on-dark);
  font-size:1.18rem; letter-spacing:.42em; padding-left:.42em;
}
.nav__links{display:flex; align-items:center; gap:clamp(1.2rem,2.4vw,2.6rem);}
.nav__links a, .nav__drop>span{
  font-family:var(--label); font-weight:300; font-size:.76rem;
  letter-spacing:.2em; text-transform:uppercase; color:var(--on-dark);
  cursor:pointer; transition:color .3s;
}
.nav__links a:hover, .nav__drop>span:hover{color:var(--gold);}
.nav__drop{position:relative;}
.nav__drop>span{display:inline-flex; align-items:center; gap:.5em;}
.nav__drop>span::after{content:""; width:5px; height:5px; border-right:1px solid currentColor; border-bottom:1px solid currentColor; transform:rotate(45deg) translateY(-2px); transition:transform .3s;}
.nav__menu{
  position:absolute; top:calc(100% + 1.1rem); left:50%; transform:translateX(-50%) translateY(8px);
  background:var(--sage-deep); border:1px solid rgba(180,154,103,.22);
  padding:.6rem 0; min-width:250px; opacity:0; visibility:hidden; transition:.32s;
}
.nav__drop:hover .nav__menu, .nav__drop:focus-within .nav__menu{opacity:1; visibility:visible; transform:translateX(-50%) translateY(0);}
.nav__menu a{display:block; padding:.7rem 1.6rem; letter-spacing:.14em; color:var(--on-dark-soft);}
.nav__menu a:hover{color:var(--gold); background:rgba(180,154,103,.06);}
.btn{
  font-family:var(--label); font-weight:300; font-size:.74rem; letter-spacing:.24em;
  text-transform:uppercase; color:var(--on-dark);
  border:1px solid rgba(180,154,103,.55); padding:.78em 1.8em;
  transition:.35s; white-space:nowrap;
}
.btn:hover{background:var(--gold); border-color:var(--gold); color:var(--sage-deep);}
.nav__toggle{display:none; flex-direction:column; gap:5px; background:none; border:0; cursor:pointer; padding:6px;}
.nav__toggle span{width:24px; height:1px; background:var(--on-dark); transition:.3s;}

/* ---------- HERO ---------- */
.hero{position:relative; min-height:100svh; display:flex; align-items:flex-end; justify-content:center; background:#11120B; overflow:hidden;}
.hero__img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; z-index:1;}
.hero__bg{position:absolute; inset:-10%; width:120%; height:120%; object-fit:cover; filter:blur(36px) brightness(.82); display:none; z-index:0;}
.hero::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(35,38,30,.30) 0%,rgba(35,38,30,0) 28%,rgba(35,38,30,.45) 100%);}
.hero__cue{position:relative; z-index:2; text-align:center; padding-bottom:2.6rem;}
.hero__cue .eyebrow{color:var(--on-dark-soft); display:block; margin-bottom:1rem;}
.hero__cue .rule{height:46px; animation:drip 2.8s ease-in-out infinite;}
@keyframes drip{0%,100%{opacity:.25; transform:scaleY(.6); transform-origin:top;}50%{opacity:.7; transform:scaleY(1); transform-origin:top;}}

/* ---------- SECTION SHELL ---------- */
.band{padding:clamp(6rem,16vh,12rem) clamp(1.25rem,5vw,2rem);}
.band--dark{background:var(--sage); color:var(--on-dark);}
.band--deep{background:var(--sage-deep); color:var(--on-dark);}
.band--ivory{background:var(--ivory);}
.wrap{max-width:1040px; margin:0 auto;}
.wrap--narrow{max-width:900px;}
.center{text-align:center;}

/* poetic lines */
.poem{font-family:var(--display); font-weight:400; line-height:1.32; letter-spacing:.01em;
  font-size:clamp(1.85rem,4vw,3rem);}
.poem--lg{font-size:clamp(2.15rem,5vw,3.7rem); line-height:1.26; font-weight:300;}
.poem .soft{color:var(--stone);}
.poem .gold{color:var(--gold); font-style:italic; font-weight:400;}
.band--dark .poem .gold, .band--deep .poem .gold{color:var(--gold);}

.lede{font-size:1.18rem; line-height:1.95; max-width:var(--measure); hyphens:auto;}
.center .lede{margin-inline:auto;}
.band--dark .lede, .band--deep .lede{color:var(--on-dark-soft);}
.fp{font-family:var(--display); font-size:clamp(1.5rem,3vw,2.1rem); line-height:1.45; letter-spacing:.01em;}

.spacer-sm{height:1.4rem;} .spacer{height:2.4rem;}

/* ---------- INTRO ---------- */
.intro{display:grid; grid-template-columns:1fr; gap:2rem; align-items:center;}
.intro__body p{margin-top:1.1rem; max-width:var(--measure);}
.intro__name{font-family:var(--display); font-weight:300; font-size:clamp(2rem,4vw,2.8rem); line-height:1.1;}

/* ---------- CEREMONIES ---------- */
.cer__head{display:flex; align-items:baseline; justify-content:space-between; gap:1rem; flex-wrap:wrap; margin-bottom:2.5rem;}
.cer__title{font-family:var(--display); font-weight:300; font-size:clamp(2rem,4.4vw,3rem);}
.cer{display:block; border-top:1px solid rgba(46,48,38,.16);}
.cer__row{
  display:flex; align-items:center; justify-content:space-between; gap:1.5rem;
  padding:1.5rem .4rem; transition:padding-left .4s ease, color .4s ease; position:relative;
}
.cer__row::before{content:""; position:absolute; left:0; top:0; bottom:0; width:0; background:rgba(180,154,103,.07); transition:width .4s ease; z-index:0;}
.cer__row:hover{padding-left:1.6rem;}
.cer__row:hover::before{width:100%;}
.cer__row:last-child{border-bottom:1px solid rgba(46,48,38,.16);}
.cer__name{font-family:var(--display); font-size:clamp(1.5rem,3.2vw,2.15rem); line-height:1.1; position:relative; z-index:1;}
.cer__line{font-family:var(--body); font-style:italic; color:var(--stone-text); font-size:1.02rem; position:relative; z-index:1; text-align:right;}
.cer__arrow{position:relative; z-index:1; color:var(--gold); opacity:0; transform:translateX(-8px); transition:.4s; font-family:var(--label);}
.cer__row:hover .cer__arrow{opacity:1; transform:translateX(0);}

/* ---------- WEG ---------- */
.weg{display:grid; grid-template-columns:repeat(3,1fr); gap:0;}
.weg__item{padding:0 clamp(1rem,3vw,2.4rem); position:relative;}
.weg__item + .weg__item::before{content:""; position:absolute; left:0; top:6px; bottom:6px; width:1px; background:rgba(180,154,103,.3);}
.weg__item p{font-family:var(--display); font-size:clamp(1.35rem,2.4vw,1.7rem); line-height:1.4;}
.weg__item .lead{color:var(--gold); display:block; font-style:italic; margin-bottom:.4rem;}

/* ---------- STIMMEN ---------- */
.voices{display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,4.5rem);}
.voice blockquote{font-family:var(--display); font-size:clamp(1.4rem,2.4vw,1.85rem); line-height:1.5; font-style:italic; text-indent:-.48ch;}
.voice figcaption{margin-top:1.2rem;}
.ph{display:inline-block; font-family:var(--label); font-weight:300; font-size:.62rem; letter-spacing:.26em; text-transform:uppercase; color:var(--gold); border:1px solid rgba(180,154,103,.4); padding:.35em .8em; opacity:.8;}

/* ---------- PORTRAIT / ÜBER ---------- */
.about{display:grid; grid-template-columns:0.85fr 1.15fr; gap:clamp(2rem,5vw,4.5rem); align-items:center;}
.about__img{position:relative;}
.about__img img{width:100%; filter:grayscale(.1) contrast(1.02);}
.about__img::after{content:""; position:absolute; inset:14px 14px auto auto; width:42px; height:42px; border-top:1px solid var(--gold); border-right:1px solid var(--gold); opacity:.7;}

/* ---------- ATELIER ---------- */
.atelier{position:relative;}
.atelier__grid{display:grid; grid-template-columns:1fr 1fr; gap:0 clamp(2rem,5vw,4rem);}
.atelier__item{padding:1.6rem 0; border-top:1px solid rgba(46,48,38,.14);}
.atelier__item h3{font-family:var(--display); font-weight:400; font-size:1.5rem; letter-spacing:.02em;}
.atelier__item p{color:var(--stone-text); margin-top:.35rem; font-size:1.02rem;}
.atelier__aside .branch{width:100%; aspect-ratio:3/4; object-fit:cover; opacity:.9;}
.link-gold{font-family:var(--label); font-weight:300; font-size:.78rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); border-bottom:1px solid rgba(180,154,103,.5); padding-bottom:.3em; transition:.3s;}
.link-gold:hover{border-color:var(--gold);}

/* ---------- EINLADUNG ---------- */
.invite .btn{margin-top:2.2rem; color:var(--sage-deep); border-color:var(--gold);}
.invite .btn{display:inline-block;}
.btn--solid{background:var(--gold); color:var(--sage-deep)!important; border:1px solid var(--gold);}
.btn--solid:hover{background:transparent; color:var(--on-dark)!important;}

/* ---------- FOOTER ---------- */
.foot{background:var(--black); color:var(--on-dark-soft); padding:clamp(3.5rem,8vh,5.5rem) clamp(1.25rem,5vw,2rem) 2.5rem;}
.foot__mark{font-family:var(--display); font-size:1.6rem; letter-spacing:.4em; padding-left:.4em; color:var(--on-dark); text-align:center;}
.foot__cols{display:flex; justify-content:center; gap:clamp(1.5rem,5vw,4rem); flex-wrap:wrap; margin-top:2.4rem; text-align:center;}
.foot a:hover{color:var(--gold);}
.foot__label{font-family:var(--label); font-weight:300; font-size:.62rem; letter-spacing:.26em; text-transform:uppercase; color:var(--stone); display:block; margin-bottom:.5rem;}
.foot__legal{margin-top:3rem; text-align:center; font-family:var(--label); font-weight:300; font-size:.68rem; letter-spacing:.14em; color:var(--stone);}
.foot__legal a{margin:0 .5rem;}

/* ---------- reveal ---------- */
.reveal{opacity:0; transform:translateY(12px); transition:opacity 1s cubic-bezier(.16,1,.3,1), transform 1s cubic-bezier(.16,1,.3,1);}
.reveal.in{opacity:1; transform:none;}

/* ---------- responsive ---------- */
@media(max-width:880px){
  .about{grid-template-columns:1fr;} .about__img{max-width:340px; margin:0 auto;}
  .weg{grid-template-columns:1fr; gap:2.2rem;}
  .weg__item + .weg__item::before{display:none;}
  .weg__item{border-top:1px solid rgba(46,48,38,.14); padding-top:1.6rem;}
  .voices{grid-template-columns:1fr; gap:3rem;}
  .atelier__grid{grid-template-columns:1fr;}
  .atelier__aside{display:none;}
}
@media(max-width:720px){
  .hero__img{object-fit:contain;} .hero__bg{display:block;} .hero{min-height:84svh;}
  .nav__links{
    position:fixed; inset:0; background:var(--sage-deep); flex-direction:column;
    justify-content:flex-start; align-items:center; gap:1.4rem;
    padding:6rem 1.5rem 2.5rem; overflow-y:auto; -webkit-overflow-scrolling:touch;
    transform:translateX(100%); transition:transform .4s ease;
  }
  .nav__links.open{transform:none;}
  .nav__links a, .nav__drop>span{font-size:1rem;}
  .nav__drop{text-align:center;}
  .nav__menu{position:static; transform:none; opacity:1; visibility:visible; background:none; border:0; min-width:0; padding:.6rem 0 0;}
  .nav__drop>span::after{display:none;}
  .nav__toggle{display:flex; z-index:60; position:relative;}
  .cer__line{display:none;}
}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;}
  .reveal{opacity:1; transform:none; transition:none;}
  html{scroll-behavior:auto;}
}
:focus-visible{outline:2px solid var(--gold); outline-offset:3px;}

/* ---- multipage ---- */
.page{display:block;}
.page.is-on{display:block;}
[data-go]{cursor:pointer;}
/* Goldstrich-Signatur unter Kapitel-Auftakten (sparsam) */
.page-hero .eyebrow, .invite .eyebrow{display:inline-block;}
.page-hero .eyebrow::after, .invite .eyebrow::after{content:""; display:block; width:34px; height:1px; background:var(--gold); opacity:.55; margin:1.05rem auto 0;}
.page-hero{padding-top:clamp(7.5rem,17vh,11rem); position:relative;}
.cer-hero--photo{overflow:hidden;}
.cer-hero__bg{position:absolute; inset:0; z-index:0;}
.cer-hero__bg img{width:100%; height:100%; object-fit:cover; object-position:60% 45%; display:block; filter:grayscale(.35) brightness(.62) contrast(1.02);}
.cer-hero__bg::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(44,48,38,.72) 0%, rgba(44,48,38,.60) 45%, rgba(44,48,38,.86) 100%);}
.cer-hero--photo > .wrap{position:relative; z-index:1;}
@media(max-width:600px){ .cer-hero__bg img{object-position:62% 42%;} }
.cer-hero__bg--ht img{object-position:50% 34%; filter:grayscale(1) brightness(.52) contrast(1.06);}
.cer-hero__bg--ht::after{background:linear-gradient(180deg, rgba(44,48,38,.62) 0%, rgba(44,48,38,.50) 42%, rgba(44,48,38,.84) 100%);}
@media(max-width:600px){ .cer-hero__bg--ht img{object-position:48% 32%;} }
.cer-hero__bg--kw img{object-position:50% 38%; filter:grayscale(.25) brightness(.58) contrast(1.04);}
.cer-hero__bg--kw::after{background:linear-gradient(180deg, rgba(44,48,38,.66) 0%, rgba(44,48,38,.52) 42%, rgba(44,48,38,.85) 100%);}
@media(max-width:600px){ .cer-hero__bg--kw img{object-position:52% 36%;} }
.cer-hero__bg--tt img{object-position:46% 40%; filter:grayscale(.45) brightness(.56) contrast(1.03);}
.cer-hero__bg--tt::after{background:linear-gradient(180deg, rgba(44,48,38,.68) 0%, rgba(44,48,38,.54) 42%, rgba(44,48,38,.86) 100%);}
@media(max-width:600px){ .cer-hero__bg--tt img{object-position:42% 40%;} }
.cer-hero__bg--atelier img{object-position:50% 28%; filter:grayscale(.15) brightness(.62) contrast(1.02);}
.cer-hero__bg--atelier::after{background:linear-gradient(180deg, rgba(44,48,38,.66) 0%, rgba(44,48,38,.5) 45%, rgba(44,48,38,.85) 100%);}
.cer-hero__bg--ju img{object-position:50% 30%; filter:grayscale(.4) brightness(.6) contrast(1.03);}
.cer-hero__bg--ju::after{background:linear-gradient(180deg, rgba(44,48,38,.64) 0%, rgba(44,48,38,.52) 42%, rgba(44,48,38,.85) 100%);}
@media(max-width:600px){ .cer-hero__bg--ju img{object-position:54% 28%;} }
.page-hero__title{font-family:var(--display); font-weight:300; font-size:clamp(2.6rem,6.6vw,4.9rem); line-height:1.04; letter-spacing:.02em;}
.page-hero__sub{font-family:var(--body); font-style:italic; color:var(--gold); margin-top:1.1rem; font-size:clamp(1.05rem,1.6vw,1.25rem);}
.band--sand{background:#E9E1D3;}
.btn--ink{background:var(--sage-deep); color:var(--on-dark)!important; border:1px solid var(--sage-deep);}
.btn--ink:hover{background:var(--gold); border-color:var(--gold); color:var(--sage-deep)!important;}
.center .btn{margin-top:2.2rem; display:inline-block;}
.prose{max-width:760px; margin:0 auto;}
.prose h2{font-family:var(--display); font-weight:400; font-size:1.7rem; margin:2.4rem 0 .7rem; letter-spacing:.02em;}
.prose h3{font-family:var(--label); font-weight:400; font-size:.74rem; letter-spacing:.2em; text-transform:uppercase; color:var(--stone); margin:1.8rem 0 .4rem;}
.prose p{margin:.55rem 0; font-size:1.02rem;}
.prose a{color:var(--sage); border-bottom:1px solid rgba(180,154,103,.5);}
.note{font-family:var(--label); font-weight:300; font-size:.82rem; line-height:1.7; letter-spacing:.02em; color:#7d6a45; background:rgba(180,154,103,.08); border:1px solid rgba(180,154,103,.35); padding:1rem 1.2rem; margin-bottom:2.6rem; max-width:760px; margin-inline:auto;}
.kform{max-width:620px; margin:0 auto; display:flex; flex-direction:column; gap:1.7rem;}
.kform label{display:flex; flex-direction:column; gap:.5rem; font-family:var(--label); font-weight:300; font-size:.7rem; letter-spacing:.22em; text-transform:uppercase; color:var(--stone);}
.kform input,.kform textarea{font-family:var(--body); font-size:1.05rem; color:var(--ivory-text); background:transparent; border:0; border-bottom:1px solid rgba(46,48,38,.28); padding:.6rem 0; transition:border-color .3s;}
.kform input:focus,.kform textarea:focus{outline:none; border-color:var(--gold);}
.kform textarea{resize:vertical;}
.kform .btn{align-self:flex-start; cursor:pointer; color:var(--on-dark);}
.hp{position:absolute!important; left:-9999px!important; width:1px; height:1px; opacity:0;}
.kmsg{font-family:var(--body); font-style:italic; color:var(--sage); font-size:1.05rem; margin-top:.4rem;}
.contact-direct{display:flex; justify-content:center; gap:clamp(1.5rem,5vw,3.5rem); flex-wrap:wrap; text-align:center; margin-top:3.4rem;}
.contact-direct .foot__label{color:var(--stone);}
.contact-direct a{color:var(--sage); border-bottom:1px solid rgba(180,154,103,.4);}
.nav__links a.is-active{color:var(--gold);}
.atelier__item .freebie{color:var(--gold); font-style:italic;}
.sec-title{font-family:var(--display); font-weight:400; font-size:clamp(1.9rem,3.6vw,2.7rem); letter-spacing:.02em; line-height:1.1;}
.imgph{position:relative; width:100%; background:#E5DDCE; border:1px solid rgba(180,154,103,.3); display:flex; align-items:center; justify-content:center; text-align:center; color:#a39a87; overflow:hidden;}
.imgph::before{content:""; position:absolute; inset:12px; border:1px solid rgba(180,154,103,.25);}
.imgph__l{position:relative; font-family:var(--label); font-weight:300; font-size:.7rem; letter-spacing:.24em; text-transform:uppercase; padding:1.2rem;}
.imgph--wide{aspect-ratio:16/7;}
.imgph--cer{aspect-ratio:3/2;}
.pfig{margin:0 auto; max-width:min(100%,620px); position:relative;}
.pfig img{width:100%; height:auto; display:block; aspect-ratio:3/4; object-fit:cover;}
.pfig--tall img{aspect-ratio:2/3;}
.pfig--tall{max-width:min(100%,540px);}
.pfig--auto{max-width:min(100%,420px);}
.pfig--auto img{aspect-ratio:auto; height:auto;}
.pfig::after{content:""; position:absolute; inset:12px; border:1px solid rgba(180,154,103,.30); pointer-events:none;}
.pduo{display:grid; grid-template-columns:1fr 1fr; gap:clamp(.9rem,2.2vw,1.6rem); align-items:start;}
.pduo .pfig{max-width:none;}
.pduo .pfig img{aspect-ratio:2/3;}
@media(max-width:640px){ .pduo{grid-template-columns:1fr; gap:1.2rem;} .pduo .pfig{max-width:min(100%,460px); margin:0 auto;} }
.pfig--land{max-width:min(100%,900px);}
.pfig--land img{aspect-ratio:3/2;}
.pfig figcaption{font-family:var(--label); font-weight:300; font-size:.68rem; letter-spacing:.24em; text-transform:uppercase; color:var(--gold); opacity:.85; text-align:center; margin-top:1.1rem;}
.steps{border-top:1px solid rgba(46,48,38,.18); max-width:820px; margin:0 auto;}
.step{display:grid; grid-template-columns:auto 1fr; gap:0 1.6rem; padding:1.7rem .2rem; border-bottom:1px solid rgba(46,48,38,.18); align-items:baseline;}
.step__n{font-family:var(--display); font-size:clamp(1.7rem,3vw,2.3rem); color:var(--gold); line-height:1;}
.step__b h4{font-family:var(--display); font-weight:400; font-size:clamp(1.3rem,2.4vw,1.6rem); letter-spacing:.01em;}
.step__b p{color:var(--stone-text); margin-top:.3rem; font-size:1rem; max-width:54ch;}
.incl{list-style:none; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:0 2.6rem; max-width:880px; margin:0 auto;}
.incl li{padding:1rem 0; border-bottom:1px solid rgba(46,48,38,.14); font-size:1.05rem; display:flex; gap:.9rem; align-items:flex-start;}
.incl li::before{content:"—"; color:var(--gold); flex:none;}
.faq{max-width:760px; margin:0 auto; border-top:1px solid rgba(46,48,38,.18);}
.faq details{border-bottom:1px solid rgba(46,48,38,.18);}
.faq summary{cursor:pointer; list-style:none; padding:1.4rem .2rem; font-family:var(--display); font-size:clamp(1.2rem,2.2vw,1.5rem); display:flex; justify-content:space-between; align-items:center; gap:1rem;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+"; color:var(--gold); font-family:var(--body);}
.faq details[open] summary::after{content:"–";}
.faq details>p{padding:0 .2rem 1.5rem; color:var(--stone-text); font-size:1.05rem; max-width:62ch;}
@media(max-width:720px){ .incl{grid-template-columns:1fr;} }
/* ceremony doors — more space, more premium */
.cer__row{align-items:flex-start; gap:clamp(1rem,2.5vw,2.2rem); padding:clamp(2.8rem,5vw,4.6rem) .4rem;}
.cer__idx{font-family:var(--display); font-weight:300; font-size:clamp(1.5rem,2.6vw,2.1rem); letter-spacing:.06em; color:var(--gold); opacity:.55; position:relative; z-index:1; min-width:2.2em; padding-top:.15rem; transition:opacity .5s ease;}
.cer__txt{display:flex; flex-direction:column; gap:.45rem; flex:1; position:relative; z-index:1;}
.cer__name{font-size:clamp(1.85rem,3.8vw,2.8rem);}
.cer__line{text-align:left; display:block;}
.cer__arrow{align-self:center;}
@media(max-width:720px){
  .cer__line{display:block; font-size:1.02rem;}
  .cer__row{padding:3.4rem .2rem;}
  .cer__name{font-size:1.95rem;}
  .cer__arrow{opacity:.5; transform:none;}
  .cer__idx{padding-top:.6rem;}
}
/* refined: a short matte-gold Goldstrich under each name, growing on hover */
.cer__name{position:relative; display:inline-block; transition:letter-spacing .55s ease;}
.cer__name::after{content:""; position:absolute; left:0; bottom:-.34em; height:1px; width:26px; background:var(--gold); opacity:.6; transition:width .6s cubic-bezier(.19,1,.22,1), opacity .45s ease;}
.cer__row:hover .cer__name::after{width:100%; opacity:1;}
.cer__row:hover .cer__name{letter-spacing:.015em;}
.cer__row:hover .cer__idx{opacity:1;}
/* portrait hero with live wordmark */
.hero--portrait{position:relative; min-height:100svh; display:flex; align-items:flex-end; justify-content:center; overflow:hidden; background:var(--sage-deep);}
.hero__photo{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 20%;}
.hero__scrim{position:absolute; inset:0; background:linear-gradient(180deg, rgba(28,28,22,.34) 0%, rgba(28,28,22,.12) 30%, rgba(28,28,22,.45) 62%, rgba(28,28,22,.82) 100%);}
.hero__lockup{position:relative; z-index:3; text-align:center; padding:0 2rem clamp(3.4rem,9vh,6.5rem);}
.lockup__word{font-family:var(--display); font-weight:300; color:#F4EFE4; letter-spacing:.34em; text-indent:.34em; font-size:clamp(2rem,7.5vw,4.8rem); line-height:1; margin:0;}
.lockup__rule{width:clamp(40px,6vw,64px); height:1px; background:var(--gold); margin:clamp(1.1rem,2.2vw,1.8rem) auto;}
.lockup__name{font-family:var(--label); font-weight:300; color:var(--gold); letter-spacing:.36em; text-indent:.36em; font-size:clamp(.82rem,1.7vw,1.05rem);}
.lockup__role{font-family:var(--label); font-weight:300; color:#EDE7DA; letter-spacing:.36em; text-indent:.36em; font-size:clamp(.6rem,1.1vw,.74rem); margin-top:.8rem;}
@media(max-width:600px){ .lockup__word{letter-spacing:.22em; text-indent:.22em; font-size:clamp(1.7rem,9vw,2.6rem);} .lockup__name{letter-spacing:.28em; text-indent:.28em;} .lockup__role{letter-spacing:.28em; text-indent:.28em;} }
/* Eröffnungssequenz Startseite: Vorhang, kein Spektakel */
.hero__photo{animation:heroSettle 3.2s cubic-bezier(.22,.61,.36,1) both; will-change:transform;}
@keyframes heroSettle{from{transform:scale(1.06);} to{transform:scale(1);}}
.hero__scrim{animation:fadeIn 1.4s ease both;}
.lockup__word{animation:trackIn 1.9s cubic-bezier(.22,.61,.36,1) .25s both;}
@keyframes trackIn{from{opacity:0; letter-spacing:.5em; text-indent:.5em;} to{opacity:1; letter-spacing:.34em; text-indent:.34em;}}
@media(max-width:600px){ @keyframes trackIn{from{opacity:0; letter-spacing:.34em; text-indent:.34em;} to{opacity:1; letter-spacing:.22em; text-indent:.22em;}} }
.lockup__rule{transform-origin:center; animation:ruleDraw 1.1s cubic-bezier(.22,.61,.36,1) 1.15s both;}
@keyframes ruleDraw{from{transform:scaleX(0); opacity:0;} to{transform:scaleX(1); opacity:1;}}
.lockup__name{animation:riseIn 1s cubic-bezier(.22,.61,.36,1) 1.5s both;}
.lockup__role{animation:riseIn 1s cubic-bezier(.22,.61,.36,1) 1.7s both;}
.hero__cue{animation:fadeIn 1.2s ease 2.3s both;}
@keyframes riseIn{from{opacity:0; transform:translateY(10px);} to{opacity:1; transform:translateY(0);}}
@keyframes fadeIn{from{opacity:0;} to{opacity:1;}}
@media(prefers-reduced-motion:reduce){ .hero__photo,.hero__scrim,.lockup__word,.lockup__rule,.lockup__name,.lockup__role,.hero__cue{animation:none;} }
/* Eröffnungssequenz aller Unterseiten-Heros */
.page-hero .eyebrow{animation:riseIn .9s cubic-bezier(.22,.61,.36,1) .1s both;}
.cer-hero__vers{animation:riseIn 1.05s cubic-bezier(.22,.61,.36,1) .1s both;}
.page-hero__title{animation:titleIn 1.5s cubic-bezier(.22,.61,.36,1) .35s both;}
@keyframes titleIn{from{opacity:0; letter-spacing:.085em;} to{opacity:1; letter-spacing:.02em;}}
.page-hero__sub{animation:riseIn 1s cubic-bezier(.22,.61,.36,1) .85s both;}
.cer-hero .btn{animation:fadeIn .9s ease 1.15s both;}
@media(max-width:600px){ .page-hero__title{animation-name:riseIn;} }
@media(prefers-reduced-motion:reduce){ .page-hero .eyebrow,.cer-hero__vers,.page-hero__title,.page-hero__sub,.cer-hero .btn{animation:none;} }
/* Atelier-Schwelle: eigene Welt, stille Buehne */
.atelier--stage{position:relative; overflow:hidden; background:#E3D9C6;}
.atelier__shadow{position:absolute; inset:0; pointer-events:none;}
.atelier__shadow img{width:100%; height:100%; object-fit:cover; opacity:.42; mix-blend-mode:multiply; filter:contrast(.9) brightness(1.06);}
.atelier__shadow::after{content:""; position:absolute; inset:0; background:linear-gradient(90deg, #E3D9C6 8%, rgba(227,217,198,.78) 46%, rgba(227,217,198,.18) 100%);}
.atelier--stage .wrap{position:relative; z-index:1;}
.atelier--stage .atelier__grid{grid-template-columns:1fr; max-width:760px;}
.eyebrow--line{display:inline-block;}
.eyebrow--line::after{content:""; display:block; width:34px; height:1px; background:var(--gold); opacity:.55; margin:1.05rem 0 0;}
/* awards */
.awards{border-top:1px solid rgba(46,48,38,.10);}
.awards__row{display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(1.6rem,4vw,3.5rem); max-width:820px; margin:0 auto;}
.award{display:flex; flex-direction:column; align-items:center; gap:1.1rem;}
.award__seal{width:clamp(94px,12vw,128px); aspect-ratio:1; border:1px solid rgba(180,154,103,.5); border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:var(--label); font-weight:300; font-size:.62rem; letter-spacing:.22em; text-transform:uppercase; color:var(--gold); background:rgba(180,154,103,.05);}
.awards__row{max-width:920px;}
.award__seal--img{
  border:0; background:none; border-radius:0; aspect-ratio:auto;
  width:clamp(104px,14vw,150px); height:clamp(104px,14vw,150px);
}
.award__seal--img img{
  max-width:100%; max-height:100%; width:auto; height:auto;
  object-fit:contain; margin:0 auto;
}
.award__name{font-family:var(--display); font-weight:400; font-size:clamp(1.05rem,1.6vw,1.25rem); letter-spacing:.02em; color:#2C3026; margin:0;}
.award__cap{font-family:var(--label); font-weight:300; font-size:.74rem; letter-spacing:.04em; color:var(--stone-text); line-height:1.6; max-width:26ch;}
@media(max-width:600px){ .awards__row{grid-template-columns:1fr; gap:2.2rem; justify-items:center;} }
/* footer wordmark lockup */
.foot__lockup{text-align:center; margin-bottom:2.6rem;}
.foot__word{font-family:var(--display); font-weight:400; color:var(--on-dark); letter-spacing:.3em; text-indent:.3em; font-size:clamp(1.3rem,3vw,1.9rem); line-height:1;}
.foot__rule{width:46px; height:1px; background:var(--gold); margin:.95rem auto;}
.foot__name{font-family:var(--label); font-weight:300; color:var(--gold); letter-spacing:.3em; text-indent:.3em; font-size:.72rem;}
.foot__role{font-family:var(--label); font-weight:300; color:var(--on-dark); letter-spacing:.3em; text-indent:.3em; font-size:.6rem; margin-top:.55rem; opacity:.82;}
/* real logo at the end */
.foot{background:#14160F;}
.foot__logo{display:block; width:min(600px,86vw); height:auto; margin:0 auto clamp(1.4rem,4vw,2.4rem);}
/* ceremony subpage hero: verse -> title -> sub -> button (like current site) */
.cer-hero{min-height:74svh; display:flex; align-items:center;}
.cer-hero>.wrap{width:100%;}
.cer-hero__vers{font-family:var(--display); font-style:italic; color:#EAE3D5; font-size:clamp(1.1rem,2.1vw,1.5rem); line-height:1.65; letter-spacing:.01em; margin:0 0 clamp(1.5rem,3.5vw,2.4rem);}
@media(max-width:600px){ .cer-hero .page-hero__title{font-size:clamp(1.45rem,6.2vw,2.1rem); letter-spacing:.01em; line-height:1.12;} }
/* Ueber mich: mehr Atem */
#p-ueber .band{padding-top:clamp(5rem,10vw,8.5rem); padding-bottom:clamp(5rem,10vw,8.5rem);}
#p-ueber .fp{font-size:clamp(1.2rem,1.9vw,1.4rem); line-height:1.8; max-width:42rem;}
#p-ueber .ue-body{font-size:1.06rem; line-height:1.92; max-width:42rem; margin-top:1.9rem; hyphens:auto;}
#p-ueber .about__img{align-self:center;}
/* airy prose block (reused) */
.prose-air .fp{font-size:clamp(1.2rem,1.9vw,1.4rem); line-height:1.8; max-width:42rem;}
.prose-air .body{font-size:1.06rem; line-height:1.92; max-width:42rem; margin-top:1.9rem; hyphens:auto;}
.prose-air .emph{font-family:var(--display); font-style:italic; color:var(--gold); font-size:clamp(1.3rem,2.5vw,1.75rem); line-height:1.4; max-width:42rem; margin:2.2rem 0 0;}
/* page entrance is handled by .reveal; keyframe kept for the deploy build */
@keyframes pageFade{from{opacity:0;} to{opacity:1;}}
/* finer hovers */
.btn{transition:background .45s ease, border-color .45s ease, color .45s ease, transform .45s cubic-bezier(.22,.61,.36,1), box-shadow .45s ease;}
.btn:hover{transform:translateY(-2px);}
.btn--solid:hover{box-shadow:0 12px 26px rgba(20,22,15,.16);}
.about__img{overflow:hidden;}
.about__img img{transition:transform 1.3s cubic-bezier(.22,.61,.36,1), filter .6s ease;}
.about__img:hover img{transform:scale(1.045);}
@media(prefers-reduced-motion:reduce){ .page.is-on{animation:none;} .btn:hover{transform:none;} .about__img:hover img{transform:none;} }
