/* Paarberatung: established site palette, typography and calm section layout. */
:root { --ink:#183634; --deep:#102a29; --paper:#f6f5f0; }
* { box-sizing:border-box; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial,Helvetica,sans-serif; }
a { color:inherit; text-decoration:none; }
a:focus-visible { outline:2px solid currentColor; outline-offset:5px; }
.couple-hero { display:grid; grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); background:var(--ink); color:white; min-height:38rem; }
.hero-copy { align-self:center; padding:clamp(3.5rem,7vw,7rem) clamp(1.25rem,6vw,7rem); }
.eyebrow { color:#b6c6bc; font-size:.88rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; margin:0 0 1.7rem; }
h1 { font-family:Georgia,'Times New Roman',serif; font-size:clamp(3.4rem,5.8vw,6rem); line-height:1.02; letter-spacing:-.04em; font-weight:400; margin:0 0 2rem; }
.hero-intro { color:#dbe3de; font-size:clamp(1.05rem,1.55vw,1.28rem); line-height:1.6; max-width:29rem; margin:0; }
.hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:1.25rem 1.75rem; margin-top:2.3rem; }
.button { display:inline-block; font-size:.88rem; letter-spacing:.02em; padding:1rem 1.25rem; background:white; color:var(--ink); }
.button:hover { background:#e7e3d8; }
.text-link { display:inline-flex; align-items:center; border-bottom:1px solid currentColor; font-size:.95rem; min-height:2.75rem; padding:.55rem 0; }
.text-link span { margin-left:.4rem; }
.hero-image-wrap { min-width:0; position:relative; overflow:hidden; }
.hero-image { display:block; position:absolute; width:100%; height:100%; object-fit:cover; object-position:83% 53%; filter:saturate(.78); }
.site-footer { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1rem 2rem; background:var(--deep); color:#dbe3de; padding:1.5rem clamp(1.25rem,4vw,5rem); font-size:.85rem; }
.site-footer div { display:flex; gap:1.5rem; }
.site-footer a { display:inline-flex; align-items:center; min-height:2.75rem; }
.site-footer a:hover { text-decoration:underline; text-underline-offset:.25rem; }
@media(max-width:1050px) { .hero-copy { padding:4rem 2rem; } }
@media(max-width:700px) { .couple-hero { grid-template-columns:1fr; min-height:0; } .hero-copy { padding:3rem 1.5rem 3.25rem; } h1 { font-size:clamp(3.2rem,12.5vw,4.7rem); } .hero-intro { font-size:1.08rem; } .hero-image-wrap { height:clamp(19rem,78vw,29rem); } .hero-image { object-position:85% 53%; } .site-footer { padding:1.25rem 1.5rem; } }

html { scroll-behavior:smooth; }
.back-link { display:block; width:fit-content; font-size:.88rem; line-height:1.5; min-height:2.75rem; padding:.65rem 0; text-decoration:underline; text-underline-offset:.25rem; }
.hero-copy > .back-link { color:#dbe3de; margin-bottom:2rem; }
h2,h3 { font-family:Georgia,'Times New Roman',serif; font-weight:400; letter-spacing:-.035em; margin:0 0 1.25rem; }
h2 { font-size:clamp(2.35rem,3.8vw,4.1rem); line-height:1.06; }
h3 { font-size:clamp(1.6rem,2.2vw,2.15rem); line-height:1.12; }
.content-section { padding:clamp(3.5rem,7vw,7rem) clamp(1.5rem,7vw,8rem); }
.content-section { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:clamp(2.5rem,7vw,7rem); }
.section-heading .eyebrow { color:var(--ink); }
.section-heading p:not(.eyebrow),.prose p,.topic-list p { font-size:1.05rem; line-height:1.7; }
.section-heading p:not(.eyebrow) { max-width:36rem; }
.topic-list article { display:flex; gap:1.5rem; padding:1.75rem 0; border-top:1px solid rgb(24 54 52 / 25%); }
.topic-list article:first-child { padding-top:1.25rem; }
.topic-list p { margin:0; }
.section-number { font-size:.85rem; font-weight:700; letter-spacing:.12em; display:block; padding-top:.3rem; }
.approach-section { background:#dce5df; }
.prose p { margin:0 0 1.4rem; }
.invitation-section { background:#5a6f64; color:white; padding:clamp(3.5rem,7vw,7rem) clamp(1.5rem,7vw,8rem); }
.invitation-section .eyebrow { color:white; }
.invitation-section p:not(.eyebrow) { max-width:38rem; font-size:1.1rem; line-height:1.7; margin-bottom:2rem; }
.invitation-section > .back-link { margin-top:1.5rem; }
.site-footer div { flex-wrap:wrap; }
@media(max-width:850px) { .content-section { grid-template-columns:1fr; gap:2rem; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

.practical-links { display:flex; flex-wrap:wrap; gap:.75rem 2rem; margin:0 0 2rem; }
