/* Color system (elevated greys + creamy gold) */
:root{
  --bg:#111111;
  --bg-2:#171717;
  --card:#1F1F1F;
  --ink:#ECECEC;
  --muted:#BBBBBB;
  --gold:#E1B267;
  --gold-2:#DFA051;
  --outline:#2A2A2A;
  --shadow: 0 12px 36px rgba(0,0,0,.55);
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:Poppins, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, 'Source Sans 3', sans-serif;
  color:var(--ink);
  background:radial-gradient(1200px 700px at 80% -20%, rgba(225,178,103,.10), transparent 60%), var(--bg);
  line-height:1.6;
}

.container{max-width:1180px;margin:0 auto;padding:0 20px}

/* Accessibility */
.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{left:20px;top:20px;width:auto;height:auto;background:#000;color:#fff;padding:.75rem 1rem;border-radius:.5rem;outline:2px solid var(--gold)}

/* Header / Nav */
.site-header{
  position:sticky;top:0;z-index:50;background:rgba(17,17,17,.72);backdrop-filter:saturate(140%) blur(8px);
  border-bottom:1px solid var(--outline);
}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;min-height:68px;gap:16px}
.brand-logo{height:48px;width:auto;display:block;transition:filter .25s ease, transform .25s ease;filter: drop-shadow(0 2px 10px rgba(225,178,103,.12));}
.brand:hover .brand-logo{filter: drop-shadow(0 0 22px rgba(225,178,103,.35)); transform: translateY(-1px);}

.site-nav ul{display:flex;gap:20px;list-style:none;margin:0;padding:0;align-items:center}
.site-nav a{color:var(--ink);text-decoration:none;padding:.5rem .75rem;border-radius:.5rem}
.site-nav a:hover{background:#1f1f1f}
.nav-toggle{display:none;background:none;border:none;width:42px;height:42px;cursor:pointer}
.nav-toggle .bar{display:block;width:26px;height:2px;background:var(--ink);margin:6px auto;border-radius:2px}

.btn-cta{background:transparent;border:1px solid rgba(223,160,81,.55);border-radius:999px;padding:.6rem 1rem;color:var(--ink);font-weight:600}
.btn-cta.scrolled{background:linear-gradient(135deg,var(--gold),var(--gold-2));color:#121212;border-color:transparent;box-shadow:0 10px 24px rgba(0,0,0,.35)}
.btn-cta:hover{border-color:var(--gold);color:var(--gold)}

@media (max-width:900px){
  .nav-toggle{display:block}
  .site-nav{position:absolute;right:20px;top:68px;background:var(--bg-2);border:1px solid var(--outline);border-radius:12px;box-shadow:var(--shadow);display:none}
  .site-nav.open{display:block}
  .site-nav ul{flex-direction:column;gap:0}
  .site-nav a{display:block}
  .btn-cta{margin:10px}
}

/* Sections */
.section{padding:86px 0;position:relative}
.section.alt{background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(0,0,0,0.0))}
.section-head{text-align:center;margin-bottom:28px}
.section h2{font-size:34px;margin:.2rem 0 1rem 0;color:var(--gold)}

/* Hero */
.hero{padding-top:120px}
.hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center}
.hero h1{font-size:44px;line-height:1.15;margin:0 0 12px 0}
.lead{font-size:18px;color:var(--muted);max-width:60ch}
.cta-row{display:flex;gap:14px;margin-top:18px}

.btn{display:inline-block;border-radius:999px;padding:.85rem 1.2rem;font-weight:600;text-decoration:none;border:1px solid transparent;transition:transform .2s ease, background .2s ease, border-color .2s ease}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:linear-gradient(135deg,var(--gold),var(--gold-2));color:#121212;border-color:transparent}
.btn-ghost{border-color:#333;background:transparent;color:var(--ink)}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold)}

/* Abstract art */
.hero-art{position:relative;height:280px}
.orb{position:absolute;border-radius:50%;filter:blur(20px);opacity:.9}
.orb-1{width:160px;height:160px;background:radial-gradient(circle,var(--gold), rgba(225,178,103,.35));top:20px;left:40px;box-shadow:0 0 120px rgba(225,178,103,.5)}
.orb-2{width:220px;height:220px;background:radial-gradient(circle at 30% 30%, rgba(225,178,103,.22), transparent 60%);top:40px;right:20px;border:1px solid rgba(225,178,103,.18)}
.orb-3{width:120px;height:120px;background:radial-gradient(circle, rgba(225,178,103,.18), transparent 60%);bottom:0;left:140px}

.section-wave{position:absolute;bottom:-1px;left:0;right:0;height:1px;background:linear-gradient(90deg, transparent, rgba(225,178,103,.4), transparent)}

/* Cards */
.card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.card{background:var(--card);border:1px solid var(--outline);border-radius:16px;padding:24px;box-shadow:var(--shadow);transition:transform .2s ease, border-color .2s ease}
.card:hover{transform:translateY(-4px);border-color:var(--gold)}
.card .icon{width:40px;height:40px;margin-bottom:10px;filter:drop-shadow(0 2px 10px rgba(225,178,103,.25))}
.card h3{margin:.2rem 0  .35rem 0;font-size:20px;color:var(--ink)}
.card p{color:var(--muted)}
.card-link{display:inline-block;margin-top:.6rem;color:var(--gold);text-decoration:none}
.card-link:hover{text-decoration:underline}

@media (max-width:1100px){.card-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){
  .hero-grid{grid-template-columns:1fr}
  .card-grid{grid-template-columns:1fr}
}

/* About */
.narrow{max-width:820px}

/* Contact */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:start}
.contact-list{list-style:none;padding:0;margin:0 0 10px 0}
.contact-list li{margin:.25rem 0}
.contact-list a{color:var(--ink);text-decoration:none}
.contact-list a:hover{color:var(--gold)}

.contact-form{background:var(--card);border:1px solid var(--outline);padding:20px;border-radius:16px}
.contact-form .label{display:block;font-size:.9rem;color:var(--muted);margin-bottom:.35rem}
.contact-form input,.contact-form textarea{
  width:100%;padding:.9rem;border-radius:10px;border:1px solid #333;background:#1c1c1c;color:var(--ink)
}
.contact-form input:focus,.contact-form textarea:focus{outline:2px solid var(--gold);border-color:var(--gold)}
.form-note{font-size:.8rem;color:#9b9b9b;margin-top:.5rem}

@media (max-width:820px){.contact-grid{grid-template-columns:1fr}}

/* Footer */
.footer-strip{background:linear-gradient(90deg, rgba(223,160,81,.15), rgba(225,178,103,.15));border-top:1px solid var(--outline);border-bottom:1px solid var(--outline)}
.strip-inner{display:flex;align-items:center;justify-content:center;min-height:42px;color:#DCC7A2;font-weight:600;letter-spacing:.4px}
.site-footer{border-top:1px solid var(--outline);padding:22px 0;color:#a8a8a8;text-align:center}

/* Floating action button */
.fab{
  position:fixed;right:18px;bottom:18px;width:54px;height:54px;border-radius:999px;display:grid;place-items:center;
  background:linear-gradient(135deg,var(--gold),var(--gold-2));color:#121212;text-decoration:none;font-size:24px;box-shadow:var(--shadow);border:1px solid rgba(0,0,0,.4)
}
.fab:focus{outline:3px solid #000}

/* Reveal-on-scroll */
.reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease, transform .6s ease}
.reveal.is-visible{opacity:1;transform:none}
