*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }

:root {
  --bg:          #03020E;
  --bg-alt:      #07061A;
  --text:        #FFF8EF;               /* warm white */
  --text-mid:    rgba(255,245,225,.82);
  --text-dim:    rgba(255,240,200,.58);
  --sun:         #F5A623;
  --sun-deep:    #D4820A;
  --border:      rgba(245,166,35,.12);
  --border-sun:  rgba(245,166,35,.38);
  --stellar:     #F5C842;               /* warm gold */
  --grid-ln:     rgba(245,166,35,.018);
  --ink12:       rgba(255,240,200,.1);
}

html { scroll-behavior: smooth; }

body {
  font-family: 'Inter', sans-serif;
  font-weight: 300;
  background-color: var(--bg);
  background-image:
    linear-gradient(var(--grid-ln) 1px, transparent 1px),
    linear-gradient(90deg, var(--grid-ln) 1px, transparent 1px);
  background-size: 48px 48px;
  color: var(--text);
  overflow-x: hidden;
}

/* ── SPACE BACKGROUND ── */
.space-bg {
  position: fixed;
  inset: 0;
  z-index: 0;
}

@keyframes sun-breathe {
  0%,100% { opacity: 1; }
  50%      { opacity: .80; }
}

/* Stars */
.stars-1, .stars-2 {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

.stars-1::after {
  content: '';
  position: absolute;
  width: 2px; height: 2px;
  border-radius: 50%;
  background: rgba(255,240,200,.7);
  box-shadow:
    120px 80px 0 rgba(255,240,200,.5), 230px 200px 0 rgba(255,240,200,.35),
    80px 350px 0 rgba(255,240,200,.45), 400px 60px 0 rgba(255,240,200,.6),
    550px 180px 0 rgba(255,240,200,.25), 700px 90px 0 rgba(255,240,200,.55),
    900px 250px 0 rgba(255,240,200,.4), 1100px 120px 0 rgba(255,240,200,.35),
    1300px 300px 0 rgba(255,240,200,.5), 60px 500px 0 rgba(255,240,200,.25),
    320px 420px 0 rgba(255,240,200,.45), 480px 600px 0 rgba(255,240,200,.35),
    650px 480px 0 rgba(255,240,200,.55), 820px 550px 0 rgba(255,240,200,.25),
    1050px 460px 0 rgba(255,240,200,.45), 1200px 580px 0 rgba(255,240,200,.35),
    150px 700px 0 rgba(255,240,200,.5), 380px 750px 0 rgba(255,240,200,.25),
    750px 720px 0 rgba(255,240,200,.45), 1150px 680px 0 rgba(255,240,200,.35),
    200px 900px 0 rgba(255,220,130,.4), 500px 850px 0 rgba(245,200,100,.4),
    900px 800px 0 rgba(255,240,200,.25), 1300px 750px 0 rgba(255,240,200,.45),
    50px 1000px 0 rgba(255,240,200,.35), 450px 1050px 0 rgba(255,220,130,.25),
    800px 980px 0 rgba(255,240,200,.45), 1100px 1020px 0 rgba(245,200,100,.35),
    250px 1200px 0 rgba(255,240,200,.25), 600px 1150px 0 rgba(255,240,200,.45),
    1000px 1180px 0 rgba(255,240,200,.35), 1350px 1100px 0 rgba(255,220,130,.35);
  animation: twinkle-1 4s ease-in-out infinite;
}

@keyframes twinkle-1 {
  0%,100% { opacity: 1; }
  50%      { opacity: .35; }
}

.stars-2::after {
  content: '';
  position: absolute;
  width: 1px; height: 1px;
  border-radius: 50%;
  background: rgba(255,240,200,.5);
  box-shadow:
    170px 140px 0 rgba(255,240,200,.45), 290px 310px 0 rgba(255,240,200,.25),
    440px 130px 0 rgba(255,240,200,.35), 600px 270px 0 rgba(255,240,200,.55),
    760px 150px 0 rgba(255,240,200,.25), 950px 340px 0 rgba(255,240,200,.45),
    1180px 200px 0 rgba(255,240,200,.35), 130px 600px 0 rgba(245,200,100,.35),
    370px 520px 0 rgba(255,240,200,.25), 570px 640px 0 rgba(255,240,200,.45),
    710px 580px 0 rgba(255,220,130,.35), 870px 490px 0 rgba(255,240,200,.25),
    1020px 620px 0 rgba(255,240,200,.45), 1250px 510px 0 rgba(255,240,200,.35),
    90px 800px 0 rgba(255,240,200,.45), 420px 860px 0 rgba(255,240,200,.25),
    680px 810px 0 rgba(245,200,100,.35), 990px 870px 0 rgba(255,240,200,.45),
    1220px 820px 0 rgba(255,220,130,.25), 50px 1100px 0 rgba(255,240,200,.35),
    310px 1080px 0 rgba(255,240,200,.25), 620px 1120px 0 rgba(255,240,200,.45),
    880px 1060px 0 rgba(245,200,100,.25), 1130px 1090px 0 rgba(255,240,200,.35);
  animation: twinkle-2 6s ease-in-out infinite;
}

@keyframes twinkle-2 {
  0%,100% { opacity: .8; }
  33%      { opacity: .25; }
  66%      { opacity: 1; }
}

/* ── SUN CORONA ── */
.sun-corona {
  position: fixed;
  top: 38%; left: 76%;
  width: 0; height: 0;
  z-index: 0;
  pointer-events: none;
}

/* Alone pulsante a strati */
.sun-corona::before {
  content: '';
  position: absolute;
  border-radius: 50%;
  width: 1px; height: 1px;
  top: 0; left: 0;
  box-shadow:
    0 0  2px  2px  rgba(255,252,220,1),
    0 0  8px  5px  rgba(255,240,160,.9),
    0 0 22px 12px  rgba(255,210,80,.65),
    0 0 55px 28px  rgba(245,166,35,.38),
    0 0 110px 55px rgba(240,140,0,.20),
    0 0 200px 100px rgba(230,110,0,.10),
    0 0 380px 190px rgba(210,80,0,.05);
  animation: corona-breathe 7s ease-in-out infinite;
}

@keyframes corona-breathe {
  0%,100% {
    box-shadow:
      0 0  2px  2px  rgba(255,252,220,1),
      0 0  8px  5px  rgba(255,240,160,.9),
      0 0 22px 12px  rgba(255,210,80,.65),
      0 0 55px 28px  rgba(245,166,35,.38),
      0 0 110px 55px rgba(240,140,0,.20),
      0 0 200px 100px rgba(230,110,0,.10),
      0 0 380px 190px rgba(210,80,0,.05);
  }
  50% {
    box-shadow:
      0 0  2px  3px  rgba(255,252,220,1),
      0 0 12px  7px  rgba(255,240,160,.85),
      0 0 30px 16px  rgba(255,210,80,.55),
      0 0 70px 36px  rgba(245,166,35,.28),
      0 0 140px 70px rgba(240,140,0,.14),
      0 0 260px 130px rgba(230,110,0,.07),
      0 0 480px 240px rgba(210,80,0,.03);
  }
}

/* Raggi irregolari rotanti */
.sun-corona::after {
  content: '';
  position: absolute;
  width: 700px; height: 700px;
  top: 0; left: 0;
  transform: translate(-50%, -50%);
  background: conic-gradient(
    from 0deg,
    transparent 0deg,   rgba(255,220,100,.04) 3deg,  transparent 9deg,
    transparent 22deg,  rgba(255,210,80,.055) 26deg,  transparent 31deg,
    transparent 50deg,  rgba(255,220,100,.035) 53deg, transparent 58deg,
    transparent 72deg,  rgba(255,200,60,.05)  75deg,  transparent 80deg,
    transparent 98deg,  rgba(255,220,100,.04) 101deg, transparent 105deg,
    transparent 118deg, rgba(255,210,80,.03)  121deg, transparent 125deg,
    transparent 145deg, rgba(255,220,100,.05) 148deg, transparent 154deg,
    transparent 168deg, rgba(255,200,60,.035) 171deg, transparent 176deg,
    transparent 192deg, rgba(255,220,100,.04) 195deg, transparent 200deg,
    transparent 215deg, rgba(255,210,80,.05)  218deg, transparent 224deg,
    transparent 242deg, rgba(255,220,100,.035) 245deg,transparent 250deg,
    transparent 265deg, rgba(255,200,60,.045) 268deg, transparent 273deg,
    transparent 290deg, rgba(255,220,100,.04) 293deg, transparent 298deg,
    transparent 315deg, rgba(255,210,80,.03)  318deg, transparent 322deg,
    transparent 340deg, rgba(255,220,100,.05) 344deg, transparent 349deg,
    transparent 360deg
  );
  mask-image: radial-gradient(circle at 50% 50%, transparent 18px, rgba(0,0,0,.8) 45px, rgba(0,0,0,.4) 160px, transparent 340px);
  -webkit-mask-image: radial-gradient(circle at 50% 50%, transparent 18px, rgba(0,0,0,.8) 45px, rgba(0,0,0,.4) 160px, transparent 340px);
  animation: spike-drift 90s linear infinite;
}

@keyframes spike-drift {
  from { transform: translate(-50%, -50%) rotate(0deg); }
  to   { transform: translate(-50%, -50%) rotate(360deg); }
}

/* Floating dust */
.dust {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}

.dust-p {
  position: absolute;
  border-radius: 50%;
  background: rgba(245,166,35,.35);
  animation: dust-float linear infinite;
}

.dust-p:nth-child(1)  { width:3px; height:3px; left:10%;  animation-duration:18s; animation-delay:0s; }
.dust-p:nth-child(2)  { width:2px; height:2px; left:22%;  animation-duration:24s; animation-delay:3s;  background:rgba(255,240,200,.22); }
.dust-p:nth-child(3)  { width:4px; height:4px; left:35%;  animation-duration:20s; animation-delay:6s; }
.dust-p:nth-child(4)  { width:2px; height:2px; left:48%;  animation-duration:30s; animation-delay:1s;  background:rgba(245,210,100,.28); }
.dust-p:nth-child(5)  { width:3px; height:3px; left:62%;  animation-duration:22s; animation-delay:9s; }
.dust-p:nth-child(6)  { width:2px; height:2px; left:75%;  animation-duration:16s; animation-delay:4s;  background:rgba(255,240,200,.2); }
.dust-p:nth-child(7)  { width:3px; height:3px; left:85%;  animation-duration:26s; animation-delay:7s; }
.dust-p:nth-child(8)  { width:2px; height:2px; left:92%;  animation-duration:19s; animation-delay:2s;  background:rgba(245,210,100,.22); }
.dust-p:nth-child(9)  { width:4px; height:4px; left:5%;   animation-duration:28s; animation-delay:11s; }
.dust-p:nth-child(10) { width:2px; height:2px; left:55%;  animation-duration:21s; animation-delay:5s;  background:rgba(255,240,200,.28); }

@keyframes dust-float {
  0%   { transform: translateY(110vh) translateX(0); opacity: 0; }
  10%  { opacity: .6; }
  90%  { opacity: .3; }
  100% { transform: translateY(-10vh) translateX(30px); opacity: 0; }
}

/* ── SKIP LINK ── */
.skip-link {
  position: absolute;
  top: -100%;
  left: 16px;
  z-index: 200;
  padding: 10px 20px;
  background: var(--sun);
  color: #03020E;
  font-family: 'Space Mono', monospace;
  font-size: 12px; font-weight: 700;
  letter-spacing: .06em;
  text-decoration: none;
}

.skip-link:focus {
  top: 16px;
}

/* ── NAV ── */
nav {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 24px 64px;
  border-bottom: 1px solid var(--border);
  background: rgba(3,2,14,.88);
  backdrop-filter: blur(12px);
}

.logo {
  font-family: 'Space Mono', monospace;
  font-size: 15px; font-weight: 700;
  letter-spacing: .08em; color: var(--text);
}

.cursor {
  color: var(--sun);
  animation: blink .9s step-end infinite;
}

@keyframes blink {
  0%, 100% { opacity: 1; }
  50%       { opacity: 0; }
}

.nav-status {
  display: flex; align-items: center; gap: 8px;
  font-family: 'Space Mono', monospace;
  font-size: 10px; letter-spacing: .1em;
  color: var(--text-dim);
  padding: 6px 14px;
  border: 1px solid var(--border);
}

.status-dot {
  width: 6px; height: 6px;
  flex-shrink: 0;
  background: var(--sun);
  box-shadow: 0 0 8px rgba(245,166,35,.8);
  animation: dotpulse 2.6s ease-in-out infinite;
}

@keyframes dotpulse {
  0%,100% { opacity:1; }
  50%      { opacity:.3; }
}

/* ── HERO ── */
.hero {
  position: relative; z-index: 10;
  min-height: 100vh;
  display: flex; flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: 140px 8% 100px;
}

.hero-content {
  display: flex; flex-direction: column;
  align-items: flex-start;
  width: 100%;
  max-width: 820px;
}

.hero-tag {
  font-family: 'Space Mono', monospace;
  font-size: 11px; letter-spacing: .1em;
  color: var(--stellar); margin-bottom: 40px;
  animation: rise .9s .3s both;
}

.hero-h1 {
  font-family: 'Space Mono', monospace;
  font-size: clamp(28px, 3.8vw, 62px);
  font-weight: 700; line-height: 1.2;
  letter-spacing: -.02em; color: var(--text);
  margin-bottom: 32px;
  animation: rise .9s .45s both;
}

.hero-h1 .accent {
  display: block;
  color: var(--sun);
  white-space: nowrap;
}

.hero-vline {
  width: 1px; height: 48px;
  background: linear-gradient(to bottom, rgba(245,166,35,.7), transparent);
  margin: 0 0 32px;
  animation: rise .8s .6s both;
}

.hero-p {
  font-size: clamp(14px, 1.4vw, 18px);
  font-weight: 400; line-height: 1.85;
  color: var(--text-mid);
  margin-bottom: 48px;
  animation: rise .8s .7s both;
}

/* ── STATUS BADGE ── */
.cs {
  display: inline-flex; align-items: center;
  gap: 16px; padding: 14px 28px;
  border: 1px solid var(--border-sun);
  background: rgba(245,166,35,.05);
  margin-bottom: 48px;
  animation: rise .8s .85s both;
}

.cs-dot {
  width: 7px; height: 7px;
  flex-shrink: 0;
  background: var(--sun);
  box-shadow: 0 0 10px rgba(245,166,35,.8), 0 0 22px rgba(245,166,35,.4);
  animation: dotpulse 2.6s ease-in-out infinite;
}

.cs-label {
  font-family: 'Space Mono', monospace;
  font-size: 14px; font-weight: 700;
  letter-spacing: .05em; color: var(--text);
}

.cs-year {
  font-family: 'Space Mono', monospace;
  font-size: 10px; letter-spacing: .12em;
  color: var(--sun); margin-top: 4px;
}

/* ── FORM FEEDBACK ── */
.form-feedback {
  font-family: 'Space Mono', monospace;
  font-size: 11px; letter-spacing: .04em;
  padding: 10px 14px;
  margin-bottom: 12px;
  border: 1px solid;
}

.form-success {
  color: var(--stellar);
  border-color: rgba(245,200,66,.35);
  background: rgba(245,200,66,.06);
}

.form-error {
  color: #FF6B6B;
  border-color: rgba(255,107,107,.35);
  background: rgba(255,107,107,.06);
}

.form-info {
  color: var(--text-mid);
  border-color: var(--border-sun);
  background: rgba(245,166,35,.05);
}

/* ── FORM ── */
.form-wrap {
  width: 100%; max-width: 460px;
  animation: rise .8s 1s both;
}

.form-lbl {
  font-family: 'Space Mono', monospace;
  font-size: 10px; letter-spacing: .1em;
  color: var(--text-mid);
  margin-bottom: 12px; text-align: left;
}

.form-row {
  display: flex;
  border: 1px solid var(--border);
  overflow: hidden;
}

.form-row:focus-within { border-color: rgba(245,166,35,.5); }

.form-row input {
  flex: 1; padding: 14px 18px;
  background: rgba(255,240,200,.03);
  border: none; outline: none;
  font-family: 'Space Mono', monospace;
  font-size: 12px;
  color: var(--text);
}

.form-row input::placeholder { color: var(--text-dim); }

.form-row button {
  padding: 14px 22px;
  background: var(--sun); border: none;
  font-family: 'Space Mono', monospace;
  font-size: 11px; font-weight: 700;
  letter-spacing: .08em; color: #03020E;
  cursor: pointer; white-space: nowrap;
}

.form-row button:hover { background: #FFB730; }

.form-note {
  font-family: 'Space Mono', monospace;
  font-size: 10px; color: var(--text-mid);
  margin-top: 10px; text-align: left;
  letter-spacing: .02em;
}


/* ── STORY ── */
.story {
  position: relative; z-index: 10;
  padding: 120px 10%;
}

.story-inner {
  max-width: 1100px;
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 0 80px;
  align-items: start;
}

.story-left {
  position: sticky;
  top: 120px;
  padding-top: 4px;
}

.story-tag {
  font-family: 'Space Mono', monospace;
  font-size: 10px; letter-spacing: .15em;
  color: var(--stellar); margin-bottom: 20px;
}

.story-title {
  font-family: 'Space Mono', monospace;
  font-size: clamp(18px, 2vw, 26px);
  font-weight: 700; line-height: 1.25;
  letter-spacing: -.02em; color: var(--text);
  margin-bottom: 28px;
}

.story .accent { color: var(--sun); }

.story-rule {
  width: 32px; height: 2px;
  background: var(--sun);
}

.story-body {
  font-size: clamp(14px, 1.5vw, 17px);
  font-weight: 400; line-height: 2;
  color: var(--text-mid);
  margin-bottom: 36px;
}

.story-body p { margin-bottom: 22px; }
.story-body p:last-child { margin-bottom: 0; }

.story-closing {
  padding-top: 28px;
  border-top: 1px solid var(--border);
  font-family: 'Space Mono', monospace;
  font-size: clamp(12px, 1.2vw, 14px);
  font-weight: 400; line-height: 1.7;
  color: var(--text-mid);
}

.story-closing strong { color: var(--sun); }

/* ── PILLARS ── */
.pillars {
  position: relative; z-index: 10;
  padding: 0 10% 120px;
}

.s-tag {
  font-family: 'Space Mono', monospace;
  font-size: 10px; letter-spacing: .15em;
  color: var(--stellar); margin-bottom: 16px;
}

.s-title {
  font-family: 'Space Mono', monospace;
  font-size: clamp(24px, 3vw, 40px);
  font-weight: 700; line-height: 1.1;
  letter-spacing: -.02em; color: var(--text);
  margin-bottom: 56px;
}

.s-title .accent { color: var(--sun); }

.pill-grid {
  display: flex;
  flex-direction: column;
  max-width: 680px;
  position: relative;
}

.pill-grid::before {
  content: '';
  position: absolute;
  left: 37px;
  top: 8px; bottom: 56px;
  width: 1px;
  background: linear-gradient(to bottom,
    var(--border-sun) 0%,
    var(--border) 60%,
    transparent 100%);
}

.pill {
  display: grid;
  grid-template-columns: 76px 1fr;
  grid-template-rows: auto auto;
  column-gap: 40px;
  row-gap: 10px;
  padding-bottom: 52px;
}

.pill:last-child { padding-bottom: 0; }

.pill-n {
  grid-column: 1; grid-row: 1 / 3;
  align-self: start;
  font-family: 'Space Mono', monospace;
  font-size: 11px; font-weight: 700;
  color: var(--stellar); letter-spacing: .05em;
  border: 1px solid rgba(245,166,35,.3);
  padding: 3px 10px;
  display: inline-flex;
  align-items: center;
  position: relative; z-index: 1;
  background: var(--bg);
}

.pill-t {
  grid-column: 2; grid-row: 1;
  font-family: 'Space Mono', monospace;
  font-size: 15px; font-weight: 700;
  color: var(--text);
  letter-spacing: -.01em; line-height: 1.3;
}

.pill-b {
  grid-column: 2; grid-row: 2;
  font-size: 13px; line-height: 1.8; color: var(--text-mid);
}

/* ── STATS ── */
.stats {
  position: relative; z-index: 10;
  padding: 0 10% 120px;
}

.stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}

.stat {
  padding: 40px 32px;
  border-right: 1px solid var(--border);
  text-align: left;
}

.stat:last-child { border-right: none; }

.stat-id {
  font-family: 'Space Mono', monospace;
  font-size: 9px; letter-spacing: .1em;
  color: var(--text-dim); margin-bottom: 12px;
}

.stat-n {
  font-family: 'Space Mono', monospace;
  font-size: clamp(32px, 4vw, 48px); font-weight: 700;
  color: var(--sun); line-height: 1;
  margin-bottom: 10px;
}

.stat-l {
  font-family: 'Space Mono', monospace;
  font-size: 10px; font-weight: 400;
  letter-spacing: .06em; text-transform: uppercase;
  color: var(--text-mid); line-height: 1.6;
}

/* ── MANIFESTO ── */
.manifesto {
  position: relative; z-index: 10;
  padding: 0 10% 120px;
  max-width: none; margin: 0;
  text-align: left;
}

.manifesto-q {
  font-family: 'Space Mono', monospace;
  font-size: clamp(15px, 2.2vw, 24px);
  font-weight: 400; line-height: 1.7;
  letter-spacing: -.01em;
  color: var(--text); margin-bottom: 28px;
  max-width: 720px;
}

.manifesto-q::before { content: '> '; color: var(--stellar); }

.manifesto-rule {
  width: 32px; height: 1px;
  background: var(--sun); margin: 0 0 16px;
}

.manifesto-src {
  font-family: 'Space Mono', monospace;
  font-size: 10px; letter-spacing: .1em; text-transform: uppercase;
  color: rgba(245,166,35,.6);
}

/* ── FOOTER ── */
footer {
  position: relative; z-index: 10;
  padding: 28px 64px;
  display: flex; align-items: center;
  justify-content: space-between;
  border-top: 1px solid var(--border);
  background: var(--bg);
}

.f-logo {
  font-family: 'Space Mono', monospace;
  font-size: 13px; font-weight: 700;
  color: var(--text-mid);
  letter-spacing: .08em;
}

.f-copy {
  font-family: 'Space Mono', monospace;
  font-size: 10px; color: var(--text-dim);
  letter-spacing: .03em;
}

/* ── ANIMATIONS ── */
@keyframes rise {
  from { opacity:0; transform:translateY(20px); }
  to   { opacity:1; transform:translateY(0); }
}

/* ── RESPONSIVE ── */

/* Tablet landscape (801px – 1024px) */
@media (max-width: 1024px) {
  nav { padding: 22px 40px; }
  .hero { padding: 130px 6% 90px; }
  .story { padding: 100px 6%; }
  .story-inner { gap: 0 48px; grid-template-columns: 220px 1fr; }
  .pillars { padding: 0 6% 100px; }
  .stats { padding: 0 6% 100px; }
  .manifesto { padding: 0 6% 100px; }
  footer { padding: 28px 40px; }
}

/* Mobile (≤ 800px) */
@media (max-width: 800px) {
  nav { padding: 20px 24px; }
  .hero { padding: 120px 28px 100px; }
  .hero-content { align-items: center; text-align: center; max-width: none; }
  .hero-h1 { white-space: normal; font-size: clamp(26px, 7vw, 40px); }
  .hero-h1 .accent { white-space: normal; }
  .hero-vline { margin: 0 auto 32px; }
  .story { padding: 72px 28px; }
  .story-inner { grid-template-columns: 1fr; gap: 36px 0; }
  .story-left { position: static; }
  .story-rule { margin-bottom: 0; }
  .pillars { padding: 0 28px 80px; }
  .pill-grid::before { display: none; }
  .pill { grid-template-columns: 1fr; grid-template-rows: auto auto auto; row-gap: 8px; padding-bottom: 40px; border-bottom: 1px solid var(--border); }
  .pill:last-child { border-bottom: none; padding-bottom: 0; }
  .pill-n { grid-column: 1; grid-row: 1; }
  .pill-t { grid-column: 1; grid-row: 2; }
  .pill-b { grid-column: 1; grid-row: 3; }
  .stats { padding: 0 28px 80px; }
  .stats-grid { grid-template-columns: repeat(2,1fr); }
  .stat:nth-child(2) { border-right:none; }
  .stat:nth-child(1),.stat:nth-child(2) { border-bottom:1px solid var(--border); }
  .manifesto { padding: 0 28px 80px; }
  footer { flex-direction:column; gap:10px; text-align:center; padding:32px 28px; }
  .sun-rays { display: none; }
}

/* Small phones (≤ 480px) */
@media (max-width: 480px) {
  .hero { padding: 100px 20px 72px; }
  .story { padding: 60px 20px; }
  .pillars { padding: 0 20px 60px; }
  .stats { padding: 0 20px 60px; }
  .stat { padding: 28px 16px; }
  .manifesto { padding: 0 20px 60px; }
  footer { padding: 28px 20px; }
}

/* Rispetta la preferenza di riduzione del movimento */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
