#preloader { background:#000000; flex-direction:column; gap:24px; transition:transform 1.1s cubic-bezier(.76,0,.24,1); }
.intro-logo { width:clamp(140px,19vw,218px); height:auto; object-fit:contain; opacity:0; transform:translateY(14px) scale(.96); transition:opacity .85s ease,transform 1.2s cubic-bezier(.2,.8,.2,1); }
.preloader.logo-visible .intro-logo { opacity:1; transform:translateY(0) scale(1); }
#preloader .pre-word { font-family:'Syne',Arial,sans-serif; font-size:2.6rem; font-weight:700; letter-spacing:-.02em; color:#fff; min-height:1.2em; opacity:0; transition:opacity 1.35s ease; }
#preloader.word-visible .pre-word { opacity:1; }
.pre-word .l { opacity:1; }
.pre-cursor { background:#f3d28c; width:2px; margin-left:7px; height:.8em; }
.intro-skip { position:absolute; bottom:32px; right:36px; color:#bcb7a9; padding:12px; border:1px solid #595649; border-radius:30px; font:12px Arial,sans-serif; cursor:pointer; }
.intro-replay { position:absolute; right:var(--gutter); bottom:38px; z-index:3; padding:11px 17px; border:1px solid #ffffff70; border-radius:999px; background:#09090988; color:#f3d28c; font:11px Arial,sans-serif; letter-spacing:.04em; cursor:pointer; backdrop-filter:blur(8px); }
.intro-replay:hover { border-color:#f3d28c; background:#090909cc; }
.preview-tools { position:fixed; bottom:18px; left:50%; transform:translateX(-50%); z-index:110; display:flex; align-items:center; gap:20px; background:#161b18ed; border:1px solid #79705a; color:#dedbd0; padding:10px 12px 10px 20px; border-radius:40px; font:12px Arial,sans-serif; box-shadow:0 8px 24px #0002; }
.preview-tools button { white-space:nowrap; background:#f3d28c; color:#191c18; padding:10px 16px; border-radius:24px; cursor:pointer; font-weight:600; }
body.intro-active .preview-tools { opacity:0; pointer-events:none; }
body.intro-active { overflow:hidden; }
.intro-skip:focus-visible,.intro-replay:focus-visible,.preview-tools button:focus-visible { outline:2px solid #f3d28c; outline-offset:4px; }
#gallery { display:none; }
@media(max-width:600px) { .preview-tools { width:calc(100% - 24px); gap:10px; padding-left:14px; box-sizing:border-box; } .preview-tools span { line-height:1.5; } .intro-skip { right:20px; bottom:24px; } .intro-replay { right:var(--gutter); bottom:40px; padding:10px 14px; } }
@media(prefers-reduced-motion:reduce) { #preloader,.intro-logo,#preloader .pre-word { transition:none; } .pre-cursor { animation:none; } }

/* Monochrome training hero. The original gold brand artwork stays untouched. */
html, body { background:#fff; color:#000; }
.hero { min-height:0; background:#fff; padding-bottom:48px; }
.house-wrap { position:relative; left:auto; bottom:auto; transform:none; min-width:0; width:100%; overflow:hidden; z-index:1; background:#000; }
.house-inner { transform:translateY(48px); opacity:0; }
.house-inner.lifting, .house-inner.lift-done { transform:translateY(0); opacity:1; transition:opacity 1.1s ease, transform 1.1s ease; }
.house-inner img { display:block; width:100%; height:clamp(300px,40vw,760px); object-fit:cover; object-position:58% center; transform-origin:center; }
.s2-outer { height:auto; background:#000; }
.s2-spacer { height:0; background:#000; }
.s2-section { position:relative; height:auto; min-height:420px; background:#000; }
.s2-content { padding-top:100px; padding-bottom:130px; }
.s2-statement { color:#fff; }
.s2-stats-row { color:#aaa; font-size:12px; letter-spacing:.08em; line-height:1.8; }
.menu { background:#fff; }
.menu a:hover { color:#777; }
.preview-tools { background:#111f; border-color:#555; color:#eee; }
.preview-tools button { background:#fff; color:#000; }
.intro-skip { color:#ddd; border-color:#555; }
.intro-skip:focus-visible,.intro-replay:focus-visible,.preview-tools button:focus-visible { outline-color:#fff; }
@media(max-width:600px) { .hero { padding-bottom:32px; } .house-inner img { height:390px; object-position:60% center; } .s2-content { padding-top:64px; padding-bottom:100px; } .s2-section { min-height:300px; } }
@media(prefers-reduced-motion:reduce) { .house-inner.lifting,.house-inner.lift-done { transition:none; } }
