/* MINERVA — static site. Brand: Midnight #142638, Beacon Gold #AA874B, Warm Ivory #F6F3EC. */
:root{
  --ivory:#F6F3EC; --midnight:#142638; --gold:#AA874B; --white:#FFFFFF;
  --muted:#EDE7DB; --muted-fg:#4F5D6C; --border:#DDD4C4;
  --serif:Georgia,"Times New Roman","Liberation Serif",serif;
  --sans:Arial,"Helvetica Neue",Helvetica,"Liberation Sans",sans-serif;
  --wrap:72rem; --pad:1rem; --gap-y:4rem;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--ivory);color:var(--midnight);font-family:var(--sans);font-size:16px;line-height:1.6}
img{max-width:100%;height:auto;display:block}
a{color:var(--midnight)}
h1,h2,h3{font-family:var(--serif);font-weight:normal;line-height:1.15;margin:0;color:inherit;text-wrap:balance}
p{margin:0;text-wrap:pretty}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--pad)}
@media (min-width:640px){:root{--pad:1.5rem}}
@media (min-width:1024px){:root{--pad:2rem;--gap-y:5rem}}
.section{padding:var(--gap-y) 0}
.bg-muted{background:var(--muted)}
.bg-white{background:var(--white)}
.bg-ink{background:var(--midnight);color:var(--white)}
.bt{border-top:1px solid var(--border)} .bb{border-bottom:1px solid var(--border)}
.skip{position:absolute;left:-9999px;top:0;background:var(--midnight);color:#fff;padding:.5rem 1rem;z-index:100}
.skip:focus{left:1rem;top:1rem}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* type */
.kicker{display:flex;align-items:center;gap:.75rem;font-size:.875rem;font-weight:bold;letter-spacing:.02em;color:var(--muted-fg)}
.kicker::before{content:"";display:inline-block;width:2rem;height:1px;background:var(--gold)}
.bg-ink .kicker{color:#C9D0D8}
.h1{font-size:2.25rem;line-height:1.1;letter-spacing:-.01em}
.h2{font-size:1.875rem;line-height:1.15}
.h3{font-size:1.25rem;line-height:1.25}
@media (min-width:640px){.h1{font-size:3rem}.h2{font-size:2.25rem}}
@media (min-width:1024px){.h1{font-size:3.5rem}}
.lead{font-size:1.125rem;line-height:1.65;color:var(--muted-fg)}
.body{color:var(--muted-fg)}
.small{font-size:.875rem;line-height:1.6}
.xs{font-size:.8125rem;line-height:1.5}
.bg-ink .body,.bg-ink .small,.bg-ink .lead{color:#D5DBE2}
.bg-ink .faint{color:#B7C0CA}
.num{font-family:"Courier New",Courier,monospace;font-size:.875rem;color:var(--gold);letter-spacing:.05em}
.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}.mt-5{margin-top:3rem}
.maxw{max-width:42rem}.maxw-s{max-width:28rem}
.stack>*+*{margin-top:1.25rem}

/* grids */
.grid{display:grid;gap:2rem;grid-template-columns:1fr}
@media (min-width:640px){.g2{grid-template-columns:repeat(2,1fr)}.g3s{grid-template-columns:repeat(3,1fr)}}
@media (min-width:768px){.g3{grid-template-columns:repeat(3,1fr)}}
@media (min-width:1024px){.g4{grid-template-columns:repeat(4,1fr)}.g3l{grid-template-columns:repeat(3,1fr)}
  .split{grid-template-columns:5fr 7fr;gap:4rem}.split-4{grid-template-columns:4fr 7fr;gap:4rem}.split-r{grid-template-columns:7fr 5fr;gap:3rem;align-items:end}}
@media (min-width:640px) and (max-width:1023px){.g4{grid-template-columns:repeat(2,1fr)}.g3l{grid-template-columns:repeat(2,1fr)}}
.ruled{border-top:1px solid var(--border);padding-top:1.25rem}
.bg-ink .ruled{border-top-color:rgba(255,255,255,.2)}
.card{background:var(--white);border:1px solid var(--border);border-radius:4px;padding:1.5rem;height:100%}
.card-label{font-size:.75rem;font-weight:bold;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-fg)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:var(--midnight);color:var(--white);border:1px solid var(--midnight);border-radius:2px;padding:.75rem 1.5rem;font-size:.9375rem;font-weight:bold;text-decoration:none;cursor:pointer;font-family:var(--sans)}
.btn:hover{background:#0D1B29}
.btn-light{background:var(--white);color:var(--midnight);border-color:var(--white)}
.btn-light:hover{background:var(--ivory)}
.btn-sm{padding:.5rem 1rem;font-size:.875rem}
.link{color:var(--midnight);text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:2px;text-underline-offset:4px}

/* header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(246,243,236,.97);border-bottom:1px solid var(--border)}
.site-header .bar{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;height:4.5rem}
.site-header .logo img{height:3rem;width:auto}
@media (min-width:768px){.site-header .bar{height:5rem}.site-header .logo img{height:3.75rem}}
.nav{display:none;align-items:center;gap:2rem}
.nav a{font-size:.9375rem;font-weight:bold;color:#2B3B4C;text-decoration:none;padding:.25rem 0;border-bottom:1px solid transparent}
.nav a:hover,.nav a[aria-current=page]{border-bottom-color:var(--gold);color:var(--midnight)}
.nav a.btn{color:var(--white);border-bottom:1px solid var(--midnight)}
@media (min-width:768px){.nav{display:flex}.menu{display:none}}
.menu{position:relative}
.menu summary{list-style:none;cursor:pointer;padding:.5rem .75rem;border:1px solid var(--border);border-radius:2px;font-weight:bold;font-size:.875rem;min-height:44px;display:flex;align-items:center}
.menu summary::-webkit-details-marker{display:none}
.menu[open] .menu-panel{display:flex}
.menu-panel{display:none;flex-direction:column;position:absolute;right:0;top:calc(100% + .5rem);background:var(--white);border:1px solid var(--border);border-radius:4px;padding:.5rem;min-width:14rem;box-shadow:0 8px 24px rgba(20,38,56,.12)}
.menu-panel a{padding:.75rem;text-decoration:none;font-weight:bold;color:var(--midnight)}
.menu-panel a.btn{color:var(--white);margin-top:.25rem}

/* hero */
.hero{padding:4rem 0 4.5rem}
@media (min-width:1024px){.hero{padding:6rem 0}.hero-grid{grid-template-columns:7fr 4fr;gap:4rem;align-items:center}}
.hero-figure{background:var(--white);border:1px solid var(--border);border-radius:4px;padding:2.5rem;text-align:center}
.hero-figure img{margin:0 auto;width:72%}
.hero-figure p{margin-top:1.25rem;font-family:var(--serif);font-style:italic;color:var(--midnight)}
.credential{display:flex;gap:.875rem;align-items:flex-start;background:var(--white);border:1px solid var(--border);border-left:3px solid var(--gold);padding:1rem 1.25rem;border-radius:2px}
.diamond{flex:none;width:.6rem;height:.6rem;background:var(--gold);transform:rotate(45deg);margin-top:.45rem}
.page-hero{padding:4rem 0;border-bottom:1px solid var(--border)}
@media (min-width:1024px){.page-hero{padding:5.5rem 0}}

/* blockquote */
.quote{border-left:2px solid var(--gold);padding-left:1.5rem;margin:2.5rem 0 0}
.quote p{font-family:var(--serif);font-size:1.5rem;line-height:1.35}
.quote footer{margin-top:1rem;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-fg)}

/* stat */
.stat-big{font-family:var(--serif);font-size:1.875rem;line-height:1.15;margin-top:.75rem}
.estimate{display:flex;flex-wrap:wrap;gap:1.25rem;align-items:baseline;border-top:1px solid rgba(255,255,255,.2);padding-top:2rem;margin-top:2.5rem;max-width:48rem}
.estimate strong{font-family:var(--serif);font-weight:normal;font-size:1.75rem;color:var(--gold)}
.source{font-size:.75rem;letter-spacing:.06em;text-transform:uppercase}

/* modules */
.module{border-top:1px solid var(--border);padding-top:var(--gap-y);display:grid;gap:2.5rem;scroll-margin-top:6rem}
@media (min-width:1024px){.module{grid-template-columns:5fr 6fr;gap:4rem;align-items:start}.module.flip > :first-child{order:2}}
.caps{background:var(--white);border:1px solid var(--border);border-radius:4px}
.caps div{padding:1.25rem 1.5rem;border-bottom:1px solid var(--border)}
.caps div:last-child{border-bottom:0}
.caps h4{margin:0;font-family:var(--sans);font-size:.9375rem;font-weight:bold}
.caps p{margin-top:.25rem;color:var(--muted-fg);font-size:.9375rem}

/* components (stima) */
.comp{display:grid;grid-template-columns:2rem 1fr auto;gap:.75rem;align-items:center;padding:.875rem 0;border-bottom:1px solid var(--border)}
.comp .code{font-family:var(--serif);font-size:1.25rem;color:var(--gold)}
.comp .bar{grid-column:2 / span 2;height:6px;background:var(--muted);border-radius:3px;overflow:hidden}
.comp .bar span{display:block;height:100%;background:var(--midnight)}
.example{background:var(--white);border:1px solid var(--border);border-left:3px solid var(--midnight);padding:1.25rem 1.5rem;border-radius:2px}
.tag{display:inline-block;font-size:.75rem;font-weight:bold;letter-spacing:.06em;text-transform:uppercase;color:var(--muted-fg);border:1px solid var(--border);padding:.2rem .5rem;border-radius:2px;background:var(--ivory)}

/* table rows */
.rows{background:var(--white);border:1px solid var(--border);border-radius:4px;overflow:hidden}
.rows .row{display:grid;gap:.25rem;padding:1rem 1.5rem;border-bottom:1px solid var(--border)}
.rows .row:last-child{border-bottom:0}
.rows .head{background:var(--midnight);color:#fff;font-size:.75rem;font-weight:bold;letter-spacing:.08em;text-transform:uppercase;display:none}
@media (min-width:768px){.rows .row{grid-template-columns:3fr 5fr 4fr;gap:1.5rem}.rows .head{display:grid}}
.rows .name{font-family:var(--serif);font-size:1.0625rem}
.rows .use{color:var(--muted-fg);font-size:.9375rem}

/* chat mock */
.chat{background:var(--white);border:1px solid var(--border);border-radius:4px;padding:1.5rem}
.bubble{padding:1rem 1.25rem;border-radius:4px;font-size:.9375rem;line-height:1.55}
.bubble.q{background:var(--midnight);color:#fff;margin-left:auto;max-width:85%}
.bubble.a{background:var(--muted);margin-top:.75rem;max-width:92%}

/* form */
.form{background:var(--white);border:1px solid var(--border);border-radius:4px;padding:1.5rem}
@media (min-width:640px){.form{padding:2rem}}
.form label{display:block;font-size:.875rem;font-weight:bold}
.form input,.form select,.form textarea{width:100%;margin-top:.4rem;font:inherit;font-size:1rem;color:var(--midnight);background:var(--ivory);border:1px solid #BFB4A0;border-radius:2px;padding:.65rem .75rem;min-height:44px}
.form textarea{min-height:7rem;resize:vertical}
.form input:focus,.form select:focus,.form textarea:focus{outline:2px solid var(--gold);outline-offset:1px;border-color:var(--midnight)}
.form .full{grid-column:1/-1}
.form .opt{font-weight:normal;color:var(--muted-fg)}
.hp{position:absolute;left:-9999px}

/* footer */
.site-footer{background:var(--midnight);color:#fff;padding:4rem 0 2.5rem}
.site-footer .logo img{height:3rem;width:auto}
.site-footer h3{font-family:var(--sans);font-size:.8125rem;font-weight:bold;letter-spacing:.08em;text-transform:uppercase;color:#B7C0CA}
.site-footer ul{list-style:none;margin:1rem 0 0;padding:0}
.site-footer li{margin-top:.6rem;font-size:.9375rem;color:#D5DBE2}
.site-footer a{color:#E6EAEE;text-decoration:none}
.site-footer a:hover{color:#fff;text-decoration:underline;text-decoration-color:var(--gold)}
@media (min-width:1024px){.foot-grid{grid-template-columns:5fr 3fr 2fr 2fr;gap:3rem}}
.legal{margin-top:3.5rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.15);display:flex;flex-direction:column;gap:1rem;font-size:.8125rem;color:#B7C0CA}
@media (min-width:768px){.legal{flex-direction:row;justify-content:space-between;align-items:flex-start}}
.legal nav{display:flex;gap:1.5rem}

/* prose (legal pages) */
.prose{max-width:46rem}
.prose h2{font-size:1.5rem;margin-top:2.5rem}
.prose p,.prose li{color:#33424F}
.prose p{margin-top:1rem}
.prose ul{padding-left:1.25rem}
