:root{
--orange:#F58220;
--orange-dark:#C98B4A;
--sky:#56C4F0;
--sky-dark:#1B8DBF;
--cream:#F2EDE4;
--cream-2:#EAE3D6;
--ink:#2b2620;
--ink-soft:#6b6357;
--white:#ffffff;
--brown:#372a1f;
--green:#7ca829;
--green-dark:#5f8420;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
font-family:'Plus Jakarta Sans',sans-serif;
background:var(--cream);
background-image:
    radial-gradient(circle at 12% 8%, rgba(86,196,240,0.10), transparent 38%),
    radial-gradient(circle at 88% 22%, rgba(245,130,32,0.08), transparent 40%),
    radial-gradient(circle at 50% 95%, rgba(124,168,41,0.07), transparent 45%);
background-attachment:fixed;
color:var(--ink);
line-height:1.6;
-webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{font-weight:800;line-height:1.1;letter-spacing:-0.02em}
.wrap{max-width:1120px;margin:0 auto;padding:4rem 24px 2rem}
h1{font-size:2.4rem;margin-bottom:24px}
h2{font-size:1.8rem;margin-bottom:20px}
h3{font-size:1.4rem;margin-bottom:16px}
p{margin-bottom:16px}
ul{margin-bottom:16px;margin-left:32px}
ol{margin-bottom:16px;margin-left:26px}
li{margin-bottom:8px}
hr{border:0;border-top:1px solid rgba(0,0,0,.06);margin:40px 0}
ol li::marker{font-size:1.4rem;font-weight:800;}
ol li p{left:-26px;position:relative;width:calc(100% + 26px);}
ul ul{margin-top:14px;margin-bottom:16px}

/* FOOTER */
footer{padding:54px 0 40px;border-top:1px solid rgba(0,0,0,.06);margin-top:40px}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px}
.foot-brand .logo{margin-bottom:14px}
.foot-brand p{font-size:14px;color:var(--ink-soft);max-width:280px}
.foot-col h5{font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);margin-bottom:14px}
.foot-col a{display:block;color:var(--ink-soft);text-decoration:none;font-size:14.5px;margin-bottom:10px;transition:color .2s}
.foot-col a:hover{color:var(--orange)}
.foot-bottom{margin-top:40px;padding-top:24px;border-top:1px solid rgba(0,0,0,.06);font-size:13px;color:var(--ink-soft);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}

/* ANIM */
.reveal{opacity:0;transform:translateY(16px);animation:rise .7s cubic-bezier(.2,.7,.2,1) forwards}
@keyframes rise{to{opacity:1;transform:none}}
.d1{animation-delay:.05s}.d2{animation-delay:.15s}.d3{animation-delay:.25s}.d4{animation-delay:.35s}

@media(max-width:820px){
h1 {
    font-size: 2rem;
    line-height: 1.2;
    }
h2 {
    font-size: 1.6rem;
    line-height: 1.2;
}
.section-legal{grid-template-columns:1fr}
.foot-grid{grid-template-columns:1fr 1fr;gap:28px}
}