/* ===================================================================
   SKULLECTIVE — "Glass White" light theme
   Frosted, airy, gallery-clean. Character art pops against white.
   =================================================================== */

:root{
  /* base — pure white */
  --bg:        #ffffff;
  --bg-2:      #f6f4fa;   /* faint gray for footer / section separation */
  --bg-3:      #fcfbfe;

  /* clean surfaces (defined by hairline + soft shadow on white) */
  --surface:      #ffffff;
  --surface-2:    #f7f5fb;
  --surface-solid:#ffffff;
  --line:      rgba(28,18,42,.10);
  --line-2:    rgba(28,18,42,.08);

  /* accents (contrast-tuned for white) */
  --marigold:  #f5920a;
  --marigold-2:#b8690a;   /* text-safe deep marigold */
  --pink:      #ff2e88;
  --pink-ink:  #d5176a;   /* text-safe pink */
  --green:     #14c074;   /* fills */
  --green-ink: #0a8f54;   /* text-safe emerald */
  --purple:    #8b3dff;
  --teal:      #0cae9a;

  /* type */
  --bone:      #1c1226;   /* near-black plum (main text) */
  --muted:     #6a6180;

  --radius:    18px;
  --radius-lg: 26px;
  --maxw:      1200px;

  /* fluid layout tokens */
  --gutter:    clamp(16px, 4vw, 22px);
  --section-y: clamp(56px, 9vw, 96px);
  --nav-h:     70px;

  --grad-fire: linear-gradient(100deg,var(--marigold),var(--pink) 60%,var(--purple));
  --shadow:    0 26px 60px -26px rgba(74,38,110,.40);
  --shadow-sm: 0 12px 30px -16px rgba(74,38,110,.30);
  --glow-green:0 16px 40px -14px rgba(20,192,116,.45);
}

*{box-sizing:border-box;margin:0;padding:0}
html{
  scroll-behavior:smooth;
  /* clip (not hidden) keeps the viewport from scrolling sideways without
     turning <body> into a scroll container — sticky nav keeps working */
  overflow-x:clip;
  scroll-padding-top:calc(var(--nav-h) + 16px);
  -webkit-text-size-adjust:100%;
}
body{
  background:var(--bg);
  color:var(--bone);
  font-family:'Space Grotesk',system-ui,sans-serif;
  line-height:1.6;
  overflow-x:clip;
  overflow-wrap:break-word;
  -webkit-font-smoothing:antialiased;
  -webkit-tap-highlight-color:rgba(20,192,116,.18);
}
/* pure white — no background washes */
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
:where(h1,h2,h3){text-wrap:balance}
:where(p){text-wrap:pretty}
/* nothing in a flex/grid track may refuse to shrink */
:where(.hero__inner,.story__grid,.nav__inner)>*{min-width:0}
.container{width:100%;max-width:var(--maxw);margin:0 auto;padding-inline:var(--gutter)}
.section{padding:var(--section-y) 0}
.txt-grad{background:var(--grad-fire);-webkit-background-clip:text;background-clip:text;color:transparent}

h1,h2,h3,.brand__name{font-family:'Anton',Impact,sans-serif;font-weight:400;letter-spacing:.5px;line-height:1.02}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  padding:15px 26px;border-radius:999px;font-weight:700;font-size:1rem;min-height:48px;
  cursor:pointer;border:1px solid transparent;transition:transform .18s ease, box-shadow .18s ease, background .2s;
  white-space:normal;text-align:center;line-height:1.15;font-family:inherit;max-width:100%;
}
.btn--sm{padding:10px 18px;font-size:.9rem;min-height:40px}
.btn--primary{background:var(--grad-fire);color:#fff;box-shadow:0 14px 30px -10px rgba(255,46,136,.6)}
.btn--ghost{background:var(--surface);color:var(--bone);border-color:var(--line);backdrop-filter:blur(10px);box-shadow:var(--shadow-sm)}
@media (hover:hover){
  .btn--primary:hover{transform:translateY(-3px);box-shadow:0 20px 42px -10px rgba(255,46,136,.7)}
  .btn--ghost:hover{border-color:var(--green);color:var(--green-ink);transform:translateY(-3px);box-shadow:var(--glow-green)}
}

.eyebrow{
  display:inline-flex;align-items:center;gap:.55em;
  font-size:.82rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--marigold-2);background:rgba(245,146,10,.12);
  border:1px solid rgba(245,146,10,.30);padding:8px 16px;border-radius:999px;
}
.eyebrow .dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 12px var(--green);animation:pulse 1.6s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}

.kicker{
  display:inline-block;font-size:.78rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;
  color:var(--green-ink);margin-bottom:14px;
}
.section__title{font-size:clamp(1.9rem,6vw,3.6rem)}

/* ---------- Nav ---------- */
.nav{position:sticky;top:0;z-index:50;backdrop-filter:blur(16px) saturate(1.4);
  background:rgba(255,255,255,.55);border-bottom:1px solid var(--line);transition:background .3s, box-shadow .3s}
.nav.scrolled{background:rgba(255,255,255,.8);box-shadow:0 10px 30px -20px rgba(74,38,110,.4)}
.nav__inner{display:flex;align-items:center;justify-content:space-between;height:var(--nav-h);gap:clamp(10px,2vw,20px)}
.brand{display:flex;align-items:center;gap:.5em;font-size:clamp(1.05rem,3.4vw,1.35rem);flex:0 1 auto;min-width:0}
.brand__skull{font-size:1em;filter:drop-shadow(0 2px 4px rgba(20,192,116,.5))}
.brand__name{letter-spacing:1px;color:var(--bone);white-space:nowrap}
.brand__name span{color:var(--marigold)}
.nav__links{display:flex;gap:clamp(16px,2.4vw,30px);margin-left:auto}
.nav__links a{font-weight:600;color:var(--muted);font-size:clamp(.88rem,1.5vw,.98rem);transition:color .2s;position:relative;white-space:nowrap}
.nav__links a::after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:2px;background:var(--grad-fire);transition:width .25s}
@media (hover:hover){
  .nav__links a:hover{color:var(--bone)}
  .nav__links a:hover::after{width:100%}
}
.nav__cta{display:flex;align-items:center;gap:clamp(8px,1.6vw,14px);flex:0 0 auto;margin-left:clamp(16px,2.4vw,30px)}

/* ---------- Hero ---------- */
.hero{position:relative;padding:clamp(34px,6vw,70px) 0 clamp(40px,6vw,72px)}
.hero__inner{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,4vw,50px);align-items:center}
.hero__title{font-size:clamp(2.1rem,6.4vw,4.6rem);margin:clamp(14px,2.4vw,22px) 0 18px;color:var(--bone)}
.hero__lead{color:var(--muted);font-size:clamp(1rem,2.6vw,1.14rem);max-width:520px}
.hero__actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:clamp(24px,3.6vw,34px)}

/* the art is a cut-out — it sits straight on the page, no frame, no backdrop */
.hero__art{display:grid;place-items:center;min-width:0}
.hero__char{
  height:clamp(380px,58vh,620px);width:auto;max-width:100%;
  filter:drop-shadow(0 26px 28px rgba(74,38,110,.18));
  animation:float 5.5s ease-in-out infinite;
}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-16px)}}

/* ---------- Character ribbon ---------- */
.marquee{padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  background:linear-gradient(var(--bg-3),var(--bg));overflow:hidden;position:relative}
.marquee__track{display:flex;gap:18px;width:max-content;animation:scroll 40s linear infinite}
.marquee:hover .marquee__track{animation-play-state:paused}
@keyframes scroll{to{transform:translateX(-50%)}}
.marquee__card{width:clamp(84px,18vw,120px);aspect-ratio:1;border-radius:16px;overflow:hidden;flex:0 0 auto;
  border:3px solid #fff;position:relative;box-shadow:var(--shadow-sm)}
.marquee__card img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
@media (hover:hover){.marquee__card:hover img{transform:scale(1.12)}}

/* ---------- Story ---------- */
.story__grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.story__images{position:relative;height:480px}
.story__img{position:absolute;border-radius:var(--radius);border:5px solid #fff;box-shadow:var(--shadow)}
/* staggered trio — each face stays clear of the one layered over it */
.story__img--a{width:54%;top:0;left:0;z-index:1}
.story__img--b{width:46%;top:10%;right:0;z-index:2}
.story__img--c{width:44%;bottom:0;left:22%;z-index:3}
.story__copy p{color:var(--muted);margin-top:16px;font-size:1.05rem}
.story__copy em{color:var(--green-ink);font-style:normal;font-weight:700}

/* ---------- Footer ---------- */
.footer{border-top:1px solid var(--line);background:var(--bg-2);padding:clamp(44px,7vw,64px) 0 26px;margin-top:20px}
.footer__inner{display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px}
.footer__inner .brand__name{font-size:1.5rem;color:var(--bone)}
.footer__inner .brand__name span{color:var(--marigold)}
.footer__inner p{color:var(--muted);max-width:440px}
.footer__socials a{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;
  background:var(--surface-solid);border:1px solid var(--line);font-size:1.15rem;transition:.2s;box-shadow:var(--shadow-sm)}
.footer__socials a:hover{border-color:var(--green);transform:translateY(-3px)}
.footer__base{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;text-align:center;
  margin-top:clamp(32px,5vw,44px);padding-top:24px;border-top:1px solid var(--line);color:var(--muted);font-size:.86rem}

/* ---------- Reveal on scroll ---------- */
.reveal{opacity:0;transform:translateY(30px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .hero__char,.marquee__track,.eyebrow .dot{animation:none}
  .reveal{opacity:1;transform:none;transition:none}
}

/* ===================================================================
   RESPONSIVE
   =================================================================== */
@media (max-width:1000px){
  .hero__inner{grid-template-columns:1fr;text-align:center}
  .hero__copy{order:2}
  .hero__art{order:1;margin-bottom:6px}
  .hero__lead{margin-left:auto;margin-right:auto}
  .hero__actions{justify-content:center}
  .story__grid{grid-template-columns:1fr;gap:40px}
  .story__images{height:400px;max-width:440px;margin:0 auto}
}
@media (max-width:720px){
  :root{--nav-h:64px}
  .section{padding:clamp(50px,12vw,70px) 0}
  .hero{padding-top:clamp(26px,8vw,44px)}
  .hero__inner{gap:24px}
  .hero__title{font-size:clamp(2rem,10vw,3.35rem)}
  .hero__lead{font-size:1rem}
  .hero__char{height:clamp(300px,42vh,430px)}
}
@media (max-width:560px){
  .eyebrow{width:100%;justify-content:center;text-align:center;white-space:normal;font-size:.72rem;line-height:1.35}
  .hero__actions{flex-direction:column}
  .hero__actions .btn{width:100%}
  .story__images{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:12px;height:auto;max-width:520px}
  .story__img{position:static;width:100%;height:100%;object-fit:cover}
  .story__img--a{grid-row:span 2;aspect-ratio:3/4}
  .story__img--b,.story__img--c{aspect-ratio:1}
  .footer__base{display:block}
  .footer__base span{display:block}
  .footer__base span + span{margin-top:10px}
}
@media (max-width:440px){
  :root{--gutter:14px}
  .brand{font-size:1rem}
  .nav__links{display:none}
}
