
@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Text:ital@0;1&family=Inter:wght@300;400;500;600;700&display=swap');

:root{
  --navy:#0f2540;
  --navy-dark:#081422;
  --gold:#c8a45c;
  --gold-light:#e2c98d;
  --grey:#6b7482;
  --bg:#f7f8fa;
  --cream:#fbf9f5;
  --white:#ffffff;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:'Inter',Arial,Helvetica,sans-serif;color:#2b323c;background:var(--bg);line-height:1.7;font-weight:400;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.container{max-width:1180px;margin:0 auto;padding:0 28px;}
.serif{font-family:'DM Serif Text',Georgia,serif;}
.serif-i{font-family:'DM Serif Text',Georgia,serif;font-style:italic;}

/* ---------- Header ---------- */
header.site-header{position:absolute;top:0;left:0;right:0;z-index:100;padding:10px 0;}
header.site-header.solid{position:sticky;background:var(--navy);}
header.site-header .container{display:flex;align-items:center;justify-content:space-between;padding:12px 28px;flex-wrap:wrap;gap:14px;}
.logo{display:flex;align-items:center;gap:11px;font-size:1.15rem;font-weight:600;letter-spacing:.3px;color:#fff;}
.logo img.logo-mark{height:78px;width:auto;}
.logo-name{font-family:'DM Serif Text',Georgia,serif;font-weight:400;font-size:1.2rem;letter-spacing:.2px;}
nav.main-nav ul{list-style:none;display:flex;gap:24px;margin:0;padding:0;flex-wrap:wrap;}
nav.main-nav a{font-size:.92rem;font-weight:500;color:#fff;padding:6px 0;border-bottom:2px solid transparent;transition:border-color .2s,opacity .2s;opacity:.9;}
nav.main-nav a:hover,nav.main-nav a.active{border-color:var(--gold);opacity:1;}
.header-contact{font-size:.82rem;color:#dbe3ee;display:flex;gap:16px;flex-wrap:wrap;}
.header-contact a:hover{color:var(--gold-light);}

/* ---------- Hero (home, full split headline) ---------- */
.hero-full{position:relative;min-height:92vh;display:flex;align-items:center;color:#fff;overflow:hidden;}
.hero-full .hero-bg{position:absolute;inset:0;}
.hero-full .hero-bg img{width:100%;height:100%;object-fit:cover;}
.hero-full .hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(8,20,34,.88) 10%,rgba(8,20,34,.55) 55%,rgba(8,20,34,.35) 100%);}
.hero-full .hero-inner{position:relative;z-index:2;width:100%;padding:120px 0 60px;}
.split-headline{font-size:clamp(2.6rem,6.5vw,4.6rem);line-height:1.05;margin:0 0 34px;font-weight:400;}
.split-headline span{display:block;}
.split-headline .accent{color:var(--gold-light);}
.hero-full .lead-small{max-width:520px;color:#d7dee9;font-size:1rem;margin-bottom:8px;}

.icon-nav-label{color:var(--gold-light);text-transform:uppercase;letter-spacing:2px;font-size:.72rem;font-weight:600;margin:0 0 20px;}
.icon-nav{display:flex;flex-wrap:wrap;gap:26px;}
.icon-nav a{display:flex;flex-direction:column;align-items:center;gap:10px;width:96px;text-align:center;}
.icon-nav .circle{width:66px;height:66px;border-radius:50%;border:1.5px solid rgba(255,255,255,.45);display:flex;align-items:center;justify-content:center;transition:border-color .25s,background .25s,transform .25s;}
.icon-nav .circle svg{width:28px;height:28px;color:#fff;transition:color .25s;}
.icon-nav a:hover .circle{border-color:var(--gold);background:rgba(200,164,92,.15);transform:translateY(-4px);}
.icon-nav a:hover .circle svg{color:var(--gold-light);}
.icon-nav .icon-label{font-size:.78rem;color:#dbe3ee;font-weight:500;}

/* ---------- Intro two-col ---------- */
.intro-split{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding:90px 0;}
.intro-split .col{}
.intro-split .kicker{color:var(--gold);text-transform:uppercase;font-size:.75rem;letter-spacing:2px;font-weight:600;margin-bottom:14px;}
.intro-split h2{font-size:1.9rem;margin:0 0 16px;color:var(--navy);}
.intro-split p{color:#4b5563;margin-bottom:22px;}
.link-arrow{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--navy);border-bottom:1px solid var(--gold);padding-bottom:3px;transition:color .2s,gap .2s;}
.link-arrow svg{width:16px;height:16px;color:var(--gold);transition:transform .2s;}
.link-arrow:hover{color:var(--gold);}
.link-arrow:hover svg{transform:translateX(4px);}

/* ---------- Stats ---------- */
.stats-strip{background:var(--white);border-top:1px solid #e7e9ee;border-bottom:1px solid #e7e9ee;padding:54px 0;}
.stats-strip .stats{display:grid;grid-template-columns:repeat(4,1fr);text-align:center;}
.stats-strip .stat + .stat{border-left:1px solid #e7e9ee;}
.stats-strip .num{font-size:2.1rem;color:var(--navy);}
.stats-strip .num .figure{font-family:'Inter';font-weight:700;}
.stats-strip .label{color:var(--grey);font-size:.82rem;margin-top:4px;text-transform:uppercase;letter-spacing:1px;}

/* ---------- Full-bleed alternating band ---------- */
.band{position:relative;min-height:430px;display:flex;align-items:center;color:#fff;overflow:hidden;}
.band .band-bg{position:absolute;inset:0;}
.band .band-bg img{width:100%;height:100%;object-fit:cover;}
.band .band-bg::after{content:"";position:absolute;inset:0;background:rgba(8,20,34,.62);}
.band.band-right .band-bg::after{background:linear-gradient(90deg,rgba(8,20,34,.35),rgba(8,20,34,.82));}
.band .band-inner{position:relative;z-index:2;width:100%;padding:70px 0;}
.band .kicker{color:var(--gold-light);text-transform:uppercase;font-size:.75rem;letter-spacing:2px;font-weight:600;margin-bottom:16px;}
.band h2{font-size:clamp(1.7rem,3.4vw,2.5rem);max-width:640px;margin:0 0 26px;font-weight:400;line-height:1.3;}
.band .band-right-align{margin-left:auto;text-align:right;}
.band .band-right-align h2{margin-left:auto;}

/* ---------- Newsletter ---------- */
.newsletter{background:var(--navy);color:#fff;padding:70px 0;}
.newsletter .inner{max-width:640px;margin:0 auto;text-align:center;}
.newsletter h2{font-size:1.9rem;margin:0 0 14px;font-weight:400;}
.newsletter p{color:#cfd7e3;margin-bottom:30px;}
.newsletter-form{display:flex;gap:0;max-width:460px;margin:0 auto 18px;}
.newsletter-form input[type=email]{flex:1;padding:14px 16px;border:none;border-radius:4px 0 0 4px;font-family:inherit;font-size:.95rem;}
.newsletter-form button{background:var(--gold);color:var(--navy-dark);border:none;font-weight:700;padding:0 22px;border-radius:0 4px 4px 0;cursor:pointer;transition:background .2s;}
.newsletter-form button:hover{background:var(--gold-light);}
.newsletter .consent{font-size:.78rem;color:#9fabbd;display:flex;gap:8px;align-items:flex-start;max-width:460px;margin:0 auto;text-align:left;}
.newsletter .consent input{margin-top:3px;}

/* ---------- Cards (used on rechner page) ---------- */
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:22px;margin-top:10px;}
.card{background:#fff;border-radius:6px;padding:26px 26px 24px;box-shadow:0 2px 14px rgba(15,37,64,.07);border-top:3px solid var(--gold);}
.card h3{margin:0 0 8px;font-size:1.05rem;color:var(--navy);}
.card p{margin:0;color:#5a6472;font-size:.92rem;}

/* ---------- Prohyp calculator embeds ---------- */
.calc-block{margin-bottom:44px;}
.calc-block h3{color:var(--navy);font-size:1.2rem;margin:0 0 16px;}
.calc-embed{background:#fff;border-radius:8px;box-shadow:0 2px 14px rgba(15,37,64,.07);padding:8px;overflow:hidden;}
.calc-embed iframe{display:block;min-height:420px;}

/* ---------- Calculator cards (card-grid + modal on rechner page) ---------- */
.calc-card{border:none;background:#fff;text-align:left;cursor:pointer;width:100%;font-family:inherit;transition:box-shadow .2s,transform .2s;}
.calc-card:hover{box-shadow:0 8px 24px rgba(15,37,64,.14);transform:translateY(-3px);}
.calc-open{display:inline-flex;align-items:center;gap:8px;margin-top:14px;font-size:.88rem;font-weight:600;color:var(--gold);}
.calc-open svg{width:15px;height:15px;margin-left:2px;}
.calc-card-soon{opacity:.6;cursor:default;}
.calc-card-soon:hover{box-shadow:0 2px 14px rgba(15,37,64,.07);transform:none;}
.calc-soon-badge{display:inline-block;background:var(--grey);color:#fff;font-size:.7rem;padding:2px 10px;border-radius:12px;margin-bottom:10px;text-transform:uppercase;letter-spacing:.05em;}

.calc-modal-overlay{position:fixed;inset:0;background:rgba(8,20,34,.75);display:none;align-items:center;justify-content:center;z-index:1000;padding:24px;}
.calc-modal-overlay.active{display:flex;}
.calc-modal{background:#fff;border-radius:10px;max-width:820px;width:100%;max-height:90vh;overflow-y:auto;padding:32px;position:relative;box-shadow:0 12px 40px rgba(8,20,34,.35);}
.calc-modal h3{font-family:'DM Serif Text',Georgia,serif;color:var(--navy);font-size:1.4rem;margin:0 0 18px;padding-right:30px;}
#calc-modal-body iframe{width:100%;border:none;min-height:420px;display:block;}
.calc-modal-close{position:absolute;top:16px;right:16px;background:none;border:none;font-size:1.8rem;line-height:1;color:var(--grey);cursor:pointer;transition:color .2s;}
.calc-modal-close:hover{color:var(--navy);}

/* ---------- Inner page hero (subpages) ---------- */
.page-hero{position:relative;min-height:56vh;display:flex;align-items:flex-end;color:#fff;overflow:hidden;}
.page-hero .hero-bg{position:absolute;inset:0;}
.page-hero .hero-bg img{width:100%;height:100%;object-fit:cover;}
.page-hero .hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,20,34,.88) 10%,rgba(8,20,34,.25) 85%);}
.page-hero .hero-inner{position:relative;z-index:2;padding:120px 0 56px;width:100%;}
.page-hero .split-headline{font-size:clamp(2.2rem,5.2vw,3.6rem);margin-bottom:0;}

main{padding:80px 0;}
main .section{max-width:760px;}
main .section p{color:#4b5563;margin-bottom:20px;font-size:1.02rem;}
.btn{display:inline-flex;align-items:center;gap:10px;background:var(--gold);color:var(--navy-dark);font-weight:700;padding:14px 30px;border-radius:4px;transition:background .2s;font-size:.95rem;}
.btn:hover{background:var(--gold-light);}
.btn svg{width:16px;height:16px;}
.phone-line{display:flex;align-items:center;gap:16px;margin-top:26px;color:var(--navy);font-weight:600;}

.closing-band{background:var(--navy-dark);color:#fff;padding:60px 0;text-align:center;}
.closing-band p{font-size:clamp(1.3rem,2.6vw,1.9rem);font-family:'DM Serif Text',Georgia,serif;font-style:italic;color:var(--gold-light);max-width:760px;margin:0 auto;line-height:1.4;}

form.contact-form{max-width:560px;}
form.contact-form label{display:block;margin-bottom:6px;font-weight:600;color:var(--navy);font-size:.92rem;}
form.contact-form input,form.contact-form textarea{width:100%;padding:12px;border:1px solid #d7dce3;border-radius:4px;margin-bottom:18px;font-family:inherit;font-size:1rem;}
form.contact-form textarea{min-height:140px;}
.checkbox-row{display:flex;gap:10px;align-items:flex-start;margin-bottom:20px;}
.checkbox-row input{width:auto;margin-top:4px;}
.checkbox-row label{font-weight:400;color:#3c4655;font-size:.85rem;}

.legal h2{margin-top:36px;font-size:1.2rem;color:var(--navy);}
.legal p, .legal li{color:#3c4655;}

/* ---------- Footer ---------- */
footer.site-footer{background:var(--navy-dark);color:#aeb8c7;padding:64px 0 26px;}
footer.site-footer .footer-top{display:flex;justify-content:space-between;flex-wrap:wrap;gap:40px;margin-bottom:44px;}
footer.site-footer .footer-brand{max-width:300px;}
footer.site-footer .footer-logo-row{display:flex;align-items:center;gap:11px;margin-bottom:16px;}
footer.site-footer .footer-logo-row img.logo-mark{height:78px;width:auto;}
footer.site-footer .footer-logo-row .logo-name{color:#fff;}
footer.site-footer .footer-brand p{font-size:.88rem;line-height:1.7;}
footer.site-footer .footer-brand .footer-tagline{color:#fff;font-weight:600;letter-spacing:.2px;margin-bottom:10px;}
footer.site-footer .footer-cols{display:flex;gap:60px;flex-wrap:wrap;}
footer.site-footer h4{color:#fff;margin:0 0 16px;font-size:.85rem;text-transform:uppercase;letter-spacing:1.5px;font-weight:600;}
footer.site-footer a{color:#aeb8c7;}
footer.site-footer a:hover{color:var(--gold-light);}
footer.site-footer ul{list-style:none;padding:0;margin:0;}
footer.site-footer li{margin-bottom:10px;font-size:.9rem;}
.footer-bottom{border-top:1px solid #1c2c42;padding-top:22px;font-size:.78rem;color:#6f7c8e;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;}

@media(max-width:900px){
  .intro-split{grid-template-columns:1fr;gap:40px;padding:60px 0;}
  .stats-strip .stats{grid-template-columns:repeat(2,1fr);row-gap:26px;}
  .stats-strip .stat:nth-child(3){border-left:1px solid #e7e9ee;}
  .band .band-right-align{text-align:left;margin-left:0;}
  .band.band-right .band-bg::after{background:rgba(8,20,34,.68);}
}
@media(max-width:720px){
  header.site-header .container{flex-direction:column;align-items:flex-start;}
  nav.main-nav ul{gap:16px;}
  .icon-nav{gap:16px;}
  .icon-nav a{width:78px;}
  .icon-nav .circle{width:54px;height:54px;}
  .icon-nav .circle svg{width:22px;height:22px;}
  .newsletter-form{flex-direction:column;gap:10px;}
  .newsletter-form input[type=email],.newsletter-form button{border-radius:4px;padding:14px 16px;}
}
