/* ====
:root{
    --peach:#f5a086;
    --coral:#e77f61;
    --terracotta:#d9785f;
    --rose:#f8d8cd;
    --cream:#fdfdfd;
    --paper:#fffdfb;
    --brown:#43271f;
    --muted:#7b5a50;
    --line:rgba(67,39,31,.13);
    --shadow:0 14px 34px rgba(112,64,48,.10);
    --max:1460px;
}
     */
:root{
    --peach:#cf512b;
    --coral:#cf512b;
    --terracotta:#cf512b;
    --rose:#f8d8cd;
    --cream:#fdfdfd;
    --paper:#fffdfb;
    --brown:#43271f;
    --muted:#7b5a50;
    --line:rgba(67,39,31,.13);
    --shadow:0 14px 34px rgba(112,64,48,.10);
    --max:1460px;
}
/* =========================================================
   BASIS
   ========================================================= */

*{
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    margin:0;
    background:var(--cream);
    color:var(--brown);
    font-family:Arial,Helvetica,sans-serif;
    font-size:17px;
    line-height:1.7;
}

img{
    display:block;
    max-width:100%;
}

a{
    color:inherit;
}

h1,
h2,
h3{
    margin:0 0 18px;
    font-family:Arial, Helvetica, sans-serif;
    font-weight:500;
    line-height:1.12;
}

h1{
    font-size:65px;
}

h2{
    font-size:50px;
}

h3{
    font-size:28px;
}

p{
    margin:0 0 20px;
}

.section-shell{
    width:100%;
    max-width:var(--max);
    margin:0 auto;
    padding-left:42px;
    padding-right:42px;
}

.section-kicker{
    display:block;
    margin-bottom:16px;
    color:var(--terracotta);
    font-size:12px;
    font-weight:700;
    letter-spacing:.22em;
    text-transform:uppercase;
}

.button-row{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    margin-top:24px;
}

.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:50px;
    padding:0 24px;
    border:1px solid transparent;
    border-radius:999px;
    text-decoration:none;
    text-transform:uppercase;
    letter-spacing:.06em;
    font-size:13px;
    font-weight:700;
    cursor:pointer;
}

.btn--solid{
    background:var(--coral);
    color:#fff;
}

.btn--outline{
    border-color:var(--coral);
    background:transparent;
    color:var(--terracotta);
}

.btn--light{
    background:#fff;
    color:var(--terracotta);
}

.text-link{
    color:var(--terracotta);
    font-weight:700;
    text-decoration:none;
}

/* =========================================================
   HEADER
   ========================================================= */

.site-header{
    position:sticky;
    top:0;
    z-index:100;
    background:#fffdfb;
    
    box-shadow:0 6px 20px rgba(79,40,27,.10);
}

.site-header__inner{
    max-width:var(--max);
    height:84px;
    margin:0 auto;
    padding:0 42px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
}

.site-brand{
    display:flex;
    align-items:center;
    gap:14px;
    text-decoration:none;
}

.site-brand__logo{
    width:56px;
    height:56px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 56px;
}

.site-brand__logo img{
    width:100%;
    height:100%;
    object-fit:contain;
}

.site-brand__text{
    display:flex;
    flex-direction:column;
    line-height:1.1;
}

.site-brand__text strong{
    font-family:Georgia,'Times New Roman',serif;
    font-size:25px;
    font-weight:500;
}

.site-brand__text small{
    margin-top:5px;
    font-size:11px;
    letter-spacing:.18em;
    text-transform:uppercase;
}

.main-nav{
    display:flex;
    align-items:center;
    gap:32px;
}

.main-nav a{
    position:relative;
    font-size:15px;
    text-decoration:none;
}

.main-nav a:not(.nav-cta)::after{
    content:'';
    position:absolute;
    left:0;
    right:100%;
    bottom:-8px;
    height:2px;
    background:#fff;
    transition:.25s;
}

.main-nav a:hover::after,
.main-nav a.is-active::after{
    right:0;
}

.nav-cta{
    padding:12px 22px;
    border-radius:999px;
    background:rgba(255,255,255,.92);
    color:var(--terracotta);
}

.nav-toggle{
    display:none;
    padding:6px;
    border:0;
    background:transparent;
}

.nav-toggle span{
    display:block;
    width:28px;
    height:2px;
    margin:6px 0;
    background:#fff;
}

/* =========================================================
   STARTSEITE HERO
   ========================================================= */

.hero-home{
    padding:34px 0;
    background:
        radial-gradient(circle at 84% 28%,rgba(231,127,97,.14),transparent 28%),
        linear-gradient(110deg,#f9ded4 0%,#fff8f4 52%,#fffdfb 100%);
}

.hero-home__inner{
    display:grid;
    grid-template-columns:42% 58%;
    gap:52px;
    align-items:center;
}

.hero-home__media{
    height:560px;
    width: 447px;
    overflow:hidden;
    border-radius:24px;
    background:var(--rose);
    box-shadow:var(--shadow);
    position:relative;
}

.hero-home__media::after{
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,transparent 72%,rgba(67,39,31,.07));
    pointer-events:none;
}

.hero-home__media img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center top;
}

.hero-home__content{
    padding:18px 0;
}

.hero-home h1{
    margin-bottom:22px;
    font-size:56px;
    line-height:1.08;
}

.hero-home h1 em{
    color:var(--coral);
    font-style:normal;
}

.hero-home__content>p{
    color:var(--muted);
    font-size:17px;
    line-height:1.75;
}

.hero-home__focus{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin:4px 0 24px;
}

.hero-home__focus span{
    display:inline-flex;
    align-items:center;
    min-height:36px;
    padding:0 14px;
    border:1px solid var(--line);
    border-radius:999px;
    background:rgba(255,255,255,.68);
    color:var(--brown);
    font-size:13px;
    font-weight:700;
}

/* =========================================================
   MARKENBEREICHE
   ========================================================= */

.brand-areas{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
    padding-top:28px;
}

.brand-card{
    min-height:0;
    padding:34px;
    border-radius:18px;
    display:grid;
    grid-template-columns:70px 1fr;
    gap:24px;
    align-items:start;
    box-shadow:var(--shadow);
    overflow:hidden;
    position:relative;
}

.brand-card--academy {
    background: #f2a185ad;
    color: #43271f;
}

.brand-card--hidden{
    background:linear-gradient(135deg,#f8e5dc,#f5cbbd);
    color:var(--brown);
}

.brand-card::after{
    content:'';
    position:absolute;
    width:260px;
    height:150px;
    right:-70px;
    bottom:-65px;
    border:1px solid currentColor;
    border-radius:50%;
    opacity:.16;
}

.brand-card__icon{
    width:62px;
    height:62px;
    border:1px solid currentColor;
    border-radius:50%;
    display:grid;
    place-items:center;
    font-size:28px;
}

.brand-card__overline{
    font-size:12px;
    letter-spacing:.18em;
    text-transform:uppercase;
}

.brand-card h2{
    margin-top:8px;
    font-size:36px;
}

.brand-card p{
    margin-bottom:18px;
}

.brand-card a{
    font-size:13px;
    font-weight:700;
    letter-spacing:.06em;
    text-decoration:none;
    text-transform:uppercase;
}

/* =========================================================
   WERTE-BEREICH
   ========================================================= */

.values-section{
    padding-top:50px;
    padding-bottom:55px;
}

.values-section__heading{
    margin-bottom:28px;
}

.values-section__heading h2{
    font-size:50px;
}

.values-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:16px;
}

.value-card{
    min-height:0;
    padding:26px;
    border:1px solid var(--line);
    border-radius:18px;
    background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(248,216,205,.42));
    box-shadow:0 10px 24px rgba(112,64,48,.07);
    position:relative;
    overflow:hidden;
}

.value-card::after{
    content:'';
    position:absolute;
    width:120px;
    height:120px;
    right:-55px;
    bottom:-60px;
    border:1px solid rgba(231,127,97,.16);
    border-radius:50%;
}

.value-card__number{
    display:block;
    margin-bottom:24px;
    color:var(--coral);
    font-size:12px;
    font-weight:700;
    letter-spacing:.15em;
}

.value-card h3{
    margin-bottom:12px;
    font-size:27px;
}

.value-card p{
    margin:0;
    color:var(--muted);
    font-size:16px;
    line-height:1.65;
}

/* alte Wertezeile nur für Altseiten */
.values-strip{
    margin-top:18px;
    margin-bottom:55px;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    border:1px solid var(--line);
    border-radius:18px;
    background:rgba(255,255,255,.55);
    overflow:hidden;
}

.values-strip article{
    padding:24px;
    display:grid;
    grid-template-columns:42px 1fr;
    gap:14px;
    border-right:1px solid var(--line);
}

.values-strip article:last-child{
    border-right:0;
}

.values-strip>article>span{
    color:var(--coral);
    font-size:28px;
}

.values-strip h3{
    margin-bottom:6px;
    font-family:Arial,Helvetica,sans-serif;
    font-size:15px;
    letter-spacing:.06em;
    text-transform:uppercase;
}

.values-strip p{
    margin:0;
    color:var(--muted);
    font-size:15px;
}

/* =========================================================
   ALLGEMEINE INHALTSBEREICHE
   ========================================================= */

.intro-split{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:60px;
    padding-top:50px;
    padding-bottom:55px;
}

.intro-split h2{
    font-size:50px;
}

.intro-split p{
    color:var(--muted);
    font-size:17px;
}

.prose-grid{
    display:grid;
    grid-template-columns:1.2fr .8fr;
    gap:50px;
    padding-top:50px;
    padding-bottom:55px;
}

.prose-grid h2{
    font-size:50px;
}

.prose-grid p{
    color:var(--muted);
    font-size:17px;
}

.quote-card{
    padding:32px;
    border-radius:18px;
    background:var(--rose);
    display:flex;
    align-items:center;
}

.quote-card p{
    margin:0;
    color:var(--brown);
    font-family:Georgia,'Times New Roman',serif;
    font-size:28px;
}

.steps{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
    padding-bottom:55px;
}

.steps article{
    padding:28px;
    border:1px solid var(--line);
    border-radius:16px;
    background:#fff;
}

.steps span{
    color:var(--coral);
    font-weight:700;
}

.steps h3{
    font-size:26px;
}

.steps p{
    margin:0;
    color:var(--muted);
}

.content-columns{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:20px;
    padding-top:50px;
    padding-bottom:55px;
}

.content-columns>div{
    padding:32px;
    border:1px solid var(--line);
    border-radius:16px;
    background:#fff;
}

.content-columns h2{
    font-size:34px;
}

.content-columns p{
    color:var(--muted);
}

.closing-cta{
    margin-bottom:55px;
    padding:36px 42px;
    border-radius:20px;
    background: #f8e5dc;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
}

.closing-cta .section-kicker{
    color:#cf512b;
}

.closing-cta h2{
    font-size:36px;
    color: #cf512b;
}

.closing-cta p{
    margin:0;
    opacity:.9;
    color: #cf512b;
}

/* =========================================================
   SERVICE-SEITE
   ========================================================= */

.service-hero{
    padding:50px 0;
    background:
        radial-gradient(circle at 82% 32%,rgba(231,127,97,.16),transparent 30%),
        linear-gradient(105deg,#fff8f4 0%,#fbe8e0 58%,#f6c7b7 100%);
    overflow:hidden;
}

.service-hero__inner{
    display:grid;
    grid-template-columns:1.15fr .85fr;
    gap:55px;
    align-items:center;
}

.service-hero__content{
    width:100%;
}

.service-hero h1{
    font-size:65px;
}

.service-hero__content>p{
    color:var(--muted);
    font-size:17px;
}

.service-hero__visual{
    min-height:300px;
    position:relative;
    border:1px solid rgba(67,39,31,.08);
    border-radius:26px;
    background:linear-gradient(145deg,rgba(255,255,255,.72),rgba(248,216,205,.48));
    box-shadow:var(--shadow);
    overflow:hidden;
}

.service-hero__circle{
    position:absolute;
    border:1px solid rgba(217,120,95,.28);
    border-radius:50%;
}

.service-hero__circle--one{
    width:260px;
    height:260px;
    right:-50px;
    top:-70px;
}

.service-hero__circle--two{
    width:180px;
    height:180px;
    left:-45px;
    bottom:-65px;
}

.service-hero__word{
    position:absolute;
    color:var(--brown);
    font-family:Georgia,'Times New Roman',serif;
}

.service-hero__word:nth-of-type(1){
    top:24%;
    left:18%;
    font-size:30px;
}

.service-hero__word:nth-of-type(2){
    top:48%;
    right:10%;
    color:var(--terracotta);
    font-size:36px;
}

.service-hero__word:nth-of-type(3){
    left:28%;
    bottom:16%;
    font-size:28px;
}

.service-areas{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:24px;
    padding-top:55px;
    padding-bottom:55px;
}

.service-area{
    padding:36px;
    border:1px solid var(--line);
    border-radius:22px;
    box-shadow:var(--shadow);
}

.service-area--academy{
    background:linear-gradient(145deg,#e98567,#f3a58c);
    color:#fff;
}

.service-area--hidden{
    background:linear-gradient(145deg,#fffdfb,#f7ddd3);
}

.service-area__top{
    display:grid;
    grid-template-columns:  1fr;
    gap:16px;
    align-items:start;
}

.service-area__number{
    width:46px;
    height:46px;
    border:1px solid currentColor;
    border-radius:50%;
    display:grid;
    place-items:center;
    font-weight:700;
}

.service-area__overline{
    display:block;
    margin-bottom:8px;
    font-size:12px;
    font-weight:700;
    letter-spacing:.17em;
    text-transform:uppercase;
}

.service-area h2{
    font-size:38px;
}

.service-area__intro{
    opacity:.88;
}

.service-area__items{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
    margin:26px 0 30px;
}

.service-area__items>div{
    min-height:0;
    padding:20px;
    border-radius:15px;
}

.service-area--academy .service-area__items>div{
    border:1px solid rgba(255,255,255,.24);
    background:rgba(255,255,255,.14);
}

.service-area--hidden .service-area__items>div{
    border:1px solid var(--line);
    background:rgba(255,255,255,.72);
}

.service-area__items h3{
    margin-bottom:8px;
    font-family:Arial,Helvetica,sans-serif;
    font-size:17px;
}

.service-area__items p{
    margin:0;
    font-size:15px;
    opacity:.84;
}

.service-area__link{
    font-size:13px;
    font-weight:700;
    letter-spacing:.07em;
    text-decoration:none;
    text-transform:uppercase;
}

.service-process{
    display:grid;
    grid-template-columns:.8fr 1.2fr;
    gap:55px;
    padding-top:20px;
    padding-bottom:55px;
}

.service-process__intro h2{
    font-size:50px;
}

.service-process__intro p{
    color:var(--muted);
}

.service-process__steps{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:16px;
}

.service-process__steps article{
    padding:24px;
    border:1px solid var(--line);
    border-radius:16px;
    background:var(--paper);
}

.service-process__steps span{
    color:var(--coral);
    font-weight:700;
}

.service-process__steps h3{
    margin:12px 0 8px;
    font-family:Arial,Helvetica,sans-serif;
    font-size:17px;
}

.service-process__steps p{
    margin:0;
    color:var(--muted);
    font-size:15px;
}

.service-cta{
    margin-bottom:55px;
    padding-top:36px;
    padding-bottom:36px;
    border-radius:22px;
    background:linear-gradient(100deg,var(--coral),var(--peach));
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
}

.service-cta .section-kicker{
    color:#fff;
}

.service-cta h2{
    font-size:38px;
}

.service-cta p{
    margin-bottom:0;
    opacity:.9;
}

/* =========================================================
   UNTERSEITEN
   ========================================================= */

.brand-hero{
    padding:55px max(42px,calc((100vw - var(--max))/2 + 42px));
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.brand-hero--academy{
    background:linear-gradient(120deg,#dc7659,#f2a085);
    color:#fff;
}

.brand-hero--academy .section-kicker{
    color:#fff;
}

.brand-hero--hidden{
    background:linear-gradient(120deg, #f8d7ca61, #fff8f4);
}

.brand-hero h1{
    font-size:36px;
}

.brand-hero p{
    font-size:17px;
}

.about-hero{
    display:grid;
    grid-template-columns:.8fr 1.2fr;
    gap:55px;
    align-items:center;
    padding-top:50px;
    padding-bottom:55px;
}

.about-hero__media{
    height:560px;
    border-radius:18px;
    background:var(--rose);
    overflow:hidden;
}

.about-hero__media img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center top;
}

.about-hero__content h1{
    font-size:65px;
}

.lead{
    font-family:Georgia,'Times New Roman',serif;
    font-size:28px;
}

.about-hero__content p:last-child{
    color:var(--muted);
    font-size:17px;
}

.timeline{
    padding-bottom:55px;
}

.timeline article{
    display:grid;
    grid-template-columns:240px 1fr;
    gap:42px;
    padding:26px 0;
    border-top:1px solid var(--line);
}

.timeline article:last-child{
    border-bottom:1px solid var(--line);
}

.timeline span{
    color:var(--terracotta);
    font-weight:700;
}

.timeline h2{
    font-size:30px;
}

.timeline p{
    margin:0;
    color:var(--muted);
}

.contact-layout{
    display:grid;
    grid-template-columns:.7fr 1.3fr;
    gap:28px;
    padding-top:50px;
    padding-bottom:55px;
}

.contact-info,
.contact-form{
    padding:32px;
    border:1px solid var(--line);
    border-radius:18px;
    background:#fff;
    box-shadow:var(--shadow);
}

.contact-info h2,
.contact-form h2{
    font-size:34px;
}

.contact-info a{
    text-decoration:none;
}

.form-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
}

label{
    display:grid;
    gap:8px;
    margin-bottom:18px;
    font-size:15px;
    font-weight:700;
}

input,
select,
textarea{
    width:100%;
    padding:14px;
    border:1px solid rgba(67,39,31,.18);
    border-radius:10px;
    background:linear-gradient(120deg, #f8d7ca61, #fff8f4);
    color:var(--brown);
    font:inherit;
}

textarea{
    resize:vertical;
}

.privacy-check{
    grid-template-columns:22px 1fr;
    align-items:start;
    font-weight:400;
}

.privacy-check input{
    width:auto;
    margin-top:5px;
}

.honeypot{
    position:absolute!important;
    left:-9999px!important;
}

.legal{
    max-width:980px;
    padding-top:50px;
    padding-bottom:55px;
}

.legal h1{
    font-size:65px;
}

.legal h2{
    margin-top:32px;
    font-size:32px;
}

.legal p{
    color:var(--muted);
}

/* =========================================================
   FOOTER
   ========================================================= */

.site-footer{
    padding:50px 42px 24px;
    background:#fffdfb;
    color: #934933; 
  
}

.site-footer__top{
    max-width:var(--max);
    margin:0 auto;
    display:grid;
    grid-template-columns:1.2fr 1fr 1.4fr .8fr;
    gap:34px;
}

.site-footer h2{
    font-size:32px;
}

.site-footer h3{
    font-family:Arial,Helvetica,sans-serif;
    font-size:14px;
    letter-spacing:.08em;
    text-transform:uppercase;
      font-weight:700;
}

.site-footer p{
    color:var(--brown); 
}

.site-footer a{
    text-decoration:none;
}

.site-footer__bottom{
    max-width:var(--max);
    margin:28px auto 0;
    padding-top:18px;
    border-top:1px solid rgba(255,255,255,.16);
    display:flex;
    justify-content:space-between;
    gap:20px;
    color:rgba(255,255,255,.72);
    font-size:14px;
}

/* =========================================================
   TABLET
   ========================================================= */

@media(max-width:1050px){

    h1{
        font-size:54px;
    }

    h2{
        font-size:42px;
    }

    .nav-toggle{
        display:block;
    }

    .main-nav{
        display:none;
        position:absolute;
        top:84px;
        left:0;
        right:0;
        padding:24px 30px;
        background:var(--coral);
        flex-direction:column;
        align-items:flex-start;
    }

    .main-nav.is-open{
        display:flex;
    }

    .hero-home__inner{
        grid-template-columns:1fr;
        gap:28px;
    }

    .hero-home__media{
        height:500px;
    }

    .hero-home h1{
        font-size:54px;
    }

    .brand-areas,
    .intro-split,
    .prose-grid,
    .about-hero,
    .contact-layout,
    .service-areas,
    .service-process{
        grid-template-columns:1fr;
    }

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

    .service-hero__inner{
        grid-template-columns:1fr;
        gap:30px;
    }

    .service-hero h1,
    .brand-hero h1,
    .about-hero__content h1,
    .legal h1{
        font-size:54px;
    }

    .service-process__steps{
        grid-template-columns:repeat(3,1fr);
    }

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

/* =========================================================
   MOBIL
   ========================================================= */

@media(max-width:680px){

    body{
        font-size:16px;
    }

    h1{
        font-size:38px;
    }

    h2{
        font-size:32px;
    }

    h3{
        font-size:24px;
    }

    .site-header__inner{
        height:72px;
        padding:0 18px;
    }

    .site-brand__text small{
        display:none;
    }

.site-brand__logo{
    width:46px;
    height:46px;
    flex-basis:46px;
}

    .site-brand__text strong{
        font-size:22px;
    }

    .main-nav{
        top:72px;
    }

    .section-shell{
        padding-left:18px;
        padding-right:18px;
    }

    .hero-home{
        padding:18px 0 24px;
    }

    .hero-home__inner{
        gap:22px;
    }

    .hero-home__media{
        height:390px;
        border-radius:18px;
    }

    .hero-home__content{
        padding:0 0 18px;
    }

    .hero-home h1{
        font-size:38px;
        line-height:1.12;
    }

    .hero-home__content>p{
        font-size:16px;
    }

    .brand-areas,
    .values-grid,
    .values-strip,
    .steps,
    .content-columns,
    .service-area__items,
    .service-process__steps,
    .form-grid{
        grid-template-columns:1fr;
    }

    .brand-card{
        grid-template-columns:1fr;
        padding:26px;
    }

    .brand-card h2{
        font-size:30px;
    }

    .values-section{
        padding-top:38px;
        padding-bottom:42px;
    }

    .values-section__heading{
        margin-bottom:22px;
    }

    .values-section__heading h2{
        font-size:32px;
    }

    .value-card{
        padding:24px;
    }

    .intro-split,
    .prose-grid,
    .content-columns{
        gap:24px;
        padding-top:38px;
        padding-bottom:42px;
    }

    .intro-split h2,
    .prose-grid h2,
    .service-process__intro h2{
        font-size:32px;
    }

    .closing-cta,
    .service-cta{
        width: 357px;
        margin-left:18px;
        margin-right:18px;
        margin-bottom:42px;
        padding:28px 24px;
        flex-direction:column;
        align-items:flex-start;
    }

    .closing-cta h2,
    .service-cta h2{
        font-size:30px;
    }

    .service-hero{
        padding:38px 0;
    }

    .service-hero h1,
    .brand-hero h1,
    .about-hero__content h1,
    .legal h1{
        font-size:38px;
    }

    .service-hero__visual{
        min-height:240px;
    }

    .service-area{
        padding:26px 22px;
    }

    .service-area__top{
        grid-template-columns:1fr;
    }

    .service-area h2{
        font-size:30px;
    }

    .service-process{
        gap:24px;
        padding-bottom:42px;
    }

    .brand-hero{
        padding:38px 18px;
    }

    .about-hero{
        gap:28px;
        padding-top:38px;
        padding-bottom:42px;
    }

    .about-hero__media{
        height:460px;
    }

    .timeline article{
        grid-template-columns:1fr;
        gap:8px;
        padding:22px 0;
    }

    .timeline h2{
        font-size:26px;
    }

    .contact-layout{
        padding-top:38px;
        padding-bottom:42px;
    }

    .contact-info,
    .contact-form{
        padding:26px;
    }

    .site-footer{
        padding-left:18px;
        padding-right:18px;
    }

    .site-footer__top{
        grid-template-columns:1fr;
    }

    .site-footer__bottom{
        flex-direction:column;
    }
}


@media (max-width: 680px) {
    .hero-home__media {
        height: 450px;
        width: 357px;
        border-radius: 18px;
    }
    
  
}


.contact-info{
    align-self:start;
}

.contact-map{
    margin-top:28px;
    overflow:hidden;
    border-radius:16px;
    border:1px solid var(--line);
}

.contact-map iframe{
    display:block;
    width:100%;
    height:280px;
    border:0;
}

.content-columns .text-link{
    display:inline-flex;
    align-items:center;
    white-space:nowrap;
}
@media(max-width:680px){
    .content-columns .text-link{
        font-size:14px;
    }
}

.content-column-card{
    display:flex;
    flex-direction:column;
}

.content-column-card__link{
    display:inline-flex;
    align-items:center;
    align-self:flex-start;
    margin-top:auto;
    padding-top:18px;
    white-space:nowrap;
}


/* =========================================================
   COOKIE CONSENT
   ========================================================= */

.cookie-consent{
    position:fixed;
    inset:0;
    z-index:9999;
    display:none;
    align-items:flex-end;
    justify-content:center;
    padding:24px;
    background:rgba(67,39,31,.38);
    backdrop-filter:blur(4px);
}

.cookie-consent.is-open{
    display:flex;
}

.cookie-consent-open{
    overflow:hidden;
}

.cookie-consent__box{
    width:min(100%, 760px);
    padding:30px;
    border:1px solid var(--line);
    border-radius:20px;
    background:var(--paper);
    box-shadow:0 24px 70px rgba(67,39,31,.22);
}

.cookie-consent__kicker{
    display:block;
    margin-bottom:10px;
    color:var(--terracotta);
    font-size:12px;
    font-weight:700;
    letter-spacing:.18em;
    text-transform:uppercase;
}

.cookie-consent__box h2{
    margin:0 0 14px;
    font-size:32px;
    line-height:1.15;
}

.cookie-consent__box > p{
    margin:0;
    color:var(--muted);
    font-size:15px;
    line-height:1.65;
}

.cookie-consent__links{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    margin-top:14px;
}

.cookie-consent__links a{
    color:var(--terracotta);
    font-size:14px;
    font-weight:700;
    text-decoration:none;
}

.cookie-consent__actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:24px;
}

.cookie-consent__btn{
    min-height:46px;
    padding:0 20px;
    border:1px solid var(--coral);
    border-radius:999px;
    background:transparent;
    color:var(--terracotta);
    font:inherit;
    font-size:13px;
    font-weight:700;
    letter-spacing:.04em;
    cursor:pointer;
}

.cookie-consent__btn--primary{
    background:var(--coral);
    color:#fff;
}

.cookie-consent__settings{
    margin-top:22px;
    padding-top:20px;
    border-top:1px solid var(--line);
}

.cookie-consent__option{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px;
    padding:15px 0;
    border-bottom:1px solid var(--line);
}

.cookie-consent__option:last-of-type{
    border-bottom:0;
}

.cookie-consent__option strong{
    display:block;
    margin-bottom:4px;
    font-size:15px;
}

.cookie-consent__option p{
    margin:0;
    color:var(--muted);
    font-size:13px;
    line-height:1.5;
}

.cookie-consent__status{
    flex:0 0 auto;
    color:var(--terracotta);
    font-size:12px;
    font-weight:700;
    text-transform:uppercase;
}

.cookie-switch{
    position:relative;
    flex:0 0 48px;
    width:48px;
    height:26px;
}

.cookie-switch input{
    position:absolute;
    width:1px;
    height:1px;
    opacity:0;
}

.cookie-switch__track{
    position:absolute;
    inset:0;
    border-radius:999px;
    background:#dbcac3;
    cursor:pointer;
    transition:.2s;
}

.cookie-switch__track::after{
    content:'';
    position:absolute;
    top:4px;
    left:4px;
    width:18px;
    height:18px;
    border-radius:50%;
    background:#fff;
    box-shadow:0 2px 6px rgba(67,39,31,.18);
    transition:.2s;
}

.cookie-switch input:checked + .cookie-switch__track{
    background:var(--coral);
}

.cookie-switch input:checked + .cookie-switch__track::after{
    transform:translateX(22px);
}

.cookie-media-wrapper{
    position:relative;
}

.cookie-media-placeholder{
    min-height:280px;
    padding:28px;
    border:1px solid var(--line);
    border-radius:16px;
    background:linear-gradient(135deg,#f8e5dc,#fffdfb);
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
}

.cookie-media-placeholder strong{
    margin-bottom:8px;
    font-size:20px;
}

.cookie-media-placeholder p{
    max-width:460px;
    margin:0 0 18px;
    color:var(--muted);
    font-size:14px;
}

.cookie-footer-link{
    appearance:none;
    border:0;
    padding:0;
    background:none;
    color:inherit;
    font:inherit;
    cursor:pointer;
    text-decoration:none;
}

@media(max-width:680px){

    .cookie-consent{
        align-items:flex-end;
        padding:0;
    }

    .cookie-consent__box{
        max-height:88vh;
        overflow:auto;
        padding:24px 18px;
        border-radius:20px 20px 0 0;
    }

    .cookie-consent__box h2{
        font-size:27px;
    }

    .cookie-consent__actions{
        display:grid;
        grid-template-columns:1fr;
    }

    .cookie-consent__btn{
        width:100%;
    }

    .cookie-consent__option{
        gap:14px;
    }

    .cookie-media-placeholder{
        min-height:240px;
        padding:22px;
    }
}
