/*
Theme Name: Andreas Sprick Beratungen
Description: Schlankes, individuelles Theme für Andreas Sprick Beratungen.
Version: 1.0.0
Author: Andreas Sprick Beratungen
Text Domain: andreas-sprick
*/

:root { --ink:#173b3a; --muted:#526765; --accent:#cb7438; --paper:#f7f4ed; --white:#fff; --line:#d9ded9; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color:var(--ink); background:var(--paper); font-size:17px; line-height:1.65; }
a { color:inherit; }
.wrap { width:min(1120px,calc(100% - 40px)); margin-inline:auto; }
.site-header { padding:30px 0; }
.brand { display:flex; align-items:center; gap:14px; font-weight:750; letter-spacing:-.02em; text-decoration:none; }
.mark { display:grid; place-items:center; width:44px; height:44px; border:1px solid var(--ink); border-radius:50%; font-family:Georgia,serif; font-size:22px; }
.brand small { display:block; margin-top:-3px; color:var(--muted); font-size:.75rem; font-weight:500; letter-spacing:.08em; text-transform:uppercase; }
main { overflow:hidden; }
.hero { display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(20px,2.5vw,34px); align-items:end; padding:clamp(70px,11vw,150px) 0 100px; }
.eyebrow { margin:0 0 18px; color:var(--accent); font-size:.8rem; font-weight:750; letter-spacing:.13em; text-transform:uppercase; }
h1,h2 { font-family:Georgia,"Times New Roman",serif; font-weight:400; letter-spacing:-.035em; }
h1 { max-width:760px; margin:0; font-size:clamp(2.65rem,5.8vw,5rem); letter-spacing:-.045em; line-height:1; }
h2 { margin:0; font-size:clamp(2.2rem,4vw,3.8rem); line-height:1.05; }
.hero-copy { max-width:430px; margin:0 0 8px; padding-left:22px; border-left:3px solid var(--accent); font-size:1.24rem; font-weight:500; line-height:1.6; }
.rule { height:1px; background:var(--line); }
.services { padding:95px 0 110px; }
.section-head { display:grid; grid-template-columns:.55fr 1.45fr; gap:40px; margin-bottom:52px; }
.section-intro { max-width:620px; margin:4px 0 0; color:var(--muted); }
.grid { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid var(--line); }
.service { min-height:215px; padding:34px 42px 34px 0; border-bottom:1px solid var(--line); }
.service:nth-child(even) { padding-left:42px; border-left:1px solid var(--line); }
.num { color:var(--accent); font-size:.78rem; font-weight:700; letter-spacing:.08em; }
h3 { margin:17px 0 8px; font-size:1.25rem; line-height:1.25; }
.service p { max-width:440px; margin:0; color:var(--muted); }
.scope-note { margin:28px 0 0; color:var(--muted); font-size:.88rem; }
.qualification { padding:0 0 110px; }
.qualification-inner { display:grid; grid-template-columns:.55fr 1.45fr; gap:40px; padding-top:52px; border-top:1px solid var(--line); }
.qualification-copy { max-width:720px; margin:18px 0 0; color:var(--muted); font-size:1.08rem; }
.contact { background:var(--ink); color:var(--white); }
.contact-inner { display:grid; grid-template-columns:1.2fr .8fr; gap:70px; align-items:end; padding:clamp(75px,10vw,125px) 0; }
.contact h2 { max-width:650px; font-size:clamp(2.8rem,6vw,5.3rem); }
.contact p { max-width:460px; margin:22px 0 0; color:#c9d6d2; }
.actions { display:grid; gap:12px; }
.button { display:flex; align-items:center; justify-content:space-between; min-height:62px; padding:15px 22px; border:1px solid #76908a; border-radius:3px; color:var(--white); font-weight:700; text-decoration:none; transition:background .2s,color .2s,transform .2s; }
.button.primary { border-color:var(--accent); background:var(--accent); }
.button:hover { background:var(--white); color:var(--ink); transform:translateY(-2px); }
.button:focus-visible { outline:3px solid var(--white); outline-offset:3px; }
.site-footer { padding:24px 0 30px; background:var(--ink); color:#aebfba; border-top:1px solid #345451; font-size:.84rem; }
.footer-inner { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px 30px; }
.legal-links { display:flex; flex-wrap:wrap; gap:18px; }
.legal-links a { text-underline-offset:3px; }
.legal-page { width:min(840px,calc(100% - 40px)); margin-inline:auto; padding:clamp(60px,9vw,105px) 0 110px; }
.legal-page h1 { margin:0 0 48px; }
.legal-page h2 { margin:42px 0 10px; font-size:1.55rem; }
.legal-page p,.legal-page ul { margin:0 0 16px; }
.back { display:inline-block; margin-bottom:36px; color:var(--muted); }
.muted { color:var(--muted); }
@media (max-width:760px) {
  .wrap { width:min(100% - 28px,620px); }
  .site-header { padding:20px 0; }
  .hero,.section-head,.qualification-inner,.contact-inner { grid-template-columns:1fr; }
  .hero { gap:34px; padding:65px 0 75px; }
  .hero-copy { max-width:560px; }
  .services { padding:70px 0 80px; }
  .section-head { gap:20px; margin-bottom:35px; }
  .qualification { padding-bottom:80px; }
  .qualification-inner { gap:20px; padding-top:35px; }
  .grid { grid-template-columns:1fr; }
  .service,.service:nth-child(even) { min-height:0; padding:28px 0; border-left:0; }
  .contact-inner { gap:42px; }
  .footer-inner { display:grid; }
  .legal-page { width:min(100% - 28px,840px); }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .button { transition:none; } }
