/* HOME PAGE SECTIONS — appended below the hero */

:root{
  --h-ink:#f4f1ea;
  --h-soft:#d8d4cc;
  --h-grey:#9b978f;
  --h-grey-2:#6a6760;
  --h-line:#1c1c1c;
  --h-card:#0a0a0a;
}

body{overflow-x:hidden}

.partners,
.prop,
.pillars,
.milly,
.stats,
.proof,
.cta,
.home-footer{
  font-family:'Inter','SF Pro Text',system-ui,sans-serif;
  color:var(--h-ink);
}

.eyebrow{
  display:inline-block;
  font-size:12px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--h-grey);
  font-weight:500;margin-bottom:18px;
}

h2{
  font-family:'Manrope','SF Pro Display',sans-serif;
  font-weight:700;letter-spacing:-.035em;line-height:1.05;
  color:var(--h-ink);
}

p{color:var(--h-soft)}

.btn-w{
  display:inline-flex;align-items:center;gap:8px;
  background:#fff;color:#000;
  padding:13px 24px;border-radius:999px;
  font-size:14px;font-weight:500;
  transition:transform .2s ease, background .2s ease;
  text-decoration:none;
}
.btn-w:hover{background:#f0f0f0;transform:translateY(-1px)}
.link-arrow{
  color:#fff;font-size:14px;font-weight:500;
  display:inline-flex;align-items:center;gap:6px;
  transition:opacity .2s ease;text-decoration:none;
}
.link-arrow:hover{opacity:.7}

/* ========== PARTNERS STRIP ========== */
.partners{
  padding:80px 0 60px;
  border-top:1px solid var(--h-line);
  border-bottom:1px solid var(--h-line);
  background:#000;
  text-align:center;
  overflow:hidden;
  position:relative;
}
.p-label{
  font-size:12px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--h-grey);
  margin-bottom:36px;font-weight:500;
}
.p-track{
  display:flex;
  width:max-content;
  gap:64px;
  animation:slide 50s linear infinite;
  align-items:center;
}
.p-row{
  display:flex;gap:64px;align-items:center;flex-shrink:0;
}
.p-logo{
  font-family:'Manrope',sans-serif;
  font-weight:600;
  font-size:28px;
  color:var(--h-soft);
  letter-spacing:-.01em;
  opacity:.55;
  transition:opacity .2s ease, color .2s ease;
  white-space:nowrap;
}
.p-logo:hover{opacity:1;color:#fff}
@keyframes slide{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}
.partners::before,
.partners::after{
  content:"";position:absolute;top:0;bottom:0;width:120px;z-index:2;pointer-events:none;
}
.partners::before{left:0;background:linear-gradient(to right,#000,transparent)}
.partners::after{right:0;background:linear-gradient(to left,#000,transparent)}

/* ========== VALUE PROP ========== */
.prop{
  padding:160px 32px;
  max-width:1080px;margin:0 auto;
  text-align:center;
}
.prop h2{
  font-size:clamp(44px, 6.5vw, 96px);
  letter-spacing:-.04em;
  margin-bottom:28px;
}
.prop p{
  font-size:clamp(17px, 1.4vw, 21px);
  color:var(--h-grey);max-width:680px;margin:0 auto;line-height:1.5;
}
.prop-actions{
  margin-top:40px;
  display:flex;gap:24px;align-items:center;justify-content:center;flex-wrap:wrap;
}

/* ========== PILLARS ========== */
.pillars{
  padding:140px 32px;
  max-width:1280px;margin:0 auto;
}
.ph-head{
  max-width:760px;margin-bottom:64px;
}
.ph-head h2{
  font-size:clamp(40px,5vw,72px);letter-spacing:-.035em;margin-bottom:20px;
}
.ph-head p{font-size:18px;color:var(--h-grey);max-width:540px}

.pillar-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:20px;
}
.pillar{
  position:relative;
  padding:40px;
  background:var(--h-card);
  border:1px solid var(--h-line);
  border-radius:24px;
  text-decoration:none;color:inherit;
  display:flex;flex-direction:column;
  min-height:280px;
  transition:transform .3s ease, border-color .3s ease, background .3s ease;
  overflow:hidden;
}
.pillar:hover{
  transform:translateY(-3px);
  border-color:rgba(255,255,255,.18);
  background:#0f0f0f;
}
.pill-tag{
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--h-grey-2);
  margin-bottom:16px;
}
.pillar h3{
  font-family:'Manrope',sans-serif;font-weight:700;
  font-size:28px;letter-spacing:-.02em;color:#fff;
  margin-bottom:12px;line-height:1.1;
}
.pillar p{
  color:var(--h-grey);font-size:15px;line-height:1.55;
  flex:1;
}
.pill-cta{
  margin-top:24px;
  font-size:14px;font-weight:500;color:#fff;
  display:inline-flex;align-items:center;gap:6px;
  transition:gap .25s ease;
}
.pillar:hover .pill-cta{gap:10px}
.pill-cta span{font-size:18px;line-height:1}

/* ========== MILLY ========== */
.milly{
  padding:0 32px 140px;
  max-width:1280px;
  margin:40px auto 0; /* add breathing room below gallery */
  position:relative;
  z-index:30;
}
.milly-card{
  position:relative;
  border-radius:28px;
  overflow:hidden;
  border:1px solid var(--h-line);
  background:#000;
  display:grid;grid-template-columns:1.1fr .9fr;
  min-height:540px;
  text-decoration:none;color:inherit;
  transition:transform .3s ease, border-color .3s ease;
}
.milly-card:hover{transform:translateY(-3px);border-color:rgba(255,255,255,.18)}
.milly-visual{
  position:relative;
  background:#000; /* flat black */
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  padding-left:10%;
}
.milly-stamp{
  position:absolute;top:32px;left:32px;z-index:2;
  font-size:12px;letter-spacing:.2em;text-transform:uppercase;
  color:rgba(255,255,255,.5);
}
.milly-body{
  padding:56px 48px;
  display:flex;flex-direction:column;justify-content:center;gap:18px;
}
.milly-body h2{font-size:clamp(34px,3.6vw,52px);line-height:1.05}

/* Animated sequence for Milly features */
.milly-seq{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:18px;
  position:relative;
  z-index:10;
}
.milly-seq-item{
  display:flex;
  align-items:center;
  gap:14px;
  font-family:'Urbanist','Inter',sans-serif;
  font-size:34px;
  font-weight:800;
  color:#fff;
  opacity:0;
  transform:translateY(15px);
  animation:seqStairs 10s infinite;
  text-align:left;
}
.milly-seq-item:nth-child(1){ margin-left: 0;   animation-delay: 0s; }
.milly-seq-item:nth-child(2){ margin-left: 36px; animation-delay: 0.6s; }
.milly-seq-item:nth-child(3){ margin-left: 72px; animation-delay: 1.2s; }
.milly-seq-item:nth-child(4){ margin-left: 108px; animation-delay: 1.8s; }
.milly-seq-item:nth-child(5){ margin-left: 144px; animation-delay: 2.4s; }

@keyframes seqStairs{
  0%, 4% { opacity:0; transform:translateY(15px); }
  12%, 88% { opacity:1; transform:translateY(0); }
  96%, 100% { opacity:0; transform:translateY(-15px); }
}
.milly-seq-item svg{color:#facc15}

.milly-body p{font-size:16px;color:var(--h-grey);max-width:440px}
.milly-meta{
  display:flex;gap:24px;margin-top:8px;
  border-top:1px solid var(--h-line);padding-top:20px;
}
.milly-meta div{display:flex;flex-direction:column;gap:4px}
.milly-meta .k{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--h-grey-2)}
.milly-meta .v{font-size:14px;color:#fff;font-weight:500}

/* ========== STATS ========== */
.stats{
  display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
  background:var(--h-line);
  border-top:1px solid var(--h-line);
  border-bottom:1px solid var(--h-line);
}
.stat{
  background:#000;padding:64px 32px;
  text-align:center;
}
.stat .n{
  font-family:'Manrope',sans-serif;font-weight:700;
  font-size:clamp(40px,4.5vw,64px);
  letter-spacing:-.03em;color:#fff;line-height:1;
}
.stat .l{
  font-size:12px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--h-grey-2);margin-top:14px;
}

/* ========== PROOF ========== */
.proof{
  padding:140px 32px;
  max-width:1280px;margin:0 auto;
}
.proof-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
}
.proof-card{
  padding:36px;
  background:var(--h-card);
  border:1px solid var(--h-line);
  border-radius:20px;
}
.proof-card p{
  font-size:17px;color:#fff;line-height:1.5;margin-bottom:24px;
  letter-spacing:-.005em;
}
.proof-card .who{display:flex;align-items:center;gap:12px}
.proof-card .avatar{
  width:38px;height:38px;border-radius:50%;
  background:linear-gradient(135deg,#2a2a2a,#0a0a0a);
  border:1px solid #1f1f1f;
}
.proof-card .name{font-size:14px;font-weight:500;color:#fff}
.proof-card .role{font-size:12px;color:var(--h-grey-2)}

/* ========== CTA ========== */
.cta{
  padding:160px 32px;
  text-align:center;
  border-top:1px solid var(--h-line);
}
.cta h2{
  font-size:clamp(48px, 7vw, 104px);letter-spacing:-.04em;
  margin-bottom:24px;
}
.cta p{
  font-size:18px;color:var(--h-grey);max-width:520px;margin:0 auto 36px;
}
.cta-actions{
  display:flex;gap:24px;justify-content:center;align-items:center;flex-wrap:wrap;
}

/* ========== FOOTER ========== */
.home-footer{
  background:#000;
  border-top:1px solid var(--h-line);
  padding:80px 32px 40px;
}
.hf-grid{
  max-width:1280px;margin:0 auto;
  display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1fr;gap:48px;
  margin-bottom:64px;
}
.hf-brand{display:flex;flex-direction:column;gap:18px;max-width:320px}
.hf-mark-row{display:flex;align-items:center;gap:8px;font-size:15px;color:#fff;font-weight:600}
.hf-mark{
  width:24px;height:24px;border-radius:5px;background:#fff;color:#000;
  display:flex;align-items:center;justify-content:center;font-size:14px;
}
.hf-brand p{font-size:14px;color:var(--h-grey)}
.hf-newsletter{display:flex;gap:8px;margin-top:8px}
.hf-newsletter input{
  flex:1;font-family:inherit;font-size:13px;
  padding:11px 14px;border:1px solid var(--h-line);border-radius:10px;
  background:#0d0d0d;color:#fff;outline:none;
}
.hf-newsletter input::placeholder{color:var(--h-grey-2)}
.hf-newsletter input:focus{border-color:#fff}
.hf-newsletter button{
  background:#fff;color:#000;border:0;
  padding:11px 16px;border-radius:10px;font-size:13px;font-weight:500;cursor:pointer;
}
.hf-col h5{
  font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--h-grey-2);font-weight:600;margin-bottom:18px;
}
.hf-col ul{list-style:none;display:flex;flex-direction:column;gap:10px;padding:0;margin:0}
.hf-col a{font-size:14px;color:var(--h-soft);text-decoration:none;transition:color .15s ease}
.hf-col a:hover{color:#fff}
.hf-bottom{
  max-width:1280px;margin:0 auto;
  border-top:1px solid var(--h-line);padding-top:28px;
  display:flex;justify-content:space-between;align-items:center;gap:24px;
  font-size:12.5px;color:var(--h-grey-2);flex-wrap:wrap;
}
.hf-legal{display:flex;gap:24px}
.hf-legal a{color:var(--h-grey-2);text-decoration:none}
.hf-legal a:hover{color:#fff}
.hf-socials{display:flex;gap:14px}
.hf-socials a{
  width:32px;height:32px;border-radius:50%;
  border:1px solid var(--h-line);
  display:inline-flex;align-items:center;justify-content:center;
  font-size:13px;color:var(--h-soft);
  text-decoration:none;
  transition:background .15s ease, color .15s ease;
}
.hf-socials a:hover{background:rgba(255,255,255,.06);color:#fff}

/* RESPONSIVE */
@media (max-width:1000px){
  .pillar-grid{grid-template-columns:1fr}
  .milly-visual{min-height:280px}
  .milly-body{padding:36px 28px}
  .stats{grid-template-columns:repeat(2,1fr)}
  .proof-grid{grid-template-columns:1fr}
  .hf-grid{grid-template-columns:1fr;gap:36px}
  .p-logo{font-size:22px}
}
@media (max-width:768px){
  .milly-seq-item{
    font-size:18px !important;
    gap:8px !important;
  }
  .milly-seq-item svg{width:16px;height:16px;}
  .milly-seq-item:nth-child(1){ margin-left: 0 !important; }
  .milly-seq-item:nth-child(2){ margin-left: 16px !important; }
  .milly-seq-item:nth-child(3){ margin-left: 32px !important; }
  .milly-seq-item:nth-child(4){ margin-left: 48px !important; }
  .milly-seq-item:nth-child(5){ margin-left: 64px !important; }
  /* Milly card kept side-by-side */
  .milly-card { grid-template-columns: 1.1fr .9fr !important; min-height: 240px; }
  .milly-visual{
    padding-left:16px !important;
    min-height:240px !important;
  }
  .milly-stamp{
    top:12px !important; left:12px !important;
    font-size:8px !important;
  }
  .milly-body { padding: 16px !important; gap: 8px !important; }
  .milly-body h2 { font-size: 16px !important; }
  .milly-body p { font-size: 11px !important; line-height: 1.4 !important; }
  .btn-w { padding: 8px 14px !important; font-size: 12px !important; margin-top: 10px !important; }
}
