:root {
    --pointner-dark: #003333;       
    --pointner-brand: #007373;      
    --pointner-mid: #669999;        
    --pointner-light: #d1e0e0;      
    --pointner-beige: #f4f0e8;      
    --pointner-bg-light: #faf9f6;   
    --font-serif: 'Playfair Display', serif;
    --font-sans: 'Montserrat', sans-serif;
}

html { scroll-behavior: smooth; }
body {
    font-family: var(--font-sans); color: var(--pointner-dark);
    background-color: var(--pointner-bg-light); overflow-x: hidden; -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, .font-serif { font-family: var(--font-serif); font-weight: 400; color: var(--pointner-dark); line-height: 1.2; }
h1 { font-size: calc(2.4rem + 2.5vw); letter-spacing: -1px; }
h2 { font-size: calc(1.8rem + 1.5vw); letter-spacing: -0.5px; }
h3 { font-size: 1.25rem; color: var(--pointner-brand); font-weight: 500; margin-top: 2.5rem; margin-bottom: 1rem; }
h5 { font-family: var(--font-sans); font-weight: 600; font-size: 1.05rem; margin-top: 1.5rem; color: var(--pointner-dark); }
.h2-informational { border-left: 3px solid var(--pointner-brand); padding-left: 15px; font-size: calc(1.5rem + 1vw); }
p, li { font-weight: 300; line-height: 1.9; letter-spacing: 0.3px; font-size: 1.05rem; color: #2c3e50; }

ul { padding-left: 20px; }
li { margin-bottom: 8px; }

/* BUTTONS */
.btn-pointner {
    font-size: 0.75rem; font-weight: 500; letter-spacing: 2px; text-transform: uppercase;
    padding: 18px 42px; border-radius: 100px; transition: all 0.4s ease; text-decoration: none; display: inline-block;
}
.btn-pointner-dark { background-color: var(--pointner-dark); color: #ffffff; border: 1px solid var(--pointner-dark); }
.btn-pointner-dark:hover { background-color: transparent; color: var(--pointner-dark); transform: translateY(-2px); border: 1px solid var(--pointner-dark); }
.btn-pointner-line { background-color: transparent; color: var(--pointner-dark); border: 1px solid var(--pointner-dark); }
.btn-pointner-line:hover { background-color: var(--pointner-dark); color: #ffffff; transform: translateY(-2px); }
.btn-pointner-express { background-color: #996666; color: #ffffff; border: 1px solid #996666; }
.btn-pointner-express:hover { background-color: transparent; color: #996666; transform: translateY(-2px); }

.navbar-pointner { background-color: rgba(250, 249, 246, 0.9); backdrop-filter: blur(20px); padding: 1.2rem 0; border-bottom: 1px solid rgba(0, 51, 51, 0.05); }
.nav-link-pointner { font-size: 0.75rem; letter-spacing: 2px; text-transform: uppercase; color: var(--pointner-dark) !important; font-weight: 500; }

.section-wrap { position: relative; padding: 140px 0; z-index: 1; }
.wave-bg-top { position: absolute; top: 0; left: 0; width: 100%; line-height: 0; z-index: -1; fill: var(--pointner-beige); }
.organic-blob-left { position: absolute; left: -10%; top: 10%; width: 50vw; height: 50vw; background: var(--pointner-light); border-radius: 43% 57% 41% 59% / 57% 45% 55% 43%; filter: blur(50px); opacity: 0.4; z-index: -1; }

.geo-badge { background-color: rgba(0, 115, 115, 0.08); color: var(--pointner-brand); font-size: 0.75rem; font-weight: 600; padding: 6px 16px; border-radius: 100px; display: inline-block; letter-spacing: 1px; }
.trust-badge-anwalt { display: inline-flex; align-items: center; gap: 8px; background: #ffffff; border: 1px solid rgba(0, 51, 51, 0.1); padding: 8px 16px; border-radius: 100px; text-decoration: none; color: var(--pointner-dark); transition: all 0.3s; }
.trust-badge-anwalt:hover { border-color: var(--pointner-brand); color: var(--pointner-dark); }

.statement-banner { background-color: #ffffff; border-top: 1px solid rgba(0, 51, 51, 0.04); border-bottom: 1px solid rgba(0, 51, 51, 0.04); padding: 100px 0; text-align: center; }
.statement-text { font-family: var(--font-serif); font-size: calc(1.6rem + 1vw); color: var(--pointner-dark); max-width: 950px; margin: 0 auto; line-height: 1.5; }

.hero-question-card { background: rgba(255, 255, 255, 0.7); border: 1px solid rgba(0, 51, 51, 0.08); border-radius: 16px; padding: 24px; transition: all 0.3s ease; backdrop-filter: blur(10px); text-decoration: none; display: block; color: inherit; }
.hero-question-card:hover { transform: translateY(-5px); border-color: var(--pointner-brand); background: #ffffff; }

/* FOTO-PLATZHALTER OPTIMIERUNG */
.photo-placeholder-wrapper { position: relative; padding-bottom: 125%; background-color: var(--pointner-beige); border-radius: 400px 400px 0 0; overflow: hidden; border: 2px dashed var(--pointner-brand); }
.photo-placeholder-text { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-family: var(--font-serif); font-style: italic; color: var(--pointner-dark); opacity: 0.75; text-align: center; width: 80%; font-weight: 500; }

.hasselbach-nav-box { background-color: #ffffff; border: 1px solid rgba(0, 51, 51, 0.08); border-radius: 20px; padding: 30px; position: sticky; top: 130px; box-shadow: 0 10px 30px rgba(0,0,0,0.02); }
.hasselbach-nav-link { color: var(--pointner-dark); text-decoration: none; font-size: 0.9rem; display: flex; align-items: center; gap: 10px; padding: 14px 0; transition: all 0.2s ease; border-bottom: 1px solid rgba(0,0,0,0.03); font-weight: 400; }
.hasselbach-nav-link:hover { color: var(--pointner-brand); padding-left: 5px; }

.law-info-card { background: #ffffff; border-radius: 24px; padding: 45px; margin-bottom: 35px; border: 1px solid rgba(0, 51, 51, 0.04); box-shadow: 0 4px 30px rgba(0,0,0,0.01); }
.law-quote-box { background-color: var(--pointner-beige); border-left: 4px solid var(--pointner-brand); padding: 25px; border-radius: 4px 16px 16px 4px; font-size: 0.95rem; margin: 25px 0; }
.pkh-infobox { background-color: rgba(244, 240, 232, 0.6); border-left: 4px solid var(--pointner-mid); border-radius: 4px 20px 20px 4px; padding: 30px; margin-top: 40px; }

.express-card { background: #ffffff; border: 1px solid rgba(153, 102, 102, 0.15); border-radius: 24px; padding: 50px; }
.form-control-pointner { background-color: #ffffff; border: 1px solid #cbd5e1; border-radius: 8px; padding: 14px 18px; font-size: 0.95rem; color: var(--pointner-dark); }
.form-control-pointner:focus { border-color: var(--pointner-brand); box-shadow: none; }

.footer-headline { font-size: 0.85rem; letter-spacing: 2px; color: #ffffff; font-weight: 600; margin-bottom: 15px; text-transform: uppercase; }
.footer-geo-list { font-size: 0.8rem; color: #a0aec0; line-height: 1.8; margin-bottom: 0; }

/* LEGAL PAGES EXTRA STYLES */
.legal-box { background: #ffffff; border-radius: 24px; padding: 50px; border: 1px solid rgba(0, 51, 51, 0.04); box-shadow: 0 4px 30px rgba(0,0,0,0.01); margin-top: 40px; }
.legal-link { color: var(--pointner-brand); text-decoration: none; transition: color 0.2s; }
.legal-link:hover { color: var(--pointner-dark); text-decoration: underline; }
