:root{
  --bg:#050505;
  --panel:#0d0d0d;
  --soft:#151515;
  --text:#f5f1e8;
  --muted:#a9a49a;
  --line:rgba(245,241,232,.14);
  --gold:#d7b15f;
  --green:#12362c;
  --glow:rgba(215,177,95,.25);
  --radius:26px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
body{margin:0;background:radial-gradient(circle at 20% 0%,rgba(215,177,95,.1),transparent 28%),radial-gradient(circle at 80% 10%,rgba(18,54,44,.75),transparent 30%),var(--bg);color:var(--text);font-family:Inter,Arial,Helvetica,sans-serif;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img,video{max-width:100%;display:block}
.grain{position:fixed;inset:0;pointer-events:none;z-index:2;opacity:.18;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 220 220' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.32'/%3E%3C/svg%3E")}
.progress{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,#fff,var(--gold));z-index:50;box-shadow:0 0 20px var(--glow)}
.cursor-glow{position:fixed;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(215,177,95,.14),transparent 65%);pointer-events:none;z-index:0;transform:translate(-50%,-50%);filter:blur(6px)}
.topbar{position:fixed;top:18px;left:50%;transform:translateX(-50%);width:min(1180px,calc(100% - 28px));height:62px;display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:rgba(5,5,5,.62);border:1px solid var(--line);border-radius:999px;backdrop-filter:blur(22px);z-index:40;box-shadow:0 10px 50px rgba(0,0,0,.35)}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;font-size:13px}
.brand img{width:40px;height:40px;object-fit:contain;border-radius:50%;filter:drop-shadow(0 0 16px rgba(255,255,255,.15))}
nav{display:flex;gap:22px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
nav a:hover{color:var(--text)}
.lang{border:1px solid var(--line);background:rgba(255,255,255,.06);color:var(--text);border-radius:999px;padding:10px 14px;cursor:pointer;font-weight:700}
.section{position:relative;z-index:1;padding:110px 5vw}
.hero{min-height:100svh;display:grid;align-items:end;padding-top:120px;overflow:hidden}
.hero-bg{position:absolute;inset:0;z-index:-2;opacity:.65;transform:scale(1.08)}
.hero-bg video{width:100%;height:100%;object-fit:cover;filter:saturate(.78) contrast(1.1) brightness(.72)}
.hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.3),rgba(0,0,0,.72) 55%,#050505 100%),radial-gradient(circle at 78% 25%,rgba(215,177,95,.18),transparent 32%)}
.hero-content{width:min(980px,100%);padding-bottom:100px}
.eyebrow{margin:0 0 18px;color:var(--gold);font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:800}
h1,h2,h3,p{margin-top:0}
h1{font-size:clamp(58px,13vw,170px);line-height:.82;letter-spacing:-.085em;text-transform:uppercase;margin-bottom:22px}
h2{font-size:clamp(34px,7vw,96px);line-height:.9;letter-spacing:-.06em;text-transform:uppercase;margin-bottom:20px}
h3{font-size:22px;line-height:1;margin-bottom:10px;letter-spacing:-.03em}
.lead,.section-head p,.contact-card p,.faber p{font-size:clamp(18px,2vw,24px);line-height:1.35;color:var(--muted);max-width:840px}
.hero-content h2{font-size:clamp(18px,3vw,34px);letter-spacing:-.04em;color:var(--text);max-width:780px;text-transform:none}
.hero-actions,.contact-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 18px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.06);color:var(--text);font-size:13px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;transition:transform .35s ease,border-color .35s ease,background .35s ease,box-shadow .35s ease}
.btn:hover{transform:translateY(-3px);border-color:rgba(215,177,95,.6);box-shadow:0 12px 40px rgba(0,0,0,.35),0 0 24px var(--glow)}
.btn.primary{background:linear-gradient(135deg,var(--gold),#f7e2a6);color:#111;border-color:transparent}
.hero-statement{position:absolute;right:5vw;bottom:52px;display:grid;gap:5px;text-align:right;text-transform:uppercase;font-weight:900;letter-spacing:-.03em;font-size:clamp(20px,3vw,44px)}
.section-head{display:grid;gap:6px;margin-bottom:36px}
.cinema-frame{position:relative;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#000;box-shadow:0 40px 130px rgba(0,0,0,.48),0 0 0 1px rgba(255,255,255,.04) inset}
.cinema-frame:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 65% 0%,rgba(215,177,95,.2),transparent 35%);z-index:1}
.cinema-frame video{width:100%;max-height:80svh;object-fit:cover;background:#000}
.featured-grid,.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.card{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.025));box-shadow:0 20px 70px rgba(0,0,0,.25);transition:transform .45s ease,border-color .45s ease,box-shadow .45s ease}
.card:hover{transform:translateY(-8px);border-color:rgba(215,177,95,.52);box-shadow:0 28px 100px rgba(0,0,0,.45),0 0 40px rgba(215,177,95,.08)}
.media-wrap{position:relative;aspect-ratio:16/10;background:#111;overflow:hidden;border-bottom:1px solid var(--line);cursor:pointer}
.media-wrap video,.media-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .65s ease,filter .65s ease;filter:saturate(.9) contrast(1.06)}
.card:hover .media-wrap video,.card:hover .media-wrap img{transform:scale(1.06);filter:saturate(1.08) contrast(1.12)}
.image-media{aspect-ratio:4/3}
.play-dot{position:absolute;right:16px;bottom:16px;width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:rgba(0,0,0,.65);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(12px);font-size:14px}
.card-copy{padding:18px}
.card-copy p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:1.45;margin:0}
.card-copy .eyebrow{font-size:10px;margin-bottom:10px}
.faber{background:linear-gradient(135deg,rgba(18,54,44,.96),rgba(5,5,5,.94));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.faber:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 10%,rgba(215,177,95,.18),transparent 34%);opacity:.8;pointer-events:none}
.faber-inner{display:grid;grid-template-columns:.9fr 1.4fr;gap:38px;align-items:start}
.mini-tags{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}
.mini-tags span{border:1px solid rgba(215,177,95,.3);background:rgba(215,177,95,.08);color:#f4dfaa;border-radius:999px;padding:8px 10px;font-size:12px;text-transform:uppercase;letter-spacing:.06em;font-weight:800}
.faber-videos{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.faber-videos .card{border-radius:20px}
.faber-videos .card-copy{padding:14px}
.faber-videos h3{font-size:16px}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.step{border:1px solid var(--line);border-radius:var(--radius);background:rgba(255,255,255,.045);padding:24px;min-height:220px}
.step span{display:block;color:var(--gold);font-size:42px;font-weight:900;letter-spacing:-.08em;margin-bottom:40px}
.step p{color:var(--muted);line-height:1.45}
.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:28px}
.filter{border:1px solid var(--line);background:rgba(255,255,255,.05);color:var(--muted);border-radius:999px;padding:10px 14px;cursor:pointer;text-transform:uppercase;letter-spacing:.06em;font-weight:800;font-size:11px;transition:.25s ease}
.filter:hover,.filter.active{color:#111;background:var(--text);border-color:var(--text)}
.contact{padding-bottom:80px}
.contact-card{border:1px solid var(--line);border-radius:calc(var(--radius) + 10px);padding:clamp(28px,6vw,70px);background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.03));box-shadow:0 40px 130px rgba(0,0,0,.4);text-align:left}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.84);backdrop-filter:blur(24px);z-index:80;display:none;align-items:center;justify-content:center;padding:28px}
.modal.open{display:flex}
.modal-content{width:min(1180px,100%);max-height:86svh;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#000;box-shadow:0 40px 140px rgba(0,0,0,.7)}
.modal-content video,.modal-content img{width:100%;max-height:86svh;object-fit:contain;background:#000}
.modal-close{position:fixed;top:22px;right:22px;width:50px;height:50px;border-radius:50%;border:1px solid var(--line);background:rgba(255,255,255,.08);color:#fff;font-size:32px;cursor:pointer;z-index:90}
.reveal{opacity:0;transform:translateY(45px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.9,.2,1)}
.reveal.in-view{opacity:1;transform:translateY(0)}
.slow{transition-duration:1.1s}
.card.hide{display:none}
@media (max-width:980px){
  nav{display:none}
  .topbar{top:10px;height:56px}
  .section{padding:82px 18px}
  .hero{padding-top:90px}
  .hero-content{padding-bottom:120px}
  .hero-statement{left:18px;right:18px;text-align:left;bottom:40px}
  .featured-grid,.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .faber-inner{grid-template-columns:1fr}
  .process-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
  .brand span{display:none}
  .lang{padding:9px 11px;font-size:12px}
  h1{font-size:54px;letter-spacing:-.07em}
  h2{font-size:38px}
  .lead,.section-head p,.contact-card p,.faber p{font-size:17px}
  .featured-grid,.gallery-grid,.faber-videos,.process-grid{grid-template-columns:1fr}
  .hero-actions,.contact-links{display:grid}
  .btn{width:100%}
  .media-wrap{aspect-ratio:4/5}
  .cinema-frame video{max-height:68svh}
}
