/* ==========================
   RESET
========================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

/* ==========================
   FARBEN
========================== */

:root{

    --blue:#1F3F63;
    --gold:#D89A2B;
    --background:#F8F6F0;
    --text:#3B4652;
    --light:#D7E3EF;
    --space-xs:10px;
    --space-s:20px;
    --space-m:40px;
    --space-l:80px;
    --space-xl:140px;

/* ==========================
    TYPOGRAFIE
========================== */

    --fs-1: clamp(3rem, 7vw, 5rem);
    --fs-2: clamp(2rem, 4vw, 3rem);
    --fs-3: clamp(1.5rem, 3vw, 2rem);
    --fs-4: clamp(1.2rem, 2vw, 1.5rem);

    --text: clamp(1rem, 1vw, 1.15rem);
    --small:0.9rem;

}

/* ==========================
   Farbenklassen
========================== */

.gold{
    color:#D4A63A;
    letter-spacing:.08em;
}

.blue{
    color:#1F3F63;
    letter-spacing:.08em;

}

/* ==========================
   BASIS
========================== */

body{

    background:var(--background);

    color:var(--text);

    font-family: "Inter", sans-serif;

}

html{

}

.text-link{
    color:#1F3F63;
    text-decoration:none;
}

.text-link:hover{
    font-weight:700;
}

.text-link:visited{
    color:#1F3F63;
    text-decoration:none;
}

.rechts{

    text-align:right;

}

/* ==========================
   Hintergrund
========================== */

#background-layer{

    position:fixed;

    inset:0;

    z-index:-10;

    overflow:hidden;

}

.bg-image{

    position:absolute;

    inset:0;

    background-size:cover;

    background-position:center;

    filter:brightness(.72);

    opacity:0;

    transition:opacity 2s ease-in-out;

}

.bg-image.active{

    opacity:1;

}

.bg-hero{
    
    background-image:url("images/hero_business.jpg");
    
}

.bg-leistungen{
    
    background-image:url("images/ansatz.jpg");
    
}

.bg-about{
    
    background-image:url("images/hero_businessII.jpg");
    
}

.bg-contact {
    
    background-image: url("images/kontakt.jpg");
    
}

.bg-coaching {
    
    background-image: url("images/ueber-mich.jpg");
    
    background-position:left center;
    
}

.bg-martemeo {
    
    background-image: url("images/hero_pädagogik.jpg");

    background-position:right bottom;
    
}

.bg-videoleader {
    
    background-image: url("images/videoleader.jpg");
        
}

.bg-videoleaderII {
    
    background-image: url("images/videoleader.jpg");
        
}

.bg-seminare {
    
    background-image: url("images/seminare.jpg");
    
}

.bg-vita {
    
    background-image: url("images/ueber-mich.jpg");
    
}

.bg-impressum{
    
    background-image:url("images/impressum.jpg");

    background-position:left top;
    
}

/* ==========================
   LAYOUT
========================== */

.container{

    width:min(1100px, calc(100% - 4rem));

    margin:0 auto;
    
    scroll-margin-top: 90px;

}

.content{

    margin:120px auto 80px;

    padding:clamp(2rem, 5vw, 5rem);

    background:rgba(255,255,255,.60);

    border-radius:12px;

}

/* ========================================
   HERO
======================================== */

#hero{

    position:relative;

    top:0;

    height:100vh;

    overflow:hidden;

}

.hero-content{

    position:relative;

    z-index:2;

    height:100%;

    display:flex;

    flex-direction:column;

    justify-content:center;

    padding-bottom:14vh;

    padding-left:40px;

}

.hero-content h1{

    color:rgba(255,255,255,.97);

    font-size:var(--fs-2);

    font-weight:300;

    line-height:.98;

    letter-spacing:-.03em;

    max-width:9ch;

    margin-bottom:60px;

}

.hero-content p{

    color:rgba(255,255,255,.92);

    font-size:1.15rem;

    line-height:1.75;

    max-width:470px;

    font-weight:300;

    margin-top:-45px;

}

/* ========================================
   HEADER
======================================== */

header{

    position:fixed;

    top:0;

    left:0;

    width:100%;

    z-index:100;

    padding:32px 0;
    
    transition: background-color 0.4s ease, backdrop-filter 0.4s ease;
    
    border-bottom: 1px solid rgba(255,255,255,0.08);

}

.header-container{

    display:flex;

    justify-content:space-between;

    align-items:flex-start;

}

header.scrolled {
    
    background: rgba(20, 30, 45, 0.75);
    
    backdrop-filter: blur(10px);
}

.brand{

    display:flex;

    flex-direction:column;

    color:white;

    line-height:1;

}

.brand-small{

    font-size:.9rem;

    font-weight:400;

    color:#D4A63A;

    letter-spacing:.08em;

    margin-bottom:6px;

}

.brand-main{

    font-size:1.65rem;

    font-weight:300;

    letter-spacing:.08em;

    line-height:1.02;

}

.brand-main:first-of-type{

    font-weight:500;

}

.brand-main:last-of-type{

    font-weight:250;

    opacity:.92;

}

nav{

    display:flex;

    gap:56px;

}

nav a{

    color:rgba(255,255,255,.82);

    text-decoration:none;

    font-size:1rem;

    font-weight:400;

    transition:opacity .3s;

}

nav a:hover{

    color:white;

    opacity:1;

}


#ansatz{

    position:relative;

}

section{

    scroll-margin-top: 120px;

}

.scene-header{

    margin-bottom:2rem;

}

.scene-header h2{

    margin-bottom:1.5rem;

}

.scene-header p{

    line-height:1.6;

}

.gold-line {
    
    width: 70px;
    
    height: 3px;
    
    background: var(--gold);
    
    margin-bottom: 2.5rem;
}

.lead {
    
    font-size: clamp(1.35rem,4vw,2rem);
    
    line-height: 1.35;
    
    font-weight: 300;
    
    max-width: 31ch;
    
    margin-bottom: 2.5rem;
    
    text-align: left;
    
}

.essay{
    
    max-width: 900px;
    
    margin: 0 auto;
    
    font-size: 1.15rem;
    
    line-height: 1.8;
    
    text-align: justify;
    
    text-wrap: pretty;
    
    hyphens: auto;
    
}

.essay p+p{
    
    margin-bottom: 2rem;
    
}


/* ===========================
    Über-Mich
==============================*/

#about .content-card{

    margin-left: 0;

    width:min(600px,55%);
    
    background:rgba(255,255,255,.45);
    
    backdrop-filter:blur(10px);
    
    border-radius:12px;
    
    padding:60px;
    
    text-align: justify;
    
    text-wrap: pretty;
    
    hyphens: auto;
    
    line-height: 1.2;
    
    box-shadow:0 20px 50px rgba(0,0,0,.18);


}

#about h2{

    margin-bottom:35px;

}

/* ===========================
    Kontakt
==============================*/

#kontakt .content-card{

    width:min(600px,55%);

    background:rgba(255,255,255,.45);

    backdrop-filter:blur(10px);

    border-radius:12px;

    padding:60px;

    box-shadow:0 20px 50px rgba(0,0,0,.18);

}

/* ===========================
    Ansatz
==============================*/

#ansatz {
    opacity: 1;
    
    transform: translateY(0);
    
    transition: opacity 0.6s ease, transform 0.6s ease;
    
}

#ansatz.fade-out {
    
    opacity: 0;
    
    transform: translateY(-40px);
    
}

/* ==========================
   HAMBURGER
========================== */

.menu-toggle{
    
    display:none;
    
    width:42px;
    
    height:42px;
    
    border:none;
    
    background:none;
    
    cursor:pointer;

    flex-direction:column;
    
    justify-content:center;
    
    gap:6px;
    
}

.menu-toggle span{
    
    display:block;
    
    height:2px;
    
    width:28px;
    
    margin:0 auto;

    background:rgba(255,255,255,.9);

    border-radius:2px;

    transition:.35s ease;
}

/* ==========================
   LEISTUNGEN
========================== */
.cards{
    
    display:grid;

    grid-template-columns:repeat(2, 1fr);

    gap:32px;

    margin-top:40px;
}

/* ==========================
   LEISTUNGSKARTEN
========================== */

.service-card{

    background: rgba(255, 255, 255, .60);
    
    backdrop-filter: blur(10px);

    border-radius:16px;

    padding:32px;

    transition:.3s ease;

    color:inherit;

    text-decoration:none;

}

/* ==========================
   kontakt- KARTEN
========================== */

.info-grid {
    
    width: min(1200px, 90%);
    
    margin: 60px auto 0;
    
    display: grid;
    
    grid-template-columns: repeat(2, 1fr);
    
    gap: 40px;
}

.info-card {
    
    background: rgba(255, 255, 255, .82);
    
    backdrop-filter: blur(10px);
    
    border-radius: 18px;
    
    padding: 45px;
    
    box-shadow: 0 10px 30px rgba(0, 0, 0, .08);
    
    position: relative;
    
}

.info-card::before {
    
    content: "";
    
    position: absolute;
    
    top: 0;
    
    left: 20px;
    
    right: 20px;
    
    height: 4px;
    
    background: #b08b47;
    
    border-radius: 0 0 4px 4px;
}

.info-card h2 {
    
    margin-bottom: 30px;
    
}

.portrait-placeholder {
    
    width: 180px;
    
    height: 180px;
    
    margin: 0 auto 30px;
    
    border-radius: 50%;
    
    border: 2px dashed rgba(0, 0, 0, .15);
    
    display: flex;
    
    justify-content: center;
    
    align-items: center;
    
    color: #999;
    
}

.kontaktliste {
    
    margin: 35px 0;
    
}

.kontaktliste p {
    
    margin-bottom: 18px;
    
}

.email-address{
    font-size:clamp(.75rem, 3.5vw, 1rem);
    white-space:nowrap;
}

.kontakt-button{

    width:100%;

    padding:16px;

    border:none;

    border-radius:10px;

    background:#b08b47;

    color:white;

    font-size:1rem;

    cursor:not-allowed;

    opacity:.55;

    margin-top:20px;

}

.coming-soon{

    margin-top:18px;

    font-size:.9rem;

    opacity:.7;

    text-align:center;

}

.service-card:hover{

    transform:translateY(-6px);

    background:rgba(232,203,130,.75);

}


.service-card::before{

    content:"";

    display:block;

    width:80px;

    height:3px;

    background:var(--gold);

    margin-bottom:24px;

}

/*============================
    Zurück-Button
=============================*/

.back-card{

    display:inline-flex;

    flex-direction:column;

    background: rgba(255, 255, 255, .60);

    gap:2px;

    margin-top:40px;

    color:var(--gold);

    text-decoration:none;

    cursor:pointer;

    line-height:1.5;

    padding:5px;

    border-radius:4px;

    align-items:left;

}

.back-card .gold-line{

    width:40%;

    height:2px;

    margin:0;

    padding:0;

    background:var(--gold);

    transition:width .3s ease;

    font-weight:1200;

}

.back-card:hover {

    background:rgba(232,203,130,.75);

}

.back-card:hover .gold-line{

    width:100%;

}

/*============================
    Vor-Button
=============================*/

.forward-card{

    display:inline-flex;

    flex-direction:column;

    width:max-content;

    margin:40px 0 0 auto;

    background: rgba(255, 255, 255, .60);

    gap:2px;

    margin-top:40px;

    color:var(--gold);

    text-decoration:none;

    cursor:pointer;

    line-height:1.5;

    padding:5px;

    border-radius:4px;

    align-items:right;

}

.forward-card .gold-line{

    width:40%;

    height:2px;

    margin:0;

    padding:0;

    background:var(--gold);

    transition:width .3s ease;

    font-weight:1200;

    align-self:flex-end;

}

.forward-card:hover {

    background:rgba(232,203,130,.75);

}

.forward-card:hover .gold-line{

    width:100%;

}

/*=========================
    VITA-Button
==========================*/

.vita-card{
    display:inline-flex;
    flex-direction:column;

    width:max-content;
    gap:2px;

    margin-top:20px;
    margin-left:auto;

    color:var(--text);
    text-decoration:none;
    cursor:pointer;

    line-height:1.5;
    padding:5px;
    border-radius:4px;

}    

.vita-card .gold-line{

    width:40%;

    height:2px;

    margin:0;

    padding:0;

    background:var(--gold);

    transition:width .3s ease;

    font-weight:1200;

}

.vita-card:hover {

    background:rgba(232,203,130,.75);

}

.vita-card:hover .gold-line{

    width:100%;

}

.vita-card:visited{

     text-decoration:none;

}

/* Liste im Datenschutzbereich */
#impressum ul {
    list-style: none;
    padding-left: 25px;
    margin: 15px 0;
}

#impressum li {
    position: relative;
    margin-bottom: 4px;
    line-height: 1.4;
    padding-left: 18px;
}

#impressum li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.7em;
    width: 10px;
    height: 2px;
    background: var(--gold);
}

/*=========================
    Responsive
==========================*/

@media (max-width:900px) {
    
    /* ------------------------
    Responsive Info
    --------------------------*/

    .info-grid {
        
        grid-template-columns: 1fr;
        
    }
    
    .cards{

        grid-template-columns:1fr;

    }

    /*---------------------------
    Responsive „leistungen"
    -----------------------------*/
    
    .container {
        width: 88%;
        padding: 2rem;
    }
    
    .lead {
        font-size: 1.55rem;
        line-height: 1.4;
        max-width: none;
        margin-bottom: 2rem;
    }
    
    .essay {
        font-size: 1rem;
        line-height: 1.7;
        text-align: justify;
        hyphens: auto;
    }
    
    /*-----------------------------
    Responsive- Navigation
    -------------------------------*/

    nav{
        position:fixed;
        top:0;
        right:-100%;
        width:min(380px, 80vw);
        height:100vh;

        display:flex;
        flex-direction:column;
        justify-content:center;
        align-items:center;
        gap:40px;

        background:rgba(20,30,45,.45);
        backdrop-filter:blur(12px);

        transition:right .35s ease;
    }

    nav.open{
        right:0;
    }

    .menu-toggle{
        display:flex;
        position:relative;
        z-index:200;
        
    }
    
    .menu-toggle.open span:nth-child(1){
        transform:translateY(8px) rotate(45deg);
    }

    .menu-toggle.open span:nth-child(2){
        opacity:0;
    }

    .menu-toggle.open span:nth-child(3){
        transform:translateY(-8px) rotate(-45deg);
    }

    body.menu-open{
        overflow: hidden;
    }

    /*-----------------------------
    Response- „section"
    -----------------------------*/
    
    .about-section {
        
        justify-content: center;
        
        padding: 90px 20px;
        
    }
    
    .about-section .content-card {
        
        width: 100%;
        padding: 40px 30px;
        
    }
    
}

.clean-table{

    width:100%;

    border-collapse:collapse;

}

.clean-table td:first-child{

    width:30%;

    text-align:right;

}

.clean-table td{

    border:none;

    padding:12px 20px;

    vertical-align:top;

}

.clean-table td + td{

    border-left:2px solid var(--gold);

}

/*

@media screen and (max-width: 900px) and (orientation: landscape) {
    .hero h1 {
        font-size: clamp(2rem, 5vw, 3rem);
        line-height: 1.05;
    }

    .hero-content {
        padding-top: 20px;
    }
}*/

/* Smartphone im Querformat */
@media screen and (max-width: 900px) and (orientation: landscape) {

    header {
        padding: 0;
    }

    .brand-small {
        font-size: .7rem;
        margin-bottom: 2px;
    }

    .brand-main {
        font-size: 1.15rem;
        line-height: 1;
    }

    .menu-toggle {
        width: 36px;
        height: 36px;
    }
   
    .hero-content {
        justify-content: flex-start;
        padding-top: 150px;
        padding-bottom: 20px;
    }

    .hero-content h1 {
        margin-bottom: 35px;
    }

    .header-container {
        align-items: center;
        min-height: 85px;

    }