/* ==========================================================
   ENERZEX — Policies page styles
   Red / Black / White brand theme, matches site-wide look
   ========================================================== */

@import url('https://fonts.googleapis.com/css2?family=Sora:wght@400;500;600;700;800&family=Inter:wght@400;500;600;700&family=IBM+Plex+Mono:wght@500;600&display=swap');

:root{
  --ez-red:#E31E24; --ez-red-dark:#A9141A; --ez-red-glow:rgba(227,30,36,0.35);
  --ez-black:#0B0B0D; --ez-charcoal:#17181C; --ez-ink:#111214;
  --ez-grey:#6B6E76; --ez-grey-light:#9A9DA6; --ez-line:#E8E8EA;
  --ez-green:#22C55E; --ez-amber:#FFB300; --ez-radius:18px;
}
html{ overflow-x:hidden; max-width:100%; }
body{ overflow-x:hidden; max-width:100%; }
.page-hero *, .policies-wrap *{ box-sizing:border-box; }

.has-js .policies-wrap .reveal{
  opacity:0; transform:translateY(24px);
  transition:opacity .6s cubic-bezier(.2,.7,.2,1), transform .6s cubic-bezier(.2,.7,.2,1);
}
.has-js .policies-wrap .reveal.in{ opacity:1; transform:translateY(0); }

/* ---------- PAGE HERO ---------- */
.page-hero{position:relative; background:var(--ez-black); color:#fff; overflow:hidden; padding:64px 24px 52px; text-align:center;}
.page-hero::before{content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(600px 380px at 50% -10%, rgba(227,30,36,0.28), transparent 65%);}
.page-hero::after{
  content:""; position:absolute; inset:0; opacity:.3; pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,0.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.035) 1px, transparent 1px);
  background-size:42px 42px; mask-image:linear-gradient(to bottom, rgba(0,0,0,0.9), transparent 85%);
}
.page-hero h1{position:relative; z-index:1; font-family:'Sora',sans-serif; font-weight:800; font-size:clamp(2rem,4.5vw,3rem); margin:0 0 14px; letter-spacing:-.02em; animation:ezFadeUp .6s ease both;}
.page-hero p{position:relative; z-index:1; color:#B7B9C0; font-family:'Inter',sans-serif; font-size:16px; max-width:600px; margin:0 auto; line-height:1.6; animation:ezFadeUp .6s ease .1s both;}
@keyframes ezFadeUp{from{opacity:0; transform:translateY(14px);} to{opacity:1; transform:translateY(0);}}

/* ---------- SECTION / WRAP ---------- */
.section{position:relative; background:#fff; overflow:hidden; padding:56px 0 96px;}
.policies-wrap{max-width:1200px; margin:0 auto; padding:0 24px; position:relative; z-index:1; font-family:'Inter',sans-serif; color:var(--ez-ink);}
.section::before{content:""; position:absolute; width:440px; height:440px; border-radius:50%; z-index:0; background:radial-gradient(circle, rgba(227,30,36,0.05), transparent 70%); top:-160px; right:-160px; animation:ezDrift 17s ease-in-out infinite; pointer-events:none;}
@keyframes ezDrift{0%,100%{transform:translate(0,0);} 50%{transform:translate(-24px,30px);}}
@media(max-width:640px){ .section{padding:36px 0 64px;} }

/* ---------- BENTO GRID ---------- */
.policy-grid{display:grid; grid-template-columns:repeat(12,1fr); gap:22px;}
@media(max-width:900px){ .policy-grid{grid-template-columns:1fr; gap:16px;} }
.policy-card{
  background:#fff; border:1px solid var(--ez-line); border-radius:var(--ez-radius); padding:28px;
  transition:transform .3s, box-shadow .3s, border-color .3s; display:flex; flex-direction:column; justify-content:space-between;
}
.policy-card:hover{transform:translateY(-6px); box-shadow:0 20px 40px rgba(0,0,0,0.07); border-color:rgba(227,30,36,0.25);}
.span-6{grid-column:span 6;} .span-4{grid-column:span 4;} .span-8{grid-column:span 8;} .span-12{grid-column:span 12;}
@media(max-width:900px){ .span-6,.span-4,.span-8,.span-12{grid-column:span 1;} }

.policy-head{display:flex; align-items:center; gap:12px; margin-bottom:16px;}
.policy-icon{
  flex:none; width:44px; height:44px; border-radius:12px; background:#FFF1F1; color:var(--ez-red);
  display:flex; align-items:center; justify-content:center; font-size:21px; animation:ezBreathe 3.2s ease-in-out infinite;
}
@keyframes ezBreathe{0%,100%{transform:scale(1);} 50%{transform:scale(1.08);}}
.policy-card h3{font-family:'Sora',sans-serif; font-size:18px; font-weight:700; margin:0; color:var(--ez-ink);}
.policy-card p{color:var(--ez-grey); font-size:14.5px; line-height:1.65; margin:0;}

.policy-btn{
  margin-top:18px; align-self:flex-start; background:var(--ez-red); color:#fff; border:none; border-radius:10px;
  padding:11px 22px; font-family:'Sora',sans-serif; font-weight:600; font-size:13.5px; cursor:pointer;
  transition:transform .2s, box-shadow .2s, background .2s; text-decoration:none; display:inline-flex; align-items:center; gap:8px;
}
.policy-btn:hover{transform:translateY(-2px); box-shadow:0 10px 22px var(--ez-red-glow); background:var(--ez-red-dark);}

.stat-chips{display:flex; gap:12px; margin-top:16px; flex-wrap:wrap;}
.stat-chip{background:#FAFAFA; border:1px solid var(--ez-line); border-radius:12px; padding:10px 16px;}
.stat-chip span{display:block;}
.stat-chip .stat-label{font-family:'IBM Plex Mono',monospace; font-size:10.5px; text-transform:uppercase; letter-spacing:.05em; color:var(--ez-red); margin-bottom:2px;}
.stat-chip .stat-value{font-family:'Sora',sans-serif; font-size:19px; font-weight:800; color:var(--ez-ink);}

.check-list{display:flex; flex-direction:column; gap:10px; margin:0; padding:0; list-style:none;}
.check-list li{display:flex; gap:9px; align-items:flex-start; font-size:13.5px; color:var(--ez-grey); line-height:1.55;}
.check-list li .tick{flex:none; color:var(--ez-red); font-weight:700;}
.status-badge{margin-top:18px; padding-top:14px; border-top:1px solid var(--ez-line); font-family:'IBM Plex Mono',monospace; font-size:11.5px; font-weight:700; color:var(--ez-ink); letter-spacing:.04em;}

.numbered-rows{display:flex; flex-direction:column; gap:9px; margin-top:14px;}
.numbered-row{
  display:flex; align-items:center; gap:14px; background:#FAFAFA; border-radius:10px; padding:11px 14px;
  opacity:0; transform:translateX(-8px); animation:rowIn .5s ease forwards; animation-play-state:paused;
}
.has-js .policy-card.in .numbered-row{animation-play-state:running;}
@keyframes rowIn{to{opacity:1; transform:translateX(0);}}
.numbered-row:nth-child(1){animation-delay:.05s;} .numbered-row:nth-child(2){animation-delay:.18s;} .numbered-row:nth-child(3){animation-delay:.31s;}
.numbered-row .num{font-family:'IBM Plex Mono',monospace; font-weight:700; color:var(--ez-red); font-size:13px;}
.numbered-row .txt{font-size:13.5px; color:var(--ez-ink);}

/* ---------- PRIVACY ACCORDION ---------- */
.accordion .acc-item{border:1px solid var(--ez-line); border-radius:14px; margin-bottom:10px; background:#fff; overflow:hidden; transition:border-color .2s;}
.accordion .acc-item.open{border-color:rgba(227,30,36,0.3);}
.acc-header{
  width:100%; text-align:left; background:none; border:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between;
  gap:12px; padding:15px 18px; font-family:'Sora',sans-serif; font-size:14.5px; font-weight:700; color:var(--ez-ink); transition:color .2s;
}
.acc-header:hover{color:var(--ez-red-dark);}
.acc-header .n{font-family:'IBM Plex Mono',monospace; color:var(--ez-red); margin-right:8px;}
.acc-icon{flex:none; width:24px; height:24px; border-radius:50%; background:var(--ez-ink); color:#fff; display:flex; align-items:center; justify-content:center; font-size:14px; transition:transform .3s, background .3s;}
.acc-item.open .acc-icon{background:var(--ez-red); transform:rotate(45deg);}
.acc-body{display:grid; grid-template-rows:0fr; transition:grid-template-rows .35s ease;}
.acc-item.open .acc-body{grid-template-rows:1fr;}
.acc-body > p{overflow:hidden; margin:0; padding:0 18px 16px; font-size:13.5px; color:var(--ez-grey); line-height:1.6;}

/* ---------- CTA BANNER ---------- */
.cta-banner{
  position:relative; overflow:hidden; background:linear-gradient(120deg, var(--ez-red-dark), var(--ez-red) 60%, #ff4d51);
  border-radius:28px; padding:56px 40px; text-align:center; color:#fff; margin-top:36px;
}
.cta-banner::after{content:""; position:absolute; inset:-40%; opacity:.5; background:radial-gradient(circle at 30% 30%, rgba(255,255,255,0.25), transparent 60%); animation:sweep 8s linear infinite;}
@keyframes sweep{from{transform:rotate(0deg);} to{transform:rotate(360deg);}}
.cta-banner h2{position:relative; font-family:'Sora',sans-serif; font-size:clamp(1.5rem,3vw,2rem); margin:0 0 20px; font-weight:800;}
.cta-banner .policy-btn{position:relative; background:#fff; color:var(--ez-black);}
.cta-banner .policy-btn:hover{background:#f2f2f2; box-shadow:0 12px 26px rgba(0,0,0,0.35);}

@media (prefers-reduced-motion: reduce){ .page-hero *, .policies-wrap *{animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important;} }