@font-face{font-family:'DM Sans';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/dm-sans-normal-400.ttf') format('truetype')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:500;font-display:swap;src:url('assets/fonts/dm-sans-normal-500.ttf') format('truetype')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:600;font-display:swap;src:url('assets/fonts/dm-sans-normal-600.ttf') format('truetype')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:700;font-display:swap;src:url('assets/fonts/dm-sans-normal-700.ttf') format('truetype')}
@font-face{font-family:'Lora';font-style:italic;font-weight:500;font-display:swap;src:url('assets/fonts/lora-italic-500.ttf') format('truetype')}
@font-face{font-family:'Lora';font-style:italic;font-weight:600;font-display:swap;src:url('assets/fonts/lora-italic-600.ttf') format('truetype')}
@font-face{font-family:'Lora';font-style:normal;font-weight:500;font-display:swap;src:url('assets/fonts/lora-normal-500.ttf') format('truetype')}
@font-face{font-family:'Lora';font-style:normal;font-weight:600;font-display:swap;src:url('assets/fonts/lora-normal-600.ttf') format('truetype')}

:root{--paper:#faf6ed;--paper-deep:#f1e8d7;--ink:#3a342b;--muted:#625c50;--brown:#9c633c;--brown-dark:#724626;--olive:#526b32;--olive-dark:#344a21;--line:#d5c9b4;--white:#fffdf7}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.65 'DM Sans',Arial,sans-serif}
body::before{content:'';position:fixed;inset:0;pointer-events:none;opacity:.22;z-index:10;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.13'/%3E%3C/svg%3E")}
a{color:var(--brown-dark)}a:hover{color:var(--olive-dark)}
img{max-width:100%;display:block}
.wrap{width:min(1120px,calc(100% - 48px));margin:auto}
.site-header{background:rgba(255,252,245,.97);border-bottom:1px solid #e5dac5;position:relative;z-index:20}
.header-inner{min-height:77px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink);font-weight:700;font-size:21px;letter-spacing:-.035em;white-space:nowrap}
.brand-logo{width:48px;height:60px;object-fit:contain;flex:none}
.brand small{display:block;font:italic 12px/1.1 Lora,serif;letter-spacing:.02em;color:var(--brown)}
.site-nav{display:flex;align-items:center;gap:30px}
.site-nav a{font-size:14px;text-decoration:none;color:#514c42;white-space:nowrap;position:relative}
.site-nav a:hover,.site-nav a.active{color:var(--ink)}
.site-nav a.active{font-weight:700}
.site-nav a.active::after{content:'';position:absolute;left:0;right:0;bottom:-10px;height:2px;background:#9ca15d}
.menu-button{display:none;background:none;border:1px solid var(--line);border-radius:8px;padding:7px 10px;font:inherit;color:var(--ink)}
.hero{min-height:440px;position:relative;background:#566533 url('assets/hero-cat.png') center center/cover no-repeat;display:flex;align-items:center;overflow:hidden}
.hero::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 37%,rgba(22,43,15,.42) 55%,rgba(27,48,20,.65) 100%)}
.hero-copy{position:relative;z-index:1;width:min(53%,600px);margin-left:auto;margin-right:max(5vw,calc((100vw - 1120px)/2));padding:50px 0;color:#fffaf0;text-align:center;text-shadow:0 2px 12px #22331580}
.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:11px;font-weight:700;color:#dfd5aa;margin:0 0 13px}
h1,h2,h3{font-family:Lora,Georgia,serif;line-height:1.22}
.hero h1{font-size:clamp(35px,4.4vw,61px);font-weight:600;letter-spacing:-.045em;margin:0 auto 19px;max-width:680px}
.hero h1 em{display:block;font-weight:500}
.hero-sub{font:italic clamp(17px,2vw,23px)/1.4 Lora,serif;margin:0 0 27px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:12px 28px;border-radius:99px;background:linear-gradient(#bd824f,#975b31);color:white;text-decoration:none;font-weight:700;box-shadow:0 7px 16px #342a1d33;transition:transform .2s,box-shadow .2s}
.button:hover{color:white;transform:translateY(-2px);box-shadow:0 9px 18px #342a1d45}
.button.green{background:linear-gradient(#6e893d,#395927)}
.button .arrow{font-size:23px;line-height:1}
.feature-strip{background:#fffaf0;border-bottom:1px solid #e9ddca;box-shadow:0 3px 12px #6a5b3b14}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);padding:23px 0}
.feature{display:flex;align-items:center;gap:14px;padding:0 30px;border-right:1px solid var(--line)}
.feature:first-child{padding-left:0}.feature:last-child{border:0;padding-right:0}
.feature-icon{width:55px;height:55px;flex:none;display:grid;place-items:center;border-radius:50%;background:#e5e8bf;color:var(--olive);font-size:29px}
.feature:nth-child(2) .feature-icon{background:#ebddbd;color:var(--brown)}
.feature h2{font-size:17px;font-style:italic;margin:0 0 2px}.feature p{font-size:12px;margin:0;color:var(--muted)}
main{overflow:hidden}
.section{padding:56px 0;border-bottom:1px dashed #ccbea7;scroll-margin-top:28px}
.section h2,.panel h2{font-size:clamp(27px,3vw,36px);font-style:italic;font-weight:500;letter-spacing:-.035em;margin:0 0 21px}
.section h2::after,.panel h2::after{content:'';display:block;width:100px;border-bottom:1px solid #a69b82;margin-top:10px}
.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center}
.intro-copy>p:first-of-type{font:italic 19px/1.55 Lora,serif}
.intro-copy p{margin:0 0 16px}
.photo-frame{padding:8px;background:#fffef8;box-shadow:0 4px 14px #55482b44;transform:rotate(1deg)}
.photo-frame img{width:100%;height:310px;object-fit:cover}
.photo-caption{font:italic 12px Lora,serif;color:var(--muted);margin-top:11px;text-align:right}
.prose p{margin:0 0 15px}.prose h2,.prose h3{font-size:24px;font-style:italic;margin:18px 0 12px}.prose ul{padding-left:23px;margin:13px 0 18px}.prose li{padding-left:4px;margin-bottom:7px}.prose table{border-collapse:collapse;width:100%;margin:17px 0}.prose td,.prose th{border-bottom:1px solid #d8cbb5;padding:9px;text-align:left}.prose tr:first-child{font-weight:700;background:#f2ead9}.prose a{font-weight:700}
.wide-note{background:#eae8cf;border-left:4px solid var(--olive);padding:22px 26px;margin:25px 0}
.cards-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.panel{background:#fffbf1;border:1px solid #e0d4bd;box-shadow:0 5px 16px #79694a20;min-width:0;overflow:hidden}
.panel-head{padding:11px 24px;color:#fffaf1;background:linear-gradient(105deg,#8e5835,#c38e61);font:italic 24px/1.3 Lora,serif}
.panel.green .panel-head{background:linear-gradient(105deg,#536d32,#94a861)}
.panel-body{padding:24px 27px}.panel-body h2{font-size:25px}.panel-body h2::after{display:none}
.panel-body>p:last-child{margin-bottom:0}
.price-callout{display:flex;align-items:center;gap:24px;margin:20px 0;padding:17px 0;border-block:1px solid var(--line)}
.price-callout span{font:600 36px Lora,serif;white-space:nowrap}.price-callout small{color:var(--muted)}
.conditions .panel-body{background:linear-gradient(0deg,#faf4e7bb,#faf4e7bb),url('assets/tierpension-bild-33-gr-large.jpg') right bottom/44% auto no-repeat}
.section-tint{background:linear-gradient(180deg,#f7efdf,#faf6ed)}
.photo-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:26px}
.photo-row img{width:100%;height:200px;object-fit:cover;border:6px solid white;box-shadow:0 4px 12px #51432e33}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px}
.contact-grid>*+*{border-left:1px dashed #c7baa3;padding-left:52px}
.contact-grid p{margin:0 0 14px}.contact-link{display:block;padding:8px 0;font-weight:700;font-size:19px;text-decoration:none;border-bottom:1px solid #dfd2bd}
.contact-link span{font-size:19px;margin-right:9px;color:var(--olive)}
.cta-band{position:relative;background:linear-gradient(180deg,#e6e9c7aa,#526e36aa),url('assets/top-950-katzenpension-nauck-5-large.jpg') center 65%/cover;text-align:center;padding:53px 20px;color:#fff}
.cta-band h2{margin:0 0 15px;font-size:29px;text-shadow:0 2px 6px #30451e}
.footer{background:#6b553d;color:#f8f0de;padding:19px 0;font-size:13px}.footer-inner{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.footer a{color:#fff3db;margin-left:16px}
.subhero{background:linear-gradient(90deg,#4c5c31c9,#4c5c31b0),url('assets/top-950-katzenpension-nauck-4-large.jpg') center/cover;color:white;padding:72px 0}.subhero h1{font-size:clamp(35px,5vw,56px);margin:0}.subhero p{margin:9px 0 0;font:italic 18px Lora,serif}
.subpage-content{width:min(820px,calc(100% - 48px));margin:55px auto 80px}.subpage-content .prose{background:#fffcf4;border:1px solid #e2d6c1;padding:clamp(22px,5vw,52px);box-shadow:0 8px 24px #7b69491a}.subpage-content .prose h2:first-child,.subpage-content .prose h3:first-child{margin-top:0}
@media(max-width:900px){.brand{font-size:18px}.site-nav{gap:17px}.site-nav a{font-size:13px}.feature{padding:0 14px}.intro-grid{gap:28px}}
@media(max-width:850px){.menu-button{display:block}.site-nav{display:none;position:absolute;top:76px;left:0;right:0;padding:14px 24px 22px;background:#fffaf0;box-shadow:0 8px 18px #51442a2b;flex-direction:column;align-items:flex-start;gap:0}.site-nav.open{display:flex}.site-nav a{display:block;padding:9px 0;font-size:15px}.site-nav a.active::after{bottom:6px}}
@media(max-width:700px){.wrap{width:min(100% - 32px,1120px)}.header-inner{min-height:65px}.menu-button{display:block}.site-nav{display:none;position:absolute;top:64px;left:0;right:0;padding:14px 24px 22px;background:#fffaf0;box-shadow:0 8px 18px #51442a2b;flex-direction:column;align-items:flex-start;gap:0}.site-nav.open{display:flex}.site-nav a{display:block;padding:9px 0;font-size:15px}.site-nav a.active::after{bottom:6px}.hero{min-height:590px;align-items:end;background-position:33% center}.hero::before{background:linear-gradient(0deg,#1f371de0,transparent 68%)}.hero-copy{width:100%;margin:0 auto;padding:0 28px 43px}.hero h1{font-size:38px}.hero-sub{font-size:18px}.feature-grid{grid-template-columns:1fr;padding:8px 0}.feature,.feature:first-child,.feature:last-child{padding:13px 0;border-right:0;border-bottom:1px solid var(--line)}.feature:last-child{border-bottom:0}.feature-icon{width:47px;height:47px;font-size:24px}.section{padding:42px 0}.intro-grid,.cards-grid,.contact-grid{grid-template-columns:1fr;gap:25px}.photo-frame img{height:250px}.contact-grid>*+*{border-left:0;border-top:1px dashed #c7baa3;padding:26px 0 0}.photo-row{grid-template-columns:1fr 1fr}.photo-row img{height:150px}}
@media(max-width:440px){.brand{font-size:16px}.brand-logo{width:38px;height:48px}.hero h1{font-size:34px}.photo-row{grid-template-columns:1fr}.photo-row img{height:210px}.footer a{margin-left:0;margin-right:15px}}
