/* =========================================================
   Silke Spies – bereinigte style.css
   Farbkonzept: Weiß · Salbei · Blaugrau · Olivgrau
   ========================================================= */

:root{
    --white:#ffffff;
    --mint:#D3DBD5;
    --sage:#AEBDB8;
    --sage-light:#B8C1B3;
    --sage-mid:#A4B0AB;
    --olive:#666860;
    --steel:#6E8492;
    --blue:#718896;

    --text:#666860;
    --text-soft:#7a7d74;
    --border:rgba(102,104,96,.16);
    --shadow:0 18px 45px rgba(102,104,96,.10);
    --shadow-soft:0 12px 30px rgba(102,104,96,.08);
}

/* ===== Basis ===== */

*{box-sizing:border-box}

html{scroll-behavior:smooth}

body{
    margin:0;
    font-family:'Montserrat',Arial,sans-serif;
    color:var(--text);
    background:var(--white);
    line-height:1.75;
}

a{
    color:var(--steel);
    text-decoration:none;
}

a:hover,
a:focus{
    color:var(--blue);
    text-decoration:none;
}

img{
    max-width:100%;
    height:auto;
}

h1,h2,h3{
    font-family:'Cormorant Garamond',Georgia,serif;
    color:var(--olive);
    line-height:1.08;
}

h1{
    font-size: 40px !important;
    font-weight:700;
    margin-bottom:32px;
}

h2{
    font-size: 35px !important;
    font-weight:600;
}

h3{
    font-size:1.65rem;
}

.lead{
    font-size:1.12rem;
    color:var(--text);
    max-width:560px;
}

.section-kicker{
    font-size:.78rem;
    text-transform:uppercase;
    letter-spacing:.2em;
    color:var(--steel);
    font-weight:600;
    margin-bottom:16px;
}

.text-block{
    font-size:1.02rem;
    color:var(--text);
}

.abschluss{
    font-family:'Cormorant Garamond',Georgia,serif;
    font-size:1.55rem;
    color:var(--steel);
    margin-top:22px;
}

/* ===== Navigation ===== */

.main-nav{
    position:fixed;
    top:18px;
    left:50%;
    transform:translateX(-50%);
    z-index:1000;
    width:min(1180px,calc(100% - 32px));
    border-radius:999px;
    background:rgba(211,219,213,.96) !important;
    border:1px solid var(--border);
    box-shadow:0 18px 50px rgba(102,104,96,.13);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
}

.main-nav .container{
    max-width:1120px;
}

.navbar-brand{
    position:relative;
    display:inline-flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    padding-top:10px !important;
    padding-bottom:10px !important;
}

.brand-tagline{
    position:absolute;
    left:50%;
    bottom:6px;
    transform:translateX(-50%);
    min-width:150px;
    padding:1px 5px;
    background:rgba(250,249,246,.96);
    color:#496460;
    font-size:.48rem;
    font-weight:600;
    line-height:1.1;
    letter-spacing:.15em;
    text-align:center;
    text-transform:uppercase;
    white-space:nowrap;
}

.navbar-brand img,
.logo img{
    height:70px !important;
    max-height:70px !important;
    width:auto !important;
}

.navbar-light .navbar-nav .nav-link{
    border-radius:999px;
    padding:.55rem .85rem;
    margin-left:14px;
    font-size:.82rem;
    letter-spacing:.04em;
    text-transform:uppercase;
    color:var(--olive);
}

.navbar-light .navbar-nav .active>.nav-link,
.navbar-light .navbar-nav .nav-link:hover,
.navbar-light .navbar-nav .nav-link:focus{
    background:var(--sage);
    color:var(--olive);
}

/* ===== Buttons ===== */

.btn{
    border-radius:50px;
    padding:12px 24px;
    text-transform:uppercase;
    letter-spacing:.08em;
    font-size:.72rem;
    font-weight:700;
}

.btn-primary{
    background:var(--steel) !important;
    border-color:var(--steel) !important;
    color:var(--white) !important;
    box-shadow:0 12px 24px rgba(110,132,146,.24);
}

.btn-primary:hover,
.btn-primary:focus{
    background:var(--blue) !important;
    border-color:var(--blue) !important;
    color:var(--white) !important;
}

.btn-outline{
    border:1px solid var(--sage-mid) !important;
    color:var(--olive) !important;
    background:var(--white) !important;
    margin-left:10px;
}

.btn-outline:hover,
.btn-outline:focus{
    background:var(--sage-mid) !important;
    border-color:var(--sage-mid) !important;
    color:var(--white) !important;
}

/* ===== Hero ===== */

.hero{
    position:relative;
    min-height:560px;
    display:flex;
    align-items:center;
    padding:180px 0 135px;
    overflow:hidden;
    isolation:isolate;
    background-size:cover !important;
    background-position:center center !important;
    background-repeat:no-repeat !important;
    clip-path:polygon(0 0,100% 0,100% 88%,76% 94%,48% 89%,20% 97%,0 91%);
}

.hero::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:0;
    background:
        linear-gradient(
            90deg,
            rgba(255,255,255,.96) 0%,
            rgba(255,255,255,.84) 40%,
            rgba(211,219,213,.42) 72%,
            rgba(110,132,146,.18) 100%
        );
}

.hero::after{
    content:"";
    position:absolute;
    right:-80px;
    bottom:22px;
    width:520px;
    height:170px;
    z-index:0;
    pointer-events:none;
    background:rgba(211,219,213,.55);
    border-radius:60% 40% 48% 52% / 58% 62% 38% 42%;
    transform:rotate(-4deg);
}

.hero .container{
    position:relative;
    z-index:2;
}

.hero-copy{
    max-width:620px;
    flex:0 0 54%;
    background:var(--white);
    border:1px solid rgba(211,219,213,.65);
    border-radius:46px 46px 18px 46px;
    padding:38px 34px;
    box-shadow:0 22px 70px rgba(102,104,96,.10);
}

.hero-image-wrap{
    display:none !important;
}

.hero-home{background-image:url('../img/new-lake.jpg') !important;background-position:center center !important;}
.hero-about{background-image:url('../img/shutterstock1.jpg') !important;background-position:center right !important;}
.hero-services{background-image:url('../img/shutterstock2.jpg') !important;background-position:center center !important;}
.hero-walk{background-image:url('../img/individuelle-begleitung.png') !important;background-position:center 58% !important;}
.hero-bio{background-image:url('../img/baum.jpeg') !important;background-position:center center !important;}
.hero-contact{background-image:url('../img/aussicht.png') !important;background-position:center center !important;}

.note-card{
    background:var(--white);
    color:var(--steel);
    border:1px solid rgba(174,189,184,.35);
    padding:20px 24px;
    border-radius:28px 28px 8px 28px;
    box-shadow:var(--shadow-soft);
    font-family:'Cormorant Garamond',serif;
    font-size:1.5rem;
}

/* ===== Sektionen ===== */

.content-section{
    position:relative;
    padding:95px 0 120px;
    background:var(--white) !important;
    overflow:hidden;
}

.content-section::before{
    content:"";
    position:absolute;
    top:-56px;
    left:-5%;
    width:110%;
    height:120px;
    background:var(--white);
    border-radius:0 0 50% 50% / 0 0 100% 100%;
}

.content-section::after{
    content:"";
    position:absolute;
    right:-120px;
    bottom:-90px;
    width:360px;
    height:360px;
    background:rgba(174,189,184,.20);
    border-radius:52% 48% 62% 38%;
}

.content-section .container{
    position:relative;
    z-index:2;
}

.text-block{
    background:var(--white);
    padding:38px;
    border-radius:38px 12px 38px 38px;
    box-shadow:var(--shadow-soft);
}

.container.py-5,
.container.py-6,
.container.py-7{
    position:relative;
    padding-top:105px !important;
    padding-bottom:95px !important;
}

.container.py-5::before,
.container.py-6::before,
.container.py-7::before{
    position:absolute;
    top:30px;
    left:15px;
    font-family:'Cormorant Garamond',Georgia,serif;
    font-size:clamp(2.1rem,4vw,3.4rem);
    color:var(--olive);
}

.container.py-6::before{content:"So einfach kann Beratung sein";}
.container.py-7::before{content:"Formen der Biografiearbeit";}

/* ===== Lebenssäulen ===== */

.pillars-section{
    position:relative;
    margin-top:-38px;
    padding:120px 0 115px;
    background:linear-gradient(165deg,var(--white) 0%,var(--white) 58%,var(--mint) 100%) !important;
    clip-path:polygon(0 7%,100% 0,100% 92%,72% 100%,39% 93%,0 100%);
    overflow:hidden;
    text-align:center;
}

.pillars-section::before{
    content:"";
    position:absolute;
    inset:28px auto auto -90px;
    width:310px;
    height:150px;
    background:rgba(110,132,146,.14);
    border-radius:55% 45% 58% 42%;
    transform:rotate(-10deg);
}

.pillars-section .container{
    position:relative;
    z-index:2;
}

.pillars-grid{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:22px;
    margin-top:36px;
    align-items:stretch;
}

.pillar-card{
    height:100%;
    min-height:220px;
    padding:30px 22px;
    background:var(--white);
    border:1px solid var(--border);
    border-radius:34px 10px 34px 34px;
    box-shadow:var(--shadow-soft);
    text-align:center;
    transition:transform .25s ease,box-shadow .25s ease;
}

.pillar-card:nth-child(even){
    border-radius:10px 34px 34px 34px;
    margin-top:24px;
}

.pillar-card:hover{
    transform:translateY(-6px) !important;
    box-shadow:0 22px 45px rgba(102,104,96,.14);
}

.pillar-icon{
    display:block;
    font-size:2.35rem;
    color:var(--steel);
    margin:0 auto 18px;
    line-height:1;
    transition:transform .25s ease;
}

.pillar-card:hover .pillar-icon{
    transform:scale(1.08);
    color:var(--blue);
}

.pillar-card h3{
    font-size:1.35rem;
    margin:0 0 10px;
    color:var(--olive);
}

.pillar-card p{
    font-size:.88rem;
    line-height:1.6;
    margin:0;
    color:var(--text);
}

/* ===== Karten ===== */

.cards-row{
    margin-top:20px;
}

.service-card,
.info-card{
    display:block;
    position:relative;
    height:100%;
    overflow:hidden;
    color:var(--text);
    background:var(--white);
    border:1px solid var(--border);
    border-radius:34px 34px 12px 34px;
    box-shadow:var(--shadow-soft);
    transition:none !important;
    transform:none !important;
}

.service-card:hover,
.info-card:hover,
.service-card:focus,
.info-card:focus{
    transform:none !important;
    box-shadow:var(--shadow-soft) !important;
    color:var(--text);
}

.service-card::before,
.info-card::before{
    content:"";
    position:absolute;
    top:188px;
    left:-10%;
    width:120%;
    height:60px;
    background:var(--white);
    border-radius:50% 50% 0 0 / 100% 100% 0 0;
    z-index:1;
}

.service-card img,
.info-card img{
    width:100%;
    height:245px;
    object-fit:cover;
}

.service-card h3,
.info-card h3{
    position:relative;
    z-index:2;
    padding:22px 24px 0;
    color:var(--olive);
    background:var(--white);
}

.service-card p,
.info-card p{
    position:relative;
    z-index:2;
    padding:0 24px 28px;
    color:var(--text);
    background:var(--white);
}

.lift{
    transform:none !important;
}

/* ===== Angebote ===== */

.offers-overview-section{
    position:relative;
    padding:95px 0 75px;
    background:var(--white) !important;
    overflow:hidden;
}

.offers-overview-section::before{
    content:"";
    position:absolute;
    left:-90px;
    top:55px;
    width:260px;
    height:170px;
    background:rgba(174,189,184,.20);
    border-radius:55% 45% 62% 38%;
    transform:rotate(-10deg);
}

.offers-overview-section::after{
    content:"";
    position:absolute;
    right:-120px;
    bottom:30px;
    width:320px;
    height:220px;
    background:rgba(110,132,146,.12);
    border-radius:48% 52% 42% 58%;
    transform:rotate(8deg);
}

.offers-overview-section .container{
    position:relative;
    z-index:2;
}

.offers-intro{
    max-width:760px;
    margin:0 auto 42px;
}

.offers-intro h2{
    margin-bottom:14px;
}

.offers-intro p{
    margin:0 auto;
    max-width:680px;
    color:var(--text);
}

.offer-grid,
.offer-card-grid{
    margin-top:0;
    padding-top:0;
    padding-bottom:0;
}

.offer-box,
.offer-card{
    height:100%;
    min-height:245px;
    padding:34px 30px 30px;
    background:var(--white);
    border:1px solid var(--border);
    border-top:5px solid var(--sage);
    border-left:0;
    border-radius:34px 12px 34px 34px;
    box-shadow:var(--shadow-soft);
    color:var(--text);
}

.offer-card{
    font-family:'Montserrat',Arial,sans-serif;
    transition:transform .25s ease,box-shadow .25s ease;
}

.offer-card:hover{
    transform:translateY(-5px);
    box-shadow:0 22px 48px rgba(102,104,96,.13);
}

.offer-icon{
    width:58px;
    height:58px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:20px;
    border-radius:20px 20px 8px 20px;
    background:var(--sage-light);
    color:var(--olive);
    font-size:1.55rem;
}

.offer-card h3{
    margin:0 0 12px;
    color:var(--olive);
    font-size:1.45rem;
}

.offer-card p{
    margin:0;
    color:var(--text);
    font-size:.96rem;
    line-height:1.65;
}

/* ===== Bildbereiche ===== */

.photo-carousel-section{
    padding:0;
    background:var(--white) !important;
    overflow:hidden;
}

.photo-carousel-section .carousel{
    width:100%;
}

.photo-carousel-img{
    width:100%;
    height:460px;
    object-fit:cover;
    display:block;
}

.inline-photo{
    width:100%;
    height:420px;
    object-fit:cover;
    border-radius:36px;
    box-shadow:var(--shadow-soft);
}

.portrait-photo{
    object-fit:contain;
    background:var(--white);
}

.about-image{
    position:relative;
    overflow:hidden;
    border-radius:42px 14px 42px 14px;
    box-shadow:var(--shadow);
}

.about-image img{
    width:100%;
    height:720px;
    object-fit:cover;
    display:block;
    transition:transform .8s ease;
}

.about-image:hover img{
    transform:scale(1.05);
}

.image-band{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px;
}

.image-band img{
    width:100%;
    height:260px;
    object-fit:cover;
    border-radius:30px;
    box-shadow:var(--shadow-soft);
}

.image-band img:nth-child(1){transform:rotate(-1.2deg)}
.image-band img:nth-child(2){transform:rotate(1.4deg)}

/* ===== Zitate / Kontakt / CTA ===== */

.quote-panel{
    background:var(--white);
    border:1px solid var(--border);
    border-radius:44px 14px 44px 14px;
    padding:55px;
    box-shadow:var(--shadow-soft);
    transform:rotate(-.7deg);
}

.quote-panel p{
    font-family:'Cormorant Garamond',serif;
    font-size:2.6rem;
    line-height:1.1;
    color:var(--olive);
}

.quote-panel span{
    color:var(--steel);
    letter-spacing:.08em;
    text-transform:uppercase;
    font-size:.8rem;
}

.contact-box{
    background:var(--olive);
    color:var(--white);
    border-radius:40px;
    padding:42px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:24px;
    box-shadow:var(--shadow);
}

.contact-box h2,
.contact-box a{
    color:var(--white);
}

.cta-strip{
    position:relative;
    margin-top:0;
    padding:84px 0 64px;
    background:linear-gradient(135deg,#AEBDB8 0%,#A4B0AB 55%,#6E8492 100%) !important;
    color:#ffffff !important;
    clip-path:polygon(0 14%,22% 0,52% 12%,78% 3%,100% 12%,100% 100%,0 100%);
}

.cta-strip h2{
    color:#ffffff !important;
    font-size:2.7rem;
    margin-bottom:5px;
}

.cta-strip p{
    margin:0;
    color:#eef3f2 !important;
}

.cta-strip .btn-primary{
    background:#ffffff !important;
    border-color:#ffffff !important;
    color:#666860 !important;
    box-shadow:none !important;
}

.cta-strip .btn-primary:hover{
    background:#6E8492 !important;
    border-color:#6E8492 !important;
    color:#ffffff !important;
}

.contact-box .btn-primary{
    background:#ffffff !important;
    border-color:#ffffff !important;
    color:#666860 !important;
}

/* ===== Footer ===== */

.site-footer{
    position:relative;
    margin-top:-1px;
    padding:70px 0 25px;
    background:var(--olive) !important;
    color:var(--white) !important;
}

.site-footer::before{
    content:"";
    position:absolute;
    top:-48px;
    left:0;
    width:100%;
    height:50px;
    background:var(--olive);
    clip-path:polygon(0 100%,25% 40%,48% 82%,78% 20%,100% 72%,100% 100%);
}

.site-footer h4{
    color:var(--white);
    margin-bottom:15px;
    font-size:1.2rem;
}

.footer-logo{
    height:75px;
    margin-bottom:20px;
}

.footer-text{
    max-width:280px;
    opacity:.9;
}

.footer-links{
    list-style:none;
    padding:0;
    margin:0;
}

.footer-links li{
    margin-bottom:8px;
}

.footer-links a,
.footer-link,
.site-footer a{
    color:var(--white) !important;
    text-decoration:none;
}

.footer-bottom{
    margin-top:35px;
    padding-top:20px;
    border-top:1px solid rgba(255,255,255,.18);
    text-align:left;
    font-size:.9rem;
    opacity:.8;
}

/* ===== Hilfsklassen ===== */

.abstand1{
    padding-top:5%;
}

/* ===== Responsive ===== */

@media(max-width:991px){
    .main-nav{
        top:10px;
        border-radius:28px;
    }

    .hero{
        min-height:460px;
        padding:145px 0 110px;
        clip-path:polygon(0 0,100% 0,100% 94%,0 100%);
    }

    .hero::before{
        background:linear-gradient(180deg,rgba(255,255,255,.94) 0%,rgba(211,219,213,.72) 100%);
    }

    .hero-copy{
        flex:0 0 100%;
        max-width:100%;
        padding:30px 24px;
    }

    .pillars-section{
        clip-path:polygon(0 3%,100% 0,100% 97%,0 100%);
    }

    .pillars-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .pillar-card:nth-child(even){
        margin-top:0;
    }

    .image-band{
        grid-template-columns:1fr;
    }

    .contact-box{
        display:block;
    }

    .contact-box .btn{
        margin-top:20px;
    }

    .btn-outline{
        margin-left:0;
        margin-top:10px;
    }

    .photo-carousel-img{
        height:320px;
    }
}

@media(max-width:575px){
    .main-nav{
        width:calc(100% - 18px);
    }

    .navbar-brand img,
    .logo img{
        height:58px !important;
        max-height:58px !important;
    }

    .hero-copy,
    .text-block{
        border-radius:28px;
        padding:24px;
    }

    .pillars-grid{
        grid-template-columns:1fr;
    }

    .offers-overview-section{
        padding:70px 0 48px;
    }

    .offer-card,
    .offer-box{
        min-height:0;
        padding:28px 24px;
    }
}

/* ===== Redesign 2026: Referenz "See & Wald" ===== */

:root{
    --white:#ffffff;
    --mint:#DCE9E0;
    --sage:#BFD3C8;
    --sage-light:#DCE9E0;
    --sage-mid:#BFD3C8;
    --olive:#496460;
    --steel:#C9DDEA;
    --blue:#496460;
    --text:#38403F;
    --text-soft:#66706E;
    --border:rgba(73,100,96,.14);
    --shadow:0 14px 38px rgba(56,64,63,.10);
    --shadow-soft:0 10px 28px rgba(56,64,63,.08);
}

body{
    background:linear-gradient(135deg,#FAF9F6 0%,#DCE9E0 100%);
    line-height:1.65;
}

h1,h2,h3{color:var(--olive)}

h1{
    font-size: 40px !important;
    margin-bottom:22px;
}

.main-nav{
    position:absolute;
    top:22px;
    width:min(1220px,calc(100% - 32px));
    background:rgba(255,255,255,.94) !important;
    border:1px solid rgba(73,100,96,.10);
    box-shadow:0 8px 28px rgba(56,64,63,.10);
}

.navbar-light .navbar-nav .active>.nav-link,
.navbar-light .navbar-nav .nav-link:hover,
.navbar-light .navbar-nav .nav-link:focus{
    background:var(--blue);
    color:#fff;
}

.btn-primary{
    background:var(--blue) !important;
    border-color:var(--blue) !important;
    box-shadow:0 9px 20px rgba(79,143,157,.22);
}

.btn-primary:hover,
.btn-primary:focus{
    background:var(--olive) !important;
    border-color:var(--olive) !important;
}

.hero{
    min-height:650px;
    padding:150px 0 70px;
    clip-path:none;
    border-radius:0 0 52% 4% / 0 0 5% 2%;
    background-position:center !important;
}

.hero::before{
    background:linear-gradient(90deg,rgba(237,243,243,.20) 0%,rgba(237,243,243,.06) 58%,rgba(79,143,157,.05) 100%);
}

.hero::after{display:none}

.hero-home{
    background-image:linear-gradient(90deg,rgba(250,249,246,.12),rgba(250,249,246,.02)),url('../img/new-lake.jpg') !important;
    background-size:cover !important;
    background-position:center center !important;
}
.hero-home .hero-copy{max-width:560px;flex-basis:50%}

.hero-home::before{
    background-image:linear-gradient(90deg,rgba(250,249,246,.12),rgba(250,249,246,.02)),url('../img/new-home-fire.jpg');
    background-size:cover;
    background-position:center 58%;
    animation:hero-image-crossfade 14s ease-in-out infinite;
}

@keyframes hero-image-crossfade{
    0%,38%{opacity:0}
    50%,88%{opacity:1}
    100%{opacity:0}
}
.hero-about{background-image:url('../img/new-forest-path.jpg') !important;}
.hero-services{background-image:url('../img/new-lake.jpg') !important;}
.hero-walk{background-image:url('../img/individuelle-begleitung.png') !important;background-position:center 58% !important;}
.hero-bio{background-image:url('../img/new-water.jpg') !important;}
.hero-contact{background-image:url('../img/new-contact.jpg') !important;}

.hero-copy{
    max-width:610px;
    flex:0 0 55%;
    background:rgba(255,255,255,.93);
    border:1px solid rgba(255,255,255,.75);
    border-radius:26px;
    padding:34px 38px;
    box-shadow:0 18px 55px rgba(56,64,63,.15);
    backdrop-filter:blur(5px);
    -webkit-backdrop-filter:blur(5px);
}

.section-kicker{color:var(--blue);letter-spacing:.16em}

.content-section{
    padding:74px 0;
    background:#fff !important;
}

.content-section::before{
    display:block;
    top:-54px;
    left:-5%;
    width:110%;
    height:82px;
    background:#fff;
    border-radius:52% 48% 0 0 / 100% 100% 0 0;
}

.content-section::after{display:none}

.text-block{
    border-radius:24px;
    border:1px solid var(--border);
    padding:34px;
}

.pillars-section{
    margin-top:0;
    padding:118px 0 112px;
    background:linear-gradient(135deg,#edf3f3 0%,#ffffff 100%) !important;
    clip-path:none;
    border-radius:50% 4% 48% 5% / 4% 2% 5% 3%;
}

.pillars-section::before{display:none}

.pillar-card,
.service-card,
.info-card,
.offer-box,
.offer-card{
    border-radius:22px;
}

.pillar-card:nth-child(even){border-radius:22px}

.service-card::before,
.info-card::before{display:none}

.service-card h3,
.info-card h3{padding-top:20px}

.offers-overview-section{background:#fff !important}
.offers-overview-section::before,
.offers-overview-section::after{display:none}

.offer-box,
.offer-card{border-top:4px solid var(--steel);border-left:1px solid var(--border)}
.offer-icon{background:var(--mint);color:var(--blue)}

.inline-photo,
.about-image,
.image-band img{border-radius:22px}

.photo-carousel-img{height:520px}

.mountain-focus{object-position:center 72% !important}

.portrait-photo-email{object-position:center 38%}

.single-photo-section{
    padding:0 16px 70px;
    background:#fff;
}

.single-photo-img{
    display:block;
    width:min(1180px,100%);
    max-height:560px;
    margin:0 auto;
    border-radius:24px;
    object-fit:cover;
    object-position:center;
    box-shadow:0 18px 50px rgba(56,64,63,.14);
}

.story-image-section{
    padding:0;
    background:#fff;
    overflow:hidden;
}

.story-image-section img{
    display:block;
    width:100%;
    height:clamp(380px,48vw,700px);
    max-height:none;
    margin:0;
    border-radius:0;
    object-fit:cover;
    object-position:center;
    box-shadow:none;
}

.pillars-banner{
    padding:0;
    background:#DCE9E0;
    overflow:hidden;
}

.pillars-banner img{
    display:block;
    width:100%;
    height:clamp(330px,40vw,760px);
    margin:0;
    border-radius:0;
    object-fit:cover;
    object-position:center;
    box-shadow:none;
}

.cta-strip{
    padding:100px 0 78px;
    background:linear-gradient(135deg,var(--blue),var(--olive)) !important;
    clip-path:none;
    border-radius:52% 5% 0 0 / 9% 4% 0 0;
}

/* ===== Preise, Verbindlichkeit & Gut zu wissen ===== */

.practical-section{
    position:relative;
    padding:100px 0 120px;
    background:linear-gradient(150deg,#FAF9F6 0%,#DCE9E0 100%);
    overflow:hidden;
}

.practical-section::before{
    content:"";
    position:absolute;
    top:-42px;
    left:-5%;
    width:110%;
    height:78px;
    background:#fff;
    border-radius:0 0 52% 48% / 0 0 100% 100%;
}

.practical-section .container{position:relative;z-index:1}
.practical-section .section-header{max-width:760px;margin:0 auto 42px}
.section-tag{display:block;color:var(--olive);font-size:.78rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;margin-bottom:8px}

.practical-grid{
    display:grid;
    grid-template-columns:1.35fr .9fr;
    gap:26px;
    align-items:stretch;
}

.practical-card,
.good-to-know{
    background:rgba(250,249,246,.96);
    border:1px solid rgba(73,100,96,.14);
    border-radius:24px;
    padding:34px;
    box-shadow:var(--shadow-soft);
}

.practical-card h3:not(:first-child){margin-top:30px}
.practical-card p:last-child{margin-bottom:0}

.good-to-know{margin-top:28px}
.good-to-know>h2{text-align:center;margin-bottom:30px}
.good-to-know-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.good-to-know-grid article{padding:24px;background:#fff;border-radius:18px;border-left:4px solid var(--sage)}
.good-to-know-grid article:last-child:nth-child(odd){grid-column:1/-1}
.good-to-know-grid h3{margin-top:0}
.good-to-know-grid p:last-child{margin-bottom:0}

.site-footer{background:var(--olive) !important;padding-top:82px}
.site-footer::before{
    display:block;
    top:-48px;
    height:50px;
    background:var(--olive);
    clip-path:none;
    border-radius:50% 50% 0 0 / 100% 100% 0 0;
}

@media(max-width:991px){
    .main-nav{position:absolute}
    .hero{padding:135px 0 90px;min-height:590px;border-radius:0 0 52% 4% / 0 0 3% 1.5%}
    .hero::before{background:rgba(237,243,243,.22)}
    .hero-copy{max-width:680px}
    .hero-home{background-size:cover !important;background-position:42% 58% !important}
    .practical-grid,.good-to-know-grid{grid-template-columns:1fr}
    .good-to-know-grid article:last-child:nth-child(odd){grid-column:auto}
}

@media(max-width:575px){
    .hero{min-height:540px;padding-top:125px}
    .hero-copy{padding:25px 22px;border-radius:20px}
    .photo-carousel-img{height:330px}
    .brand-tagline{bottom:4px;min-width:132px;font-size:.42rem;letter-spacing:.11em}
    .pillars-banner{padding:0}
    .pillars-banner img{height:clamp(230px,40vw,330px);border-radius:0}
    .single-photo-section{padding:0 12px 42px}
    .single-photo-img{border-radius:16px;max-height:360px}
    .story-image-section{padding:0}
    .story-image-section img{height:clamp(280px,62vw,420px);max-height:none;border-radius:0}
    .pillars-section{border-radius:36% 5% 34% 4% / 2% 1% 2% 1%}
    .cta-strip{border-radius:38% 4% 0 0 / 3% 1.5% 0 0}
}




@media (max-width: 768px) and (orientation:portrait) {
      
.hero-home .hero-copy {
  max-width: 580px;
  flex-basis: 68%;
  margin-left: 5%;
}

.hero-copy {
    padding: 25px 56px;
    border-radius: 20px;}

.about-image img {
  width: 100%;
  height: 420px;
  object-fit: cover;
  display: block;
  transition: transform .8s ease;}


.person-section {
  max-width: 580px;
  flex-basis: 68%;
  margin-left: 5%;
}

.biografie-section {
  max-width: 580px;
  flex-basis: 68%;
  margin-left: 5%;
}

.hausbesuche-section {
  width: 580px;
  flex-basis: 90%;
  margin-left: 5%;
}


.kontakt-section {
  max-width: 580px;
  flex-basis: 70%;
  margin-left: 5%;
}

}