/* Brief legal surfaces: a quiet reading layer that shares the app's visual
   language without making policy text compete with the product UI. */

.ec-site-footer{
  width:min(1480px,calc(100% - 48px));
  margin:0 auto;
  padding:18px 0 28px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  border-top:1px solid var(--line,rgba(158,194,204,.14));
  color:var(--faint,#78919a);
  font:500 12px/1.4 var(--mono,"SFMono-Regular",Consolas,monospace);
}
.ec-site-footer nav{display:flex;align-items:center;gap:18px;}
.ec-site-footer a{color:var(--dim,#9db1b8);text-decoration:none;}
.ec-site-footer a:hover{color:var(--mint,#5ef2b0);}
.ec-site-footer a:focus-visible{
  outline:2px solid var(--cyan,#45d6e0);
  outline-offset:4px;
  border-radius:3px;
}

body.ec-legal-body{
  --legal-bg:#071216;
  --legal-panel:#0e1b20;
  --legal-panel-2:#122329;
  --legal-line:rgba(164,202,211,.16);
  --legal-ink:#e8f3f5;
  --legal-body:#b6c9cf;
  --legal-dim:#829ba4;
  --legal-mint:#5ef2b0;
  --legal-cyan:#45d6e0;
  --legal-blue:#7da2ff;
  margin:0;
  min-height:100vh;
  color:var(--legal-ink);
  background:
    radial-gradient(circle at 88% 7%,rgba(69,214,224,.10),transparent 31rem),
    linear-gradient(180deg,#09171b 0,var(--legal-bg) 42rem);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
}
.ec-legal-body *{box-sizing:border-box;}
.ec-legal-body ::selection{background:rgba(69,214,224,.28);}
.ec-legal-skip{
  position:fixed;
  left:18px;
  top:-80px;
  z-index:20;
  padding:10px 14px;
  border-radius:8px;
  background:var(--legal-mint);
  color:#071216;
  font-weight:750;
}
.ec-legal-skip:focus{top:18px;}
.ec-legal-top{
  width:min(1180px,calc(100% - 48px));
  margin:0 auto;
  padding:30px 0 22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  border-bottom:1px solid var(--legal-line);
}
.ec-legal-brand{
  display:inline-flex;
  align-items:center;
  gap:13px;
  color:var(--legal-ink);
  text-decoration:none;
}
.ec-legal-mark{
  width:38px;
  height:42px;
  display:grid;
  place-items:center;
  color:var(--legal-cyan);
  filter:drop-shadow(0 0 13px rgba(69,214,224,.22));
}
.ec-legal-mark svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.45;}
.ec-legal-brand-copy{display:flex;flex-direction:column;line-height:1.08;}
.ec-legal-brand-copy b{font-size:19px;letter-spacing:-.02em;}
.ec-legal-brand-copy span{margin-top:4px;color:var(--legal-dim);font-size:11px;}
.ec-legal-back{
  color:var(--legal-body);
  text-decoration:none;
  font:600 12px/1.3 "SFMono-Regular",Consolas,monospace;
}
.ec-legal-back:hover{color:var(--legal-mint);}
.ec-legal-back:focus-visible,.ec-legal-brand:focus-visible,.ec-legal-doc a:focus-visible{
  outline:2px solid var(--legal-cyan);
  outline-offset:4px;
  border-radius:3px;
}
.ec-legal-hero{
  width:min(1180px,calc(100% - 48px));
  margin:0 auto;
  padding:72px 0 52px;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px,360px);
  gap:72px;
  align-items:end;
}
.ec-legal-kicker{
  margin:0 0 14px;
  color:var(--legal-cyan);
  font:650 11px/1.4 "SFMono-Regular",Consolas,monospace;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.ec-legal-hero h1{
  max-width:760px;
  margin:0;
  font-size:clamp(42px,7vw,82px);
  line-height:.98;
  letter-spacing:-.055em;
}
.ec-legal-effective{
  margin:20px 0 0;
  color:var(--legal-dim);
  font:500 12px/1.5 "SFMono-Regular",Consolas,monospace;
}
.ec-legal-summary{
  margin:0;
  padding:20px 22px;
  border:1px solid rgba(94,242,176,.25);
  border-left:3px solid var(--legal-mint);
  border-radius:12px;
  color:var(--legal-body);
  background:linear-gradient(120deg,rgba(94,242,176,.07),rgba(69,214,224,.025));
  font-size:15px;
  line-height:1.65;
}
.ec-legal-layout{
  width:min(1180px,calc(100% - 48px));
  margin:0 auto;
  padding:0 0 80px;
  display:grid;
  grid-template-columns:220px minmax(0,760px);
  gap:72px;
  align-items:start;
}
.ec-legal-nav{position:sticky;top:24px;padding-top:8px;}
.ec-legal-nav b{
  display:block;
  margin-bottom:13px;
  color:var(--legal-dim);
  font:650 10px/1.4 "SFMono-Regular",Consolas,monospace;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.ec-legal-nav a{
  display:block;
  padding:7px 0;
  color:var(--legal-dim);
  text-decoration:none;
  font-size:12.5px;
  line-height:1.4;
}
.ec-legal-nav a:hover{color:var(--legal-cyan);}
.ec-legal-doc{min-width:0;}
.ec-legal-section{
  padding:34px 0 38px;
  border-top:1px solid var(--legal-line);
  scroll-margin-top:24px;
}
.ec-legal-section:first-child{border-top:0;padding-top:8px;}
.ec-legal-section h2{
  margin:0 0 18px;
  color:var(--legal-ink);
  font-size:25px;
  line-height:1.15;
  letter-spacing:-.025em;
}
.ec-legal-section h3{margin:25px 0 10px;font-size:16px;line-height:1.35;}
.ec-legal-section p,.ec-legal-section li{
  color:var(--legal-body);
  font-size:15px;
  line-height:1.72;
}
.ec-legal-section p{margin:0 0 15px;}
.ec-legal-section ul,.ec-legal-section ol{margin:13px 0 18px;padding-left:22px;}
.ec-legal-section li+li{margin-top:8px;}
.ec-legal-section strong{color:var(--legal-ink);}
.ec-legal-section a{color:var(--legal-cyan);text-underline-offset:3px;}
.ec-legal-path{
  margin:22px 0 6px;
  display:grid;
  grid-template-columns:1fr 28px 1fr;
  align-items:stretch;
  gap:10px;
}
.ec-legal-path-card{
  padding:17px 18px;
  border:1px solid var(--legal-line);
  border-radius:11px;
  background:var(--legal-panel);
}
.ec-legal-path-card b{display:block;margin-bottom:7px;color:var(--legal-mint);font-size:13px;}
.ec-legal-path-card span{display:block;color:var(--legal-body);font-size:12.5px;line-height:1.55;}
.ec-legal-arrow{display:grid;place-items:center;color:var(--legal-cyan);font-family:monospace;}
.ec-legal-callout{
  margin:20px 0;
  padding:17px 19px;
  border-radius:11px;
  border:1px solid rgba(125,162,255,.28);
  background:rgba(125,162,255,.06);
}
.ec-legal-callout b{display:block;margin-bottom:7px;color:var(--legal-blue);}
.ec-legal-callout p{margin:0;font-size:13.5px;}
.ec-legal-contact{
  padding:20px;
  border-radius:12px;
  border:1px solid var(--legal-line);
  background:var(--legal-panel-2);
  font-style:normal;
  color:var(--legal-body);
  font-size:14px;
  line-height:1.65;
}
.ec-legal-contact strong{display:block;margin-bottom:6px;}
.ec-legal-bottom{
  width:min(1180px,calc(100% - 48px));
  margin:0 auto;
  padding:25px 0 34px;
  display:flex;
  justify-content:space-between;
  gap:18px;
  border-top:1px solid var(--legal-line);
  color:var(--legal-dim);
  font:500 11.5px/1.5 "SFMono-Regular",Consolas,monospace;
}
.ec-legal-bottom nav{display:flex;gap:18px;}
.ec-legal-bottom a{color:var(--legal-body);text-decoration:none;}
.ec-legal-bottom a:hover{color:var(--legal-mint);}

@media (max-width:820px){
  .ec-legal-hero{grid-template-columns:1fr;gap:30px;padding-top:52px;}
  .ec-legal-layout{grid-template-columns:1fr;gap:24px;}
  .ec-legal-nav{position:static;display:flex;gap:7px 14px;flex-wrap:wrap;padding-bottom:18px;}
  .ec-legal-nav b{flex-basis:100%;margin-bottom:4px;}
  .ec-legal-nav a{padding:3px 0;}
}
@media (max-width:600px){
  .ec-site-footer{width:calc(100% - 32px);align-items:flex-start;flex-direction:column;}
  .ec-legal-top,.ec-legal-hero,.ec-legal-layout,.ec-legal-bottom{width:calc(100% - 32px);}
  .ec-legal-top{padding-top:20px;}
  .ec-legal-brand-copy span{display:none;}
  .ec-legal-back{font-size:0;}
  .ec-legal-back::after{content:'Back';font-size:12px;}
  .ec-legal-hero{padding:42px 0 38px;}
  .ec-legal-hero h1{font-size:42px;}
  .ec-legal-path{grid-template-columns:1fr;}
  .ec-legal-arrow{transform:rotate(90deg);min-height:20px;}
  .ec-legal-bottom{flex-direction:column;}
}
@media print{
  body.ec-legal-body{background:#fff;color:#111;}
  .ec-legal-top,.ec-legal-nav,.ec-legal-bottom{display:none;}
  .ec-legal-hero,.ec-legal-layout{width:100%;display:block;padding:20px 0;}
  .ec-legal-hero h1,.ec-legal-section h2,.ec-legal-section h3,.ec-legal-section strong{color:#111;}
  .ec-legal-summary,.ec-legal-section p,.ec-legal-section li,.ec-legal-path-card span{color:#333;}
  .ec-legal-section,.ec-legal-path-card,.ec-legal-callout{border-color:#ccc;background:#fff;}
}
