:root{--ink:#16120f;--paper:#f5f0e7;--red:#a61635;--dark:#741022;--gold:#f4c36f}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}
a{color:inherit}
h1,h2,h3,p{margin-top:0}
.hero{position:relative;min-height:78svh;display:flex;align-items:center;isolation:isolate;overflow:hidden;padding:5rem clamp(1.5rem,6vw,6rem);color:#fff;background:url("../img/wasserfall.jpg") center/cover no-repeat}
.hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,20,13,.88),rgba(10,20,13,.58) 50%,rgba(10,20,13,.12)),linear-gradient(0deg,rgba(4,8,5,.45),transparent 55%)}
.brand{position:absolute;top:2rem;left:clamp(1.5rem,6vw,6rem);display:flex;align-items:center;gap:.8rem;font-weight:700}
.brand b{display:grid;place-items:center;width:2.8rem;aspect-ratio:1;border:1px solid #ffffffb8;border-radius:50%;color:var(--gold);font-size:.68rem;letter-spacing:.12em}
.hero-copy{width:min(47rem,100%)}
.eyebrow{margin-bottom:1rem;color:var(--gold);font-size:.75rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase}
.eyebrow.red{color:var(--red)}
h1{max-width:13ch;margin-bottom:1.5rem;font:500 clamp(3.1rem,7.5vw,7rem)/.96 Georgia,serif;letter-spacing:-.045em}
.intro{max-width:35rem;margin-bottom:2rem;color:#ffffffe0;font-size:clamp(1.05rem,2vw,1.28rem);line-height:1.65}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:3.4rem;padding:.9rem 1.45rem;border:1px solid var(--red);border-radius:999px;background:var(--red);color:#fff;font-weight:700;text-decoration:none;transition:.18s}
.button:hover,.button:focus{transform:translateY(-2px);background:var(--dark);outline:0}
.hint{position:absolute;right:clamp(1.5rem,6vw,6rem);bottom:2rem;color:#ffffffbd;font-size:.76rem;letter-spacing:.12em;text-transform:uppercase}
.info{padding:clamp(4rem,9vw,8rem) clamp(1.5rem,6vw,6rem)}
.heading{display:grid;grid-template-columns:minmax(15rem,.8fr) minmax(18rem,1fr);gap:0 4rem;max-width:80rem;margin:0 auto 3rem}
.heading .eyebrow{grid-column:1/-1}
.heading h2,.flyer-copy h2{font:500 clamp(2.5rem,5vw,4.6rem)/1 Georgia,serif;letter-spacing:-.035em}
.heading>p:last-child,.flyer-copy>p{color:#665f58;font-size:1.05rem;line-height:1.75}
.grid{display:grid;grid-template-columns:1.25fr .9fr;gap:1.25rem;max-width:80rem;margin:auto}
.schedule,.contact,.quote{border-radius:1.5rem}
.schedule{grid-row:span 2;padding:clamp(1.6rem,4vw,3rem);background:#fff;box-shadow:0 1.4rem 4rem #2b1f1214}
.schedule h3,.contact h3{margin-bottom:2rem;font:500 1.75rem Georgia,serif}
.day{padding:1.25rem 0;border-top:1px solid #ddd4c7}
.day>strong{display:block;margin-bottom:.8rem;color:var(--red);font-size:.78rem;letter-spacing:.13em;text-transform:uppercase}
.day p{display:flex;justify-content:space-between;gap:1.5rem;margin-bottom:.5rem}
.day time{white-space:nowrap;font-weight:700}
.contact{padding:clamp(1.6rem,4vw,2.6rem);background:var(--red);color:#fff}
.contact small{color:#f2bf75;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.contact h3{margin:.7rem 0 .35rem}
.contact>p{color:#ffffffb8}
.contact>a{display:inline-block;margin:.8rem 0 2rem;font-weight:700;text-underline-offset:.25rem}
.location{padding-top:1.5rem;border-top:1px solid #ffffff40}
.location strong{display:block;margin-bottom:.55rem}
.location address{color:#ffffffd1;font-style:normal;line-height:1.6}
.quote{padding:2.2rem;background:#1d251f;color:#fff;font:italic clamp(1.2rem,2.5vw,1.65rem)/1.5 Georgia,serif}
.flyer{display:grid;grid-template-columns:minmax(18rem,.8fr) minmax(20rem,1fr);align-items:center;gap:clamp(2rem,7vw,7rem);padding:clamp(4rem,9vw,8rem) clamp(1.5rem,8vw,8rem);background:var(--dark);color:#fff}
.flyer-copy{max-width:34rem;justify-self:end}
.flyer-copy>p{margin-bottom:2rem;color:#ffffffc7}
.button.light{border-color:#fff;background:#fff;color:var(--dark)}
.flyer-image{display:block;width:min(28rem,100%);transition:.22s}
.flyer-image:hover,.flyer-image:focus{transform:translateY(-4px);outline:0}
.flyer-image img{display:block;width:100%;height:auto;border:.55rem solid #fff;box-shadow:0 2rem 5rem #14040761;transform:rotate(1.8deg)}
footer{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem 2rem;padding:1.6rem clamp(1.5rem,6vw,6rem);background:#111713;color:#ffffffb3;font-size:.85rem}
footer strong{color:#fff}
footer span{margin-left:auto}
@media(max-width:760px){
  .hero{min-height:88svh;align-items:flex-end;padding-bottom:6rem;background-position:58% center}
  .hero:before{background:linear-gradient(0deg,rgba(7,14,9,.92),rgba(7,14,9,.6) 65%,rgba(7,14,9,.16))}
  h1{font-size:clamp(3rem,15vw,5.4rem)}
  .hint{left:1.5rem;right:auto}
  .heading,.grid,.flyer{grid-template-columns:1fr}
  .heading{gap:1rem}
  .day p{align-items:baseline;font-size:.9rem}
  .flyer-copy{justify-self:start}
  .flyer-image{margin:1rem auto 0}
  footer span{width:100%;margin-left:0}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.flyer-image{transition:none}}
