/* Splineglen | civic register layout | written for this site alone (11/9 MST) */
@font-face
{ font-family:"Archivo"; src:url(fonts/archivo.woff2) format("woff2"); font-weight:400 800; font-display:swap }
@font-face
{ font-family:"Merriweather"; src:url(fonts/merriweather.woff2) format("woff2"); font-weight:300 900; font-display:swap }
.sg
{ --cob:#1f4fbf; --ver:#c43722; --navy:#14234a; --pap:#f7f8fb; --tnt:#eaf0fb; --rul:#cdd7ee; margin:0; background:var(--pap); color:var(--navy); font:400 1.02rem/1.75 "Merriweather",Georgia,serif }
.sg *,.sg *::before,.sg *::after
{ box-sizing:border-box }
.sg h1,.sg h2,.sg h3,.sg legend,.sg summary,.sg dt
{ font-family:"Archivo","Helvetica Neue",Arial,sans-serif; color:var(--navy); line-height:1.18 }
.sg h1
{ font-size:clamp(1.95rem,5vw,3.15rem); font-weight:800; letter-spacing:-.015em; margin:.15em 0 .4em }
.sg h2
{ font-size:clamp(1.35rem,2.8vw,1.9rem); font-weight:750; margin:1.5em 0 .55em }
.sg h3
{ font-size:1.12rem; font-weight:700; margin:.5em 0 .3em }
.sg a
{ color:var(--cob); text-decoration-thickness:2px; text-underline-offset:4px }
.sg img
{ display:block; width:100%; height:auto; border-radius:2px }
.sg figure
{ margin:0 }
.sg-jump
{ position:absolute; left:-999px; top:0; background:var(--navy); color:#fff; padding:.6rem 1rem; z-index:9 }
.sg-jump:focus
{ left:0 }
.sg-wrap
{ max-width:1160px; margin:0 auto; padding:0 1.25rem }
.sg-mast
{ background:#fff; border-top:6px solid var(--cob); border-bottom:1px solid var(--rul); position:sticky; top:0; z-index:5 }
.sg-mast-row
{ max-width:1160px; margin:0 auto; padding:.7rem 1.25rem; display:flex; align-items:center; justify-content:space-between; gap:.75rem }
.sg-name
{ display:inline-flex; align-items:center; gap:.55rem; font:800 1.32rem/1 "Archivo",Arial,sans-serif; color:var(--navy)!important; text-decoration:none; margin:0; min-width:0 }
.sg-name-sm
{ font-size:1.15rem }
.sg-seal
{ flex:none }
.sg-go
{ flex:none; background:var(--ver); color:#fff!important; text-decoration:none; font:700 .95rem/1 "Archivo",Arial,sans-serif; padding:.7rem 1rem; border-radius:3px; white-space:nowrap }
.sg-go:hover
{ background:#9a2c1a }
.sg-strip
{ background:var(--navy) }
.sg-strip ul
{ list-style:none; margin:0 auto; padding:0 1.25rem; max-width:1160px; display:flex; gap:1.3rem; overflow-x:auto; scrollbar-width:thin }
.sg-strip a
{ display:block; padding:.6rem 0; color:#dfe7fb!important; text-decoration:none; font:600 .88rem/1.2 "Archivo",Arial,sans-serif; white-space:nowrap; border-bottom:3px solid transparent }
.sg-strip a[aria-current="page"],.sg-strip a:hover
{ color:#fff!important; border-bottom-color:var(--ver) }
.sg-kick
{ font:700 .78rem/1.3 "Archivo",Arial,sans-serif; text-transform:uppercase; letter-spacing:.14em; color:var(--ver); margin:0 0 .4rem }
.sg-big
{ font-size:1.1rem; line-height:1.7; max-width:46rem }
.sg-note
{ font-size:.86rem; color:#4a5878 }
.sg-btn
{ display:inline-block; background:var(--cob); color:#fff!important; border:0; text-decoration:none; font:700 1rem/1 "Archivo",Arial,sans-serif; padding:.95rem 1.4rem; border-radius:3px; cursor:pointer }
.sg-btn:hover
{ background:#163c94 }
.sg-link
{ font:700 .98rem/1.4 "Archivo",Arial,sans-serif }
.sg-link::after
{ content:" →" }
.sg-hero
{ position:relative; background:var(--navy) }
.sg-hero-pic img
{ border-radius:0; max-height:600px; object-fit:cover; object-position:center 22% }
.sg-hero-card
{ position:relative; margin:1.75rem 0 0; background:#fff; border-left:8px solid var(--ver); padding:2rem 2rem 1.6rem; max-width:44rem; box-shadow:0 18px 40px rgba(20,35,74,.18) }
.sg-acts
{ display:flex; flex-wrap:wrap; align-items:center; gap:1.2rem; margin:1.3rem 0 .9rem }
.sg-sec
{ padding:3.4rem 0 }
.sg-tint
{ background:var(--tnt); border-top:1px solid var(--rul); border-bottom:1px solid var(--rul) }
.sg-nums
{ list-style:none; padding:0; margin:1.8rem 0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.2rem }
.sg-nums li
{ background:#fff; border:1px solid var(--rul); border-top:5px solid var(--cob); padding:1.3rem }
.sg-nums b
{ display:block; font:800 3.2rem/1 "Archivo",Arial,sans-serif; color:var(--cob) }
.sg-files
{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.4rem; margin-top:1.8rem }
.sg-file a
{ display:block; height:100%; background:#fff; border:1px solid var(--rul); padding:0 0 1.2rem; color:var(--navy)!important; text-decoration:none }
.sg-file a:hover
{ border-color:var(--cob); box-shadow:0 8px 22px rgba(31,79,191,.15) }
.sg-file h3,.sg-file p,.sg-file .sg-tab,.sg-file .sg-read
{ margin-left:1.1rem; margin-right:1.1rem }
.sg-tab
{ display:inline-block; margin-top:1rem; background:var(--ver); color:#fff; font:700 .74rem/1 "Archivo",Arial,sans-serif; padding:.35rem .55rem; letter-spacing:.08em; text-transform:uppercase }
.sg-read
{ display:block; font:700 .85rem/1.3 "Archivo",Arial,sans-serif; color:var(--cob) }
.sg-scroll
{ overflow-x:auto; margin:1.2rem 0 }
.sg-ledger
{ width:100%; border-collapse:collapse; background:#fff; font-size:.94rem; min-width:0 }
.sg-ledger th,.sg-ledger td
{ text-align:left; vertical-align:top; padding:.75rem .85rem; border:1px solid var(--rul); overflow-wrap:anywhere }
.sg-ledger thead th
{ background:var(--navy); color:#fff; font:700 .86rem/1.3 "Archivo",Arial,sans-serif }
.sg-ledger tbody th
{ font-family:"Archivo",Arial,sans-serif; background:var(--tnt) }
.sg-pair
{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:2.4rem; align-items:center }
.sg-pair-flip figure
{ order:2 }
.sg-dash
{ list-style:none; padding:0; margin:1rem 0 1.3rem }
.sg-dash li
{ padding:.3rem 0 .3rem 1.6rem; position:relative }
.sg-dash li::before
{ content:""; position:absolute; left:0; top:.95rem; width:.9rem; height:3px; background:var(--ver) }
.sg-myths
{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.2rem; margin:1.6rem 0 0 }
.sg-myths div
{ background:#fff; border:1px solid var(--rul); padding:1.2rem 1.3rem }
.sg-myths dt
{ font-weight:700; font-size:1.05rem }
.sg-myths dd
{ margin:.5rem 0 0 }
.sg-role
{ border:2px solid var(--navy); padding:1.6rem 1.8rem; background:#fff }
.sg-role h2
{ margin-top:0 }
.sg-role ul
{ margin:.6rem 0 0; padding-left:1.2rem }
.sg-qa details
{ background:#fff; border:1px solid var(--rul); margin:.6rem 0; padding:.9rem 1.1rem }
.sg-qa summary
{ cursor:pointer; font-weight:700 }
.sg-qa p
{ margin:.6rem 0 0 }
.sg-band
{ background:var(--cob); color:#fff; padding:2.6rem 0 }
.sg-band-in
{ display:flex; align-items:center; justify-content:space-between; gap:1.6rem; flex-wrap:wrap }
.sg-band h2
{ color:#fff; margin:0 0 .4rem }
.sg-band p
{ margin:0; max-width:40rem }
.sg-band .sg-btn
{ background:var(--ver) }
.sg-doc-head
{ background:#fff; border-bottom:1px solid var(--rul); padding:2.2rem 0 1.8rem }
.sg-trail
{ font:600 .84rem/1.4 "Archivo",Arial,sans-serif; margin:0 0 1rem }
.sg-doc-pic
{ margin:1.8rem 0 0 }
.sg-doc-grid
{ display:grid; grid-template-columns:minmax(0,1fr) 270px; gap:2.6rem; align-items:start; padding-top:1rem; padding-bottom:3rem }
.sg-doc-body
{ max-width:44rem }
.sg-part h2
{ display:flex; gap:.8rem; align-items:baseline }
.sg-part h2 span
{ font-size:.9rem; color:var(--ver); font-weight:800; letter-spacing:.06em }
.sg-box
{ background:var(--tnt); border-left:6px solid var(--cob); padding:1rem 1.4rem 1.2rem; margin:2rem 0 }
.sg-box-red
{ border-left-color:var(--ver); background:#fdf0ed }
.sg-box h2
{ margin-top:.4rem }
.sg-checks
{ list-style:none; padding:0; margin:0 }
.sg-checks li
{ padding:.35rem 0 .35rem 2rem; position:relative }
.sg-checks li::before
{ content:""; position:absolute; left:0; top:.6rem; width:1.1rem; height:1.1rem; border:2px solid var(--cob); background:#fff }
.sg-terms
{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.9rem 1.4rem; margin:0 }
.sg-terms div
{ border-top:2px solid var(--rul); padding-top:.6rem }
.sg-terms dd
{ margin:.2rem 0 0; font-size:.95rem }
.sg-toc
{ position:sticky; top:7.5rem; background:#fff; border:1px solid var(--rul); padding:1.1rem 1.2rem; font-family:"Archivo",Arial,sans-serif; font-size:.9rem }
.sg-toc ol
{ margin:0; padding-left:1.2rem }
.sg-toc li
{ margin:.35rem 0 }
.sg-more
{ border-top:3px solid var(--navy); margin-top:2.4rem; padding-top:1rem }
.sg-more ul
{ padding-left:1.1rem }
.sg-starts
{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.2rem; margin:1rem 0 2rem }
.sg-starts > div
{ background:#fff; border:1px solid var(--rul); border-top:4px solid var(--ver); padding:1.1rem 1.2rem }
.sg-starts h2,.sg-starts h3
{ margin-top:0; font-size:1.1rem }
.sg-shelf
{ list-style:none; padding:0; margin:0; counter-reset:shelf }
.sg-shelf li
{ counter-increment:shelf; border-bottom:1px solid var(--rul) }
.sg-shelf a
{ display:grid; grid-template-columns:3rem minmax(0,1fr); gap:.2rem 1rem; padding:1.1rem 0; text-decoration:none; color:var(--navy)!important }
.sg-shelf a::before
{ content:counter(shelf,decimal-leading-zero); grid-row:span 2; font:800 1.7rem/1 "Archivo",Arial,sans-serif; color:var(--ver) }
.sg-shelf b
{ font-family:"Archivo",Arial,sans-serif; font-size:1.12rem; color:var(--cob) }
.sg-prose
{ max-width:48rem }
.sg-rev
{ background:#fff; border:1px solid var(--rul); border-left:6px solid var(--ver); padding:1rem 1.2rem }
.sg-legal h2
{ font-size:1.28rem }
.sg-quote
{ margin:1rem 0; padding:1rem 1.3rem; background:#fff; border-left:5px solid var(--cob) }
.sg-bubbles
{ list-style:none; padding:0 }
.sg-bubbles li
{ background:#fff; border:1px solid var(--rul); border-radius:14px 14px 14px 2px; padding:.8rem 1rem; margin:.7rem 0; max-width:34rem; overflow-wrap:anywhere; font-size:.93rem }
.sg-bubbles small
{ display:block; font:700 .74rem/1.3 "Archivo",Arial,sans-serif; text-transform:uppercase; letter-spacing:.1em; color:var(--ver) }
.sg-gs
{ display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:2rem; align-items:start; margin-top:1.5rem }
.sg-form
{ background:#fff; border:1px solid var(--rul); border-top:6px solid var(--cob); padding:1.5rem }
.sg-form fieldset
{ border:0; padding:0; margin:0 0 1.3rem; min-width:0 }
.sg-form legend
{ font-weight:800; font-size:1.05rem; margin-bottom:.4rem }
.sg-two
{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 1rem }
.sg-field
{ margin:.5rem 0 }
.sg-field label
{ display:block; font:600 .9rem/1.4 "Archivo",Arial,sans-serif; margin-bottom:.25rem }
.sg-field input,.sg-field select
{ width:100%; font:inherit; font-size:1rem; padding:.65rem .7rem; border:1px solid #9fb0d6; border-radius:3px; background:#fff; color:var(--navy) }
.sg-field input:focus,.sg-field select:focus,.sg-tick input:focus
{ outline:3px solid rgba(31,79,191,.35); outline-offset:1px }
.sg-tick
{ display:flex; gap:.7rem; align-items:flex-start; background:var(--tnt); border:1px solid var(--rul); padding:.9rem; margin:.7rem 0; font-size:.9rem; line-height:1.55 }
.sg-tick input
{ width:1.25rem; height:1.25rem; margin-top:.15rem; flex:none }
.sg-tick-req
{ background:#fff }
.sg-trap
{ position:absolute; left:-5000px; width:1px; height:1px; overflow:hidden }
.sg-status
{ font-size:.9rem; color:#4a5878 }
.sg-aside
{ background:var(--navy); color:#e7edfb; padding:1.4rem 1.5rem }
.sg-aside h2
{ color:#fff; font-size:1.1rem; margin:1rem 0 .4rem }
.sg-aside h2:first-child
{ margin-top:0 }
.sg-aside a
{ color:#fff }
.sg-colo
{ background:var(--navy); color:#cfd9f2; padding:2.8rem 0 1.4rem; font-size:.92rem }
.sg-colo-grid
{ max-width:1160px; margin:0 auto; padding:0 1.25rem; display:grid; grid-template-columns:1.4fr 1.3fr 1fr 1fr; gap:1.8rem }
.sg-colo h2
{ color:#fff; font-size:.95rem; text-transform:uppercase; letter-spacing:.1em; margin:0 0 .6rem }
.sg-colo ul
{ list-style:none; margin:0; padding:0 }
.sg-colo li
{ margin:.35rem 0 }
.sg-colo a,.sg-colo .sg-name
{ color:#fff!important }
.sg-colo-base
{ max-width:1160px; margin:2rem auto 0; padding:1rem 1.25rem 0; border-top:1px solid rgba(255,255,255,.18); font-size:.82rem }
@media (max-width:900px)
{ .sg-files,.sg-starts,.sg-nums { grid-template-columns:minmax(0,1fr) } .sg-pair,.sg-gs,.sg-doc-grid { grid-template-columns:minmax(0,1fr) } .sg-pair-flip figure { order:0 } .sg-toc { position:static; order:-1 } .sg-colo-grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr) } .sg-hero-card { margin-top:-3rem } }
@media (max-width:600px)
{ .sg-myths,.sg-terms,.sg-two,.sg-colo-grid { grid-template-columns:minmax(0,1fr) } .sg-hero-card { margin:0 -1.25rem; padding:1.4rem 1.25rem; border-left-width:6px } .sg-name { font-size:1.1rem } .sg-seal { width:26px; height:26px } .sg-go { padding:.6rem .75rem; font-size:.85rem } .sg-sec { padding:2.4rem 0 } }
