@import url('https://fonts.googleapis.com/css2?family=Source+Serif+4:opsz,wght@8..60,400;8..60,500;8..60,600;8..60,700&family=Inter:wght@400;500;600;700&display=swap');

:root{
  --ink:#14213D; --ink-soft:#243352; --paper:#FAF7F1; --paper-deep:#F1EBDF;
  --brass:#A6803C; --brass-light:#C8A565; --stone:#5C5648; --stone-light:#8C8576;
  --line:#DDD4C2; --white:#FFFFFF;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:'Inter',system-ui,sans-serif;background:var(--paper);color:var(--ink);}
img{max-width:100%;display:block;}
.serif{font-family:'Source Serif 4',Georgia,serif;}
.eyebrow{font-size:11.5px;letter-spacing:3px;text-transform:uppercase;color:var(--brass);font-weight:600;margin-bottom:14px;}
.section{padding:92px 28px;}
.section-inner{max-width:1180px;margin:0 auto;}
.btn{font-family:'Inter',sans-serif;border:none;border-radius:2px;padding:15px 30px;font-size:14.5px;font-weight:600;cursor:pointer;letter-spacing:.3px;}
.btn-primary{background:var(--ink);color:var(--paper);}
.btn-primary.dark{background:var(--paper);color:var(--ink);}
.btn-ghost{background:transparent;border:1px solid var(--line);color:var(--ink);}
.btn-ghost.dark{border:1px solid rgba(250,247,241,.4);color:var(--paper);}

/* NAV */
header.nav{position:sticky;top:0;z-index:50;background:transparent;border-bottom:1px solid transparent;transition:all .3s ease;}
header.nav.scrolled{background:rgba(250,247,241,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(8px);}
.nav-inner{max-width:1180px;margin:0 auto;padding:20px 28px;display:flex;align-items:center;justify-content:space-between;}
.brand{display:flex;flex-direction:column;align-items:flex-start;background:none;border:none;cursor:pointer;}
.brand-name{font-family:'Source Serif 4',Georgia,serif;font-size:22px;font-weight:600;color:var(--ink);}
.brand-sub{font-size:10.5px;letter-spacing:2.5px;color:var(--brass);text-transform:uppercase;margin-top:2px;}
.desk-nav{display:flex;gap:36px;align-items:center;}
.nav-link{background:none;border:none;cursor:pointer;font-size:14.5px;color:var(--stone);font-weight:500;padding-bottom:3px;border-bottom:2px solid transparent;font-family:'Inter',sans-serif;text-decoration:none;}
.nav-link.active{color:var(--ink);font-weight:600;border-bottom:2px solid var(--brass);}
.mob-btn{display:none;background:none;border:1px solid var(--line);border-radius:4px;padding:8px 10px;cursor:pointer;}
.mob-btn span{display:block;width:18px;height:2px;background:var(--ink);margin-bottom:4px;}
.mob-menu{display:none;flex-direction:column;gap:14px;background:var(--paper);border-top:1px solid var(--line);padding:16px 28px;}
.mob-menu.open{display:flex;}
.mob-menu a{font-family:'Inter',sans-serif;font-size:15.5px;color:var(--ink);text-decoration:none;padding:6px 0;}

@media (max-width:860px){
  .desk-nav{display:none!important;}
  .mob-btn{display:block!important;}
}

/* HERO */
.hero{position:relative;min-height:92vh;display:flex;align-items:center;overflow:hidden;background:var(--ink);}
.hero.small{min-height:62vh;align-items:flex-end;}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.32;}
.hero.small img{opacity:.4;}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(100deg,var(--ink) 38%,rgba(20,33,61,.55) 80%);}
.hero.small .hero-overlay{background:linear-gradient(0deg,var(--ink) 18%,rgba(20,33,61,.2) 90%);}
.hero-content{position:relative;max-width:1180px;margin:0 auto;padding:120px 28px 80px;width:100%;}
.hero.small .hero-content{padding:0 28px 70px;}
.hero h1{font-family:'Source Serif 4',Georgia,serif;font-size:clamp(34px,5.2vw,58px);line-height:1.12;color:#fff;font-weight:600;max-width:760px;margin:0 0 26px;}
.hero.small h1{font-size:clamp(30px,4.6vw,48px);max-width:700px;margin:0;}
.hero p{font-size:17px;line-height:1.7;color:#CBD0E0;max-width:540px;margin-bottom:40px;}
.hero-btns{display:flex;gap:16px;flex-wrap:wrap;}

/* GRIDS */
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:64px;}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.grid-4.gap28{gap:28px;}
@media (max-width:860px){
  .grid-2{grid-template-columns:1fr!important;}
  .grid-3{grid-template-columns:1fr!important;}
  .grid-4{grid-template-columns:1fr 1fr!important;}
}
@media (max-width:540px){
  .grid-4{grid-template-columns:1fr!important;}
}

/* TRUST */
.trust-strip{background:var(--paper-deep);padding:44px 28px;}
.trust-item{font-size:14px;font-weight:600;color:var(--ink);text-align:center;padding:8px 6px;}

/* RECHTSGEBIETE */
.rg-card{background:var(--paper);padding:34px 30px;}
.rg-num{font-family:'Source Serif 4',Georgia,serif;font-size:13px;color:var(--brass);margin-bottom:14px;}
.rg-title{font-family:'Source Serif 4',Georgia,serif;font-size:19px;font-weight:600;color:var(--ink);margin-bottom:10px;}
.rg-text{font-size:13.5px;color:var(--stone);line-height:1.65;}

/* DARK SECTION */
.dark-section{background:var(--ink);color:#fff;}
.dark-section h2{color:#fff;}
.dark-card{border-top:1px solid #2B3656;padding-top:18px;}
.dark-card h3{font-family:'Source Serif 4',Georgia,serif;font-size:16.5px;font-weight:600;color:#fff;margin:0 0 8px;}
.dark-card p{font-size:13px;color:#9EA5BD;line-height:1.6;margin:0;}

/* STEPS */
.step-num{font-family:'Source Serif 4',Georgia,serif;font-size:34px;color:var(--brass);font-weight:600;margin-bottom:16px;border-bottom:1px solid var(--line);padding-bottom:16px;}
.step-title{font-family:'Source Serif 4',Georgia,serif;font-size:17px;font-weight:600;color:var(--ink);}

/* REVIEW CARDS */
.review-card{background:var(--paper);border:1px solid var(--line);padding:26px 22px;}
.review-stars{font-family:'Source Serif 4',Georgia,serif;color:var(--brass);font-size:15px;margin-bottom:12px;}
.review-text{font-size:13px;color:var(--stone);line-height:1.6;margin-bottom:18px;}
.review-name{font-size:12.5px;font-weight:600;color:var(--ink);}
.review-field{font-size:11.5px;color:var(--stone-light);}

/* FAQ */
.faq-wrap{max-width:760px;}
.faq-item{border-bottom:1px solid var(--line);}
.faq-q{width:100%;text-align:left;background:none;border:none;padding:20px 0;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-family:'Inter',sans-serif;}
.faq-q span.qtext{font-size:15.5px;font-weight:600;color:var(--ink);}
.faq-q span.icon{font-size:20px;color:var(--brass);}
.faq-a{font-size:14px;color:var(--stone);line-height:1.7;padding-bottom:22px;max-width:620px;display:none;}
.faq-item.open .faq-a{display:block;}

/* KONTAKT */
#kontakt{background:var(--ink);padding:92px 28px;color:#fff;}
#kontakt .contact-info{font-size:14px;color:#D6DAE8;display:flex;flex-direction:column;gap:16px;}
#kontakt p.lead{font-size:14.5px;color:#B7BDD2;line-height:1.75;margin-bottom:36px;}
form.kontakt-form{background:var(--paper);padding:36px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;}
.field{font-family:'Inter',sans-serif;width:100%;border:1px solid var(--line);background:#fff;padding:13px 14px;font-size:14px;box-sizing:border-box;color:var(--ink);margin-bottom:14px;}
.checkbox-line{font-size:12px;color:var(--stone);display:flex;gap:8px;align-items:flex-start;margin-bottom:20px;line-height:1.5;}

/* FOOTER */
footer.site-footer{background:var(--ink);color:var(--paper-deep);padding:64px 28px 28px;}
.footer-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;}
.footer-grid h4{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--brass-light);margin-bottom:16px;font-weight:600;}
.footer-grid a, .footer-grid div.flink{font-size:13.5px;color:#C5CADA;margin-bottom:10px;display:block;text-decoration:none;cursor:pointer;}
.footer-bottom{max-width:1180px;margin:48px auto 0;padding-top:22px;border-top:1px solid #2B3656;font-size:12px;color:#7E86A0;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;}
.social{display:flex;gap:12px;margin-top:20px;}
.social span{width:32px;height:32px;border:1px solid #3A4566;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;color:#A9AFC0;}
@media (max-width:860px){.footer-grid{grid-template-columns:1fr 1fr!important;}}

/* REFERENZEN page specifics */
.facts-strip{padding:56px 28px;}
.fact-num{font-family:'Source Serif 4',Georgia,serif;font-size:38px;color:var(--ink);font-weight:600;}
.fact-label{font-size:12.5px;color:var(--stone);margin-top:6px;letter-spacing:.5px;}
.case-list{display:flex;flex-direction:column;gap:1px;background:var(--line);border:1px solid var(--line);}
.case-row{background:var(--paper);padding:34px 36px;display:grid;grid-template-columns:200px 1fr;gap:32px;}
.case-field{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--brass);font-weight:600;margin-bottom:8px;}
.case-title{font-family:'Source Serif 4',Georgia,serif;font-size:19px;font-weight:600;color:var(--ink);line-height:1.3;}
.case-detail{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.case-label{font-size:11px;color:var(--stone-light);font-weight:600;margin-bottom:4px;}
.case-label.result{color:var(--brass);}
.case-detail p{font-size:13px;color:var(--stone);line-height:1.6;margin:0;}
.case-detail p.result-text{color:var(--ink);font-weight:600;}
@media (max-width:760px){
  .case-row{grid-template-columns:1fr!important;}
  .case-detail{grid-template-columns:1fr!important;}
}

/* UEBER UNS page specifics */
.mission-item{font-size:14.5px;color:var(--ink);font-weight:600;padding-left:18px;border-left:2px solid var(--brass);margin-bottom:14px;}
.value-item{font-size:13.5px;color:var(--stone);padding:10px 0;border-bottom:1px solid var(--line);}
.team-card img{width:100%;aspect-ratio:3/4;object-fit:cover;margin-bottom:16px;filter:grayscale(15%);}
.team-name{font-family:'Source Serif 4',Georgia,serif;font-size:16.5px;font-weight:600;color:var(--ink);margin-bottom:3px;}
.team-role{font-size:12px;color:var(--brass);font-weight:600;margin-bottom:8px;}
.team-field{font-size:12.5px;color:var(--stone);margin-bottom:4px;}
.team-exp{font-size:11.5px;color:var(--stone-light);margin-bottom:10px;}
.team-bio{font-size:12.5px;color:var(--stone);line-height:1.6;}
.work-step{display:flex;gap:16px;padding:12px 0;border-bottom:1px solid #2B3656;}
.work-step:last-child{border-bottom:none;}
.work-step .num{font-family:'Source Serif 4',Georgia,serif;color:var(--brass);font-size:14px;}
.work-step .lbl{font-size:14px;color:#D6DAE8;}
.work-list-item{font-size:14.5px;color:#D6DAE8;font-weight:600;}

.center{text-align:center;}
.maxw640{max-width:640px;margin-left:auto;margin-right:auto;}
.maxw600{max-width:600px;margin-left:auto;margin-right:auto;}
h2.headline{font-family:'Source Serif 4',Georgia,serif;font-size:clamp(26px,3.4vw,38px);color:var(--ink);font-weight:600;max-width:620px;margin:0 0 52px;}
.dark-section h2.headline{color:#fff;}
