/* Variante 02: präzise Linien und das originale Markenpink #EE416F. */
:root{--ink:#191d1b;--muted:#59605b;--paper:#f6f5f1;--line:#d8dad4;--stone:#e9e8e2;--deep:#1d2420;--accent:#ee416f}
html{scroll-padding-top:105px}
body{background:var(--paper)}
h1,h2{letter-spacing:-.047em}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.eyebrow{letter-spacing:.15em}
.kicker{color:#626a63}
.kicker::before{height:2px;background:var(--accent)}
.preview-bar{background:#1d2420;color:#e1e7e0;border-bottom:2px solid var(--accent)}
.site-header{background:rgba(246,245,241,.96);border-bottom-color:#cfd2cb}
.nav a{position:relative}
.nav a::after{content:"";position:absolute;height:2px;left:0;right:0;bottom:-10px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}
.nav a:hover,.nav a[aria-current=page]{color:var(--ink)}
.nav a:hover::after,.nav a[aria-current=page]::after{transform:scaleX(1)}
.button{position:relative;border-color:var(--ink);overflow:hidden}
.button-dark{background:var(--ink);color:#fff}
.button-dark:hover{background:#313b34}
.button-light{background:#fff;color:var(--ink);border-color:#fff}
.button-outline{background:transparent;color:var(--ink)}
.button-outline:hover{background:#fff}
.button-ghost{border-color:rgba(255,255,255,.65);color:#fff}
.button-ghost:hover{background:rgba(255,255,255,.08)}
.button .arrow{color:var(--accent);transition:transform .22s ease}
.button:hover .arrow{transform:translate(3px,-3px)}
.menu-button{border-color:#bcc0b9;color:var(--ink)}
.hero{background:#e9e8e2}
.hero-copy{position:relative}
.hero-copy::before{content:"IK / RR";position:absolute;top:35px;left:max(24px,calc((100vw - var(--max))/2));width:calc(100% - 10vw);border-top:2px solid var(--ink);padding-top:12px;color:#6b736d;font-size:.65rem;letter-spacing:.17em;font-weight:700}
.hero-copy::after{content:"+";position:absolute;top:48px;right:7%;color:var(--accent);font-size:1.2rem;line-height:0}
.hero h1{max-width:740px;line-height:1.02}
.ink-underline{position:relative;z-index:0;white-space:nowrap}
.ink-underline::after{content:"";position:absolute;left:0;right:0;bottom:.02em;height:.075em;background:var(--accent);z-index:-1;transform-origin:left;animation:line-draw .85s .4s both}
.hero-image{box-shadow:inset 5px 0 var(--accent)}
.hero-image::after{background:linear-gradient(90deg,rgba(233,232,226,.22),transparent 26%)}
.hero-stat{border-top-color:#bfc2ba}
.dot{background:var(--accent)}
.hero-stat span{color:#525a53}
section{scroll-margin-top:100px}
.section-head{position:relative;border-top:2px solid var(--ink);padding-top:27px}
.section-head::after{content:"+";position:absolute;right:2px;top:6px;color:var(--accent);font-size:1.2rem;line-height:1}
.section-head .kicker::before{display:none}
.section-head .kicker{color:var(--accent)}
.section-head h2{max-width:900px}
.stone-section{background:var(--stone)}
.light-section{background:#fff}
.dark-section{background:var(--deep)}
.dark-section .kicker{color:#f3a0b7}
.dark-section .section-head{border-color:#d7ded6}
.dark-section .section-head::after{color:var(--accent)}
.dark-section .lead,.dark-section .muted{color:#c8d2c8}
.service-feature{border:1px solid #c5cac2;box-shadow:inset 4px 0 var(--accent);background-color:#1d2420;min-height:520px}
.service-feature::after{background:linear-gradient(180deg,rgba(13,18,15,.04) 17%,rgba(13,18,15,.84) 100%)}
.service-feature .eyebrow{color:#f6a6bb}
.feature-link{border-color:#f6a6bb}
.feature-link span,.text-link span{color:var(--accent)}
.card{position:relative;border-color:#cdd1c9;background-color:#fff;background-image:linear-gradient(var(--accent),var(--accent)),linear-gradient(var(--accent),var(--accent));background-repeat:no-repeat;background-size:28px 3px,3px 28px;background-position:top left,top left;transition:border-color .25s,transform .25s}
.card:hover{border-color:var(--accent);transform:translateY(-3px)}
.card .eyebrow{color:var(--accent)}
.card .price{color:var(--ink)}
.card.highlight{background-color:#1d2420;color:#fff;border-color:#1d2420}
.card.highlight p,.card.highlight .price-note{color:#c8d2c8}
.card.highlight .price{color:#fff}
.text-link{transition:gap .2s ease}
.text-link:hover{gap:18px}
.number-list{border-color:#bfc4bc}
.number-list li{border-color:#d6d9d2}
.number-list b{color:var(--accent)}
.split-image{box-shadow:-5px 0 var(--accent)}
.band{background:#e1e0d9;border-top:1px solid #c9cdc4;border-bottom:1px solid #c9cdc4}
.page-hero{position:relative;background:#e9e8e2;border-bottom:1px solid #c9cdc4}
.page-hero.dark{background:var(--deep);border-bottom-color:#3d4940}
.page-hero .kicker{color:var(--accent)}
.page-hero.dark .kicker{color:#f3a0b7}
.page-hero h1{position:relative;padding-bottom:19px}
.page-hero h1::after{content:"";position:absolute;left:0;bottom:0;width:86px;height:4px;background:var(--accent);transform-origin:left;animation:line-draw .7s .25s both}
.page-hero .lead{color:#414a42}
.page-hero.dark .lead{color:#d0d9d0}
.page-hero .breadcrumb{border-top:2px solid currentColor;padding-top:15px;color:#6c746c}
.page-hero.dark .breadcrumb{color:#bdc9bd}
.breadcrumb a{text-decoration-color:var(--accent);text-underline-offset:4px}
.media-strip{border-bottom:4px solid var(--accent)}
.intro-grid>.eyebrow{color:var(--accent)}
.intro-grid .kicker::before{display:none}
.pill{border-color:#bcc2b9;background:#fff}
.price-panel{background:#f3f2ed;border-color:#cfd3ca;box-shadow:inset 4px 0 var(--accent)}
.notice{background:#f3f2ed;border-left-color:var(--accent)}
.comparison-table th{color:#3c453d;border-bottom:2px solid var(--ink)}
.comparison-table td{border-color:#cdd2ca}
.comparison-table tbody tr:hover{background:rgba(238,65,111,.035)}
.location{position:relative;border-color:#cdd1c9;background:#fff}
.location::before,.contact-box::before{content:"";position:absolute;left:-1px;top:-1px;width:28px;height:28px;border-top:3px solid var(--accent);border-left:3px solid var(--accent)}
.location h3{margin-top:14px}
.city-list span{border-color:#bdc3ba;background:#fff}
.contact-box{position:relative;border-color:#cdd1c9}
.soon-tag{border-color:var(--accent);color:var(--accent)}
.booking-panel{border-color:#cbd0c7}
.booking-step{border-color:#cbd0c7}
.booking-step-title b{border-color:var(--accent);color:var(--accent)}
.choice{background:#f8f8f5;border-color:#cfd4ca}
.choice:hover,.choice.active{border-color:var(--accent);background:#fff;box-shadow:inset 3px 0 var(--accent)}
.choice span{color:#667067}
.field input:focus,.field select:focus{outline-color:var(--accent)}
.booking-summary{background:var(--deep);box-shadow:inset 4px 0 var(--accent)}
.booking-summary dt{color:#f3a0b7}
.booking-summary p{color:#c9d3c9}
.calendar-placeholder{background:#f5f4ef;border-color:#bbc2b7}
.site-footer{background:var(--deep);border-top:4px solid var(--accent)}
.footer-col h4{color:#f3a0b7}
.footer-col a:hover{color:#f3a0b7}
.footer-bottom{border-color:#485249}
.scroll-reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.scroll-reveal.is-visible{opacity:1;transform:none}
.scroll-reveal.is-visible .kicker::before{animation:line-draw .6s .22s both}
.scroll-reveal.is-visible.card{transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1),border-color .25s}
@keyframes line-draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(max-width:1100px){.hero-copy::before{left:24px}}
@media(max-width:820px){html{scroll-padding-top:80px}.nav a::after{bottom:-4px}.hero-copy{padding-top:90px}.hero-copy::before{top:26px;right:24px;width:auto}.hero-copy::after{top:39px;right:31px}.hero-image{box-shadow:inset 0 4px var(--accent)}.split-image{box-shadow:0 -4px var(--accent)}.page-hero .breadcrumb{margin-bottom:20px}.booking-summary{box-shadow:inset 4px 0 var(--accent)}}
@media(max-width:560px){.hero h1{font-size:clamp(3.05rem,12vw,3.8rem)}.hero-copy{padding:86px 24px 55px}.hero-copy::before{left:24px;right:24px}.section-head{padding-top:20px}.section-head::after{top:3px}.card:hover{transform:none}.service-feature{min-height:390px}.page-hero h1{font-size:clamp(3rem,11.7vw,4rem)}.price-panel{box-shadow:inset 3px 0 var(--accent)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ink-underline::after,.page-hero h1::after,.scroll-reveal.is-visible .kicker::before{animation:none;transform:none}.scroll-reveal{opacity:1;transform:none;transition:none}.card,.button .arrow,.nav a::after{transition:none}}
