@theme {
--color-primary:#52634a; --color-background:#f7f4ed; --color-neutral:#343a30;
--color-secondary:#67695f; --color-secondary-200:#deded2; --color-secondary-500:#67695f;
--font-sans:"Trebuchet MS",sans-serif; --font-serif:Georgia,serif;
}
@layer base {
*{box-sizing:border-box}body.sonnenwald{margin:0;background:#f7f4ed;color:#343a30;font:17px/1.75 "Trebuchet MS",sans-serif}
h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.12;letter-spacing:-.035em;color:#433c2f}
h1{font-size:clamp(48px,5.6vw,82px)}h2{font-size:clamp(36px,4vw,54px)}h3{font-size:32px}
a{color:inherit;text-decoration:none}p{margin:0 0 20px}img{display:block;max-width:100%;height:auto}
button,input,select{font:inherit}a:focus-visible,summary:focus-visible{outline:3px solid #b48d42;outline-offset:5px}
section{scroll-margin-top:110px}html{scroll-behavior:smooth}
}
@layer components {
.wrap{width:min(1180px,calc(100% - 64px));margin:auto}
.skip{position:absolute;left:20px;top:-100px;z-index:100;background:white;padding:10px}.skip:focus{top:0}
.site-header{background:#f7f4ed;border-bottom:1px solid #e7e2d6}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:110px}
.brand{display:flex;align-items:center;gap:12px}.brand svg{width:54px}.brand span{font:29px/1.2 Georgia,serif;color:#433c2f}.brand small{display:block;font:9px/1.5 "Trebuchet MS",sans-serif;letter-spacing:1.8px;margin-top:6px}
nav{display:flex;gap:26px;font-size:14px}nav a:hover{text-decoration:underline}
.button{display:inline-flex;align-items:center;justify-content:center;padding:14px 25px;border-radius:5px;background:#52634a;color:#fff;font-size:15px;line-height:1.5;transition:background .2s}.button:hover{background:#3b4b35}.button.small{padding:12px 18px;font-size:13px}
.eyebrow{display:block;color:#7d754f;letter-spacing:2.5px;font-size:11px;text-transform:uppercase;margin-bottom:20px}
.hero{position:relative;min-height:670px;display:flex;align-items:center;overflow:hidden;background:#273b28}
.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,30,17,.8),rgba(20,30,17,.36) 57%,rgba(20,30,17,.05))}
.hero-copy{position:relative;z-index:1;padding-top:50px;padding-bottom:65px}.hero h1{color:#fffdf6;max-width:680px;margin:0 0 24px}.hero .eyebrow{color:#e4d9b0}.hero p{color:#fffdf6;max-width:470px;font-size:19px;line-height:1.7}.hero .button{background:#f7f4ed;color:#35432f}.hero .button:hover{background:#e5e6d6}.hero-note{display:block;margin-top:28px;color:#eee9d8;font-size:12px;letter-spacing:1px}
.intro{text-align:center;padding:88px 0 75px;max-width:800px;margin:auto}.intro h2{margin:0 0 24px}.intro p{color:#67695f}
.facts{display:flex;justify-content:center;gap:40px;margin-top:30px;font-size:12px;letter-spacing:1px;color:#52634a}.facts span{border-bottom:1px solid #b2b79f;padding:0 0 7px}
.section{padding:80px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:38px}.section-head h2{margin:0}.section-head p{max-width:370px;margin:0;color:#67695f}
.apartments{background:#eeeede;border-top:1px solid #e0e0cf;border-bottom:1px solid #e0e0cf}
.cards{display:grid;grid-template-columns:1fr 1fr;gap:30px}.card{padding:42px;background:#fcfaf4;border-radius:8px;border:1px solid #dddecf}
.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.number{font:48px Georgia,serif;color:#a4ad95}.card-tag{font-size:11px;letter-spacing:1px;color:#747961}
.card h3{margin:0 0 8px;font-size:38px}.card .location{font-size:13px;color:#858773;display:block;margin-bottom:24px}
.card p{color:#67695f}.card details{margin:25px 0;padding:18px 0;border-top:1px solid #e1e0d3;border-bottom:1px solid #e1e0d3}.card summary{cursor:pointer;font-size:14px;color:#52634a}.card details p{font-size:14px;margin:15px 0 0}
.split{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:75px}.split-image{border-radius:8px;aspect-ratio:4/3;object-fit:cover;width:100%}.split h2{margin:0 0 24px}.split p{color:#67695f}.animal{display:flex;align-items:center;gap:20px;margin-top:28px}.animal img{width:110px;height:95px;border-radius:6px;object-fit:cover}.animal p{font-size:14px;margin:0}
.hof-gallery{background:#eeeede}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.gallery-grid figure{margin:0}.gallery-grid a{display:block;border-radius:8px;overflow:hidden}.gallery-grid img{width:100%;aspect-ratio:4/3;object-fit:cover}.gallery-grid figcaption{padding-top:12px;font-size:14px;color:#67695f}@media(max-width:900px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.gallery-grid{grid-template-columns:1fr;gap:24px}}
.arrival-panel{display:grid;grid-template-columns:2fr 1fr;gap:45px;padding:38px;background:#eeeede;border-radius:8px;margin-bottom:50px}.arrival-panel h3{margin:0 0 20px}.arrival-action{align-self:center}.excursion-heading{margin:0 0 28px}.excursion-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.excursion-grid article{padding:30px;border:1px solid #dddecf;border-radius:8px;background:#fcfaf4}.excursion-grid h3{font-size:27px;margin:0 0 18px}.excursion-grid .eyebrow{margin-bottom:14px}.excursion-grid p{color:#67695f}.excursion-grid p:last-child{margin-bottom:0}.text-link{color:#52634a;text-decoration:underline;text-underline-offset:4px}.small-note{font-size:14px}.surroundings .section-head p{max-width:390px}@media(max-width:1100px){nav{flex-wrap:wrap;justify-content:center;gap:16px}}@media(max-width:600px){.arrival-panel,.excursion-grid{grid-template-columns:1fr}.arrival-panel{padding:25px;gap:20px}.excursion-grid article{padding:25px}nav{gap:12px}}
.legal-page{max-width:860px;padding-top:65px;padding-bottom:75px}.legal-page h1{font-size:clamp(38px,6vw,60px);margin:0 0 38px;overflow-wrap:anywhere}.legal-content h2{font-size:28px;margin:38px 0 18px;letter-spacing:-.02em}.legal-content p{overflow-wrap:anywhere}.legal-content a{color:#52634a;text-decoration:underline;text-underline-offset:3px}.legal-content ul{padding-left:24px}.legal-content{margin-bottom:35px}
.quote{border-top:1px solid #e2dfd1;text-align:center;padding:40px 0;font:italic 28px/1.4 Georgia,serif;color:#6e765f}
.contact{background:#52634a;color:#faf8ef}.contact h2{color:#faf8ef;margin:0 0 24px}.contact .eyebrow{color:#ded7b5}.contact p{color:#e9ecdf}.contact-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:80px}
.contact-panel{background:#f7f4ed;border-radius:7px;color:#343a30;padding:34px}.contact-panel h3{font-size:26px;margin:0 0 14px}.contact-panel p{color:#67695f;font-size:15px}.contact-panel a{display:block;padding:10px 0;color:#52634a}.contact-panel a:hover{text-decoration:underline}.contact .address{font-size:14px;margin:35px 0 0;color:#e9ecdf}
.site-footer{padding:32px 0;color:#747467;font-size:12px}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:20px}.footer-links{display:flex;gap:25px}.footer-links a:hover{text-decoration:underline}
@media(max-width:900px){.header-inner{flex-wrap:wrap;padding:20px 0;gap:18px}.brand span{font-size:24px}nav{order:3;justify-content:center;width:100%;gap:25px}.hero{min-height:600px}.split{gap:35px}.contact-grid{gap:35px}.card{padding:28px}.card h3{font-size:32px}}
@media(max-width:600px){.wrap{width:calc(100% - 36px)}.header-inner>.button{font-size:11px;padding:10px}.brand svg{width:30px}.brand span{font-size:21px}.brand small{font-size:7px;letter-spacing:1px}nav{font-size:13px}.hero{min-height:580px}.hero h1{font-size:49px}.hero p{font-size:17px}.hero:after{background:rgba(20,30,17,.58)}.intro{padding:55px 18px}.facts{gap:15px;font-size:10px}.section{padding:55px 0}.section-head{display:block}.section-head p{margin-top:20px}.cards,.split,.contact-grid{grid-template-columns:1fr;gap:25px}.card{padding:28px}.split-image{aspect-ratio:4/3}.footer-inner{display:block}.footer-links{margin-top:15px}.quote{font-size:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
}