:root{
  --ground:#14100c;
  --ground-raised:#1d1712;
  --hairline:#3a2f24;
  --ink:#f2e9dc;
  --ink-dim:#a89a87;
  --ember:#ff7a33;
  --ember-soft:#ffb37a;
  --gold:#ffc85c;
  --violet:#9f86ff;
  --periwinkle:#8fa0ef;
  --teal:#57d3c2;
  --font-display:'Fraunces', ui-serif, Georgia, serif;
  --font-body:'Karla', ui-sans-serif, system-ui, sans-serif;
  --font-mono:'IBM Plex Mono', ui-monospace, monospace;
}
*{box-sizing:border-box;}
body{
  margin:0;
  min-height:100vh;
  background:
    radial-gradient(circle at 8% 4%,rgba(255,122,51,0.17),transparent 28rem),
    radial-gradient(circle at 94% 18%,rgba(159,134,255,0.15),transparent 30rem),
    radial-gradient(circle at 55% 100%,rgba(87,211,194,0.08),transparent 34rem),
    var(--ground);
  color:var(--ink);
  font-family:var(--font-body);
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background-image:radial-gradient(rgba(255,255,255,0.07) 0.7px,transparent 0.7px);
  background-size:20px 20px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,0.7),transparent 78%);
}
::selection{background:rgba(255,122,51,0.35); color:var(--ink);}
.legal-wrap{
  max-width:42rem;
  margin:0 auto;
  padding:clamp(2rem,6vw,3.5rem) clamp(1.25rem,5vw,2rem) 6rem;
}
.legal-top{
  display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap;
  margin-bottom:2.5rem; padding:0.85rem 1rem; border:1px solid rgba(255,179,122,0.2);
  border-radius:18px;
  background:linear-gradient(120deg,rgba(255,122,51,0.1),rgba(159,134,255,0.07));
  box-shadow:0 16px 42px rgba(0,0,0,0.18);
}
.legal-wordmark{display:inline-flex; align-items:center; gap:0.5rem; font-family:var(--font-display); font-weight:650; font-size:1.3rem; color:var(--ink); text-decoration:none;}
.legal-wordmark::before{content:"🔥"; font-family:initial; font-size:1.05rem;}
.legal-back{font-size:0.85rem; color:var(--ember-soft); text-decoration:none;}
.legal-back:hover{text-decoration:underline;}
h1{
  font-family:var(--font-display);
  font-weight:650;
  font-size:clamp(2.2rem,8vw,3.5rem);
  line-height:1.05;
  letter-spacing:-0.025em;
  margin:0 0 0.75rem;
  color:var(--ink);
}
@supports (-webkit-background-clip:text){
  h1{
    background:linear-gradient(105deg,var(--ember-soft),var(--gold) 38%,var(--violet) 76%,var(--periwinkle));
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
  }
}
.legal-updated{
  font-family:var(--font-mono); font-size:0.75rem; letter-spacing:0.05em; text-transform:uppercase;
  color:var(--ink-dim); margin:0 0 2.5rem;
}
h2{
  position:relative;
  font-family:var(--font-display);
  font-weight:650;
  font-size:1.35rem;
  margin:2.5rem 0 0.9rem;
  padding-left:0.85rem;
}
h2::before{
  content:"";
  position:absolute;
  left:0;
  top:0.2em;
  bottom:0.18em;
  width:3px;
  border-radius:999px;
  background:linear-gradient(var(--ember),var(--violet));
}
p, li{font-size:0.98rem; color:var(--ink);}
p{margin:0 0 1rem;}
ul, ol{margin:0 0 1rem; padding-left:1.4rem;}
li{margin-bottom:0.5rem;}
a{color:var(--ember-soft); text-underline-offset:0.16em;}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:3px solid var(--gold);
  outline-offset:3px;
}
strong{color:var(--ink); font-weight:700;}
.legal-note{
  margin-top:3rem; padding:1.1rem 1.3rem; border-radius:16px; border:1px dashed rgba(255,179,122,0.38);
  background:linear-gradient(120deg,rgba(255,122,51,0.09),rgba(159,134,255,0.06)); font-size:0.85rem; color:var(--ink-dim);
}
.owner-status strong{display:block; color:var(--ink); font-size:1rem; margin-bottom:0.2rem;}
.owner-status.is-success{border-style:solid; border-color:rgba(90,190,120,0.5); background:rgba(90,190,120,0.08); color:var(--ink);}
.owner-status.is-warning{border-style:solid; border-color:rgba(255,179,122,0.65); color:var(--ink);}

.legal-form{display:flex; flex-direction:column; gap:1.3rem; margin-top:1.5rem;}
.legal-form label{font-size:0.88rem; color:var(--ink-dim); display:block; margin-bottom:0.5rem;}
.legal-form input, .legal-form select, .legal-form textarea{
  width:100%; min-height:48px; background:rgba(29,23,18,0.88); border:1px solid var(--hairline); border-radius:12px;
  color:var(--ink); padding:0.75rem 0.95rem; font-size:1rem; font-family:inherit;
}
.legal-form input:focus, .legal-form select:focus, .legal-form textarea:focus{border-color:var(--ember);}
.legal-form textarea{min-height:8rem; resize:vertical;}
.legal-form .hp-field{position:absolute; left:-9999px;}
.legal-submit{
  min-height:48px; align-self:flex-start; background:linear-gradient(105deg,var(--ember),var(--gold)); color:#1a1006; border:1px solid rgba(255,200,92,0.72); border-radius:100px;
  padding:0.85rem 1.8rem; font-size:0.98rem; font-weight:700; cursor:pointer;
  box-shadow:0 8px 30px -10px rgba(255,122,51,0.5);
}
.legal-submit:hover{filter:brightness(1.08); transform:translateY(-1px);}
.legal-submit.secondary-action{
  margin-left:0.65rem; background:transparent; color:var(--ember-soft); border:1px solid var(--hairline);
  box-shadow:none;
}
.report-wrap{max-width:58rem;}
.report-access{
  display:grid; grid-template-columns:minmax(14rem,1fr) 10rem auto; align-items:end;
}
.report-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(10rem,1fr)); gap:0.75rem; margin:1rem 0 1.5rem;}
.report-card{
  border:1px solid rgba(159,134,255,0.22); border-radius:14px; background:linear-gradient(145deg,var(--ground-raised),rgba(159,134,255,0.055));
  padding:0.85rem 1rem;
}
.report-card span, .report-table span{display:block; color:var(--ink-dim); font-size:0.78rem; text-transform:uppercase; letter-spacing:0.05em;}
.report-card strong{display:block; font-size:1.45rem; line-height:1.25;}
.report-columns{display:grid; grid-template-columns:repeat(auto-fit,minmax(12rem,1fr)); gap:1.25rem;}
.report-columns h3{font-size:0.9rem; text-transform:uppercase; letter-spacing:0.05em; color:var(--ink-dim); margin:0 0 0.45rem;}
.report-table{border:1px solid var(--hairline); border-radius:10px; overflow:hidden;}
.report-table div{display:flex; justify-content:space-between; gap:1rem; padding:0.7rem 0.85rem; border-bottom:1px solid var(--hairline);}
.report-table div:last-child{border-bottom:none;}
.report-table strong{font-size:0.92rem; text-align:right;}
.report-empty{color:var(--ink-dim); font-style:italic;}
@media (max-width:720px){
  .report-access{display:flex;}
  .legal-submit.secondary-action{display:block; margin:0.75rem 0 0;}
  .legal-top{align-items:flex-start;}
}
.thanks-icon{font-size:2.5rem; margin-bottom:0.5rem;}
