:root{
  --forest:#173d2b;
  --forest-deep:#102d20;
  --forest-soft:#315d47;
  --cream:#f3eee0;
  --chalk:#fbfaf4;
  --sage:#dfe5dc;
  --gold:#c8a765;
  --gold-light:#ead7a8;
  --plum:#651b3e;
  --ink:#23342e;
  --muted:#6f756f;
  --serif:Georgia,"Times New Roman",serif;
  --sans:"Avenir Next",Avenir,"Helvetica Neue",Arial,sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--chalk);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6}
a{color:inherit}
img{display:block;max-width:100%}
button{font:inherit}
.skip-link{position:fixed;z-index:100;left:16px;top:-100px;padding:10px 16px;background:#fff;color:#111}.skip-link:focus{top:16px}
.section-shell{width:min(1180px,calc(100% - 48px));margin-inline:auto}

.landscape-hero{position:relative;height:clamp(300px,29vw,470px);overflow:visible;border-bottom:1px solid var(--gold);background:#cdd9df;isolation:isolate}
.landscape-picture,.landscape-shade{position:absolute;inset:0;width:100%;height:100%}
.landscape-picture{z-index:-2;object-fit:cover;object-position:center center}
.landscape-shade{z-index:-1;background:linear-gradient(180deg,rgba(8,31,22,.24),transparent 44%,rgba(8,31,22,.2)),linear-gradient(90deg,rgba(10,35,24,.15),transparent 35% 72%,rgba(10,35,24,.12))}
.landscape-hero::after{content:"";position:absolute;inset:14px;border:1px solid rgba(234,215,168,.82);pointer-events:none}
.brand-arch{position:absolute;z-index:6;left:4vw;bottom:clamp(-76px,-4.8vw,-48px);width:clamp(235px,21vw,325px);text-decoration:none;filter:drop-shadow(0 17px 30px rgba(21,40,31,.2))}
.brand-arch img{width:100%}
.place-label{position:absolute;z-index:3;left:4.2vw;top:2.7vw;margin:0;padding:9px 13px;border:1px solid rgba(255,255,255,.6);border-radius:0;background:linear-gradient(135deg,rgba(244,250,250,.9),rgba(207,226,233,.88));color:var(--forest);font-size:9px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;backdrop-filter:blur(8px);box-shadow:0 10px 24px rgba(21,40,31,.12)}

.menu-cluster{position:absolute;z-index:10;top:2.7vw;right:4vw}
.crest-trigger{position:relative;z-index:2;width:94px;height:94px;display:grid;place-items:center;padding:10px;border:1px solid rgba(234,215,171,.96);border-radius:50%;background:radial-gradient(ellipse at 42% 35%,#4f765f 0,#244c38 54%,#143524 100%);box-shadow:0 16px 42px rgba(5,17,25,.27),inset 0 0 0 5px rgba(20,53,36,.86),inset 0 0 0 6px rgba(208,171,102,.8);cursor:pointer;transition:.25s ease}
.crest-trigger img{position:absolute;top:4px;width:53px;height:68px;object-fit:contain;object-position:center top;clip-path:inset(0 0 15% 0);filter:grayscale(1) invert(1) contrast(2.2) drop-shadow(1px 1px 0 rgba(0,0,0,.72));opacity:.88}
.crest-trigger::after{content:"";position:absolute;left:22px;right:22px;bottom:27px;height:1px;background:linear-gradient(90deg,transparent,var(--gold-light) 20% 80%,transparent)}
.crest-trigger span{position:absolute;bottom:12px;color:#fffdf8;font:600 10px/1 var(--serif);letter-spacing:.18em;text-transform:uppercase;text-indent:.18em;text-shadow:1px 1px 0 #07120d}
.crest-trigger:hover,.crest-trigger:focus-visible,.menu-cluster[data-open="true"] .crest-trigger{transform:translateY(-2px);box-shadow:0 18px 45px rgba(5,17,25,.36),inset 0 0 0 5px rgba(20,53,36,.86),inset 0 0 0 6px rgba(234,215,171,.96)}
.crest-menu{position:absolute;top:82px;right:6px;width:235px;padding:24px 14px 14px;display:grid;visibility:hidden;opacity:0;transform:translateY(-10px) scale(.96);transform-origin:top right;border:1px solid rgba(208,171,102,.84);border-radius:20px 5px 20px 20px;background:rgba(13,42,30,.97);box-shadow:0 25px 50px rgba(4,15,24,.3);backdrop-filter:blur(12px);transition:.24s ease}
.crest-menu a{padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.1);color:#fffdf8;font:400 15px/1.25 var(--serif);text-decoration:none;transition:.2s ease}
.crest-menu a:last-child{border-bottom:0}.crest-menu a:hover,.crest-menu a:focus-visible,.crest-menu a[aria-current="page"]{color:var(--gold-light);background:rgba(255,255,255,.045);outline:0}
.menu-cluster:hover .crest-menu,.menu-cluster:focus-within .crest-menu,.menu-cluster[data-open="true"] .crest-menu{visibility:visible;opacity:1;transform:none}

.welcome{padding:clamp(85px,10vw,145px) 0 clamp(80px,9vw,125px);display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(50px,9vw,130px);align-items:end}
.section-kicker{display:flex;align-items:center;gap:14px;margin:0 0 26px;color:var(--forest);font-size:10px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.section-kicker span{display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(23,61,43,.55);border-radius:50%;font:600 9px var(--sans)}
.section-kicker.light{color:var(--gold-light)}.section-kicker.light span{border-color:rgba(234,215,168,.66)}
.welcome h1,.contact-heading h2,.arrival h2{margin:0;color:var(--forest);font:400 clamp(52px,6vw,88px)/.94 var(--serif);letter-spacing:-.045em}
.welcome-copy{padding-bottom:7px}.welcome-copy .lead{margin:0 0 24px;color:var(--forest);font:italic 400 clamp(23px,2.2vw,31px)/1.35 var(--serif)}
.welcome-copy>p:last-child{margin:0;color:#66716b;font-size:15px;line-height:1.85}

.contact-band{position:relative;overflow:hidden;color:#f9f5ea;background:linear-gradient(135deg,#143927,#214b36 64%,#315d47);border-block:1px solid var(--gold);isolation:isolate}
.contact-band::before{content:"";position:absolute;right:-7vw;bottom:-20vw;width:min(600px,48vw);aspect-ratio:1;background:url('assets/windrad-wappen-original.png') center/contain no-repeat;filter:grayscale(1) invert(1);opacity:.045;pointer-events:none}
.contact-band-inner{padding:clamp(80px,9vw,130px) 0;display:grid;grid-template-columns:.76fr 1.24fr;gap:clamp(45px,7vw,100px);align-items:start}
.contact-heading h2{color:#fffdf8;font-size:clamp(46px,5vw,70px)}
.contact-heading>p:last-child{max-width:440px;margin:27px 0 0;color:rgba(255,255,255,.69);font-size:14px;line-height:1.8}
.contact-details{position:relative;align-self:center;display:grid;grid-template-columns:.68fr 1.32fr;padding-block:34px;border-block:1px solid rgba(234,215,168,.58)}
.contact-details::after{content:"";position:absolute;left:31.8%;top:50%;width:7px;height:7px;border:1px solid var(--gold);transform:translate(-50%,-50%) rotate(45deg);background:var(--forest-soft)}
.contact-detail{min-width:0;padding-inline:0 34px}
.contact-detail+.contact-detail{padding:0 0 0 44px;border-left:1px solid rgba(234,215,168,.36)}
.card-label{margin:0 0 14px;color:var(--gold-light);font-size:9px;font-weight:900;letter-spacing:.17em;text-transform:uppercase}
.contact-detail a{display:block;width:max-content;max-width:100%;color:#fffdf8;font:400 clamp(20px,1.7vw,28px)/1.25 var(--serif);text-decoration:none}
.contact-detail a::after{content:"";display:block;width:0;height:1px;margin-top:5px;background:var(--gold);transition:width .25s ease}.contact-detail a:hover::after,.contact-detail a:focus-visible::after{width:100%}
.contact-detail-email a{white-space:nowrap;font-size:clamp(17px,1.48vw,24px)}

.arrival{padding:clamp(90px,10vw,150px) 0;display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(45px,7vw,95px);align-items:stretch}
.arrival h2{font-size:clamp(48px,5.4vw,76px)}
.arrival-intro{max-width:520px;margin:28px 0 0;color:#66716b;font-size:15px;line-height:1.75}
.arrival address{margin:32px 0 34px;padding-left:24px;border-left:2px solid var(--gold);display:flex;flex-direction:column;color:#5e6a64;font-style:normal;line-height:1.65}.arrival address strong{margin-bottom:6px;color:var(--forest);font-family:var(--serif);font-size:19px}
.route-button{display:inline-flex;align-items:center;gap:34px;padding:16px 22px;border:1px solid var(--forest);color:var(--forest);font-size:10px;font-weight:900;letter-spacing:.14em;text-decoration:none;text-transform:uppercase;transition:.22s ease}.route-button span{font:24px/1 var(--serif)}.route-button:hover,.route-button:focus-visible{background:var(--forest);color:#fffdf8;outline:0}
.route-note{max-width:460px;margin:15px 0 0;color:#899089;font-size:10px}
.visit-note{position:relative;min-height:0;margin:60px 0 29px;padding:68px 56px;display:flex;align-items:flex-end;overflow:hidden;border:1px solid rgba(200,167,101,.9);background:radial-gradient(ellipse at 47% 34%,#3f6a52 0,#214b36 56%,#143524 100%);color:#fffdf8;box-shadow:0 24px 60px rgba(24,54,38,.15)}
.visit-note::after{content:"";position:absolute;inset:9px;border:1px solid rgba(234,215,168,.48);pointer-events:none}
.visit-note>img{position:absolute;width:86%;right:-16%;top:-18%;filter:grayscale(1) invert(1) contrast(1.5);opacity:.09}
.visit-note>div{position:relative;z-index:1}.visit-note p{margin:0 0 10px;color:var(--gold-light);font-size:9px;font-weight:900;letter-spacing:.17em;text-transform:uppercase}.visit-note h3{max-width:430px;margin:0 0 22px;font:400 clamp(38px,3.35vw,52px)/1 var(--serif)}.visit-note span{display:block;max-width:430px;color:rgba(255,255,255,.72);font-size:15px;line-height:1.75}

footer{padding:34px clamp(24px,5vw,72px);display:flex;align-items:center;justify-content:space-between;gap:30px;color:#fffdf8;background:var(--forest-deep);border-top:1px solid var(--gold)}
.footer-brand{display:flex;align-items:center;gap:18px;text-decoration:none}.footer-brand>img{width:58px;height:70px;object-fit:contain;filter:grayscale(1) invert(1) contrast(1.8);opacity:.68}.footer-brand>span{display:flex;flex-direction:column}.footer-brand strong{font:400 26px var(--serif)}.footer-brand small{font-size:8px;letter-spacing:.16em;text-transform:uppercase;opacity:.66}
.footer-links{display:flex;gap:24px}.footer-links a{color:var(--gold-light);font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}

@media(max-width:900px){
  .brand-arch{left:28px;top:auto;bottom:-56px;width:265px}.menu-cluster{top:26px;right:28px}.place-label{left:28px;top:26px}.welcome,.contact-band-inner,.arrival{grid-template-columns:1fr}.welcome{gap:34px;padding-top:145px}.contact-band-inner{gap:55px}.arrival{gap:60px}.contact-heading>p:last-child{max-width:640px}.visit-note{min-height:410px;margin:0}.landscape-hero{height:360px}
}

@media(max-width:620px){
  body{font-size:14px}.section-shell{width:calc(100% - 34px)}.landscape-hero{height:310px}.landscape-hero::after{inset:7px}.landscape-picture{object-position:54% center}.landscape-shade{background:linear-gradient(180deg,rgba(8,31,22,.22),transparent 50%,rgba(8,31,22,.18))}.brand-arch{left:18px;top:auto;bottom:-42px;width:205px}.menu-cluster{top:18px;right:18px}.crest-trigger{width:76px;height:76px}.crest-trigger img{width:43px;height:55px}.crest-trigger::after{left:18px;right:18px;bottom:22px}.crest-trigger span{bottom:10px;font-size:8px}.crest-menu{top:67px;width:205px}.place-label{left:18px;top:18px;bottom:auto;padding:9px 12px;font-size:7px}.welcome{padding:125px 0 70px}.welcome h1{font-size:48px}.welcome-copy .lead{font-size:23px}.contact-band-inner{padding:75px 0}.contact-heading h2,.arrival h2{font-size:43px}.contact-details{grid-template-columns:1fr;padding-block:0}.contact-details::after{display:none}.contact-detail{padding:24px 0}.contact-detail+.contact-detail{padding-left:0;border-left:0;border-top:1px solid rgba(234,215,168,.42)}.contact-detail a{font-size:23px}.contact-detail-email a{font-size:clamp(16px,5.1vw,22px)}.arrival{padding:80px 0}.visit-note{min-height:365px;margin:0;padding:48px 34px}.visit-note h3{font-size:40px}.visit-note span{font-size:14px}footer{align-items:flex-start;flex-direction:column}.footer-links{width:100%;padding-top:20px;border-top:1px solid rgba(255,255,255,.12)}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.crest-trigger,.crest-menu,.contact-detail a::after,.route-button{transition:none}}
