/* Digital Moat — site shell. Page-specific styles live inside each content file. */
:root{
  --navy:#102547; --navy-deep:#0A1930; --teal:#3D9ACA; --teal-bright:#63B4DE;
  --parchment:#F6F3EC; --ink:#14202B; --mist:#C3D3E0; --danger:#C9634A; --gold:#D8B65C;
  --font-display: Georgia, 'Iowan Old Style', 'Palatino Linotype', serif;
  --font-body: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{ margin:0; background:#fff; font-family:var(--font-body); color:var(--ink); line-height:1.5; }
img{max-width:100%;}
a{color:#2563EB;}
.dm-skip{position:absolute;left:-999px;top:0;background:var(--navy);color:#fff;padding:10px 14px;z-index:100;}
.dm-skip:focus{left:8px;top:8px;}

/* Header / nav */
.site-header{ background:#fff; border-bottom:1px solid rgba(11,30,51,0.1); position:sticky; top:0; z-index:50; }
.site-header-inner{ max-width:1180px; margin:0 auto; padding:12px 24px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.site-brand{ display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--navy); font-family:var(--font-display); font-size:21px; font-weight:700; }
.site-brand img{ width:40px; height:40px; }
.site-nav{ display:flex; gap:22px; align-items:center; flex-wrap:wrap; }
.site-nav a{ color:var(--navy); text-decoration:none; font-size:14.5px; font-weight:600; padding:6px 0; border-bottom:2px solid transparent; }
.site-nav a:hover, .site-nav a[aria-current="page"]{ border-bottom-color:var(--teal); }
.site-nav a.nav-cta{ background:var(--navy); color:#fff; padding:9px 16px; border-radius:9px; border-bottom:none; }
.site-nav a.nav-cta:hover{ background:var(--navy-deep); }
.nav-toggle{ display:none; background:none; border:1.5px solid rgba(11,30,51,0.25); border-radius:8px; padding:7px 11px; font-size:14px; color:var(--navy); cursor:pointer; font-weight:600; }
@media (max-width:820px){
  .nav-toggle{ display:block; }
  .site-nav{ display:none; width:100%; flex-direction:column; align-items:flex-start; gap:4px; padding:8px 0 4px; }
  .site-nav.open{ display:flex; }
  .site-header-inner{ flex-wrap:wrap; }
}

/* Main */
main{ padding:32px 20px 56px; }
@media (max-width:600px){ main{ padding:18px 12px 40px; } }

/* Footer */
.site-footer{ background:var(--navy-deep); color:var(--mist); padding:44px 24px 30px; font-size:14px; }
.site-footer-inner{ max-width:1180px; margin:0 auto; }
.site-footer-links{ display:flex; flex-wrap:wrap; gap:10px 26px; margin-bottom:22px; }
.site-footer a{ color:#fff; text-decoration:none; font-weight:600; }
.site-footer a:hover{ text-decoration:underline; }
.site-footer-disclosure{ font-size:12.5px; line-height:1.6; max-width:820px; margin:0 0 14px; color:var(--mist); }
.site-footer-legal{ font-size:12px; color:#8FA3B5; margin:0; }

/* Prose layout (trust pages) */
.dmt-wrap{ max-width:820px; margin:0 auto; background:var(--parchment); border-radius:18px; overflow:hidden;
  box-shadow:0 12px 40px rgba(7,21,34,0.18); border:1px solid rgba(11,30,51,0.08); }
.dmt-header{ background:linear-gradient(160deg, var(--navy) 0%, var(--navy-deep) 100%); color:var(--parchment); padding:34px 40px 28px; position:relative; }
.dmt-header::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:3px; background:linear-gradient(90deg, transparent, var(--teal-bright), transparent); }
.dmt-eyebrow{ font-size:11px; letter-spacing:0.16em; text-transform:uppercase; color:var(--teal-bright); font-weight:600; margin-bottom:8px; }
.dmt-title{ font-family:var(--font-display); font-size:30px; line-height:1.2; margin:0; }
.dmt-body{ padding:36px 40px 40px; }
.dmt-body p, .dmt-body li{ font-size:15.5px; line-height:1.7; color:#2C3741; }
.dmt-body p{ margin:0 0 18px; }
.dmt-body h2{ font-family:var(--font-display); font-size:21px; color:var(--navy); margin:30px 0 12px; }
.dmt-body a{ color:var(--teal); font-weight:600; }
.dmt-callout{ background:rgba(61,154,202,0.08); border-left:3px solid var(--teal); border-radius:0 8px 8px 0; padding:16px 20px; margin:22px 0; }
.dmt-callout p:last-child{ margin-bottom:0; }
.dmt-note{ font-size:13px; color:#6B7A85; }
.dmt-form{ display:flex; flex-direction:column; gap:12px; max-width:560px; }
.dmt-form label{ font-size:13.5px; font-weight:600; color:var(--navy); }
.dmt-form input, .dmt-form textarea, .dmt-form select{ width:100%; padding:13px 14px; border-radius:9px; border:1.5px solid rgba(11,30,51,0.18); font-size:15px; font-family:var(--font-body); background:#fff; }
.dmt-form input:focus, .dmt-form textarea:focus{ outline:none; border-color:var(--teal); }
.dmt-form button{ background:var(--navy); color:#fff; border:none; padding:14px 22px; border-radius:10px; font-size:15px; font-weight:700; cursor:pointer; font-family:var(--font-body); align-self:flex-start; }
.dmt-form button:hover{ background:var(--navy-deep); }
.dmt-form button:disabled{ opacity:.5; cursor:not-allowed; }
.dmt-hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; opacity:0; }
.dmt-form-msg{ font-size:14px; min-height:20px; margin:0; }
@media (max-width:600px){
  .dmt-header, .dmt-body{ padding-left:22px; padding-right:22px; }
  .dmt-title{ font-size:25px; }
}
