/* Seestraße 61 — Basis: Reset, Loader, Reveal, Medien-Platzhalter */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;min-height:100vh;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,video,svg{display:block;max-width:100%}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
a{color:inherit}
h1,h2,h3,p,figure,blockquote{margin:0}
:focus-visible{outline:2px solid var(--focus,#B08D57);outline-offset:3px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:-9999px;top:0}
.skip:focus{left:16px;top:16px;z-index:3000;background:#fff;color:#1A1917;padding:12px 16px}

/* Preloader */
html.is-loading body{overflow:hidden}
.loader{position:fixed;inset:0;z-index:1000;transition:opacity .9s cubic-bezier(.22,1,.36,1),visibility 0s linear .9s}
html.is-loaded .loader{opacity:0;visibility:hidden;pointer-events:none}
html:not(.js) .loader{display:none}

/* Hero-Einstieg nach dem Loader */
html.js [data-intro]{opacity:0;transform:translateY(36px)}
html.is-loaded [data-intro]{opacity:1;transform:none;transition:opacity 1.2s cubic-bezier(.22,1,.36,1) var(--d,0s),transform 1.4s cubic-bezier(.22,1,.36,1) var(--d,0s)}

/* Scroll-Reveal */
html.js [data-reveal]{opacity:0;transform:translateY(28px);transition:opacity 1s cubic-bezier(.22,1,.36,1) var(--d,0s),transform 1.2s cubic-bezier(.22,1,.36,1) var(--d,0s)}
html.js [data-reveal].is-in{opacity:1;transform:none}

/* Medien: Video über animiertem Platzhalter */
.media{position:relative;overflow:hidden;background:var(--media-bg,#2A2724)}
.media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.2s ease}
.media video.is-ready{opacity:1}
.media-fallback{position:absolute;inset:0;overflow:hidden;background:var(--media-bg,#2A2724)}
.media-fallback::before{content:"";position:absolute;inset:-20% -10%;background:repeating-linear-gradient(0deg,rgba(255,255,255,var(--line-a,.05)) 0 1px,transparent 1px 9px);animation:s61-drift 14s ease-in-out infinite alternate}
.media-fallback::after{content:attr(data-label);position:absolute;left:16px;top:14px;right:16px;font:500 10px/1.4 system-ui,sans-serif;letter-spacing:.22em;text-transform:uppercase;color:var(--media-label,#C9A45C);opacity:.85}
@keyframes s61-drift{from{transform:translateY(0) scaleY(1)}to{transform:translateY(6%) scaleY(1.08)}}
.ph{position:relative;background:var(--ph,#D8CAB2)}
.ph::after{content:attr(data-label);position:absolute;left:14px;bottom:12px;font:500 10px/1.4 system-ui,sans-serif;letter-spacing:.22em;text-transform:uppercase;color:rgba(26,25,23,.62)}

/* Extras: Umschalt-Beschriftung */
[data-extra] .on{display:none}
[data-extra].is-selected .on{display:inline}
[data-extra].is-selected .off{display:none}
[data-success][hidden]{display:none}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0s!important;scroll-behavior:auto!important}
}
