/* ===== LEGAL PAGES (Privacy, Terms) ===== */
.legal-hero{
  background:linear-gradient(120deg, var(--navy) 0%, var(--navy-deep) 100%);
  padding:64px 0 48px; position:relative; overflow:hidden;
}
.legal-hero .eyebrow{color:var(--peach);}
.legal-hero .eyebrow::before{background:var(--peach);}
.legal-hero h1{
  font-family:'Aleo',serif; font-weight:700; color:#fff; font-size:clamp(28px,4vw,42px); margin:16px 0 10px;
}
.legal-hero .legal-updated{color:rgba(255,255,255,.65); font-size:13.5px;}

.legal-wrap{max-width:800px; margin:0 auto; padding:0 32px;}
.legal-body{padding:56px 0 90px;}

.legal-disclaimer{
  background:var(--cream); border-left:4px solid var(--orange); border-radius:10px;
  padding:20px 24px; margin-bottom:48px; font-size:14px; color:#4c5c72; line-height:1.7;
}
.legal-disclaimer strong{color:var(--navy);}

.legal-toc{
  background:#fff; border:1px solid rgba(14,48,81,.08); border-radius:14px; padding:26px 28px; margin-bottom:48px;
  box-shadow:0 6px 20px rgba(14,48,81,.05);
}
.legal-toc h2{
  font-family:'Aleo',serif; font-size:15px; color:var(--navy); margin-bottom:14px;
  text-transform:uppercase; letter-spacing:.06em; font-weight:700;
}
.legal-toc ol{margin:0; padding-left:20px;}
.legal-toc li{margin-bottom:6px;}
.legal-toc a{color:var(--red); font-size:14px; font-weight:600;}
.legal-toc a:hover{text-decoration:underline;}

.legal-section{margin-bottom:44px; scroll-margin-top:100px;}
.legal-section h2{
  font-family:'Aleo',serif; font-weight:700; font-size:22px; color:var(--navy); margin-bottom:16px;
  padding-bottom:12px; border-bottom:2px solid var(--cream);
}
.legal-section h3{font-family:'Aleo',serif; font-weight:700; font-size:16.5px; color:var(--navy); margin:22px 0 10px;}
.legal-section p{font-size:15px; color:#3f4f65; line-height:1.75; margin-bottom:14px;}
.legal-section ul, .legal-section ol{margin:0 0 14px; padding-left:24px;}
.legal-section li{font-size:15px; color:#3f4f65; line-height:1.75; margin-bottom:8px;}
.legal-section a{color:var(--red); font-weight:600;}
.legal-section a:hover{text-decoration:underline;}
.legal-section strong{color:var(--navy);}

.legal-contact-box{
  background:var(--cream); border-radius:14px; padding:28px 30px; margin-top:16px;
}
.legal-contact-box p{margin-bottom:6px;}

/* ===== WELCOME / EMAIL VERIFIED PAGE ===== */
.welcome-page{
  min-height:100vh; display:flex; align-items:center; justify-content:center; padding:40px 20px; position:relative; overflow:hidden;
  background:linear-gradient(120deg, var(--red) 0%, var(--orange) 100%);
}
.welcome-page .swirl-bg{position:absolute; inset:0; z-index:0;}
.welcome-card{
  position:relative; z-index:2; background:#fff; border-radius:26px; padding:56px 44px; max-width:480px; width:100%;
  text-align:center; box-shadow:0 40px 90px rgba(0,0,0,.3);
}
.welcome-logo{height:36px; margin-bottom:34px;}
.welcome-check{
  width:84px; height:84px; border-radius:50%; background:var(--cream); display:flex; align-items:center; justify-content:center;
  margin:0 auto 28px;
}
.welcome-card h1{font-family:'Aleo',serif; font-weight:700; font-size:26px; color:var(--navy); margin-bottom:14px;}
.welcome-card p{font-size:15px; color:#5c6c80; line-height:1.7; margin-bottom:30px;}
.welcome-actions{display:flex; flex-direction:column; gap:12px;}
.welcome-actions .btn{width:100%;}
.welcome-foot-note{margin-top:28px; font-size:12.5px; color:#9aa5b3;}
.welcome-foot-note a{color:var(--red); font-weight:600;}

@media (max-width:560px){
  .legal-wrap{padding:0 20px;}
  .legal-toc{padding:22px 20px;}
  .welcome-card{padding:40px 26px;}
}
