:root{
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
  --bg:#F2F5F5;
  --panel:#FFFFFF;
  --deep:#0F3540;
  --slate:#14424F;
  --amber:#8A6415;
  --ink:#16232A;
  --muted:#586970;
  --rule:#D2DADA;
  --sans:system-ui,-apple-system,"Segoe UI","Helvetica Neue",Arial,sans-serif;
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;
  color-scheme:light dark;
}
:root:not([data-theme="light"]){
  @media (prefers-color-scheme:dark){
    --bg:#0D1518; --panel:#152025; --deep:#0A1A1F; --slate:#79B8C4;
    --amber:#D6A94E; --ink:#E4EBEA; --muted:#93A5AC; --rule:#28383E;
  }
}
:root[data-theme="dark"]{
  --bg:#0D1518; --panel:#152025; --deep:#0A1A1F; --slate:#79B8C4;
  --amber:#D6A94E; --ink:#E4EBEA; --muted:#93A5AC; --rule:#28383E;
}
*,*::before,*::after{box-sizing:inherit}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(env(safe-area-inset-top,0px) + 1.5rem)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font-family:var(--serif);font-size:17.5px;line-height:1.66;
}
.shell{max-width:62rem;margin:0 auto;padding:0 1.25rem}
h1,h2,h3,.sans{font-family:var(--sans);letter-spacing:-0.012em}
a{color:inherit}
:focus-visible{outline:2px solid var(--amber);outline-offset:3px;border-radius:2px}

.mast{padding:1.6rem 0 1.1rem;border-bottom:1px solid var(--rule)}
.mast .shell{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;align-items:baseline;justify-content:space-between}
.logo{font-family:var(--sans);font-weight:700;font-size:1.02rem;color:var(--slate);letter-spacing:.01em;text-decoration:none}
.logo span{color:var(--amber)}
.mastnav{font-family:var(--sans);font-size:.83rem;font-weight:500;color:var(--muted);display:flex;gap:1.1rem;flex-wrap:wrap}
.mastnav a{text-decoration:none}
.mastnav a:hover{color:var(--amber)}

.hero{padding:3.2rem 0 2.6rem}
.hero h1{font-size:clamp(1.75rem,5.4vw,2.9rem);line-height:1.12;font-weight:700;margin:0 0 1.1rem;max-width:22ch;color:var(--ink)}
.hero p{max-width:60ch;margin:0 0 .9rem;font-size:1.08rem}
.hero p.quiet{color:var(--muted);font-size:1rem}

.ledger{background:var(--deep);color:#EAF2F2;border-radius:4px;padding:1.4rem 1.35rem 1.1rem;margin:2.2rem 0 0}
.ledger h2{font-size:.82rem;font-weight:600;margin:0 0 1rem;color:#9FC4CC;letter-spacing:.02em}
.ledger ol{list-style:none;margin:0;padding:0}
.ledger li{display:grid;grid-template-columns:7.5rem 1fr;gap:.2rem 1rem;padding:.85rem 0;border-top:1px solid rgba(255,255,255,.13)}
.ledger li:first-of-type{border-top:none;padding-top:0}
.ledger .when{font-family:var(--sans);font-weight:600;font-size:.82rem;color:#E0B55C;line-height:1.4;padding-top:.15rem}
.ledger .what{font-size:.99rem;line-height:1.55;color:#DCE8E9}
.ledger .what b{font-family:var(--sans);font-weight:600;font-size:.94rem;display:block;color:#FFF;margin-bottom:.12rem}
@media (max-width:540px){.ledger li{grid-template-columns:1fr}.ledger .when{padding-top:0}}

section{padding:3rem 0;border-top:1px solid var(--rule)}
section > .shell > h2{font-size:1.35rem;font-weight:700;margin:0 0 .5rem}
.kicker{color:var(--muted);max-width:58ch;margin:0 0 2rem}

.svc{border-left:3px solid var(--amber);padding:0 0 0 1.25rem;margin:0 0 2.6rem;max-width:62ch}
.svc:last-child{margin-bottom:0}
.svc h3{font-size:1.1rem;font-weight:600;margin:0 0 .5rem}
.svc p{margin:0 0 .85rem}
.svc ul{margin:.2rem 0 1rem;padding-left:1.05rem}
.svc li{margin-bottom:.35rem}
.svc .for{font-family:var(--sans);font-size:.82rem;font-weight:500;color:var(--muted);margin:0;padding-top:.6rem;border-top:1px solid var(--rule)}

.steps{display:grid;gap:1.3rem;margin:0;padding:0;list-style:none;max-width:62ch}
.steps li{padding-left:2.1rem;position:relative}
.steps .n{position:absolute;left:0;top:.18rem;font-family:var(--sans);font-weight:700;font-size:.78rem;color:var(--amber)}
.steps b{font-family:var(--sans);font-weight:600;font-size:1rem;display:block;margin-bottom:.15rem}

.creds{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1.6rem}
.creds h3{font-size:.92rem;font-weight:600;margin:0 0 .5rem;color:var(--slate)}
.creds ul{margin:0;padding-left:1.05rem;font-size:.97rem}
.creds li{margin-bottom:.3rem}

.contact{background:var(--panel);border:1px solid var(--rule);border-radius:4px;padding:1.6rem 1.4rem;max-width:44rem}
.contact h2{margin-top:0}
.contact p{max-width:52ch}
.clines{font-family:var(--sans);font-size:1rem;font-weight:500;margin:1.2rem 0 0;line-height:2}
.clines a{color:var(--amber);text-decoration:none;border-bottom:1px solid currentColor}
.clines a:hover{color:var(--ink)}

/* text pages */
.doc{padding:2.6rem 0 1rem;max-width:44rem}
.doc h1{font-size:clamp(1.5rem,4.4vw,2.1rem);line-height:1.18;margin:0 0 .4rem}
.doc .updated{font-family:var(--sans);font-size:.82rem;color:var(--muted);margin:0 0 2rem}
.doc h2{font-size:1.1rem;font-weight:600;margin:2.2rem 0 .6rem;padding-bottom:.35rem;border-bottom:1px solid var(--rule)}
.doc h3{font-size:.98rem;font-weight:600;margin:1.5rem 0 .3rem;color:var(--slate)}
.doc p{margin:0 0 1rem}
.doc ul{padding-left:1.15rem;margin:0 0 1.1rem}
.doc li{margin-bottom:.4rem}
.doc a{color:var(--amber)}
.doc table{border-collapse:collapse;width:100%;font-size:.94rem;margin:0 0 1.2rem}
.doc th,.doc td{text-align:left;padding:.55rem .7rem;border-bottom:1px solid var(--rule);vertical-align:top}
.doc th{font-family:var(--sans);font-size:.78rem;font-weight:600;color:var(--muted)}
.tablewrap{overflow-x:auto}

footer{padding:2.2rem 0 3rem;border-top:1px solid var(--rule);color:var(--muted);font-size:.88rem}
footer p{margin:0 0 .4rem;max-width:60ch}
footer a{color:var(--muted)}
footer nav{margin-bottom:.7rem;font-family:var(--sans);font-size:.85rem;display:flex;gap:1.1rem;flex-wrap:wrap}
footer nav a{text-decoration:none}
footer nav a:hover{color:var(--amber)}
