/* guabase.net, GuaBase Spreadsheet Relay. Colours and type follow guabase.com (style.md, 2026-10-22). Prefix twn- */
@font-face{font-family:'Geist';src:url(/assets/fonts/geist-latin.woff2) format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
:root{--twn-night:#07130d;--twn-night2:#0c1511;--twn-green:#26c96f;--twn-green-h:#1fb864;--twn-gtext:#107a54;--twn-mark:#39e079;--twn-mint:#eaf6ef;--twn-bg:#f6f7f9;--twn-card:#fff;--twn-ink:#18232c;--twn-muted:#596779;--twn-line:#dce1e8;--twn-soft:#e9ecf1;--twn-warn:#7a5000;--twn-r:8px;--twn-r-lg:12px;--twn-col:900px}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
body{margin:0;background:var(--twn-bg);color:var(--twn-ink);font:400 17px/1.65 'Geist',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;font-feature-settings:'ss01' 0}
img{max-width:100%;height:auto;display:block}
a{color:var(--twn-gtext);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{color:#0b5c3f}
:focus-visible{outline:3px solid var(--twn-green);outline-offset:2px}
h1,h2,h3{line-height:1.2;letter-spacing:-.015em;margin:0}
h2{font-size:28px;font-weight:720;margin:0 0 14px}
h3{font-size:19px;font-weight:680;margin:26px 0 8px}
p{margin:0 0 14px}
ul,ol{margin:0 0 16px;padding-left:22px}
li{margin:0 0 6px}
strong{font-weight:680}
.twn-vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.twn-skip{position:absolute;left:-9999px;top:8px;background:#fff;color:var(--twn-ink);padding:10px 14px;border-radius:var(--twn-r);z-index:99}
.twn-skip:focus{left:12px}
.twn-wrap{max-width:1168px;margin:0 auto;padding:0 24px}
.twn-col{max-width:var(--twn-col);margin:0 auto;padding:0 24px;box-sizing:content-box}

/* independence strip + header */
.twn-strip{margin:0;background:var(--twn-night);color:#cfe9da;font-size:13.5px;line-height:1.4;text-align:center;padding:7px 16px}
.twn-head{background:rgba(255,255,255,.97);border-bottom:1px solid var(--twn-line);position:sticky;top:0;z-index:20}
.twn-head .twn-wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:68px}
.twn-brand{display:inline-flex;align-items:center;gap:10px;min-height:44px;color:var(--twn-ink);text-decoration:none;font-weight:650;font-size:17.5px;letter-spacing:-.01em;white-space:nowrap}
.twn-brand img{width:30px;height:30px}
.twn-brand b{color:var(--twn-gtext);font-weight:720}
.twn-nav ul{display:flex;gap:2px;list-style:none;margin:0;padding:0}
.twn-nav li{margin:0;flex:none}
.twn-nav a{display:flex;align-items:center;min-height:44px;min-width:44px;justify-content:center;padding:0 11px;color:#3b4856;text-decoration:none;font-size:15px;border-radius:6px;white-space:nowrap}
.twn-nav a:hover{background:var(--twn-mint);color:var(--twn-ink)}
.twn-nav a[aria-current=page]{color:var(--twn-gtext);font-weight:650;box-shadow:inset 0 -2px 0 var(--twn-green)}

/* hero */
.twn-hero{position:relative;overflow:hidden;color:#fff;background:var(--twn-night);padding:68px 0 44px}
.twn-hero::after{content:"";position:absolute;right:-60px;top:50%;width:680px;height:680px;transform:translateY(-50%);background:url(/assets/img/hero-map.webp) center/cover no-repeat;-webkit-mask-image:radial-gradient(closest-side,#000 52%,transparent 100%);mask-image:radial-gradient(closest-side,#000 52%,transparent 100%);opacity:.85;pointer-events:none}
.twn-hero .twn-wrap{position:relative;z-index:1}
.twn-hero-in{max-width:780px}
.twn-hero h1{font-size:54px;font-weight:820;letter-spacing:-.03em;line-height:1.06;margin:0 0 18px}
.twn-hero h1 span{color:var(--twn-green);display:block}
.twn-hero .twn-lede{color:#d3e4da;font-size:18.5px;max-width:700px;margin:0 0 26px}
.twn-search{display:flex;gap:8px;background:#fff;border-radius:var(--twn-r);padding:8px;max-width:780px}
.twn-search input[type=search]{flex:1;min-width:0;min-height:52px;border:0;border-radius:6px;padding:0 14px;font:inherit;font-size:17px;color:var(--twn-ink);background:#fff}
.twn-search input[type=search]::placeholder{color:#6b7787}
.twn-search input[type=search]:focus{outline:2px solid var(--twn-green);outline-offset:0}
.twn-search button{min-height:52px;padding:0 22px;border:0;border-radius:6px;background:var(--twn-green);color:var(--twn-night);font:inherit;font-weight:650;font-size:16.5px;cursor:pointer;white-space:nowrap}
.twn-search button:hover{background:var(--twn-green-h)}
.twn-herolinks{display:flex;flex-wrap:wrap;gap:4px 22px;margin:16px 0 0;padding:0;list-style:none}
.twn-herolinks li{margin:0}
.twn-herolinks a{display:inline-flex;align-items:center;min-height:44px;color:#e3f3ea;font-size:15.5px;text-decoration:underline;text-decoration-color:rgba(38,201,111,.7);text-underline-offset:5px}
.twn-herolinks a:hover{color:#fff}
.twn-hero-note{margin:12px 0 0;color:#9fb8aa;font-size:14px}

/* sections */
.twn-sec{padding:56px 0}
.twn-sec + .twn-sec{border-top:1px solid var(--twn-soft)}
.twn-sec--white{background:#fff}
.twn-sec--mint{background:var(--twn-mint)}
.twn-stepno{display:inline-block;font-size:14px;font-weight:700;letter-spacing:0;color:var(--twn-night);background:var(--twn-green);border-radius:6px;padding:3px 8px;margin-right:6px;vertical-align:4px}
.twn-kicker{font-size:13px;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--twn-gtext);margin:0 0 8px}
.twn-pagehead{background:#fff;border-bottom:1px solid var(--twn-line);padding:30px 0 34px}
.twn-pagehead h1{font-size:42px;font-weight:800;letter-spacing:-.025em;margin:6px 0 14px}
.twn-pagehead .twn-lede{font-size:19px;color:#3b4856;margin:0}
.twn-crumb{display:flex;gap:8px;align-items:center;font-size:14.5px;color:var(--twn-muted)}
.twn-crumb a{display:inline-flex;align-items:center;min-height:44px;min-width:44px}

/* wall */
.twn-wallhead{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:20px}
.twn-wallhead p{margin:0;color:var(--twn-muted);max-width:620px}
.twn-wallhead a{display:inline-flex;align-items:center;min-height:44px;white-space:nowrap;font-weight:600}
.twn-wall{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;list-style:none;margin:0;padding:0}
.twn-wall li{margin:0}
.twn-tile{display:flex;flex-direction:column;height:100%;background:#fff;border:1px solid var(--twn-line);border-radius:var(--twn-r-lg);overflow:hidden;color:var(--twn-ink);text-decoration:none}
.twn-tile:hover{border-color:var(--twn-green)}
.twn-tile img{width:100%;aspect-ratio:1/1;object-fit:cover;background:var(--twn-soft)}
.twn-tile-t{font-weight:680;font-size:17px;padding:12px 14px 2px}
.twn-tile-d{font-size:14.5px;line-height:1.45;color:var(--twn-muted);padding:0 14px 8px}
.twn-tile-b{margin:auto 14px 14px;align-self:flex-start;font-size:12.5px;font-weight:600;color:var(--twn-gtext);background:var(--twn-mint);border-radius:999px;padding:3px 10px}

/* relay rail */
.twn-rail ol{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;list-style:none;margin:0;padding:0;border:1px solid var(--twn-line);border-radius:var(--twn-r-lg);background:#fff;overflow:hidden}
.twn-rail li{margin:0;border-left:1px solid var(--twn-line)}
.twn-rail li:first-child{border-left:0}
.twn-rail a{display:flex;flex-direction:column;gap:2px;height:100%;padding:14px 14px 16px;color:var(--twn-ink);text-decoration:none;min-height:44px}
.twn-rail a:hover{background:var(--twn-mint)}
.twn-rail a[aria-current=page]{background:var(--twn-night);color:#fff}
.twn-rail a[aria-current=page] .twn-rail-h,.twn-rail a[aria-current=page] .twn-rail-s{color:#bfe0cd}
.twn-rail-n{font-size:13px;font-weight:700;color:var(--twn-gtext)}
.twn-rail a[aria-current=page] .twn-rail-n{color:var(--twn-green)}
.twn-rail-t{font-weight:700;font-size:17px}
.twn-rail-h{font-size:13.5px;color:var(--twn-muted);line-height:1.35}
.twn-rail-s{font-size:12.5px;color:var(--twn-gtext);line-height:1.35;margin-top:4px}
.twn-railwrap{padding:22px 0 0}

/* handoff card */
.twn-hand{margin:4px 0 0;border:1px solid var(--twn-line);border-radius:var(--twn-r-lg);background:#fff;overflow:hidden}
.twn-hand div{display:grid;grid-template-columns:190px minmax(0,1fr);border-top:1px solid var(--twn-soft)}
.twn-hand div:first-child{border-top:0}
.twn-hand dt{padding:12px 16px;font-size:13.5px;font-weight:680;letter-spacing:.04em;text-transform:uppercase;color:var(--twn-gtext);background:#fafbfc}
.twn-hand dd{margin:0;padding:12px 16px}

/* figures */
.twn-fig{margin:22px 0 6px}
.twn-fig img{border:1px solid var(--twn-line);border-radius:var(--twn-r);background:#fff;width:auto;max-width:100%;height:auto}
.twn-fig figcaption{font-size:14.5px;color:var(--twn-muted);margin-top:8px;line-height:1.5}
.twn-gslot{margin:0}
.twn-vslot{aspect-ratio:16/9;width:100%;border-radius:var(--twn-r-lg);overflow:hidden;background:var(--twn-night);margin:0 0 20px}
.twn-vslot iframe,.twn-vslot video{width:100%;height:100%;border:0;display:block}
.twn-pair{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:40px;align-items:start;margin:8px 0}
.twn-pair--flip{grid-template-columns:400px minmax(0,1fr)}
.twn-pair--narrow{grid-template-columns:minmax(0,1fr) 340px}
.twn-pair--flip > .twn-fig{order:-1}
.twn-pair > .twn-fig{margin:0}
.twn-pair .twn-txt > :last-child{margin-bottom:0}
.twn-pair .twn-txt h2{margin-top:0}

/* notes, lists, tables */
.twn-note{border-left:4px solid var(--twn-green);background:#fff;padding:14px 18px;border-radius:0 var(--twn-r) var(--twn-r) 0;margin:18px 0}
.twn-note--warn{border-left-color:#c99a2e}
.twn-steps{counter-reset:twn;list-style:none;padding:0}
.twn-steps > li{counter-increment:twn;position:relative;padding-left:46px;margin-bottom:12px}
.twn-steps > li::before{content:counter(twn,decimal-leading-zero);position:absolute;left:0;top:1px;font-size:13px;font-weight:700;color:var(--twn-night);background:var(--twn-green);border-radius:6px;padding:2px 6px}
.twn-tbl{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--twn-line);border-radius:var(--twn-r);margin:18px 0 22px;font-size:16px}
.twn-tbl th,.twn-tbl td{text-align:left;padding:10px 14px;border-top:1px solid var(--twn-soft);vertical-align:top}
.twn-tbl thead th{border-top:0;background:#fafbfc;font-size:14px;letter-spacing:.03em;color:var(--twn-gtext)}
.twn-tblwrap{overflow-x:auto}
.twn-tbl td a{display:inline-flex;align-items:center;min-height:44px;min-width:44px}
.twn-reg{display:inline-flex;align-items:center;min-height:44px}
.twn-next{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:28px;padding-top:20px;border-top:1px solid var(--twn-line)}
.twn-next a{display:inline-flex;align-items:center;min-height:44px;font-weight:620}
.twn-qa{border-top:1px solid var(--twn-line);padding:14px 0 4px}
.twn-qa h3{margin:0 0 6px;font-size:18px}
.twn-cta{display:inline-flex;align-items:center;min-height:48px;padding:0 20px;background:var(--twn-green);color:var(--twn-night);border-radius:var(--twn-r);font-weight:650;text-decoration:none}
.twn-cta:hover{background:var(--twn-green-h);color:var(--twn-night)}
.twn-glos dt{font-weight:700;margin-top:14px}
.twn-glos dd{margin:2px 0 0;color:#2b3742}

/* calculator */
.twn-calc{background:#fff;border:1px solid var(--twn-line);border-radius:var(--twn-r-lg);padding:22px;margin:20px 0}
.twn-calc fieldset{border:0;margin:0 0 14px;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px}
.twn-calc legend{font-weight:700;margin-bottom:8px;padding:0}
.twn-calc label{display:flex;flex-direction:column;gap:4px;font-size:15px;color:#3b4856}
.twn-calc input{min-height:46px;border:1px solid var(--twn-line);border-radius:var(--twn-r);padding:0 12px;font:inherit;color:var(--twn-ink);background:#fff}
.twn-calc input:focus{outline:2px solid var(--twn-green);border-color:var(--twn-green)}
.twn-calc output{display:block}
.twn-calc-out{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;background:var(--twn-mint);border-radius:var(--twn-r);padding:16px;margin-top:6px}
.twn-calc-out div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px dashed #b9dcc8;padding:4px 0}
.twn-calc-out b{font-variant-numeric:tabular-nums}

/* footer */
.twn-foot{background:#fff;border-top:1px solid var(--twn-line);padding:44px 0 26px;font-size:15px;color:#3b4856}
.twn-foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:28px}
.twn-foot-name{font-weight:720;color:var(--twn-ink);font-size:17px;margin:0 0 8px}
.twn-fhead{font-size:13px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--twn-gtext);margin:0 0 6px}
.twn-foot ul{list-style:none;margin:0;padding:0}
.twn-foot li{margin:0}
.twn-foot li a{display:inline-flex;align-items:center;min-height:44px;color:#2b3742;text-decoration:none}
.twn-foot li a:hover{color:var(--twn-gtext);text-decoration:underline}
.twn-foot-base{border-top:1px solid var(--twn-soft);margin-top:24px;padding-top:16px;font-size:14px;color:var(--twn-muted)}

/* responsive */
@media (max-width:1100px){.twn-rail ol{grid-template-columns:repeat(3,minmax(0,1fr))}.twn-rail li:nth-child(4){border-left:0}.twn-rail li:nth-child(n+4){border-top:1px solid var(--twn-line)}}
@media (max-width:960px){
 .twn-head{position:static}
 .twn-head .twn-wrap{flex-direction:column;align-items:flex-start;gap:0;padding-top:8px}
 .twn-nav{width:100%;overflow-x:auto}
 .twn-hero h1{font-size:42px}
 .twn-wall{grid-template-columns:repeat(2,minmax(0,1fr))}
 .twn-pair,.twn-pair--flip{grid-template-columns:minmax(0,1fr)}
 .twn-pair--flip > .twn-fig{order:0}
 .twn-foot-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
 body{font-size:16.5px}
 .twn-hero{padding:44px 0 32px}
 .twn-hero::after{display:none}
 .twn-hero h1{font-size:34px}
 .twn-pagehead h1{font-size:32px}
 h2{font-size:24px}
 .twn-search{flex-direction:column}
 .twn-rail ol{grid-template-columns:repeat(2,minmax(0,1fr))}
 .twn-rail li:nth-child(odd){border-left:0}
 .twn-rail li:nth-child(n+3){border-top:1px solid var(--twn-line)}
 .twn-hand div{grid-template-columns:minmax(0,1fr)}
 .twn-calc fieldset,.twn-calc-out{grid-template-columns:minmax(0,1fr)}
 .twn-wallhead{flex-direction:column;align-items:flex-start}
 .twn-foot-grid{grid-template-columns:minmax(0,1fr)}
 .twn-sec{padding:40px 0}
}
