/* ---------- Shared styles for the legal pages (privacy-policy.html, disclaimer.html) ---------- */
:root{
  --charcoal:#3a3a3c;
  --charcoal-deep:#232224;
  --orange:#e8622c;
  --orange-deep:#c94f1d;
  --orange-tint:#fceae0;
  --paper:#faf8f5;
  --white:#ffffff;
  --line:#e6e1d8;
  --ink-soft:#6f6d6a;
  --radius:2px;
  --maxw:1200px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth; scroll-padding-top:96px;}
body{
  margin:0;
  font-family:'Carlito', sans-serif;
  color:var(--charcoal-deep);
  background:var(--paper);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
h1,h2,h3{font-family:'Carlito', sans-serif; font-weight:700; line-height:1.12; margin:0; letter-spacing:-0.01em;}
p{margin:0; line-height:1.7;}
:focus-visible{outline:2.5px solid var(--orange-deep); outline-offset:3px;}

.wrap{max-width:var(--maxw); margin:0 auto; padding:0 32px;}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:11px 20px;
  font-weight:600; font-size:0.85rem;
  border-radius:var(--radius);
  border:1.5px solid var(--charcoal-deep);
  color:var(--charcoal-deep);
  white-space:nowrap;
  transition:background 0.18s ease, color 0.18s ease;
}
.btn:hover{background:var(--charcoal-deep); color:var(--white);}

/* ---------- Header ---------- */
header{
  position:sticky; top:0; z-index:100;
  background:rgba(250,248,245,0.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.nav{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:16px 32px;
  max-width:var(--maxw); margin:0 auto;
}
.brand{display:flex; align-items:center; gap:12px;}
.brand img{height:44px; width:44px;}
.brand-word{
  font-weight:600; font-size:0.72rem;
  letter-spacing:0.02em; text-transform:uppercase;
  line-height:1.1;
}
.brand-word .brand-letter{font-size:1.75em; font-weight:700; letter-spacing:0;}
.brand-word .tagline{
  display:block; margin-top:3px;
  font-weight:500; font-size:0.5rem; letter-spacing:0.1em;
  color:var(--orange-deep);
}
.nav-actions{display:flex; align-items:center; gap:26px; font-weight:500; font-size:0.92rem;}
.nav-actions .nav-link{position:relative; padding:4px 0;}
.nav-actions .nav-link[aria-current="page"]{color:var(--orange-deep);}
.nav-actions .nav-link::after{
  content:""; position:absolute; left:0; bottom:-2px;
  width:0; height:2px; background:var(--orange);
  transition:width 0.25s ease;
}
.nav-actions .nav-link:hover::after,
.nav-actions .nav-link[aria-current="page"]::after{width:100%;}

/* ---------- Page hero with floating logo ---------- */
.legal-hero{
  background:linear-gradient(180deg, var(--white) 0%, var(--paper) 100%);
  border-bottom:1px solid var(--line);
}
.legal-hero-grid{
  max-width:var(--maxw); margin:0 auto;
  padding:64px 32px 56px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:48px;
  align-items:center;
}
.eyebrow{
  font-weight:600; font-size:0.72rem;
  letter-spacing:0.22em; text-transform:uppercase;
  color:var(--orange-deep);
  display:inline-flex; align-items:center; gap:0.6em;
}
.eyebrow::before{content:""; width:22px; height:1px; background:var(--orange-deep);}
.legal-hero h1{margin-top:18px; font-size:clamp(2.2rem, 4.4vw, 3.3rem);}
.legal-hero .lead{margin-top:18px; max-width:600px; font-size:1.05rem; color:var(--ink-soft);}
.legal-updated{margin-top:18px; font-size:0.82rem; color:var(--ink-soft);}

.legal-logo{display:flex; flex-direction:column; align-items:center; width:240px;}
.legal-logo img{
  width:100%; height:auto;
  filter:drop-shadow(0 18px 26px rgba(35,34,36,0.16));
  animation:floatFrame 6s ease-in-out infinite;
}
.legal-logo-shadow{
  width:44%; height:20px; margin-top:16px;
  border-radius:50%;
  background:radial-gradient(ellipse at center, rgba(35,34,36,0.22) 0%, rgba(35,34,36,0) 72%);
  animation:shadowPulse 6s ease-in-out infinite;
}
@keyframes floatFrame{0%,100%{transform:translateY(0);} 50%{transform:translateY(-14px);}}
@keyframes shadowPulse{
  0%,100%{transform:scale(1); opacity:0.6;}
  50%{transform:scale(0.7); opacity:0.28;}
}

/* ---------- Document body ---------- */
.legal-layout{
  max-width:var(--maxw); margin:0 auto;
  padding:64px 32px 96px;
  display:grid;
  grid-template-columns:240px minmax(0, 1fr);
  gap:64px;
  align-items:start;
}
.legal-layout.single{grid-template-columns:minmax(0, 1fr);}
.legal-toc{
  position:sticky; top:104px;
  border-left:2px solid var(--line);
  padding-left:18px;
}
.legal-toc h2{
  font-size:0.72rem; font-weight:700;
  letter-spacing:0.14em; text-transform:uppercase;
  color:var(--ink-soft);
  margin-bottom:14px;
}
.legal-toc ol{margin:0; padding:0; list-style:none; display:grid; gap:9px; counter-reset:toc;}
.legal-toc a{font-size:0.86rem; color:var(--charcoal); line-height:1.4; display:block;}
.legal-toc a:hover{color:var(--orange-deep);}

.legal-doc{max-width:740px;}
.legal-doc section + section{margin-top:44px; padding-top:44px; border-top:1px solid var(--line);}
.legal-doc h2{font-size:1.45rem; color:var(--charcoal-deep);}
.legal-doc h3{font-size:1.02rem; margin-top:22px;}
.legal-doc p{margin-top:14px; color:var(--charcoal); font-size:1rem;}
.legal-doc ul{margin:14px 0 0; padding-left:0; list-style:none; display:grid; gap:10px;}
.legal-doc ul li{position:relative; padding-left:22px; line-height:1.65; color:var(--charcoal);}
.legal-doc ul li::before{
  content:""; position:absolute; left:2px; top:0.68em;
  width:7px; height:7px; border-radius:50%;
  background:var(--orange);
}
.legal-doc a{color:var(--orange-deep); text-decoration:underline; text-underline-offset:3px;}
.legal-doc a:hover{color:var(--charcoal-deep);}
.legal-doc strong{color:var(--charcoal-deep);}

.contact-card{
  margin-top:18px;
  display:grid; grid-template-columns:auto 1fr; gap:10px 22px;
  padding:22px 24px;
  background:var(--white);
  border:1px solid var(--line);
  border-left:4px solid var(--orange);
  border-radius:var(--radius);
  font-size:0.95rem;
}
.contact-card dt{font-weight:700; color:var(--charcoal-deep);}
.contact-card dd{margin:0; color:var(--charcoal); overflow-wrap:anywhere;}

/* ---------- Footer ---------- */
footer{background:var(--charcoal-deep); color:rgba(255,255,255,0.6); font-size:0.8rem;}
.footer-inner{
  max-width:var(--maxw); margin:0 auto;
  padding:32px 32px calc(32px + env(safe-area-inset-bottom, 0px));
  display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:18px;
}
.footer-links{display:flex; flex-wrap:wrap; gap:10px 24px;}
.footer-links a{color:rgba(255,255,255,0.8);}
.footer-links a:hover{color:var(--white);}
.footer-meta{display:grid; gap:4px; text-align:right;}

/* ---------- Motion & responsive ---------- */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  .legal-logo img, .legal-logo-shadow{animation:none;}
  .btn, .nav-actions .nav-link::after{transition:none;}
}

@media (max-width:960px){
  .legal-layout{grid-template-columns:minmax(0, 1fr); gap:36px; padding-top:44px;}
  .legal-toc{position:static; border-left:0; padding:20px 22px; background:var(--white); border:1px solid var(--line); border-radius:var(--radius);}
  .legal-toc ol{grid-template-columns:repeat(2, minmax(0, 1fr)); gap:10px 20px;}
}

@media (max-width:760px){
  .wrap, .nav{padding-left:20px; padding-right:20px;}
  .nav-actions .nav-link{display:none;}
  .legal-hero-grid{grid-template-columns:1fr; gap:20px; padding:36px 20px 40px;}
  .legal-logo{order:-1; width:140px; justify-self:center;}
  .legal-logo-shadow{height:14px; margin-top:10px;}
  .legal-layout{padding:36px 20px 72px;}
  .legal-toc ol{grid-template-columns:minmax(0, 1fr);}
  .legal-doc section + section{margin-top:34px; padding-top:34px;}
  .contact-card{grid-template-columns:1fr; gap:2px; padding:18px;}
  .contact-card dd + dt{margin-top:10px;}
  .footer-inner{flex-direction:column; align-items:flex-start; padding-left:20px; padding-right:20px;}
  .footer-meta{text-align:left;}
}
