:root{--bg:#141414;--bg2:#1a1a19;--fg:#f4f2ee;--muted:#a29e96;--line:#2e2e2d;--accent:#cfc8bb;--accent2:#ffffff}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:70px}
body{margin:0;background:var(--bg);color:var(--fg);font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;line-height:1.7;-webkit-font-smoothing:antialiased}
a{color:var(--accent)}
img{max-width:100%}
.wrap{max-width:1000px;margin:0 auto;padding:0 22px}
.wrap.wide{max-width:1240px}
/* nav */
nav{position:fixed;top:0;left:0;right:0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:16px clamp(18px,4vw,48px);transition:background .3s,padding .3s,border-color .3s;border-bottom:1px solid transparent}
nav.solid{background:rgba(20,20,20,.88);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-color:var(--line);padding-top:11px;padding-bottom:11px}
.brand{flex:none;display:block;line-height:0;opacity:0;transform:translateY(-6px);pointer-events:none;transition:opacity .35s,transform .35s}
nav.solid .brand{opacity:1;transform:none;pointer-events:auto}
.brand img{height:34px;width:auto;display:block;transition:height .3s}
.brand:hover img{opacity:.85}
@media (max-width:760px){.brand img{height:26px}nav{gap:12px}.links{gap:12px}.links a{font-size:.68rem;letter-spacing:.08em}.links a[href="#material"]{display:none}}
.links{display:flex;gap:clamp(14px,3vw,34px)}
.links a{color:var(--fg);text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;position:relative;padding:4px 0}
.links a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.links a:hover::after{transform:scaleX(1)}
/* hero */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;justify-content:center;text-align:center;padding:90px 22px 70px;background:#141414;overflow:hidden}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,20,20,.55),rgba(20,20,20,.78) 70%,var(--bg))}
.slides,.slides i{position:absolute;inset:0}
.slides i{background-size:cover;background-position:center;opacity:0;transition:opacity 1.6s ease;transform:scale(1.04)}
.slides i.on{opacity:1;animation:kb 12s ease-out forwards}
@keyframes kb{from{transform:scale(1.04)}to{transform:scale(1.14)}}
.hero-in,.down{position:relative;z-index:2}
.down{position:absolute}
.hero-in{max-width:640px;animation:up 1s ease both}
.logo{display:block;width:min(300px,64vw);height:auto;margin:0 auto 26px;filter:drop-shadow(0 4px 24px rgba(0,0,0,.5))}
.tag{color:#e6e1d8;font-size:clamp(1rem,2.2vw,1.2rem);letter-spacing:.04em;margin:0 0 30px}
.btn{display:inline-block;padding:13px 34px;border:1px solid var(--accent);color:var(--fg);text-decoration:none;text-transform:uppercase;letter-spacing:.14em;font-size:.82rem;transition:background .25s,color .25s}
.btn:hover{background:var(--accent);color:#141414}
.down{position:absolute;bottom:26px;left:50%;width:26px;height:42px;margin-left:-13px;border:1.5px solid rgba(255,255,255,.55);border-radius:14px}
.down span{position:absolute;left:50%;top:8px;width:3px;height:8px;margin-left:-1.5px;background:#fff;border-radius:2px;animation:dot 1.8s infinite}
@keyframes dot{0%{opacity:0;transform:translateY(0)}30%{opacity:1}100%{opacity:0;transform:translateY(14px)}}
@keyframes up{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
/* sections */
section{padding:clamp(64px,9vw,112px) 0}
.eyebrow{text-align:center;color:var(--accent);text-transform:uppercase;letter-spacing:.28em;font-size:.74rem;margin:0 0 10px}
h1,h2{text-transform:uppercase;letter-spacing:.08em;font-weight:700;margin:0 0 36px}
h1{font-size:1.5rem;text-align:center}
h2{font-size:clamp(1.6rem,3.6vw,2.3rem);text-align:center;position:relative;padding-bottom:22px}
h2::after{content:"";position:absolute;left:50%;bottom:0;width:48px;height:2px;margin-left:-24px;background:var(--accent)}
.cols{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(28px,5vw,64px);align-items:start}
.story p{color:#d4d0c8;margin:0 0 1.1em}
.story .lead{font-size:1.2rem;color:var(--fg);line-height:1.55}
.facts{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.facts li{background:var(--bg2);border:1px solid var(--line);border-left:3px solid var(--accent);padding:16px 18px}
.facts b{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:.85rem;margin-bottom:2px}
.facts span{color:var(--muted);font-size:.92rem;line-height:1.5;display:block}
#galerie{background:var(--bg2)}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.gallery a{position:relative;display:block;aspect-ratio:1/1;overflow:hidden;background:#222}
.gallery img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease,filter .4s}
.gallery a:hover img{transform:scale(1.07);filter:brightness(.75)}
.gallery span{position:absolute;left:0;right:0;bottom:0;padding:34px 16px 14px;font-size:.88rem;line-height:1.35;background:linear-gradient(transparent,rgba(0,0,0,.8));opacity:0;transform:translateY(8px);transition:.35s;color:#fff}
.gallery a:hover span,.gallery a:focus-visible span{opacity:1;transform:none}
.gallery a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.contact{text-align:center}
.intro{color:var(--muted);max-width:560px;margin:-10px auto 36px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}
.card{display:block;background:var(--bg2);border:1px solid var(--line);padding:26px 18px;text-decoration:none;color:var(--fg);transition:border-color .25s,transform .25s}
.card:hover{border-color:var(--accent);transform:translateY(-3px)}
.card small{display:block;color:var(--accent);text-transform:uppercase;letter-spacing:.2em;font-size:.7rem;margin-bottom:6px}
.card b{font-weight:600;font-size:1.02rem;word-break:break-word}
.place{color:var(--muted);margin:30px 0 0}
footer{border-top:1px solid var(--line);padding:28px 20px;text-align:center;color:var(--muted);font-size:.9rem}
footer p{margin:0 0 8px}
footer a{color:var(--muted);margin:0 12px;text-decoration:none}
footer a:hover{color:var(--accent)}
.rv{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.rv.in{opacity:1;transform:none}
.legal{max-width:800px;margin:0 auto;padding:40px 20px 60px}
.legal h1{text-align:left}
.legal h2{text-align:left;font-size:1.2rem;margin-top:2em}
.legal h3{font-size:1.02rem;margin:1.5em 0 .4em}
.legal .back{display:inline-block;margin-bottom:20px}
.eyebrow.left{text-align:left}
.materials{padding:0;background:var(--bg)}
.split{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;min-height:520px}
.split figure{margin:0;overflow:hidden;min-height:340px}
.split figure img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.2s ease}
.split:hover figure img{transform:scale(1.04)}
.split .txt{display:flex;flex-direction:column;justify-content:center;padding:clamp(32px,6vw,90px);max-width:640px}
.split.rev figure{order:2}
.split h3{font-size:clamp(1.5rem,3vw,2.2rem);text-transform:uppercase;letter-spacing:.06em;margin:0 0 16px}
.split .txt p{color:#d4d0c8}
.filters{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:-8px 0 28px}
.filters button{background:none;border:1px solid var(--line);color:var(--muted);padding:9px 20px;text-transform:uppercase;letter-spacing:.12em;font-size:.76rem;cursor:pointer;transition:.25s}
.filters button:hover{color:var(--fg);border-color:var(--accent)}
.filters button.on{background:var(--accent);border-color:var(--accent);color:#141414;font-weight:600}
@media (max-width:760px){.split,.split.rev{grid-template-columns:1fr}.split.rev figure{order:0}.split{min-height:0}.split .txt{padding:32px 22px 48px;max-width:none}}
/* lightbox */
#lb{position:fixed;inset:0;background:rgba(8,8,8,.95);display:none;align-items:center;justify-content:center;z-index:30}
#lb.on{display:flex}
#lb figure{margin:0;text-align:center;max-width:92vw}
#lb img{max-width:92vw;max-height:82vh;display:block;margin:0 auto}
#lb figcaption{color:#cfcabf;margin-top:12px;font-size:.95rem;padding:0 10px}
#lb button{position:absolute;background:none;border:0;color:#fff;cursor:pointer;font-size:2.6rem;line-height:1;padding:14px 18px;opacity:.75}
#lb button:hover{opacity:1;color:var(--accent2)}
#lb .x{top:6px;right:8px}#lb .p{left:6px;top:50%;transform:translateY(-50%)}#lb .n{right:6px;top:50%;transform:translateY(-50%)}
@media (max-width:760px){.cols{grid-template-columns:1fr}.links a{font-size:.72rem}.gallery{grid-template-columns:repeat(2,1fr);gap:8px}.gallery span{display:none}#lb .p,#lb .n{top:auto;bottom:10px;transform:none}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}.rv{opacity:1;transform:none}}
