/* ─── REGAS FILMS — SHARED STYLESHEET ─────────────────────────────────────── */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
:root {
  --black:#0a0a0a; --off-black:#111111; --charcoal:#1c1c1c; --mid:#2e2e2e;
  --muted:#6b6b6b; --light:#b0a898; --cream:#e8e2d9; --gold:#c8a96e;
  --white:#f5f0eb; --red:#b03a2e;
  --font-display:'Bebas Neue',sans-serif;
  --font-body:'Cormorant Garamond',serif;
  --font-mono:'DM Mono',monospace;
}
html { scroll-behavior:smooth; }
body { background:var(--black); color:var(--cream); font-family:var(--font-body); font-size:18px; line-height:1.6; }
* { cursor:none !important; }
#cursor { width:10px;height:10px;background:var(--gold);border-radius:50%;position:fixed;top:0;left:0;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:width .2s,height .2s;mix-blend-mode:difference; }
#cursor.expand { width:38px;height:38px;background:rgba(200,169,110,0.25); }

/* NAV */
#main-nav { position:fixed;top:0;left:0;right:0;z-index:100;padding:1.6rem 3rem;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(to bottom,rgba(10,10,10,0.96) 0%,transparent 100%); }
.logo { font-family:var(--font-display);font-size:1.5rem;letter-spacing:.15em;color:var(--white);text-decoration:none; }
.logo span { color:var(--gold); }
.nav-links { display:flex;gap:2.5rem;list-style:none; }
.nav-links a { font-family:var(--font-mono);font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--light);text-decoration:none;transition:color .2s; }
.nav-links a:hover,.nav-links a.active { color:var(--gold); }
.nav-admin-btn { font-family:var(--font-mono);font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;background:transparent;border:1px solid var(--mid);color:var(--muted);padding:.4rem .9rem;transition:all .2s; }
.nav-admin-btn:hover { border-color:var(--gold);color:var(--gold); }

/* SECTIONS */
section { padding:7rem 3rem; }
.section-label { font-family:var(--font-mono);font-size:.65rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem;display:flex;align-items:center;gap:1rem; }
.section-label::after { content:'';height:1px;width:40px;background:var(--gold);opacity:.5; }
.section-title { font-family:var(--font-display);font-size:clamp(3rem,6vw,5.5rem);line-height:1;letter-spacing:.03em;color:var(--white);margin-bottom:3rem; }

/* BUTTONS */
.btn-primary { display:inline-block;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--black);background:var(--gold);padding:1rem 2.2rem;text-decoration:none;transition:background .2s,transform .2s; }
.btn-primary:hover { background:var(--cream);transform:translateY(-2px); }
.btn-ghost { font-family:var(--font-mono);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--light);text-decoration:none;border-bottom:1px solid var(--muted);padding-bottom:2px;transition:color .2s,border-color .2s;display:inline-block; }
.btn-ghost:hover { color:var(--gold);border-color:var(--gold); }

/* PROJECT CARDS */
.projects-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5px;background:var(--charcoal); }
.project-card { aspect-ratio:16/10;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;padding:1.5rem;text-decoration:none; }
.card-bg { position:absolute;inset:0;transition:transform .6s ease; }
.project-card:hover .card-bg { transform:scale(1.04); }
.project-overlay { position:absolute;inset:0;background:linear-gradient(to top,rgba(10,10,10,.92) 0%,transparent 65%); }
.project-hover { position:absolute;inset:0;background:rgba(200,169,110,.07);opacity:0;transition:opacity .3s;z-index:1; }
.project-card:hover .project-hover { opacity:1; }
.project-info { position:relative;z-index:2; }
.project-type { font-family:var(--font-mono);font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:.3rem; }
.project-title { font-family:var(--font-display);font-size:2rem;letter-spacing:.05em;color:var(--white);line-height:1; }
.project-year { font-family:var(--font-mono);font-size:.6rem;color:var(--muted);margin-top:.3rem; }
.project-badge { display:inline-block;font-family:var(--font-mono);font-size:.55rem;letter-spacing:.15em;text-transform:uppercase;padding:.25rem .7rem;margin-top:.5rem; }
.badge-festival { background:var(--gold);color:var(--black); }
.badge-released { background:rgba(255,255,255,.1);color:var(--light);border:1px solid var(--muted); }

/* FORMS */
.field { display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.2rem; }
label,.field-label { font-family:var(--font-mono);font-size:.6rem;letter-spacing:.25em;text-transform:uppercase;color:var(--muted); }
input,select,textarea { background:var(--charcoal);border:1px solid var(--mid);color:var(--cream);font-family:var(--font-body);font-size:1rem;padding:.85rem 1rem;outline:none;transition:border-color .2s;appearance:none;width:100%; }
input:focus,select:focus,textarea:focus { border-color:var(--gold); }
input::placeholder,textarea::placeholder { color:var(--muted);font-style:italic; }
select option { background:var(--charcoal); }
textarea { resize:vertical;min-height:110px; }
.form-row { display:grid;grid-template-columns:1fr 1fr;gap:1rem; }
.btn-submit { font-family:var(--font-mono);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--black);background:var(--gold);border:none;padding:1rem 2.5rem;transition:background .2s,transform .2s;display:inline-block; }
.btn-submit:hover { background:var(--cream);transform:translateY(-2px); }

/* ADMIN PANEL */
#admin-overlay { display:none;position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.8);backdrop-filter:blur(4px); }
#admin-panel { position:fixed;top:0;right:0;bottom:0;width:540px;background:#131313;border-left:1px solid #222;z-index:1001;display:none;flex-direction:column;overflow:hidden; }
.admin-header { padding:1.4rem 2rem;border-bottom:1px solid #222;display:flex;justify-content:space-between;align-items:center;flex-shrink:0; }
.admin-title { font-family:var(--font-mono);font-size:.72rem;letter-spacing:.25em;text-transform:uppercase;color:var(--gold); }
.admin-close { background:none;border:none;color:var(--muted);font-size:1.4rem;line-height:1;padding:.2rem; }
.admin-close:hover { color:var(--cream); }
.admin-tabs { display:flex;border-bottom:1px solid #222;flex-shrink:0;overflow-x:auto; }
.admin-tab { font-family:var(--font-mono);font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;padding:.9rem 1.2rem;background:none;border:none;color:var(--muted);border-bottom:2px solid transparent;transition:all .2s;white-space:nowrap; }
.admin-tab.active { color:var(--gold);border-bottom-color:var(--gold); }
.admin-tab:hover { color:var(--light); }
.admin-body { flex:1;overflow-y:auto;padding:1.8rem; }
.admin-section { display:none; }
.admin-section.active { display:block; }
.admin-field { margin-bottom:1.3rem; }
.admin-label { font-family:var(--font-mono);font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:.45rem; }
.admin-input { width:100%;background:#1c1c1c;border:1px solid #282828;color:var(--cream);font-family:var(--font-body);font-size:.95rem;padding:.7rem .9rem;outline:none;transition:border-color .2s; }
.admin-input:focus { border-color:var(--gold); }
.admin-textarea { width:100%;background:#1c1c1c;border:1px solid #282828;color:var(--cream);font-family:var(--font-body);font-size:.95rem;padding:.7rem .9rem;outline:none;min-height:80px;resize:vertical;transition:border-color .2s; }
.admin-textarea:focus { border-color:var(--gold); }
.admin-select { width:100%;background:#1c1c1c;border:1px solid #282828;color:var(--cream);font-family:var(--font-mono);font-size:.65rem;letter-spacing:.1em;padding:.7rem .9rem;outline:none;appearance:none; }
.admin-select:focus { border-color:var(--gold); }
.admin-save { font-family:var(--font-mono);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;background:var(--gold);color:var(--black);border:none;padding:.75rem 2rem;width:100%;margin-top:.5rem;transition:background .2s; }
.admin-save:hover { background:var(--cream); }
.admin-card { background:#181818;border:1px solid #242424;padding:1.1rem;margin-bottom:.9rem; }
.admin-card-header { display:flex;justify-content:space-between;align-items:center;margin-bottom:.9rem; }
.admin-card-title { font-family:var(--font-mono);font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;color:var(--light); }
.admin-card-del { background:none;border:none;color:#5a2a2a;font-size:.7rem;font-family:var(--font-mono);letter-spacing:.1em; }
.admin-card-del:hover { color:var(--red); }
.admin-add-btn { width:100%;background:none;border:1px dashed #282828;color:var(--muted);font-family:var(--font-mono);font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;padding:.9rem;transition:all .2s;margin-top:.4rem; }
.admin-add-btn:hover { border-color:var(--gold);color:var(--gold); }
.admin-divider { border:none;border-top:1px solid #222;margin:1.5rem 0; }
.admin-toast { position:fixed;bottom:2rem;right:2rem;background:var(--gold);color:var(--black);font-family:var(--font-mono);font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;padding:.7rem 1.4rem;z-index:9999;opacity:0;transform:translateY(8px);transition:all .3s;pointer-events:none; }
.admin-toast.show { opacity:1;transform:translateY(0); }
.admin-row { display:grid;grid-template-columns:1fr 1fr;gap:.9rem; }
.toggle-row { display:flex;align-items:center;gap:1rem;margin-bottom:1.3rem; }
.toggle { position:relative;width:42px;height:22px; }
.toggle input { opacity:0;width:0;height:0; }
.toggle-slider { position:absolute;inset:0;background:#282828;border-radius:11px;transition:background .2s; }
.toggle-slider::before { content:'';position:absolute;width:16px;height:16px;left:3px;bottom:3px;background:var(--muted);border-radius:50%;transition:transform .2s,background .2s; }
.toggle input:checked + .toggle-slider { background:var(--gold); }
.toggle input:checked + .toggle-slider::before { transform:translateX(20px);background:var(--black); }
.toggle-label { font-family:var(--font-mono);font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;color:var(--light); }

/* REVEAL */
.reveal { opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease; }
.reveal.visible { opacity:1;transform:translateY(0); }

/* FOOTER */
footer { background:var(--off-black);padding:3rem;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--mid);flex-wrap:wrap;gap:1rem; }
.footer-logo { font-family:var(--font-display);font-size:1.3rem;letter-spacing:.15em;color:var(--white); }
.footer-logo span { color:var(--gold); }
.footer-links { display:flex;gap:2rem;list-style:none; }
.footer-links a { font-family:var(--font-mono);font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);text-decoration:none;transition:color .2s; }
.footer-links a:hover { color:var(--gold); }
.footer-copy { font-family:var(--font-mono);font-size:.58rem;color:var(--muted);letter-spacing:.1em; }
