/* ====================================================================
   ElBrio — reusable shell. Color system, type, cursor, shared UI.
   Used by index page and any future inner page (same platform).
==================================================================== */
:root{
  --gold:#F0C040; --amber:#E8903A; --coral:#D4542A;
  --crimson:#B03060; --steel:#3a7a96; --steel-l:#5a9cb8;
  --cream:#F8F4EE; --dark:#06090f;
  --cream-60:rgba(248,244,238,.6);
  --cream-40:rgba(248,244,238,.4);
  --steel-line:rgba(58,122,150,.18);
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Montserrat',system-ui,sans-serif;
  --grad-fire:linear-gradient(135deg,var(--gold),var(--amber),var(--coral),var(--crimson));
  --maxw:1180px;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
html,body{
  overflow-x:hidden;background:var(--dark);color:var(--cream);
  font-family:var(--sans);-webkit-font-smoothing:antialiased;
}
body{cursor:none;}
::selection{background:rgba(232,144,58,.3);color:var(--cream);}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;}

/* ── CUSTOM CURSOR (carried over 1:1 from prototype) ── */
#cur{width:11px;height:11px;background:var(--gold);border-radius:50%;
  position:fixed;top:0;left:0;pointer-events:none;z-index:9999;
  box-shadow:0 0 8px rgba(240,192,64,.85),0 0 18px rgba(232,144,58,.5);
  transition:opacity .2s ease,background .25s;will-change:left,top;}
#cur-ring{width:34px;height:34px;border:1px solid var(--amber);border-radius:50%;
  position:fixed;top:0;left:0;pointer-events:none;z-index:9998;
  transition:opacity .2s ease,border-color .25s;will-change:left,top;}
.no-cursor #cur,.no-cursor #cur-ring{display:none;}
html:not(.no-cursor) *{cursor:none !important;}
.no-cursor body{cursor:auto;}

/* ── BACKGROUND ENGINE CANVAS ── */
#bg-canvas{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;}
#bg-fallback{position:fixed;inset:0;z-index:0;pointer-events:none;display:none;
  background:
    radial-gradient(120% 90% at 78% 8%, rgba(240,192,64,.16), transparent 45%),
    radial-gradient(100% 80% at 50% 120%, rgba(176,48,96,.22), transparent 55%),
    radial-gradient(80% 60% at 22% 30%, rgba(58,122,150,.12), transparent 50%);}

/* ── PROGRESS BAR ── */
#progress-bar{position:fixed;left:0;top:0;height:2px;z-index:300;width:0%;
  background:linear-gradient(90deg,var(--crimson),var(--coral),var(--amber),var(--gold));
  box-shadow:0 0 12px rgba(232,144,58,.5);}

/* ── HEADER ── */
.nav{position:fixed;top:0;left:0;right:0;z-index:250;
  display:flex;align-items:center;justify-content:space-between;
  padding:1.1rem clamp(1.2rem,4vw,3.4rem);
  transition:background .4s,backdrop-filter .4s,border-color .4s;
  border-bottom:1px solid transparent;}
.nav.scrolled{background:rgba(6,9,15,.72);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--steel-line);}
.nav-brand{display:flex;align-items:center;gap:.6rem;font-family:var(--serif);
  font-size:1.45rem;letter-spacing:.02em;}
.nav-brand em{font-style:italic;color:var(--steel-l);}
.nav-logo{height:30px;width:auto;
  filter:drop-shadow(0 0 12px rgba(232,144,58,.3));}
.nav-brand .dot{width:7px;height:7px;border-radius:50%;background:var(--gold);
  box-shadow:0 0 10px var(--gold),0 0 22px rgba(232,144,58,.6);}
.nav-links{display:flex;align-items:center;gap:2rem;}
.nav-links a{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--cream-60);transition:color .25s;position:relative;}
.nav-links a:hover{color:var(--cream);}
.nav-links a::after{content:'';position:absolute;left:0;bottom:-5px;height:1px;width:0;
  background:var(--amber);transition:width .3s;}
.nav-links a:hover::after{width:100%;}
.nav-right{display:flex;align-items:center;gap:1.3rem;}
.lang-toggle{display:flex;align-items:center;gap:.2rem;font-size:.66rem;
  letter-spacing:.12em;font-weight:600;text-transform:uppercase;
  border:1px solid var(--steel-line);border-radius:100px;overflow:hidden;}
.lang-toggle button{padding:.32rem .6rem;background:transparent;border:none;
  color:var(--cream-40);font:inherit;cursor:none;transition:all .25s;}
.lang-toggle button.active{background:rgba(232,144,58,.16);color:var(--amber);}
.nav-cta{display:inline-flex;align-items:center;gap:.45rem;
  padding:.55rem 1.1rem;font-size:.66rem;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:#fff;background:var(--grad-fire);
  border-radius:100px;cursor:none;transition:transform .2s,box-shadow .2s;}
.nav-cta:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(212,84,42,.4);}
.nav-burger{display:none;}

/* ── BUTTONS ── */
.btn-fire,.btn-ghost{display:inline-flex;align-items:center;gap:.55rem;
  padding:.95rem 2.2rem;font-family:var(--sans);font-weight:700;font-size:.72rem;
  letter-spacing:.15em;text-transform:uppercase;cursor:none;
  position:relative;overflow:hidden;transition:transform .2s,box-shadow .2s,color .3s,border-color .3s,background .3s;}
.btn-fire{color:#fff;background:var(--grad-fire);border:none;}
.btn-fire::before{content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,var(--gold),var(--amber));opacity:0;transition:opacity .3s;}
.btn-fire:hover{transform:translateY(-3px);box-shadow:0 18px 50px rgba(212,84,42,.45);}
.btn-fire:hover::before{opacity:1;}
.btn-fire span{position:relative;z-index:1;}
.btn-ghost{border:1px solid rgba(90,156,184,.4);color:var(--steel-l);font-weight:500;background:transparent;}
.btn-ghost:hover{border-color:var(--steel-l);color:var(--cream);background:rgba(44,95,116,.14);}

/* ── SHARED SECTION PRIMITIVES ── */
.section{position:relative;z-index:2;padding:clamp(5rem,12vh,9rem) clamp(1.2rem,5vw,2rem);}
.wrap{max-width:var(--maxw);margin:0 auto;width:100%;}
.eyebrow{font-size:.62rem;letter-spacing:.32em;text-transform:uppercase;
  color:var(--amber);margin-bottom:1rem;display:flex;align-items:center;gap:.7rem;}
.eyebrow::before{content:'';width:26px;height:1px;background:var(--amber);opacity:.6;}
.eyebrow.center{justify-content:center;}
.h-section{font-family:var(--serif);font-weight:300;
  font-size:clamp(2rem,4.6vw,3.5rem);line-height:1.08;}
.h-section em{font-style:italic;color:var(--amber);}
.lead{font-size:clamp(.9rem,1.4vw,1.02rem);line-height:1.85;color:var(--cream-60);max-width:50ch;}

/* ── REVEAL ── */
.reveal{opacity:0;transform:translateY(46px);
  transition:opacity 1s cubic-bezier(.16,1,.3,1),transform 1s cubic-bezier(.16,1,.3,1);}
.reveal.in{opacity:1;transform:none;}
.reveal[data-d="1"]{transition-delay:.08s;}
.reveal[data-d="2"]{transition-delay:.16s;}
.reveal[data-d="3"]{transition-delay:.24s;}
.reveal[data-d="4"]{transition-delay:.32s;}
.reveal[data-d="5"]{transition-delay:.4s;}
@media(prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none;}
  html{scroll-behavior:auto;}
}

/* ── FOOTER ── */
.footer{position:relative;z-index:2;background:rgba(6,9,15,.96);
  border-top:1px solid var(--steel-line);
  padding:clamp(2.5rem,6vw,4rem) clamp(1.2rem,5vw,3.4rem) 2rem;}
.footer-grid{max-width:var(--maxw);margin:0 auto;display:flex;
  justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap;}
.footer-brand{font-family:var(--serif);font-size:2.4rem;letter-spacing:.02em;}
.footer-brand em{font-style:italic;color:var(--steel-l);}
.footer-logo{height:54px;width:auto;
  filter:drop-shadow(0 0 18px rgba(232,144,58,.28));}
.footer-tag{font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--cream-40);margin-top:.5rem;}
.footer-contacts{display:flex;flex-direction:column;gap:.45rem;text-align:right;}
.footer-contacts a,.footer-contacts span{font-size:.82rem;color:var(--cream-60);transition:color .25s;}
.footer-contacts a:hover{color:var(--amber);}
.footer-base{max-width:var(--maxw);margin:2.5rem auto 0;padding-top:1.4rem;
  border-top:1px solid var(--steel-line);display:flex;justify-content:space-between;
  flex-wrap:wrap;gap:.6rem;font-size:.58rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--cream-40);}

/* ── MOBILE ── */
@media(max-width:860px){
  .nav-links{display:none;}
  .footer-contacts{text-align:left;}
  .footer-grid{align-items:flex-start;}
}
