/* =============================================
   SOLYSS SHARED STYLES
   ============================================= */
:root {
  --copper: #C69577;
  --copper-light: #D4A882;
  --copper-dark: #A67A5B;
  --black: #080808;
  --dark: #0F0F0F;
  --dark-2: #161616;
  --dark-3: #1E1E1E;
  --mid: #2A2A2A;
  --text-dim: #888;
  --text-mid: #BBB;
  --text-light: #E8E0D8;
  --white: #F5F0EB;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  background: var(--black);
  color: var(--text-light);
  font-family: 'Jost', sans-serif;
  font-weight: 300;
  overflow-x: hidden;
  cursor: none;
}

/* CURSOR */
.cursor { width:8px;height:8px;background:var(--copper);border-radius:50%;position:fixed;top:0;left:0;pointer-events:none;z-index:9999;transition:transform 0.15s ease; }
.cursor-ring { width:36px;height:36px;border:1px solid rgba(198,149,119,0.5);border-radius:50%;position:fixed;top:0;left:0;pointer-events:none;z-index:9998;transition:transform 0.4s ease,width 0.3s,height 0.3s,border-color 0.3s; }
.cursor-ring.hover { width:60px;height:60px;border-color:var(--copper); }

/* NAV */
nav { position:fixed;top:0;left:0;right:0;z-index:100;padding:28px 60px;display:flex;align-items:center;justify-content:space-between;transition:background 0.4s,padding 0.4s; }
nav.scrolled { background:rgba(8,8,8,0.92);backdrop-filter:blur(20px);padding:18px 60px;border-bottom:1px solid rgba(198,149,119,0.1); }
.nav-logo img { height:38px; }
.nav-links { display:flex;gap:44px;list-style:none; }
.nav-links a { color:var(--text-mid);text-decoration:none;font-size:12px;font-weight:400;letter-spacing:0.15em;text-transform:uppercase;transition:color 0.3s;position:relative; }
.nav-links a::after { content:'';position:absolute;bottom:-4px;left:0;right:100%;height:1px;background:var(--copper);transition:right 0.3s; }
.nav-links a:hover,.nav-links a.active { color:var(--copper); }
.nav-links a:hover::after,.nav-links a.active::after { right:0; }
.nav-cta { font-size:11px;font-weight:400;letter-spacing:0.12em;text-transform:uppercase;color:var(--copper);border:1px solid rgba(198,149,119,0.4);padding:10px 24px;text-decoration:none;transition:all 0.3s; }
.nav-cta:hover { background:var(--copper);color:var(--black); }
.nav-hamburger { display:none;flex-direction:column;gap:5px;cursor:none; }
.nav-hamburger span { width:24px;height:1px;background:var(--text-mid);display:block;transition:0.3s; }

/* PAGE HERO */
.page-hero { padding: 180px 60px 100px; background: var(--dark); position: relative; overflow: hidden; }
.page-hero::before { content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 80% at 80% 50%, rgba(198,149,119,0.05) 0%, transparent 70%); }
.page-hero-label { font-size:10px;font-weight:400;letter-spacing:0.35em;text-transform:uppercase;color:var(--copper);margin-bottom:24px;opacity:0;animation:fadeUp 0.8s 0.2s forwards; }
.page-hero h1 { font-family:'Cormorant Garamond',serif;font-size:clamp(52px,7vw,96px);font-weight:300;line-height:0.95;color:var(--white);opacity:0;animation:fadeUp 0.8s 0.4s forwards; }
.page-hero h1 em { font-style:italic;color:var(--copper-light); }
.page-hero p { font-size:16px;line-height:1.8;color:var(--text-dim);max-width:560px;margin-top:28px;opacity:0;animation:fadeUp 0.8s 0.6s forwards; }

/* SECTION */
section { padding: 120px 60px; }
.section-label { font-size:10px;font-weight:400;letter-spacing:0.35em;text-transform:uppercase;color:var(--copper);margin-bottom:24px;display:flex;align-items:center;gap:16px; }
.section-label::before { content:'';width:40px;height:1px;background:var(--copper); }
h2.display { font-family:'Cormorant Garamond',serif;font-size:clamp(38px,4.5vw,64px);font-weight:300;line-height:1.05;color:var(--white); }
h2.display em { font-style:italic;color:var(--copper-light); }

/* BUTTONS */
.btn-primary { background:var(--copper);color:var(--black);font-family:'Jost',sans-serif;font-size:11px;font-weight:500;letter-spacing:0.15em;text-transform:uppercase;padding:16px 40px;text-decoration:none;border:none;cursor:none;display:inline-block;transition:all 0.3s; }
.btn-primary:hover { background:var(--copper-light); }
.btn-ghost { color:var(--text-mid);font-size:11px;font-weight:400;letter-spacing:0.15em;text-transform:uppercase;text-decoration:none;display:inline-flex;align-items:center;gap:10px;transition:color 0.3s; }
.btn-ghost svg { transition:transform 0.3s; }
.btn-ghost:hover { color:var(--copper); }
.btn-ghost:hover svg { transform:translateX(4px); }

/* FOOTER */
footer { background:var(--dark);border-top:1px solid rgba(198,149,119,0.15);padding:80px 60px 40px; }
.footer-top { display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:60px;margin-bottom:60px; }
.footer-brand img { height:36px;margin-bottom:24px; }
.footer-brand p { font-size:13px;line-height:1.8;color:var(--text-dim);max-width:280px; }
.footer-col h4 { font-size:10px;font-weight:400;letter-spacing:0.25em;text-transform:uppercase;color:var(--copper);margin-bottom:20px; }
.footer-col ul { list-style:none;display:flex;flex-direction:column;gap:10px; }
.footer-col a { font-size:13px;color:var(--text-dim);text-decoration:none;transition:color 0.3s; }
.footer-col a:hover { color:var(--copper); }
.footer-social { display:flex;gap:16px;margin-top:28px; }
.social-link { width:36px;height:36px;border:1px solid rgba(198,149,119,0.2);display:flex;align-items:center;justify-content:center;text-decoration:none;color:var(--text-dim);font-size:11px;transition:all 0.3s; }
.social-link:hover { border-color:var(--copper);color:var(--copper); }
.footer-bottom { border-top:1px solid rgba(198,149,119,0.1);padding-top:32px;display:flex;align-items:center;justify-content:space-between; }
.footer-bottom p { font-size:11px;color:var(--text-dim);letter-spacing:0.05em; }
.footer-bottom-links { display:flex;gap:24px;list-style:none; }
.footer-bottom-links a { font-size:11px;color:var(--text-dim);text-decoration:none;transition:color 0.3s; }
.footer-bottom-links a:hover { color:var(--copper); }

/* REVEAL */
.reveal { opacity:0;transform:translateY(30px);transition:opacity 0.8s ease,transform 0.8s ease; }
.reveal.visible { opacity:1;transform:translateY(0); }
.reveal-delay-1 { transition-delay:0.1s; }
.reveal-delay-2 { transition-delay:0.2s; }
.reveal-delay-3 { transition-delay:0.3s; }
.reveal-delay-4 { transition-delay:0.4s; }

/* KEYFRAMES */
@keyframes fadeUp { from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)} }
@keyframes marquee { from{transform:translateX(0)}to{transform:translateX(-50%)} }
@keyframes pulse { 0%,100%{opacity:0.3;transform:scale(1)}50%{opacity:0.1;transform:scale(1.1)} }

/* MOBILE */
@media(max-width:900px){
  nav{padding:24px}nav.scrolled{padding:16px 24px}
  .nav-links,.nav-cta{display:none}.nav-hamburger{display:flex}
  section{padding:80px 24px}.page-hero{padding:140px 24px 80px}
  .footer-top{grid-template-columns:1fr 1fr;gap:40px}
  .footer-bottom{flex-direction:column;gap:20px;text-align:center}
  body{cursor:auto}.cursor,.cursor-ring{display:none}
}
