/* The Contract Record — shared stylesheet */
:root{
  --navy:#16273b;--navy2:#22384f;--gold:#c9a85a;--gold2:#e6c97e;
  --cream:#f4efe3;--card:#fbf8f1;--ink:#1b2533;--body:#39434f;
  --muted:#6f7889;--rule:#ddd3bf;--blue:#9fb0c4;--maxw:1080px
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--body);font-family:Barlow,Arial,sans-serif;font-size:1.06rem;line-height:1.72}
a{color:var(--navy2);text-underline-offset:3px}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 2rem}
h1,h2,h3{font-family:Spectral,Georgia,serif;color:var(--ink);line-height:1.16;margin:0}
.skip{position:absolute;left:-999px}
.skip:focus{left:1rem;top:1rem;background:var(--gold);color:var(--navy);padding:.6rem 1rem;z-index:10}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px}

/* header / footer */
.site-header,.site-footer{background:var(--navy);color:var(--blue)}
.site-header{border-bottom:1px solid rgba(201,168,90,.3)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:1.2rem;padding:1rem 2rem;flex-wrap:wrap}
.logo{display:flex;align-items:center;gap:.85rem;text-decoration:none}
.logo-block{width:48px;height:54px;background:var(--gold);color:var(--navy);display:flex;align-items:center;justify-content:center;font-family:Spectral,Georgia,serif;font-size:1.45rem;font-weight:700;flex:none}
.logo-name{display:block;color:var(--cream);font-family:Spectral,Georgia,serif;font-size:1.02rem;letter-spacing:.16em;text-transform:uppercase}
.logo-sub{display:block;color:var(--gold);font-family:'IBM Plex Mono',monospace;font-size:.58rem;letter-spacing:.22em;text-transform:uppercase}
.site-nav{display:flex;gap:1rem;flex-wrap:wrap;font-family:'IBM Plex Mono',monospace;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase}
.site-nav a{color:var(--blue);text-decoration:none}
.site-nav a.here,.site-nav a:hover{color:var(--gold)}

/* breadcrumb */
.crumb{font-family:'IBM Plex Mono',monospace;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:1.4rem 0 0}
.crumb a{color:var(--muted)}
.crumb a:hover{color:var(--navy2)}

/* main */
main{padding:2.6rem 0 1rem}
.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:3rem;align-items:start}
.eyebrow{font-family:'IBM Plex Mono',monospace;font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:#8a6f30;margin:0 0 1rem}
.hero h1{font-size:2.3rem;margin-bottom:1.1rem}
.lede{font-size:1.12rem;max-width:60ch}

/* record summary panel */
.record{background:var(--navy);color:#cdd6e2;padding:1.8rem 2rem}
.cap{font-family:'IBM Plex Mono',monospace;font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin:0 0 1rem}
.record dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:0 1rem}
.record dt,.record dd{border-top:1px solid rgba(255,255,255,.12);padding:.65rem 0}
.record dt:first-of-type,.record dd:first-of-type{border-top:0}
.record dt{font-family:'IBM Plex Mono',monospace;font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--blue)}
.record dd{margin:0;color:var(--cream);word-break:break-word}

/* sections */
.block{padding:2.5rem 0;border-top:1px solid var(--rule)}
.shead{font-family:'IBM Plex Mono',monospace;font-size:.76rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--navy2);margin:0 0 1.2rem}
.block p{max-width:76ch;margin:0 0 1rem}
.block h3{font-size:1.2rem;margin:1.6rem 0 .6rem}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem}
.panel,.card{background:var(--card);border:1px solid var(--rule);padding:1.4rem 1.55rem}
.panel.dark{background:var(--navy);border-color:var(--navy);color:#cdd6e2}
.panel h3{font-family:'IBM Plex Mono',monospace;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:#8a6f30;margin:0 0 .8rem}
.panel.dark h3{color:var(--gold)}
.panel p{font-size:.98rem;margin:0 0 .7rem}

/* independence banner */
.indep{background:var(--card);border:1px solid var(--rule);border-left:3px solid var(--gold);padding:1rem 1.3rem;margin:0 0 1.6rem;font-size:.92rem;color:var(--muted);max-width:76ch}

/* term / fact list */
.facts{list-style:none;padding:0;margin:.3rem 0 0;display:grid;gap:.55rem;max-width:64rem}
.facts li{background:var(--card);border:1px solid var(--rule);border-left:3px solid var(--gold);padding:.8rem 1rem;color:var(--ink)}
.facts li b{font-family:'IBM Plex Mono',monospace;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:#8a6f30;display:block;margin-bottom:.25rem;font-weight:500}

/* artifact */
figure.artifact{margin:1.4rem 0;border:1px solid var(--rule);background:var(--card);padding:1rem}
figure.artifact img{width:100%;height:auto;display:block;border:1px solid var(--rule)}
figure.artifact figcaption{font-size:.85rem;color:var(--muted);margin-top:.7rem}

/* timeline */
ol.tl{list-style:none;padding:0;margin:0;max-width:70ch}
ol.tl li{position:relative;padding:0 0 1.8rem 2.2rem;border-left:2px solid var(--rule);margin-left:.4rem}
ol.tl li:last-child{border-left-color:transparent}
ol.tl li::before{content:"";position:absolute;left:-7px;top:.35rem;width:12px;height:12px;background:var(--gold);border-radius:50%}
ol.tl .when{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:#8a6f30;display:block;margin-bottom:.35rem}
ol.tl h3{font-size:1.1rem;margin:0 0 .4rem}
ol.tl p{margin:0;max-width:64ch}

/* FAQ */
.qa{border-top:1px solid var(--rule);padding:1.5rem 0}
.qa h2{font-size:1.16rem;margin-bottom:.6rem}
.qa p{margin:0 0 .7rem;max-width:70ch}

/* references */
.refs{list-style:none;padding:0;margin:1rem 0 0;max-width:74ch}
.refs li{padding:.9rem 0;border-top:1px solid var(--rule)}
.refs .src{font-family:'IBM Plex Mono',monospace;font-size:.78rem;color:var(--navy2);word-break:break-all}
.refs .when{font-family:'IBM Plex Mono',monospace;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:#8a6f30;display:block;margin-bottom:.3rem}

/* form */
form{max-width:52rem}
.field{margin-bottom:1rem}
label.lbl{display:block;font-family:'IBM Plex Mono',monospace;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:.4rem;color:var(--muted)}
input,textarea{width:100%;background:#fff;border:1px solid var(--rule);padding:.85rem;font:inherit;color:var(--ink)}
textarea{min-height:9rem}
.consent{font-size:.95rem;color:var(--body)}
button,.btn{display:inline-block;background:var(--gold);color:var(--navy);border:0;padding:.9rem 1.7rem;font-family:'IBM Plex Mono',monospace;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;text-decoration:none;font-weight:600}
.fine{font-size:.9rem;color:var(--muted)}

/* read-next */
.next{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.4rem}
.next a{display:block;background:var(--card);border:1px solid var(--rule);padding:1.1rem 1.3rem;text-decoration:none;color:var(--ink)}
.next a:hover{border-color:var(--gold)}
.next .k{font-family:'IBM Plex Mono',monospace;font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:#8a6f30;display:block;margin-bottom:.35rem}

/* cta band */
.cta{background:var(--navy);margin-top:2.6rem}
.cta .wrap{text-align:center;padding:2.6rem 2rem}
.cta h2{color:var(--cream);font-size:1.6rem;margin-bottom:.6rem}
.cta p{color:var(--blue);margin:0 auto 1.4rem;max-width:56ch}

/* footer */
.site-footer{padding:2.4rem 0 3rem;border-top:1px solid rgba(201,168,90,.35)}
.site-footer .wrap{padding:2.4rem 2rem 0}
.site-footer .disc{font-size:.8rem;max-width:78ch;color:#8795a6;margin:1.2rem 0}
.byline{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.06em;color:var(--gold);margin:0 0 .6rem}

.fade{animation:rise .6s ease both}
@keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto}}
@media(max-width:850px){.hero,.grid2,.next{grid-template-columns:1fr}.hero h1{font-size:1.9rem}}
@media(max-width:560px){.wrap{padding:0 1.25rem}.site-header .wrap,.site-footer .wrap,.cta .wrap{padding-left:1.25rem;padding-right:1.25rem}.logo-sub{display:none}.site-nav{font-size:.62rem}}
