:root{
  --yellow:#ffd300;
  --ink:#0a0a0a;
  --bg:#0b0b0e;
  --panel:#101015;
  --line:#1a1a20;
  --muted:#b9becc;
  --text:#f6f7fb;
}

*{box-sizing:border-box}
html:focus-within{scroll-behavior:smooth}
html,body{height:100%}
body{
  margin:0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  color:var(--text);
  background:
    radial-gradient(1000px 500px at 10% -10%, rgba(255,211,0,.08), transparent 60%) fixed,
    radial-gradient(1100px 700px at 110% 0%, rgba(255,211,0,.06), transparent 60%) fixed,
    linear-gradient(180deg,#0b0b0e 0%, #0e0e14 50%, #0b0b0e 100%);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

/* ========== Top Nav ========== */
.header{
  position:sticky;top:0;z-index:2147483000;   /* raised */
  background:rgba(8,8,10,.65);
  backdrop-filter:saturate(130%) blur(10px);
  border-bottom:1px solid rgba(255,255,255,.06);
}

.nav{
  max-width:1180px;margin:0 auto;padding:12px 16px;
  display:flex;align-items:center;gap:12px
}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text)}
.brand img{height:40px;width:auto;border-radius:10px;box-shadow:0 3px 18px rgba(0,0,0,.35)}
.brand span{font-weight:800;letter-spacing:.02em;font-size:.98rem}

.menu-toggle{
  margin-left:auto;display:none;
  width:44px;height:44px;border-radius:10px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.06);color:var(--text);font-size:22px;line-height:0;cursor:pointer
}
.navlinks{margin-left:auto;display:flex;gap:6px;align-items:center}
.navlinks a{
  color:var(--text);text-decoration:none;padding:10px 12px;border-radius:12px;border:1px solid transparent
}
.navlinks a:hover{border-color:rgba(255,255,255,.12);background:rgba(255,255,255,.04)}
.navlinks .cta{
  background:linear-gradient(180deg,var(--yellow),#efc500);color:#111;border:1px solid #000;border-radius:12px;
  font-weight:800;box-shadow:0 8px 24px rgba(0,0,0,.35), inset 0 -2px 0 rgba(0,0,0,.3)
}

/* ========== Layout ========== */
.container{max-width:1180px;margin:0 auto;padding:0 16px}
.section{padding:60px 0;border-top:1px solid rgba(255,255,255,.06)}
.section h2{font-family:"Graduate",serif;font-size:clamp(1.6rem,4vw,2.2rem);margin:0 0 10px;color:var(--yellow)}

.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.card{
  border-radius:16px;border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.01));
  padding:16px;transform:translateY(10px);opacity:0;transition:opacity .6s ease, transform .6s ease
}
.card.show{transform:none;opacity:1}
.card h3{margin:0 0 6px}

/* ========== Hero + Carousel ========== */
.hero{position:relative;isolation:isolate}
.hero .inner{display:grid;grid-template-columns:1.1fr .9fr;gap:20px;align-items:center;padding:52px 0 20px}
.hero h1{font-family:"Graduate",serif;font-size:clamp(2.1rem,7vw,4.2rem);margin:6px 0 8px;letter-spacing:.01em}
.kicker{display:inline-flex;align-items:center;gap:8px;font-weight:800;color:var(--yellow);font-size:.95rem}
.kicker::before{content:"";width:8px;height:8px;border-radius:999px;background:var(--yellow);box-shadow:0 0 0 6px rgba(255,211,0,.15)}
.lead{color:#dbe0ee;max-width:60ch;font-size:1.04rem}

.actions{display:flex;gap:10px;margin:16px 0 0;flex-wrap:wrap}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  padding:12px 16px;border-radius:12px;font-weight:800;text-decoration:none;border:1px solid transparent;
  transition:transform .15s ease, box-shadow .15s ease
}
.btn-primary{background:linear-gradient(180deg,var(--yellow),#efc500);color:#111;border-color:#000;box-shadow:0 10px 26px rgba(0,0,0,.35), inset 0 -2px 0 rgba(0,0,0,.32)}
.btn-ghost{color:var(--text);border-color:rgba(255,255,255,.16);background:rgba(255,255,255,.04)}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0)}

.hero-media{
  position:relative;border-radius:16px;overflow:hidden;
  box-shadow:0 20px 60px rgba(0,0,0,.45);
  border:1px solid rgba(255,255,255,.08);
  background:#0e0e12;
}
.carousel{display:grid;grid-template-rows:1fr auto}
.carousel-track{display:flex;overflow:auto;scroll-snap-type:x mandatory;gap:8px;padding:8px}
.carousel-track::-webkit-scrollbar{height:8px}
.slide{min-width:min(92vw,760px);aspect-ratio:16/9;border-radius:14px;overflow:hidden;scroll-snap-align:center;border:1px solid rgba(255,255,255,.08);background:#0f0f13}
.slide img{width:100%;height:100%;object-fit:cover;display:block}
.dots{display:flex;gap:8px;justify-content:center;padding:8px}
.dot{width:8px;height:8px;border-radius:999px;background:#3a3a44;opacity:.7}
.dot.active{background:var(--yellow);opacity:1;box-shadow:0 0 0 4px rgba(255,211,0,.18)}
/* arrows for hero carousel */
#home-prev,#home-next{
  position:absolute;top:50%;transform:translateY(-50%);z-index:2;
  width:44px;height:44px;border-radius:12px;border:1px solid rgba(255,255,255,.12);
  background:rgba(0,0,0,.45);backdrop-filter:blur(6px);color:#fff;font-size:20px;
}
#home-prev{left:10px}
#home-next{right:10px}

/* ========== Footer ========== */
footer{border-top:1px solid rgba(255,255,255,.08);padding:28px 0 56px;color:#ccd1df}
footer .row{max-width:1180px;margin:0 auto;padding:0 16px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.badges img{height:44px;filter:grayscale(1) brightness(.96)}

/* ========== Gallery (masonry) ========== */
#masonry{column-gap:12px}
#masonry a{display:inline-block;margin:0 0 12px}
#masonry img{width:100%;border-radius:12px;border:1px solid rgba(255,255,255,.08)}

/* ========== Page Transition ========== */
.page-fade{position:fixed;inset:0;background:#0b0b0f;pointer-events:none;opacity:0;transition:opacity .35s ease}
.page-fade.active{opacity:1}

/* ===================== */
/*   RESPONSIVE RULES    */
/* ===================== */

/* <= 900px: mobile layout + menu */
@media (max-width: 900px){
  /* content */
  .hero .inner{grid-template-columns:1fr;gap:14px;padding:34px 0 16px}
  .hero .inner > div:first-child{text-align:center}
  .kicker,.hero h1,.hero h2,.lead{text-align:center}
  .actions{justify-content:center}
  .lead{font-size:1rem}
  .grid-3{grid-template-columns:1fr}
  .slide{min-width:100%}
  #home-prev,#home-next{width:40px;height:40px;font-size:18px}

/* MOBILE NAV (forced above content) */
.menu-toggle{display:inline-grid;place-items:center}
.nav{position:relative}
.navlinks{display:none}
.navlinks.open{
  display:flex;flex-direction:column;gap:12px;
  position:fixed;left:0;right:0;top:64px;bottom:0;
  z-index:2147483600;                         /* very high */
  background:rgba(12,12,16,.98);
  padding:16px 18px 20px;
  border-bottom:1px solid rgba(255,255,255,.08);
  overflow-y:auto;
}
.navlinks.open a{font-size:1.05rem}
body.nav-open{overflow:hidden}

  /* gallery columns */
  #masonry{columns:2 160px}
}

/* <= 600px: tighter paddings */
@media (max-width: 600px){
  .container{padding:0 14px}
  .brand img{height:36px}
  .btn{padding:12px 14px}
  #home-prev,#home-next{width:38px;height:38px;font-size:17px}
  #masonry{columns:1 280px}
}
