/* ============================================================
   ROVE — Legal / document pages
   Dark masthead + footer (matches landing), light readable body.
   Relies on landing.css for tokens, .btn, .logo, .footer.
   ============================================================ */

body.legal-page{background:var(--paper);}

/* nav becomes static + solid on doc pages */
.legal-page .nav{position:static;background:transparent;border-bottom:none;}
.legal-page .nav .nav-links a{color:var(--d-text-2);}
.legal-page .nav .nav-links a:hover{color:#fff;}

/* dark masthead band */
.legal-head{
  background:radial-gradient(120% 130% at 80% -10%,#13234d 0%,#0a0f22 46%,#06080f 100%);
  color:#fff;position:relative;overflow:hidden;
}
.legal-head::after{
  content:"";position:absolute;right:-140px;top:-160px;width:520px;height:520px;border-radius:50%;
  background:radial-gradient(circle,rgba(0,242,255,.13),transparent 66%);pointer-events:none;
}
.legal-hero{padding:clamp(40px,6vw,72px) 0 clamp(48px,7vw,80px);position:relative;z-index:1;}
.legal-hero .eyebrow{margin-bottom:16px;}
.legal-hero h1{font-size:clamp(34px,5vw,56px);font-weight:800;letter-spacing:-.03em;line-height:1.04;max-width:18ch;}
.legal-hero .sub{margin:18px 0 0;max-width:54ch;color:var(--d-text-2);font-size:clamp(17px,1.7vw,19px);line-height:1.55;}
.legal-meta{
  margin-top:26px;display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center;
  font-family:"JetBrains Mono",monospace;font-size:12px;letter-spacing:.03em;color:var(--d-text-3);
}
.legal-meta b{color:var(--d-text-2);font-weight:500;}

/* breadcrumb */
.crumb{padding-top:8px;display:flex;align-items:center;gap:9px;font-family:"JetBrains Mono",monospace;font-size:12px;color:var(--d-text-3);position:relative;z-index:1;}
.crumb a{color:var(--d-text-2);}
.crumb a:hover{color:#fff;}

/* ---- document body ---- */
.doc{padding:clamp(48px,7vw,86px) 0 clamp(60px,8vw,100px);}
.doc-grid{display:grid;grid-template-columns:228px 1fr;gap:clamp(36px,5vw,72px);align-items:start;}

/* sticky table of contents */
.toc{position:sticky;top:28px;}
.toc .toc-h{font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--text-3);margin-bottom:14px;}
.toc a{display:block;font-size:14px;color:var(--text-2);padding:7px 0 7px 14px;border-left:2px solid var(--line);line-height:1.4;transition:color .15s,border-color .15s;}
.toc a:hover{color:var(--text);border-color:var(--blue);}

.prose{max-width:720px;}
.prose h2{font-size:clamp(22px,2.6vw,27px);font-weight:700;letter-spacing:-.02em;margin:44px 0 14px;scroll-margin-top:24px;}
.prose h2:first-child{margin-top:0;}
.prose h2 .n{font-family:"JetBrains Mono",monospace;font-size:15px;font-weight:600;color:var(--blue);margin-right:12px;}
.prose h3{font-size:18px;font-weight:700;margin:26px 0 8px;letter-spacing:-.01em;}
.prose p{margin:0 0 16px;color:var(--text-2);font-size:16.5px;line-height:1.66;}
.prose ul,.prose ol{margin:0 0 16px;padding-left:22px;color:var(--text-2);font-size:16.5px;line-height:1.6;}
.prose li{margin:0 0 9px;}
.prose li::marker{color:var(--text-3);}
.prose a{color:var(--blue);text-decoration:underline;text-underline-offset:2px;}
.prose strong{color:var(--text);font-weight:600;}
.prose .intro{font-size:18.5px;line-height:1.6;color:var(--text);}

/* callout box */
.callout{
  border:1px solid var(--line);background:var(--mist);border-radius:14px;padding:20px 22px;margin:8px 0 24px;
}
.callout.accent{border-color:rgba(37,99,255,.25);background:linear-gradient(120deg,rgba(37,99,255,.05),rgba(0,242,255,.03));}
.callout .co-h{font-weight:700;font-size:15px;color:var(--text);margin:0 0 6px;display:flex;align-items:center;gap:9px;}
.callout p{margin:0;font-size:15px;color:var(--text-2);line-height:1.6;}
.callout svg{color:var(--blue);flex:0 0 auto;}

/* definition rows */
.deflist{display:flex;flex-direction:column;gap:0;margin:8px 0 24px;border-top:1px solid var(--line);}
.defrow{display:grid;grid-template-columns:200px 1fr;gap:24px;padding:16px 0;border-bottom:1px solid var(--line);}
.defrow dt{font-weight:600;color:var(--text);font-size:15.5px;}
.defrow dd{margin:0;color:var(--text-2);font-size:15.5px;line-height:1.55;}

/* ---- CONTACT specifics ---- */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,48px);margin-top:8px;align-items:start;}
.contact-cards{display:flex;flex-direction:column;gap:16px;}
.ccard{border:1px solid var(--line);border-radius:16px;padding:26px;background:var(--paper);transition:border-color .2s,box-shadow .2s;}
.ccard:hover{border-color:var(--line);box-shadow:0 18px 44px -28px rgba(10,14,26,.35);}
.ccard .ci{width:46px;height:46px;border-radius:12px;background:rgba(37,99,255,.09);color:var(--blue);display:flex;align-items:center;justify-content:center;margin-bottom:16px;}
.ccard h3{font-size:18px;font-weight:700;margin:0 0 6px;letter-spacing:-.01em;}
.ccard p{margin:0 0 12px;color:var(--text-2);font-size:15px;line-height:1.55;}
.ccard a.mail{font-weight:700;color:var(--blue);font-size:16px;word-break:break-all;}

.cform{border:1px solid var(--line);border-radius:18px;padding:clamp(24px,3vw,32px);background:var(--mist);}
.cform .field{margin-bottom:16px;}
.cform label{display:block;font-size:13px;font-weight:600;color:var(--text);margin-bottom:7px;}
.cform input,.cform select,.cform textarea{
  width:100%;border:1px solid var(--line);border-radius:11px;background:var(--paper);
  padding:13px 15px;font-family:var(--font-display);font-size:15.5px;color:var(--text);outline:none;transition:border-color .15s,box-shadow .15s;
}
.cform textarea{min-height:128px;resize:vertical;line-height:1.5;}
.cform input:focus,.cform select:focus,.cform textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(37,99,255,.12);}
.cform .btn{width:100%;}
.cform .fine{font-family:"JetBrains Mono",monospace;font-size:11.5px;color:var(--text-3);margin:14px 0 0;text-align:center;line-height:1.5;}

@media(max-width:900px){
  .doc-grid{grid-template-columns:1fr;gap:8px;}
  .toc{display:none;}
  .contact-grid{grid-template-columns:1fr;}
  .defrow{grid-template-columns:1fr;gap:4px;}
}

/* ============================================================
   ABOUT + FOR BRANDS content pages
   ============================================================ */
/* big mission statement */
.statement{max-width:880px;}
.statement .big{font-size:clamp(26px,3.6vw,40px);font-weight:700;letter-spacing:-.02em;line-height:1.2;color:var(--text);}
.statement .big .g-text{display:inline;}

/* founder story / quote */
.story{display:grid;grid-template-columns:300px 1fr;gap:clamp(32px,5vw,64px);align-items:start;}
.story-side{position:sticky;top:28px;}
.story-portrait{width:100%;aspect-ratio:4/5;border-radius:18px;overflow:hidden;border:1px solid var(--line);background:var(--mist);}
.story-portrait image-slot{width:100%;height:100%;}
.story-byline{margin-top:16px;}
.story-byline .nm{font-weight:700;font-size:17px;letter-spacing:-.01em;}
.story-byline .rl{font-family:"JetBrains Mono",monospace;font-size:12px;color:var(--text-3);letter-spacing:.04em;margin-top:3px;}
.story-quote{font-size:clamp(20px,2.4vw,26px);font-weight:500;line-height:1.5;letter-spacing:-.01em;color:var(--text);}
.story-quote .mark{display:block;font-size:54px;line-height:.4;color:var(--blue);margin-bottom:14px;font-family:Georgia,serif;}

@media(max-width:760px){
  .story{grid-template-columns:1fr;gap:28px;}
  .story-side{position:static;display:flex;gap:18px;align-items:center;}
  .story-portrait{width:110px;flex:0 0 auto;}
  .story-byline{margin-top:0;}
}
