/* DroneUp brand — translated from droneup-brand-guidelines skill */

@font-face { font-family:"Outfit"; font-weight:300; font-display:swap; src:url("/fonts/outfit-300.woff2") format("woff2"); }
@font-face { font-family:"Outfit"; font-weight:500; font-display:swap; src:url("/fonts/outfit-500.woff2") format("woff2"); }
@font-face { font-family:"Outfit"; font-weight:700; font-display:swap; src:url("/fonts/outfit-700.woff2") format("woff2"); }
@font-face { font-family:"Chakra Petch"; font-weight:700; font-display:swap; src:url("/fonts/chakra-petch-700.woff2") format("woff2"); }

:root{
  --du-orange:#DD5829; --du-tech-orange:#FF6720; --du-black:#231F20;
  --du-beige:#F6F5F2;  --du-white:#FFFFFF;       --du-red:#C84C53;
  --du-brown:#9F7131;  --du-blue:#6B8CCA;        --du-green:#A5A94A;
  --du-gray:#A29F94;   --du-rule:#E3E0D8;
  --font-body:"Outfit","Inter",Arial,sans-serif;
  --font-mono:"Chakra Petch","Courier New",monospace;
}

body{ margin:0; background:var(--du-beige); color:var(--du-black);
  font-family:var(--font-body); font-weight:300; line-height:1.6; }
.page{ max-width:1200px; margin:0 auto; padding:1.5rem; }
.content{ background:var(--du-white); border:1px solid var(--du-rule); padding:1.75rem 2rem; }

/* Two-column document layout with a sticky left table of contents */
.doc-layout{ display:grid; grid-template-columns:220px 1fr; gap:1.5rem; align-items:start; }
aside.toc{ position:sticky; top:1rem; max-height:calc(100vh - 2rem); overflow:auto; font-size:.85rem;
  background:var(--du-beige); border:1px solid var(--du-rule); padding:1rem 1rem 1.25rem; }
.toc-title{ font-family:var(--font-mono); font-weight:700; font-size:.68rem; letter-spacing:.06em;
  text-transform:uppercase; color:var(--du-gray); margin-bottom:.5rem; }
aside.toc nav#TableOfContents ul{ list-style:none; padding-left:0; margin:0; }
aside.toc nav#TableOfContents ul ul{ padding-left:.8rem; }
aside.toc nav#TableOfContents li{ margin:.3rem 0; line-height:1.35; }
aside.toc a{ color:var(--du-blue); text-decoration:none; }
aside.toc a:hover{ text-decoration:underline; }
@media (max-width:760px){
  .doc-layout{ grid-template-columns:1fr; }
  aside.toc{ position:static; max-height:none; }
}

/* Header / footer */
header.site{ display:flex; justify-content:space-between; align-items:center;
  padding:.5rem 0 1rem; border-bottom:1px solid var(--du-gray); margin-bottom:1.25rem; }
header.site .brand-logo{ height:40px; }
header.site nav a{ color:var(--du-blue); text-decoration:none; margin-left:16px; font-size:.9rem; }
footer.site{ display:flex; justify-content:space-between; align-items:center;
  margin-top:1.5rem; padding-top:1rem; border-top:1px solid var(--du-gray);
  color:var(--du-gray); font-size:.8rem; }
footer.site .tagline{ font-weight:500; color:var(--du-black); }

/* Typography hierarchy (Documents) */
h1{ font-weight:700; color:var(--du-orange); font-size:1.9rem; margin:.2rem 0 1rem; }
h2{ font-weight:700; color:var(--du-black); font-size:1.3rem;
  border-top:1px solid var(--du-gray); padding-top:.7rem; margin:2rem 0 .6rem; }
h3{ font-weight:500; color:var(--du-black); font-size:1.05rem; margin:1.2rem 0 .4rem; }
strong{ font-weight:700; }
a{ color:var(--du-blue); }
.muted{ color:var(--du-gray); } .small{ font-size:.85rem; }
.mono,code{ font-family:var(--font-mono); font-weight:700; font-size:.85em; color:var(--du-black); }

/* Tables */
table{ border-collapse:collapse; width:100%; font-size:.92rem; margin:.5rem 0 1rem; }
th{ font-family:var(--font-mono); font-weight:700; background:var(--du-black);
  color:var(--du-white); text-align:left; padding:6px 10px; font-size:.8rem; }
td{ border:1px solid var(--du-rule); padding:6px 10px; vertical-align:top; }

/* Chrome: CBI banner = utility label (Chakra Petch on Machine Black) */
.cbi-banner{ background:var(--du-black); color:var(--du-white);
  font-family:var(--font-mono); font-weight:700; font-size:.7rem; letter-spacing:.04em;
  padding:6px 12px; margin:.75rem 0; }
/* Confidentiality notice = callout box (Cloud Beige fill, orange left border, Outfit Medium) */
.cbi-notice{ background:var(--du-beige); border-left:3px solid var(--du-orange);
  font-weight:500; font-size:.9rem; padding:.7rem 1rem; margin:1rem 0; }
/* Document control table: label column on Cloud Beige */
table.doc-control td:first-child{ font-family:var(--font-mono); font-weight:700;
  background:var(--du-beige); color:var(--du-black); width:200px; border-color:var(--du-rule); }
table.doc-control td{ border:1px solid var(--du-rule); }
blockquote{ background:var(--du-beige); border-left:3px solid var(--du-orange);
  font-weight:500; padding:.6rem 1rem; margin:1rem 0; }

/* Assessor lookup + clause widgets, rebranded */
.fw{ display:flex; gap:8px; flex-wrap:wrap; margin:1rem 0; }
.fwbtn{ font-size:13px; padding:6px 12px; border:1px solid var(--du-gray);
  background:var(--du-white); color:var(--du-black); cursor:pointer; font-family:var(--font-body); }
.fwbtn.active{ background:var(--du-orange); color:var(--du-white); border-color:var(--du-orange); }
select{ width:100%; padding:8px; border:1px solid var(--du-gray); font-size:14px;
  margin-bottom:1.25rem; font-family:var(--font-body); background:var(--du-white); }
.pill{ font-family:var(--font-mono); font-weight:700; font-size:.72rem; padding:2px 8px;
  border:1px solid var(--du-gray); color:var(--du-black); background:var(--du-white); }
.xw{ margin:.5rem 0 1rem; }
.stmt{ display:flex; gap:12px; align-items:flex-start; padding:12px 0; border-top:1px solid var(--du-rule); }
.badge{ font-family:var(--font-mono); font-weight:700; font-size:.64rem; letter-spacing:.04em;
  text-transform:uppercase; padding:3px 8px; white-space:nowrap; }
.badge.policy{ background:var(--du-orange); color:var(--du-white); }
.badge.sub-policy{ background:var(--du-blue); color:var(--du-white); }
.badge.procedure{ background:var(--du-beige); color:var(--du-black); border:1px solid var(--du-gray); }
.badge.active{ background:var(--du-green); color:var(--du-white); }
.badge.withdrawn{ background:var(--du-gray); color:var(--du-white); }
.jump{ font-family:var(--font-mono); color:var(--du-blue); font-size:.82rem; }
.gap{ background:#FAECEC; border-left:3px solid var(--du-red); padding:1rem; margin-top:1rem; }
.gap strong{ color:var(--du-red); }

.badge.enhancement{ background:var(--du-blue); color:var(--du-white); }
.fwview table{ font-size:.85rem; }
