:root{--ink:#10182b;--bone:#f5f2e9;--cobalt:#2446e8;--butter:#f7dd72;--mute:#566074;--line:#10182b}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{font-family:'Figtree',system-ui,sans-serif;color:var(--ink);background:var(--bone);font-size:1.05rem;line-height:1.65}
h1,h2,h3,h4,.brand b{font-family:'Bricolage Grotesque',Georgia,sans-serif;font-weight:800;letter-spacing:-.02em;line-height:1.02}
.mono,.eyebrow,.cell small{font-family:'IBM Plex Mono',monospace;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;font-weight:500}
.eyebrow{color:var(--cobalt);margin-bottom:.8rem;display:block}
a{color:var(--cobalt)}
.utility{background:var(--ink);color:#fff;font-size:.88rem;padding:.4rem 0}
.utility a{color:#fff;text-decoration:none;margin-left:1.2rem}
.utility a:hover{color:var(--butter)}
.navbar{background:var(--bone);border-bottom:2px solid var(--ink)}
.brand{text-decoration:none;color:var(--ink)!important;display:flex;flex-direction:column;line-height:1}
.brand b{font-size:1.45rem}
.brand small{font-family:'IBM Plex Mono',monospace;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-top:.3rem}
.navbar .nav-link{color:var(--ink);font-weight:600;padding:.5rem .8rem}
.navbar .nav-link:hover{color:var(--cobalt)}
.btn-wf{background:var(--cobalt);color:#fff;border:2px solid var(--ink);border-radius:0;font-weight:700;padding:.75rem 1.4rem;box-shadow:4px 4px 0 var(--ink);transition:transform .15s,box-shadow .15s}
.btn-wf:hover{color:#fff;transform:translate(2px,2px);box-shadow:2px 2px 0 var(--ink)}
.btn-ln{background:var(--butter);color:var(--ink);border:2px solid var(--ink);border-radius:0;font-weight:700;padding:.75rem 1.4rem;box-shadow:4px 4px 0 var(--ink)}
.btn-ln:hover{color:var(--ink);transform:translate(2px,2px);box-shadow:2px 2px 0 var(--ink)}
.hero{padding:4.5rem 0 3rem;position:relative;overflow:hidden}
.hero h1{font-size:clamp(2.8rem,7.5vw,6rem);margin-bottom:1.4rem}
.hero h1 em{font-style:normal;background:var(--butter);padding:0 .15em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.hero p.lead{max-width:34rem;font-size:1.2rem}
.stamp{position:absolute;right:4%;top:2.2rem;width:132px;height:132px;border:3px solid var(--cobalt);border-radius:50%;color:var(--cobalt);display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-12deg);font-family:'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.1em;font-size:.62rem;text-align:center;background:var(--bone);z-index:2}
.stamp::before{content:"";position:absolute;inset:6px;border:1px dashed var(--cobalt);border-radius:50%}
.stamp b{font-family:'Bricolage Grotesque',sans-serif;font-size:2.1rem;letter-spacing:-.02em;line-height:1}
.photo-strip{border:2px solid var(--ink);box-shadow:8px 8px 0 var(--butter);display:block;width:100%;height:auto}
.forms{display:grid;grid-template-columns:repeat(3,1fr);border:2px solid var(--ink);background:#fff;margin-top:2.5rem}
.cell{padding:.8rem 1rem;border-right:2px solid var(--ink);min-width:0}
.cell:last-child{border-right:0}
.cell small{display:block;color:var(--mute);font-size:.66rem}
.cell b{font-size:1.05rem;word-break:break-word}
.cell a{color:var(--ink);text-decoration:none}
section.sec{padding:5rem 0}
.sec h2{font-size:clamp(2.2rem,5vw,3.6rem);margin-bottom:1.2rem}
.about{background:var(--ink);color:#fff}
.about .eyebrow{color:var(--butter)}
.about p{font-size:1.15rem;max-width:40rem}
.about .pull{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:clamp(1.6rem,3.4vw,2.4rem);line-height:1.1;color:var(--butter);letter-spacing:-.02em}
.tabs-wrap .nav-pills .nav-link{border-radius:0;border:2px solid var(--ink);color:var(--ink);font-weight:700;margin-right:.5rem;background:#fff}
.tabs-wrap .nav-pills .nav-link.active{background:var(--ink);color:#fff}
.svc{border:2px solid var(--ink);background:#fff;padding:1.4rem 1.5rem;height:100%;position:relative}
.svc h3{font-size:1.35rem;margin-bottom:.6rem}
.svc p{font-size:.98rem;margin:0}
.svc .mono{color:var(--cobalt);display:block;margin-bottom:.5rem}
.svc:hover{background:var(--butter)}
.resources{background:var(--butter);border-top:2px solid var(--ink);border-bottom:2px solid var(--ink)}
.resources .eyebrow{color:var(--ink)}
.rlist a{display:flex;justify-content:space-between;align-items:center;padding:.7rem 0;border-bottom:2px solid var(--ink);color:var(--ink);text-decoration:none;font-weight:600}
.rlist a:hover{padding-left:.6rem;color:var(--cobalt)}
.rlist a::after{content:"\2197";font-weight:800}
.calc{background:#fff;border:2px solid var(--ink);padding:1rem 1.2rem;height:100%}
.calc h3{font-size:1.1rem;margin-bottom:.4rem}
.calc p{font-size:.9rem;margin:0;color:var(--mute)}
.portal{background:var(--cobalt);color:#fff}
.portal .eyebrow{color:var(--butter)}
.portal img{width:100%;height:auto;border:2px solid var(--ink);box-shadow:8px 8px 0 var(--ink)}
.portal .btn-ln{margin:.3rem .6rem .3rem 0}
.contact .box{border:2px solid var(--ink);background:#fff}
.contact .row-f{padding:1rem 1.2rem;border-bottom:2px solid var(--ink)}
.contact .row-f:last-child{border-bottom:0}
.contact .row-f small{display:block;color:var(--mute)}
.contact .row-f b,.contact .row-f a{font-size:1.2rem;color:var(--ink);text-decoration:none;word-break:break-word}
.map{border:2px solid var(--ink);width:100%;height:100%;min-height:340px;display:block}
footer{background:var(--ink);color:#cfd5e4;padding:2.5rem 0;font-size:.92rem}
footer a{color:#fff}
footer .fb{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;color:#fff;font-size:1.3rem}
@media(max-width:991px){.stamp{width:96px;height:96px;font-size:.5rem;top:1rem;right:1rem}.stamp b{font-size:1.5rem}.navbar .nav-link{padding:.6rem 0}}
@media(max-width:767px){.forms{grid-template-columns:1fr}.cell{border-right:0;border-bottom:2px solid var(--ink)}.cell:last-child{border-bottom:0}.hero{padding:3.5rem 0 2rem}.utility .hide-sm{display:none}.utility a{margin-left:0;margin-right:1rem}.tabs-wrap .nav-pills .nav-link{margin-bottom:.5rem}}
