@font-face{font-family:"Cinzel Decorative";src:url("../fonts/cinzel-decorative-latin-400-normal.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url("../fonts/cormorant-garamond-latin-400-normal.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url("../fonts/cormorant-garamond-latin-500-normal.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url("../fonts/cormorant-garamond-latin-600-normal.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url("../fonts/cormorant-garamond-latin-400-italic.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url("../fonts/cormorant-garamond-latin-500-italic.woff2") format("woff2");font-weight:500;font-style:italic;font-display:swap}
@font-face{font-family:"Jost";src:url("../fonts/jost-latin-300-normal.woff2") format("woff2");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:"Jost";src:url("../fonts/jost-latin-400-normal.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Jost";src:url("../fonts/jost-latin-500-normal.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Italianno";src:url("../fonts/italianno-latin-400-normal.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
:root{
  --navy:#14213d; --navy2:#1d2c4d; --gold:#c9a45c; --gold2:#e2c78f;
  --cream:#f7f1e6; --tint:#efe6d6; --ink:#1b2130; --stone:#666b77;
  --wine:var(--gold);
  --serif:"Cormorant Garamond",Georgia,serif; --sans:"Jost",system-ui,sans-serif; --script:"Italianno",cursive;
}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{background:var(--cream);color:var(--ink);font-family:var(--sans);font-weight:300;font-size:1.06rem;line-height:1.7;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5{font-family:var(--serif);font-weight:500;line-height:1.2;color:inherit}
h2{font-size:clamp(1.8rem,3.4vw,2.6rem)}
h3{font-size:1.5rem}
h4{font-size:1.2rem;font-weight:400;margin-bottom:.4rem}
a{color:var(--navy2);text-decoration-color:var(--gold);text-underline-offset:3px}
a:hover{color:var(--gold)}
img{max-width:100%;height:auto;display:block}
section{padding:6rem 0}
@media(max-width:767px){section{padding:4rem 0}}
.kicker{font-size:.78rem;letter-spacing:.32em;text-transform:uppercase;font-weight:600;color:var(--gold)}
.lede{font-family:var(--serif);font-size:clamp(1.35rem,2.2vw,1.65rem);font-weight:400;line-height:1.5}
.rule{width:48px;height:2px;background:var(--gold);margin-bottom:1.4rem}
.anchor-h{color:inherit;text-decoration:none}
.anchor-h i{font-size:.6em;opacity:0;transition:opacity .2s;color:var(--gold)}
.anchor-h:hover i{opacity:1}
.anchor-h:hover{color:inherit}

/* Leiste und Navigation */
.leiste{background:var(--gold);color:var(--navy);font-size:.88rem;padding:.5rem 0;text-align:center}
.leiste .container{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem 1rem}
.leiste a{color:var(--navy);font-weight:600}
.navbar.fixed-top{position:sticky;top:0;background:var(--navy);padding:.7rem 0;box-shadow:0 1px 0 rgba(198,161,91,.25)}
.navbar-brand{display:flex;align-items:center;gap:.7rem;color:var(--cream);text-decoration:none}
.navbar-brand:hover{color:var(--cream)}
.brand-mark{width:42px;height:42px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;font-family:var(--serif);color:var(--gold);font-size:1rem;letter-spacing:.05em}
.brand-text{font-family:var(--script);font-size:2rem;line-height:1;color:var(--cream)}
.brand-text small{display:block;font-family:var(--sans);font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-top:.15rem}
.navbar .nav-link{color:rgba(247,242,234,.85);font-size:.95rem;padding:.5rem .8rem!important}
.navbar .nav-link:hover{color:var(--gold)}
.navbar-toggler{border-color:rgba(198,161,91,.5)}
.navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23c6a15b' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}
.sprachen .ausloeser{background:none;border:1px solid rgba(198,161,91,.5);color:var(--cream);border-radius:2rem;padding:.35rem .9rem;font-size:.88rem;display:flex;align-items:center;gap:.4rem;margin-left:.6rem}
.sprachen .ausloeser::after{display:none}
.sprachen .pfeil{font-size:.7rem}
.sprachen .dropdown-menu{border-radius:.4rem;border:none;box-shadow:0 10px 30px rgba(0,0,0,.2)}
.sprachen .dropdown-item{display:flex;justify-content:space-between;gap:1.5rem}
.sprachen .dropdown-item.aktiv{color:var(--gold);font-weight:600;background:none}
.kuerzel{font-size:.75rem;color:var(--stone)}
@media(max-width:991px){.sprachen .ausloeser{margin:.6rem 0 .4rem .8rem}}

/* Hero */
.hero{position:relative;min-height:88vh;display:flex;align-items:flex-end;padding:8rem 0 5rem;color:var(--cream);background:var(--navy);overflow:hidden}
.hero-photo{position:absolute;inset:0;background:url("../img/tai-chi-unterricht-am-meer-madeira.webp") center 40%/cover no-repeat}
.hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,33,61,.25) 0%,rgba(20,33,61,.55) 50%,rgba(20,33,61,.92) 100%)}
.hero .container{position:relative;z-index:1}
.hero h1{font-family:"Cinzel Decorative",var(--serif);font-size:clamp(2.2rem,5.6vw,4.6rem);font-weight:400;line-height:1.12;letter-spacing:.01em;text-transform:uppercase;margin-bottom:.8rem;color:var(--cream)}
.hero .sub{font-family:var(--serif);font-style:italic;font-size:clamp(1.6rem,3vw,2.4rem);color:var(--gold2);margin-bottom:1.4rem}
.hero .kicker{color:var(--gold2)}
.hero .lede{max-width:40ch;color:rgba(247,242,234,.92)}
.vertrauen{display:flex;flex-wrap:wrap;gap:1rem 2.2rem;margin-top:3rem;padding-top:1.6rem;border-top:1px solid rgba(198,161,91,.35);font-size:.92rem}
.vertrauen div{display:flex;align-items:center;gap:.55rem}
.vertrauen i{color:var(--gold);font-size:1.1rem}

/* Buttons */
.btn{border-radius:0;padding:.85rem 1.8rem;font-weight:500;font-size:.82rem;letter-spacing:.18em;text-transform:uppercase;transition:all .2s}
.btn-wine{background:var(--gold);color:var(--navy);border:1px solid var(--gold)}
.btn-wine:hover{background:var(--gold2);border-color:var(--gold2);color:var(--navy)}
.btn-line{border:1.5px solid var(--gold);color:var(--cream);background:transparent}
.btn-line:hover{border-color:var(--gold);color:var(--gold)}
.btn-line-dark{border:1.5px solid var(--gold);color:var(--navy);background:transparent}
.btn-line-dark:hover{background:var(--navy);color:var(--cream)}
.btn-sm-flat{padding:.6rem 1.3rem;font-size:.92rem;white-space:nowrap}

/* Flächen */
.sec-tint{background:var(--tint)}
.sec-dark{background:var(--navy);color:var(--cream)}
.sec-dark a{color:var(--gold2)}
.sec-dark .rule{background:var(--gold)}

/* Was dich erwartet */
.editorial img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:4px}
.editorial p{max-width:52ch;color:#3b4150}

/* Merkmale */
.merkmal{padding:2rem 0;border-top:1px solid rgba(236,230,222,.16)}
.merkmal .nr{font-family:var(--serif);font-size:2.6rem;color:var(--gold);font-weight:400}
.merkmal p{color:rgba(247,242,234,.75);max-width:60ch;margin:0}

/* Termine */
.termin{display:grid;grid-template-columns:200px 1fr auto;gap:1.5rem 2.5rem;align-items:start;padding:2.2rem 0;border-top:1px solid rgba(20,33,61,.15)}
.termin:last-of-type{border-bottom:1px solid rgba(20,33,61,.15)}
.termin .datum{font-family:var(--serif);font-size:1.25rem;color:var(--navy2)}
.termin h3{font-family:var(--script);font-size:2.8rem;font-weight:400;margin:.3rem 0 .6rem}
.termin p{max-width:62ch}
.marke{display:inline-block;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;padding:.28rem .75rem;border-radius:2rem}
.marke.offen{background:var(--navy);color:var(--gold2)}
.marke.bald{background:transparent;border:1px solid var(--stone);color:var(--stone)}
@media(max-width:767px){.termin{grid-template-columns:1fr;gap:.8rem}}

/* Karussell */
#fotos img{width:100%;aspect-ratio:16/10;object-fit:cover}
@media(min-width:992px){#fotos{border-radius:4px;overflow:hidden}}

/* Über mich */
.collage img{width:100%;object-fit:cover;border-radius:4px}
.collage .gross{aspect-ratio:4/5}
.collage .klein{aspect-ratio:1/1}

/* Stimmen */
.stimme{border-left:2px solid var(--gold);padding-left:1.4rem;margin:0}
.stimme p{font-family:var(--serif);font-style:italic;font-size:1.3rem}
.stimme cite{font-style:normal;font-size:.85rem;color:var(--gold2)}

/* FAQ */
.accordion{--bs-accordion-bg:transparent;--bs-accordion-border-color:rgba(20,33,61,.15);--bs-accordion-active-bg:transparent;--bs-accordion-active-color:var(--navy);--bs-accordion-btn-focus-box-shadow:none}
.accordion-item{border-left:0;border-right:0;border-radius:0!important}
.accordion-button{font-family:var(--serif);font-size:1.3rem;font-weight:500;padding:1.3rem 0;background:transparent;color:var(--ink)}
.accordion-body{padding:0 0 1.4rem;color:#3b4150;max-width:70ch}

/* Kontakt */
.kontaktzeile{display:flex;gap:.9rem;align-items:flex-start;margin-bottom:.9rem}
.kontaktzeile i{color:var(--gold);font-size:1.15rem;margin-top:.1rem}
.social{display:flex;gap:.7rem}
.social a{width:40px;height:40px;border:1px solid rgba(198,161,91,.5);border-radius:50%;display:grid;place-items:center;color:var(--gold2);text-decoration:none}
.social a:hover{background:var(--gold);color:var(--navy)}
#anfrage .form-label{font-size:.85rem;letter-spacing:.06em;color:rgba(247,242,234,.75)}
#anfrage .form-control,#anfrage .form-select{background-color:rgba(255,255,255,.06);border:1px solid rgba(247,242,234,.22);color:var(--cream);border-radius:4px;padding:.75rem .9rem}
#anfrage .form-control::placeholder{color:rgba(247,242,234,.4)}
#anfrage .form-control:focus,#anfrage .form-select:focus{border-color:var(--gold);box-shadow:none;background-color:rgba(255,255,255,.1)}
#anfrage .form-select option{color:var(--ink)}
#anfrage .form-check-input:checked{background-color:var(--gold);border-color:var(--gold)}

/* Unterseiten */
.page-head{background:var(--navy);color:var(--cream);padding:6rem 0 3.5rem}
.page-head h1{font-family:var(--script);font-size:clamp(3.5rem,8vw,5.5rem);font-weight:400}
.legal h4{font-size:1.05rem;margin-top:1.6rem}
.legal p{color:#3b4150}

/* Footer */
footer{background:#0f1830;color:var(--cream);padding:4rem 0 2rem;font-size:.95rem}
footer h5{font-family:var(--sans);font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem}
footer ul{list-style:none;padding:0;margin:0}
footer li{margin-bottom:.45rem}
footer a{color:rgba(247,242,234,.75);text-decoration:none}
footer a:hover{color:var(--gold)}
.footer-bottom{margin-top:3rem;padding-top:1.4rem;border-top:1px solid rgba(198,161,91,.2);font-size:.82rem;color:rgba(247,242,234,.5)}
@media(max-width:575px){.g-5,.gx-5{--bs-gutter-x:1.5rem}}
body{overflow-x:clip}

/* Navigation aktiv */
.navbar .nav-link.aktiv{color:var(--gold)}
@media(max-width:1199px){.navbar .navbar-nav{padding:1rem 0}}
.hero .sub{font-family:var(--serif);font-style:italic;font-size:clamp(1.5rem,2.8vw,2.2rem);color:var(--gold2);margin-bottom:1.4rem}

/* Unterseiten Hero mit Bild */
.seite-hero{position:relative;min-height:62vh;display:flex;align-items:flex-end;padding:7rem 0 4rem;color:var(--cream);background:var(--navy) center/cover no-repeat;overflow:hidden}
.seite-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,33,61,.2) 0%,rgba(20,33,61,.55) 50%,rgba(20,33,61,.93) 100%)}
.seite-hero .container{position:relative;z-index:1}
.seite-hero h1{font-family:"Cinzel Decorative",var(--serif);font-weight:400;font-size:clamp(2rem,4.8vw,3.9rem);line-height:1.12;letter-spacing:.01em;text-transform:uppercase;margin-bottom:.8rem}
.seite-hero .sub{font-family:var(--serif);font-style:italic;font-size:clamp(1.4rem,2.6vw,2rem);color:var(--gold2);margin-bottom:1rem}
.seite-hero .lede{max-width:44ch;color:rgba(247,242,234,.92)}
.seite-hero .kicker{color:var(--gold2)}

/* Drei Wege */
.weg{height:100%;padding:2.2rem 2rem;background:#fff;border-top:2px solid var(--gold);display:flex;flex-direction:column}
.weg h3{font-size:1.7rem;margin-bottom:.8rem}
.weg p{color:#3b4150;flex-grow:1}
.weg .mehr{display:block;font-weight:500;text-decoration:none;color:var(--navy)}
.weg .mehr:hover,a.weg:hover .mehr{color:var(--gold)}
.weg .mehr i{color:var(--gold);margin-left:.3rem}
a.weg{color:var(--ink);transition:transform .2s}
a.weg:hover{transform:translateY(-3px)}

/* Phasen */
.phase{padding-top:1.4rem;border-top:1px solid rgba(198,161,91,.45);height:100%}
.phase .nr{font-family:var(--serif);font-size:2.2rem;color:var(--gold);line-height:1}
.phase h3{font-size:1.5rem;margin:.6rem 0 .5rem}
.sec-dark .phase p{color:rgba(247,242,234,.75)}
.phase p{font-size:.98rem;color:#3b4150;margin:0}

/* Referenzen */
.referenzen{display:flex;flex-wrap:wrap;justify-content:center;gap:.7rem 1rem;max-width:900px;margin:0 auto}
.referenzen span{font-family:var(--serif);font-size:1.25rem;padding:.35rem 1.1rem;border:1px solid rgba(20,33,61,.18);border-radius:2rem;background:#fff}

/* Was gerade wächst */
.wachsen{padding:1.8rem 0;border-top:1px solid rgba(247,242,234,.18);height:100%}
.wachsen h3{font-size:1.5rem;color:var(--gold2)}
.wachsen p{color:rgba(247,242,234,.78);margin:0}
.info-form .form-control{background:rgba(255,255,255,.06);border:1px solid rgba(247,242,234,.3);color:var(--cream);border-radius:2rem;padding:.75rem 1.2rem}
.info-form .form-control::placeholder{color:rgba(247,242,234,.45)}
.info-form .form-control:focus{border-color:var(--gold);box-shadow:none;background:rgba(255,255,255,.1);color:var(--cream)}
.info-form .form-check-label{font-size:.9rem;color:rgba(247,242,234,.75)}
.info-form .form-check-input:checked{background-color:var(--gold);border-color:var(--gold)}

/* Bild und Text */
.bild img{width:100%;object-fit:cover;border-radius:4px}
.bild-45 img{aspect-ratio:4/5}
.bild-43 img{aspect-ratio:4/3}
.text-lang p{max-width:62ch}
.text-lang p+p{margin-top:1.1rem}
.zitat-schluss{font-family:var(--serif);font-size:clamp(1.4rem,2.4vw,1.9rem);font-style:italic;color:var(--navy2);border-left:2px solid var(--gold);padding-left:1.4rem;margin-top:2rem}

/* Preise */
.preis{background:#fff;padding:2rem;border-top:2px solid var(--gold);height:100%}
.preis .betrag{font-family:var(--serif);font-size:2.6rem;font-weight:500;color:var(--navy);line-height:1}
.preis .was{font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;color:var(--stone);margin-bottom:.6rem}
.preis p{margin:.6rem 0 0;color:#3b4150;font-size:.97rem}

/* Listen */
.liste-gold{list-style:none;padding:0;margin:0}
.liste-gold li{padding:.7rem 0 .7rem 1.6rem;border-bottom:1px solid rgba(20,33,61,.12);position:relative}
.liste-gold li::before{content:"";position:absolute;left:0;top:1.35rem;width:.6rem;height:1px;background:var(--gold)}

/* Abschluss CTA */
.cta-band{text-align:center}
.cta-band h2{margin-bottom:1rem}
.cta-band p{max-width:52ch;margin:0 auto 1.8rem}
.signatur{font-family:var(--script);font-size:2.6rem;color:var(--gold);line-height:1}

/* Flyer Stil: dünne Goldlinie, Mehr erfahren Knopf */
.btn-mehr{background:none;border:0;padding:0;margin-top:auto;text-align:left;cursor:pointer}
.btn-mehr .auf{display:none}
.btn-mehr:not(.collapsed) .auf{display:inline}
.btn-mehr:not(.collapsed) .zu{display:none}
.btn-mehr i{transition:transform .2s}
.btn-mehr:not(.collapsed) i{transform:rotate(180deg)}
.weg .collapse p,.weg .collapsing p{font-size:.97rem}
.info-form .form-control{border-radius:0}
.referenzen span{border-radius:0}

/* Auswahl E Mail Programm */
.mail-wahl{border-radius:0;border:0;border-top:2px solid var(--gold);background:var(--cream)}
.mail-wahl .modal-header{border-bottom:1px solid rgba(20,33,61,.12)}
.mail-wahl .modal-title{font-size:1.6rem}
.mail-wahl .wahl{display:flex;align-items:center;gap:1rem;width:100%;text-align:left;background:#fff;border:1px solid rgba(20,33,61,.15);padding:1rem 1.2rem;margin-top:.7rem;color:var(--ink);transition:border-color .2s}
.mail-wahl .wahl:hover,.mail-wahl .wahl:focus{border-color:var(--gold)}
.mail-wahl .wahl i{font-size:1.3rem;color:var(--gold)}
.mail-wahl .wahl small{display:inline-block;margin-left:.5rem;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.mail-wahl .klein{font-size:.88rem;color:var(--stone)}

/* Vorteile in den Angebotskarten */
.liste-benefit{list-style:none;padding:0;margin:0 0 1rem}
.liste-benefit li{position:relative;padding:.28rem 0 .28rem 1.3rem;font-size:.95rem;color:#3b4150}
.liste-benefit li::before{content:"";position:absolute;left:0;top:.85rem;width:.55rem;height:1px;background:var(--gold)}

/* Flyerschrift auch auf den übrigen Seitenköpfen */
.page-head h1,#inhalt.sec-dark h1{font-family:"Cinzel Decorative",var(--serif)!important;font-weight:400;text-transform:uppercase;font-size:clamp(2rem,4.8vw,3.6rem)!important;line-height:1.12;letter-spacing:.01em}

/* Startseite: Ausschnitt mit weniger Himmel und mehr Menschen */
.hero .hero-photo{background-image:url("../img/tai-chi-gruppe-am-meer-madeira.webp");background-position:center 55%}
