*,*::before,*::after{box-sizing:border-box}
:root{
  --brand:#7A1219; --brand-deep:#5C0D12; --brand-ink:#FFFFFF;
  --gold:#8A5F17;
  --paper:#FBF7F5; --surface:#FFFFFF; --raised:#F5EEEB;
  --ink:#1A1210; --body:#3D2F2C; --muted:#75625E;
  --rule:#E5D8D4; --rule-strong:#CDB9B4;
  --link:#7A1219; --focus:#8A5F17;
  --shadow:0 1px 2px rgba(26,18,16,.05),0 8px 24px -16px rgba(26,18,16,.28);
  --maxw:74ch; --step:clamp(1rem,.85rem + .5vw,1.0625rem);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --brand:#8E1922; --brand-deep:#6B1018; --brand-ink:#FDF3F2;
    --gold:#D8A24A;
    --paper:#14100F; --surface:#1C1615; --raised:#241C1B;
    --ink:#F6EEEC; --body:#DCCCC8; --muted:#A8918C;
    --rule:#332725; --rule-strong:#4A3936;
    --link:#E98A8F; --focus:#D8A24A;
    --shadow:0 1px 2px rgba(0,0,0,.4),0 10px 30px -18px rgba(0,0,0,.8);
  }
}
:root[data-theme="dark"]{
  --brand:#8E1922; --brand-deep:#6B1018; --brand-ink:#FDF3F2;
  --gold:#D8A24A;
  --paper:#14100F; --surface:#1C1615; --raised:#241C1B;
  --ink:#F6EEEC; --body:#DCCCC8; --muted:#A8918C;
  --rule:#332725; --rule-strong:#4A3936;
  --link:#E98A8F; --focus:#D8A24A;
  --shadow:0 1px 2px rgba(0,0,0,.4),0 10px 30px -18px rgba(0,0,0,.8);
}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--paper); color:var(--body);
  font-family:"Source Sans 3","Source Sans Pro",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  font-size:var(--step); line-height:1.65;
  font-feature-settings:"kern" 1;
}
h1,h2,h3,h4,.display{
  font-family:Archivo,"Helvetica Neue",Helvetica,Arial,sans-serif;
  color:var(--ink); text-wrap:balance; letter-spacing:-.014em; line-height:1.18; margin:0;
}
h1{font-size:clamp(1.95rem,1.35rem + 2.6vw,3.05rem);font-weight:700;letter-spacing:-.026em}
h2{font-size:clamp(1.32rem,1.1rem + .95vw,1.72rem);font-weight:700}
h3{font-size:1.06rem;font-weight:650;letter-spacing:-.006em}
p,li{max-width:var(--maxw)}
p{margin:0}
a{color:var(--link);text-underline-offset:.18em;text-decoration-thickness:.06em}
a:hover{text-decoration-thickness:.11em}
:focus-visible{outline:2.5px solid var(--focus);outline-offset:3px;border-radius:2px}
hr{border:0;border-top:1px solid var(--rule);margin:0}
.wrap{width:min(100% - 2.5rem,64rem);margin-inline:auto}
.stack{display:flex;flex-direction:column}
.gap-xs{gap:.5rem}.gap-sm{gap:.85rem}.gap-md{gap:1.35rem}.gap-lg{gap:2.1rem}.gap-xl{gap:3.4rem}
.eyebrow{
  font-family:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);
  margin:0;
}
.masthead{background:var(--brand);color:var(--brand-ink)}
.masthead a{color:var(--brand-ink)}
.masthead-in{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.6rem;padding:.9rem 0}
.brandlock{display:flex;align-items:center;gap:.7rem;text-decoration:none;margin-right:auto}
.brandlock svg{display:block;flex:none}
.brandlock .nm{font-family:Archivo,sans-serif;font-weight:700;font-size:1.02rem;letter-spacing:.02em;line-height:1.1}
.brandlock .sb{font-family:"IBM Plex Mono",monospace;font-size:.63rem;letter-spacing:.13em;text-transform:uppercase;opacity:.82;line-height:1.4}
.navlinks{display:flex;flex-wrap:wrap;gap:.15rem .3rem;font-size:.9rem}
.navlinks a{text-decoration:none;padding:.35rem .6rem;border-radius:3px;opacity:.92}
.navlinks a:hover{background:rgba(255,255,255,.14);opacity:1}
.callbtn{
  display:inline-flex;align-items:center;gap:.45rem;text-decoration:none;
  background:var(--brand-ink);color:var(--brand)!important;
  font-family:Archivo,sans-serif;font-weight:650;font-size:.9rem;
  padding:.5rem .95rem;border-radius:3px;white-space:nowrap;
  font-variant-numeric:tabular-nums;
}
.callbtn:hover{background:#fff}
.hero{background:var(--surface);border-bottom:1px solid var(--rule)}
.hero-in{padding:clamp(2.6rem,1.6rem + 4vw,4.6rem) 0 clamp(2.2rem,1.4rem + 3vw,3.6rem)}
.lede{font-size:clamp(1.06rem,1rem + .35vw,1.2rem);color:var(--body);max-width:62ch}
.cta-row{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center}
.btn{
  display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;
  font-family:Archivo,sans-serif;font-weight:650;font-size:.95rem;
  padding:.72rem 1.25rem;border-radius:3px;border:1.5px solid transparent;
  font-variant-numeric:tabular-nums;
}
.btn-primary{background:var(--brand);color:#fff!important;border-color:var(--brand)}
.btn-primary:hover{background:var(--brand-deep);border-color:var(--brand-deep)}
.btn-ghost{border-color:var(--rule-strong);color:var(--ink)!important;background:transparent}
.btn-ghost:hover{border-color:var(--brand);color:var(--brand)!important}
section{padding:clamp(2.4rem,1.6rem + 3vw,3.9rem) 0}
section + section{border-top:1px solid var(--rule)}
.sec-head{display:flex;flex-direction:column;gap:.45rem;margin-bottom:1.9rem}
.grid{display:grid;gap:1.1rem;grid-template-columns:repeat(auto-fit,minmax(15.5rem,1fr))}
.card{
  background:var(--surface);border:1px solid var(--rule);border-radius:4px;
  padding:1.35rem 1.4rem;display:flex;flex-direction:column;gap:.6rem;box-shadow:var(--shadow);
}
.card p{max-width:none;font-size:.95rem;color:var(--muted)}
.card .tag{font-family:"IBM Plex Mono",monospace;font-size:.66rem;letter-spacing:.13em;text-transform:uppercase;color:var(--gold)}
ol.process{list-style:none;margin:0;padding:0;display:grid;gap:1rem;counter-reset:s;
  grid-template-columns:repeat(auto-fit,minmax(15.5rem,1fr))}
ol.process li{counter-increment:s;background:var(--surface);border:1px solid var(--rule);
  border-radius:4px;padding:1.25rem 1.35rem;max-width:none;display:flex;flex-direction:column;gap:.45rem}
ol.process li::before{
  content:counter(s,decimal-leading-zero);
  font-family:"IBM Plex Mono",monospace;font-size:.72rem;letter-spacing:.1em;
  color:var(--brand);font-weight:600;
}
ol.process p{max-width:none;font-size:.93rem;color:var(--muted)}
.record{
  background:var(--raised);border:1px solid var(--rule);border-left:3px solid var(--brand);
  border-radius:4px;padding:1.5rem 1.6rem;
}
.record dl{margin:0;display:grid;gap:.05rem 1.6rem;grid-template-columns:1fr}
@media(min-width:34rem){.record dl{grid-template-columns:auto 1fr}}
.record dt{
  font-family:"IBM Plex Mono",monospace;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--muted);padding-top:.62rem;
}
.record dd{margin:0;padding-bottom:.62rem;color:var(--ink);font-weight:500;
  font-variant-numeric:tabular-nums;border-bottom:1px solid var(--rule)}
.record dd:last-of-type{border-bottom:0}
@media(min-width:34rem){.record dt{padding-bottom:.62rem;border-bottom:1px solid var(--rule)}
  .record dt:last-of-type{border-bottom:0}}
.es{background:var(--brand-deep);color:#FBEFEE;border-radius:4px;padding:1.7rem 1.75rem;
  display:flex;flex-direction:column;gap:.75rem}
.es h2{color:#fff}
.es a{color:#fff}
.es p{color:#F2DEDC;max-width:60ch}
form.contact{display:flex;flex-direction:column;gap:1rem;max-width:38rem;
  background:var(--surface);border:1px solid var(--rule);border-radius:4px;padding:1.5rem 1.55rem;box-shadow:var(--shadow)}
.field{display:flex;flex-direction:column;gap:.32rem}
.field label{font-family:Archivo,sans-serif;font-weight:600;font-size:.83rem;color:var(--ink)}
.field input,.field textarea,.field select{
  font:inherit;font-size:.95rem;color:var(--ink);background:var(--paper);
  border:1px solid var(--rule-strong);border-radius:3px;padding:.6rem .7rem;width:100%;
}
.field textarea{min-height:6rem;resize:vertical}
.consent{display:flex;gap:.7rem;align-items:flex-start;background:var(--raised);
  border:1px solid var(--rule);border-radius:3px;padding:.9rem 1rem}
.consent input{margin:.28rem 0 0;flex:none;width:1.05rem;height:1.05rem;accent-color:var(--brand)}
.consent span{font-size:.83rem;line-height:1.55;color:var(--muted);max-width:none}
.formnote{font-size:.78rem;color:var(--muted);max-width:none}
form.leadform{display:flex;flex-direction:column;gap:1.05rem;max-width:44rem;
  background:var(--surface);border:1px solid var(--rule);border-radius:4px;
  padding:1.7rem 1.75rem;box-shadow:var(--shadow)}
.formintro{font-size:.94rem;color:var(--muted);max-width:none;margin-top:-.5rem}
.fieldrow{display:grid;gap:1.05rem;grid-template-columns:1fr}
@media(min-width:32rem){.fieldrow{grid-template-columns:1fr 1fr}}
form.leadform .field label span{color:var(--brand)}
form.leadform input:focus,form.leadform select:focus,form.leadform textarea:focus{
  border-color:var(--brand);outline:2px solid var(--focus);outline-offset:1px}
form.leadform input::placeholder,form.leadform textarea::placeholder{color:var(--muted);opacity:.75}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.formstatus{font-size:.9rem;line-height:1.55;max-width:none;border-radius:3px;
  padding:.75rem .9rem;border:1px solid var(--rule);background:var(--raised)}
.formstatus.ok{border-color:#2F7A46;background:rgba(47,122,70,.10);color:var(--ink)}
.formstatus.err{border-color:var(--brand);background:rgba(122,18,25,.08);color:var(--ink)}
form.leadform button[disabled]{opacity:.6;cursor:progress}
.doc{background:var(--surface);border-bottom:1px solid var(--rule)}
.doc-head{padding:clamp(2.2rem,1.5rem + 3vw,3.4rem) 0 1.9rem}
.docmeta{
  font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:.75rem;line-height:1.9;
  color:var(--muted);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);
  padding:.85rem 0;margin-top:1.3rem;max-width:none;
}
.docmeta b{color:var(--ink);font-weight:500}
.prose{padding:clamp(2rem,1.4rem + 2.4vw,3rem) 0;display:flex;flex-direction:column;gap:2.1rem}
.prose section{padding:0;border:0}
.clause{display:flex;flex-direction:column;gap:.7rem}
.clause h2{font-size:1.18rem}
.clause h3{margin-top:.4rem}
.clause ul,.clause ol{margin:0;padding-left:1.25rem;display:flex;flex-direction:column;gap:.4rem}
.clause li{padding-left:.2rem}
.callout{background:var(--raised);border:1px solid var(--rule);border-left:3px solid var(--gold);
  border-radius:4px;padding:1.1rem 1.25rem;display:flex;flex-direction:column;gap:.5rem}
.callout p,.callout li{max-width:none;font-size:.94rem}
.tablewrap{overflow-x:auto;border:1px solid var(--rule);border-radius:4px;background:var(--surface)}
table{border-collapse:collapse;width:100%;min-width:30rem;font-size:.92rem}
th,td{text-align:left;padding:.7rem .9rem;border-bottom:1px solid var(--rule);vertical-align:top}
th{font-family:Archivo,sans-serif;font-weight:650;font-size:.76rem;letter-spacing:.07em;
  text-transform:uppercase;color:var(--muted);background:var(--raised)}
tr:last-child td{border-bottom:0}
footer{background:var(--brand-deep);color:#EBD9D7;padding:2.8rem 0 2.2rem}
footer h2,footer h3{color:#fff}
footer a{color:#fff}
footer p,footer li{color:#E0CAC7}
.foot-grid{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));margin-bottom:2rem}
.foot-col{display:flex;flex-direction:column;gap:.55rem}
.foot-col h3{font-size:.72rem;font-family:"IBM Plex Mono",monospace;letter-spacing:.14em;
  text-transform:uppercase;color:#E7A9A5;font-weight:400}
.foot-col a,.foot-col p{font-size:.92rem;text-decoration:none}
.foot-col a:hover{text-decoration:underline}
.foot-id{font-style:normal;font-size:.92rem;line-height:1.7;font-variant-numeric:tabular-nums}
.foot-legal{border-top:1px solid rgba(255,255,255,.17);padding-top:1.4rem;
  display:flex;flex-direction:column;gap:.65rem}
.foot-legal p{font-size:.78rem;line-height:1.6;color:#D3B7B4;max-width:78ch}
.skip{position:absolute;left:-9999px}
.skip:focus{position:static;display:inline-block;padding:.6rem 1rem;background:#fff;color:var(--brand)}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}