:root{--navy:#0f2a3a;--deep:#0a1e2a;--sea:#1d4b5f;--orange:#f26b1d;--orange-d:#b9480c;--sand:#f6efe6;--paper:#fbf7f1;--ink:#14232c;--mute:#4d5f69;
--display:Rockwell,"Roboto Slab","Courier Prime",Georgia,serif;--body:Avenir,"Avenir Next","Segoe UI","Noto Sans",Ubuntu,sans-serif;--mono:"SFMono-Regular",Menlo,Consolas,"Liberation Mono",monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:1.05rem/1.6 var(--body);overflow-x:hidden}
*{min-width:0}a{color:var(--orange-d)}a:hover{color:var(--navy)}:focus-visible{outline:3px solid var(--orange);outline-offset:2px}
h1,h2,h3{font-family:var(--display);line-height:1.12;color:var(--navy);margin:.2em 0 .5em}h1{font-size:clamp(2.2rem,6vw,4.6rem)}h2{font-size:clamp(1.5rem,3vw,2.2rem)}
p,dd,address,li{overflow-wrap:anywhere}.lead{font-size:1.2rem;color:var(--mute);max-width:44rem}.kicker{font:600 .78rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--orange-d)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.skip{position:absolute;left:-999px;top:0;background:var(--orange);color:#fff;padding:.6rem 1rem;z-index:50}.skip:focus{left:1rem}
main{display:block}main>section,main>article,main>ol,main>ul,main>p{padding-left:max(1.2rem,calc((100vw - 1200px)/2));padding-right:max(1.2rem,calc((100vw - 1200px)/2))}
.btn{display:inline-flex;align-items:center;min-height:46px;padding:.6rem 1.2rem;border:2px solid var(--navy);background:transparent;color:var(--navy);font:600 1rem var(--body);text-decoration:none;cursor:pointer;border-radius:0 14px 0 14px;margin:.25rem .3rem .25rem 0}
.btn:hover{background:var(--navy);color:var(--sand)}.btn-o{background:var(--orange);border-color:var(--orange);color:#1a0d04}.btn-o:hover{background:var(--orange-d);border-color:var(--orange-d);color:#fff}
.linkbtn{background:none;border:0;color:var(--orange);text-decoration:underline;font:inherit;cursor:pointer;padding:.3rem 0;min-height:44px}
/* masthead: paired groups abutting central brand */
.mast{background:var(--navy);color:var(--sand);position:sticky;top:0;z-index:30;border-bottom:4px solid var(--orange)}
.span{max-width:1300px;margin:auto;padding:.4rem 1rem;position:relative}.spanwrap{display:grid;grid-template-columns:1fr auto 1fr;align-items:center}
.side{display:flex;gap:.3rem}.side-l{justify-content:flex-end}.side-r{justify-content:flex-start}
.brand{display:flex;flex-direction:column;align-items:center;text-decoration:none;color:var(--sand);padding:.3rem 1.4rem;position:relative}
.brand .word{font:700 1.9rem/1 var(--display);letter-spacing:.32em;padding-left:.32em}.brand small{font:.62rem var(--mono);letter-spacing:.2em;text-transform:uppercase;color:#f8b27f}
.brand .abut{display:none}.brand::before,.brand::after{content:"";position:absolute;top:50%;width:1.2rem;height:3px;background:var(--orange)}.brand::before{left:0}.brand::after{right:0}
.brand-m{display:none}.grp{position:relative}
.grp-btn{background:none;border:0;color:var(--sand);font:600 .95rem var(--body);padding:.7rem .9rem;min-height:46px;cursor:pointer;display:flex;gap:.5rem;align-items:center;border-bottom:3px solid transparent}
.grp-btn:hover,.grp-btn[aria-expanded=true]{border-color:var(--orange)}.pin{width:7px;height:7px;border:2px solid var(--orange);border-radius:50%}
.grp-btn[aria-expanded=true] .pin{background:var(--orange)}
.grp-menu{display:none;position:absolute;top:100%;list-style:none;margin:0;padding:.5rem;background:var(--deep);min-width:15rem;border-top:3px solid var(--orange);box-shadow:0 18px 30px rgba(10,30,42,.35)}
.grp-l .grp-menu{right:0}.grp-r .grp-menu{left:0}.grp-menu.open{display:block}
.grp-menu a{display:block;padding:.6rem .8rem;color:var(--sand);text-decoration:none}.grp-menu a:hover,.grp-menu a:focus{background:var(--sea)}.grp-menu a[aria-current]{color:#f8b27f}
.mob{display:none}
@media (max-width:860px){.spanwrap{display:none;grid-template-columns:1fr}.spanwrap.open{display:block;padding:.5rem 0 1rem}
.spanwrap .brand{display:none}.side{flex-direction:column}.grp-menu{position:static;box-shadow:none;min-width:0}
.mob{display:inline-flex;position:absolute;right:1rem;top:.55rem;background:var(--orange);border:0;color:#1a0d04;font:700 .95rem var(--body);padding:.6rem 1rem;min-height:44px;cursor:pointer;border-radius:0 12px 0 12px}
.brand-m{display:flex;align-items:flex-start;padding:.6rem 0}.brand-m::before,.brand-m::after{display:none}}
/* home */
.deck{background:linear-gradient(180deg,var(--navy) 0 62%,var(--sea) 62%);color:var(--sand);display:grid;padding-top:3rem;padding-bottom:0}
.deck h1{color:var(--sand)}.deck h1 em{color:var(--orange);font-style:normal}.deck .kicker{color:#f8b27f}.deck-lede{max-width:40rem;font-size:1.2rem}
.deck .btn{border-color:var(--sand);color:var(--sand)}.deck .btn-o{color:#1a0d04;border-color:var(--orange)}
.deck-art{position:relative;height:220px;margin-top:2rem}.tower{position:absolute;bottom:40px;width:14px;height:170px;background:var(--orange)}.t1{left:18%}.t2{right:18%}
.cable{position:absolute;left:18%;right:18%;top:10px;height:120px;border-bottom:4px solid var(--orange);border-radius:0 0 50% 50%}
.road{position:absolute;left:0;right:0;bottom:40px;height:10px;background:var(--sand)}.water{position:absolute;left:0;right:0;bottom:0;height:40px;background:repeating-linear-gradient(90deg,transparent 0 30px,rgba(246,239,230,.2) 30px 50px)}
@media (prefers-reduced-motion:no-preference){.cable{animation:sway 6s ease-in-out infinite alternate}@keyframes sway{to{transform:translateY(6px)}}}
.banks{display:grid;grid-template-columns:1fr auto 1fr;gap:1.5rem;align-items:center;padding-top:3rem;padding-bottom:3rem}
.bank{padding:1.5rem;background:var(--sand)}.bank-l{border-left:8px solid var(--navy)}.bank-r{border-right:8px solid var(--orange);text-align:right}.joint{font-size:2.5rem;color:var(--orange)}
.planks{list-style:none;margin:0;display:grid;gap:.4rem;counter-reset:p}.planks a{display:grid;grid-template-columns:9rem 1fr;gap:1rem;padding:1.1rem 1.3rem;background:var(--navy);color:var(--sand);text-decoration:none;transition:transform .2s}
.planks li:nth-child(even) a{background:var(--sea);margin-left:2rem}.planks a:hover{transform:translateX(8px)}.planks b{font:700 1.4rem var(--display);color:var(--orange)}
.road-list{padding-bottom:2rem}.aside{color:var(--mute)}
.note-band{background:var(--orange);padding-top:3rem;padding-bottom:3rem}.note-band h2{color:#1a0d04;max-width:36rem}.note-band p{max-width:40rem}
.faq-wrap{padding-top:3rem;padding-bottom:3rem}.faq details{border-top:2px solid var(--navy);padding:.4rem 0}.faq summary{cursor:pointer;font-weight:700;padding:.6rem 0;min-height:44px}
/* about */
.plaque{background:var(--sea);color:var(--sand);padding-top:4rem;padding-bottom:2rem;clip-path:polygon(0 0,100% 0,100% 80%,0 100%)}.plaque h1{color:var(--sand);max-width:16ch}
.about-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:3rem;padding-top:2rem;padding-bottom:3rem}
.facts{background:var(--navy);color:var(--sand);padding:1.5rem;border-radius:0 30px 0 0}.facts h2{color:var(--orange);font-size:1.3rem}.facts a{color:#f8b27f}
.facts dt{font:.75rem var(--mono);text-transform:uppercase;letter-spacing:.1em;color:#f8b27f;margin-top:.8rem}.facts dd{margin:0}.mapnote{font-size:.92rem}
.trio-off{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.trio-off article{border-top:6px solid var(--orange);padding:1rem;background:var(--sand)}.trio-off .down{margin-top:2.5rem;border-color:var(--navy)}.beliefs{padding-bottom:4rem}
/* services */
.svc-top{padding-top:3rem;padding-bottom:2rem;border-bottom:10px double var(--navy)}.svc-jump{display:flex;flex-wrap:wrap;gap:.5rem}.svc-jump a{padding:.6rem 1rem;background:var(--navy);color:var(--sand);text-decoration:none;min-height:44px}
.pier{display:grid;grid-template-columns:1fr 2fr;gap:2rem;padding-top:3rem;padding-bottom:3rem;scroll-margin-top:90px}
.pier-1{background:var(--sand)}.pier-1 .pier-head{order:2;border-left:0;border-right:6px solid var(--orange);text-align:right;padding-right:1rem}
.pier-head{border-left:6px solid var(--orange);padding-left:1rem}.ticks{padding:0;list-style:none}.ticks li{padding:.4rem 0 .4rem 1.8rem;position:relative}.ticks li::before{content:"";position:absolute;left:0;top:.95rem;width:1.1rem;height:3px;background:var(--orange)}
.svc-it{background:var(--navy);color:var(--sand);padding-top:2.5rem;padding-bottom:2.5rem}.svc-it h2{color:var(--orange)}.svc-it a{color:#f8b27f}
/* method */
.method-top{padding-top:3rem}.stages{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:2rem 0;counter-reset:s}
.stages li{padding:1.4rem;border-top:8px solid var(--navy);position:relative;counter-increment:s}.stages li:nth-child(even){border-color:var(--orange);transform:translateY(1.5rem)}
.stages li::before{content:counter(s,decimal-leading-zero);font:.8rem var(--mono);color:var(--orange-d)}
.crit{background:var(--deep);color:var(--sand);padding-top:3rem;padding-bottom:3rem;margin-top:3rem}.crit h2{color:var(--orange)}
.checklist{list-style:none;padding:0;display:grid;gap:.5rem}.checklist label{display:grid;grid-template-columns:auto 1fr;gap:.2rem 1rem;padding:.8rem;background:var(--sea);cursor:pointer}
.checklist input{width:22px;height:22px;grid-row:span 2;accent-color:var(--orange)}.checklist span{color:#d9e4e8}.meter{font:700 1.1rem var(--mono);color:#f8b27f}
/* boundary */
.bd-top{padding-top:3rem}.chooser{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;padding:0 max(1.2rem,calc((100vw - 1200px)/2))}
.chooser fieldset{border:3px solid var(--navy);padding:1rem 1.2rem}.chooser fieldset+fieldset{border-color:var(--orange)}.chooser legend{font:700 1.1rem var(--display);padding:0 .5rem}
.chooser label{display:flex;gap:.7rem;padding:.55rem 0;min-height:44px;align-items:center;cursor:pointer}.chooser input{width:22px;height:22px;accent-color:var(--orange);flex:none}
.bd-out{margin-top:2rem;padding-top:2rem;padding-bottom:3rem;background:var(--sand)}.span-viz{height:12px;background:var(--navy);margin-bottom:1rem}.span-viz span{display:block;height:100%;width:0;background:var(--orange);transition:width .3s}
/* resources */
.res-top{padding-top:3rem}.res-tools{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin-bottom:1.5rem}.res-tools input{font:inherit;padding:.6rem;border:2px solid var(--navy);min-height:46px;width:min(100%,20rem)}
.chips{display:flex;flex-wrap:wrap;gap:.4rem}.chip{border:2px solid var(--navy);background:none;padding:.5rem .9rem;min-height:44px;font:600 .9rem var(--body);cursor:pointer;color:var(--navy)}.chip[aria-pressed=true]{background:var(--orange);border-color:var(--orange);color:#1a0d04}
.ledger{list-style:none;margin:0 0 3rem}.ledger li{display:grid;grid-template-columns:8rem 18rem 1fr;gap:1rem;padding:1rem 0;border-bottom:1px solid #d7c9b6;align-items:baseline}
.ledger h2{font-size:1.15rem;margin:0}.ledger p{margin:0}.tag{font:.72rem var(--mono);text-transform:uppercase;letter-spacing:.1em;background:var(--navy);color:var(--sand);padding:.25rem .5rem;justify-self:start}.empty{padding-bottom:3rem}
/* support / contact */
.sup-top{padding-top:3rem;background:linear-gradient(90deg,var(--sand) 70%,var(--orange) 70%)}.sup-grid,.ct-wrap{display:grid;grid-template-columns:1fr 1.2fr;gap:2.5rem;padding-top:2rem;padding-bottom:3rem}
.tri-out{background:var(--navy);color:var(--sand);padding:1rem;border-left:6px solid var(--orange)}
.formcard{background:var(--navy);color:var(--sand);padding:1.6rem;border-radius:0 40px 0 40px}.formcard h2{color:var(--orange)}.formcard a{color:#f8b27f}
.enq label{display:block;margin:.6rem 0;font-weight:600}.enq input:not([type=checkbox]),.enq textarea{display:block;width:100%;margin-top:.3rem;font:inherit;padding:.65rem;border:2px solid #55788a;background:var(--paper);color:var(--ink);min-height:46px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.svcs{border:2px solid var(--orange);margin:.8rem 0;padding:.5rem 1rem}.svcs label,.cb{display:flex!important;gap:.6rem;align-items:center;font-weight:400!important;min-height:44px}
.enq input[type=checkbox]{width:22px;height:22px;accent-color:var(--orange);flex:none}.hp{position:absolute;left:-9999px}.status{min-height:1.5em;font-weight:600}.status.err{color:#ffb38a}.status.ok{color:#a8f0c6}
.ct-wrap{padding-top:3rem}.ct-dl dt{font:.75rem var(--mono);text-transform:uppercase;color:var(--orange-d);margin-top:.8rem}.ct-dl dd{margin:0}.small{font-size:.92rem}
/* legal / 404 */
.legal{max-width:none;padding-top:3rem;padding-bottom:3rem}.legal>*{max-width:46rem}.legal h2{font-size:1.4rem;border-left:5px solid var(--orange);padding-left:.7rem;margin-top:2rem}
.gap{padding-top:4rem;padding-bottom:4rem;text-align:center}.gap .lead{margin:auto}.gap-art{display:flex;justify-content:center;gap:4rem;margin:2rem 0}.gap-art span{width:30%;height:12px;background:var(--navy)}.gap-art span+span{background:var(--orange)}
/* footer & cookie */
.foot{background:var(--deep);color:var(--sand);padding:2.5rem max(1.2rem,calc((100vw - 1200px)/2)) 1rem;margin-top:0}.foot a{color:#f8b27f}
.foot-deck{border-bottom:4px solid var(--orange);padding-bottom:1rem}.foot-name{font:700 1.4rem var(--display);margin:0;overflow-wrap:anywhere}.foot address{font-style:normal}
.foot-cols{display:grid;grid-template-columns:1fr 2fr 1fr;gap:2rem}.foot h2{color:var(--orange);font-size:1rem;font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em}.foot-small{font-size:.85rem;color:#9fb4be}
.cookie{position:fixed;left:1rem;bottom:1rem;max-width:26rem;width:calc(100% - 2rem);background:var(--paper);color:var(--ink);border:3px solid var(--orange);padding:1rem 1.2rem;z-index:60;box-shadow:0 10px 30px rgba(10,30,42,.35);max-height:60vh;overflow:auto}
.cookie h2{font-size:1.2rem}.ck-row{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.ck-row .btn{justify-content:center;margin:0}
@media (max-width:860px){.banks,.about-grid,.pier,.sup-grid,.ct-wrap,.chooser,.foot-cols,.row2{grid-template-columns:1fr}.joint{text-align:center;transform:rotate(90deg)}.bank-r{text-align:left}
.trio-off,.stages{grid-template-columns:1fr 1fr}.pier-1 .pier-head{order:0;text-align:left;border-right:0;border-left:6px solid var(--orange)}.ledger li{grid-template-columns:1fr}.planks a{grid-template-columns:1fr}.planks li:nth-child(even) a{margin-left:1rem}.sup-top{background:var(--sand)}}
@media (max-width:520px){.trio-off,.stages{grid-template-columns:1fr}.trio-off .down,.stages li:nth-child(even){margin-top:0;transform:none}.ck-row{grid-template-columns:1fr}.deck-art{height:160px}.tower{height:120px}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
