@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap");:root{--ink:#1a1a1a;--ink-2:#3d3d3d;--ink-3:#6b6b6b;--ink-4:#9b9b9b;--border:#e8e8e8;--bg:#fff;--bg-off:#f7f7f7;--gold:#b8954a;--green:#2a6e45;--blue:#0038a8;--font:"Inter",system-ui,-apple-system,sans-serif;--mono:"IBM Plex Mono","Courier New",monospace;--ease:cubic-bezier(0.16,1,0.3,1)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font);background:#fff;color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}img,video{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;background:none;border:none;padding:0}input,select,textarea{font:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:0}.container{max-width:1280px;margin:0 auto;padding:0 20px}.container-narrow{max-width:820px;margin:0 auto;padding:0 20px}@media (min-width:640px){.container,.container-narrow{padding:0 32px}}@media (min-width:1024px){.container,.container-narrow{padding:0 48px}}.eyebrow{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:14px}.eyebrow--light{color:hsla(0,0%,100%,.6)}.display-text{font-size:clamp(17px,2.8vw,26px);font-weight:300;color:var(--ink);line-height:1.55;letter-spacing:-.01em}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;font-size:14px;font-weight:500;border-radius:4px;transition:all .2s;white-space:nowrap;min-height:48px;-webkit-tap-highlight-color:transparent}.btn-dark{background:var(--ink);color:#fff;border:1px solid var(--ink)}.btn-dark:hover{background:#333;border-color:#333}.btn-outline{background:transparent;color:#fff;border:1px solid hsla(0,0%,100%,.35);backdrop-filter:blur(8px)}.btn-outline:hover{border-color:hsla(0,0%,100%,.7);background:hsla(0,0%,100%,.1)}.btn-border{background:transparent;color:var(--ink);border:1px solid var(--border)}.btn-border:hover{border-color:var(--ink)}.form-input{width:100%;padding:13px 16px;border:1px solid var(--border);background:#fff;color:var(--ink);font-size:15px;border-radius:4px;outline:none;transition:border-color .2s;-webkit-appearance:none}.form-input:focus{border-color:var(--gold)}.form-input::-moz-placeholder{color:var(--ink-4)}.form-input::placeholder{color:var(--ink-4)}textarea.form-input{resize:vertical;line-height:1.6}.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s var(--ease),transform .6s var(--ease)}.reveal.visible{opacity:1;transform:none}.live-dot{width:7px;height:7px;background:var(--green);border-radius:50%;display:inline-block;flex-shrink:0;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.section{padding:56px 0;border-bottom:1px solid var(--border)}.section--off{background:var(--bg-off)}@media (min-width:768px){.section{padding:88px 0}}.leaflet-control-attribution{display:none!important}.leaflet-container{font-family:var(--font)!important}.leaflet-control-zoom{border:1px solid var(--border)!important;border-radius:4px!important;box-shadow:none!important}.leaflet-container.filter-natural{filter:none}.leaflet-container.filter-infra{filter:grayscale(80%) sepia(60%) hue-rotate(-30deg) contrast(1.4)}.leaflet-container.filter-thermal{filter:invert(90%) hue-rotate(160deg) contrast(1.8) brightness(1.1)}.leaflet-container.filter-water{filter:hue-rotate(180deg) saturate(2.5) brightness(.7)}.leaflet-container.filter-coastal{filter:hue-rotate(200deg) saturate(1.8) brightness(.75)}.leaflet-container.filter-rededge{filter:grayscale(60%) sepia(80%) hue-rotate(60deg) contrast(1.3)}.leaflet-container.filter-cirrus{filter:brightness(1.4) contrast(.75)}.leaflet-container.filter-swir2{filter:invert(15%) hue-rotate(250deg) contrast(2.2) brightness(.85)}@supports (padding:max(0px)){body{padding-bottom:env(safe-area-inset-bottom)}}.caps-h2{font-size:clamp(26px,5vw,44px);font-weight:300;color:#1a1a1a;letter-spacing:-.025em;line-height:1.1;margin-bottom:28px}.caps-mobile{border:1px solid #e8e8e8;background:#fff}.acc{border-bottom:1px solid #f0f0f0}.acc:last-child{border-bottom:none}.acc-btn{width:100%;text-align:left;padding:15px 18px;display:flex;align-items:center;gap:12px;cursor:pointer;min-height:52px;-webkit-tap-highlight-color:transparent}.acc-open .acc-btn{background:#fdf9f3}.acc-num{font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#9b9b9b;flex-shrink:0}.acc-name{font-size:14px;font-weight:500;color:#1a1a1a;flex:1;line-height:1.3}.acc-open .acc-name{color:#b8954a}.acc-icon{font-size:18px;color:#9b9b9b;flex-shrink:0;font-weight:300}.acc-body{padding:0 18px 18px}.acc-img-wrap{position:relative;height:180px;margin-bottom:14px;overflow:hidden;border-radius:2px}.acc-desc{font-size:14px;color:#6b6b6b;line-height:1.7}.img-veil{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.45),transparent 60%)}.img-tag{position:absolute;bottom:10px;left:14px;font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:hsla(0,0%,100%,.75)}.caps-desktop{display:none}.caps-tabs{background:#fff;display:flex;flex-direction:column}.caps-tab{text-align:left;padding:18px 22px;border-bottom:1px solid #f0f0f0;cursor:pointer;position:relative;transition:background .2s;min-height:64px}.caps-tab:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:#b8954a;opacity:0;transition:opacity .2s}.caps-tab:hover{background:#fafafa}.caps-tab-active{background:#fdf9f3}.caps-tab-active:before{opacity:1}.caps-tab-num{display:block;font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#9b9b9b;margin-bottom:4px}.caps-tab-name{font-size:14px;font-weight:500;color:#3d3d3d;line-height:1.3;display:block}.caps-tab-active .caps-tab-name{color:#1a1a1a}.caps-panel{background:#fff;display:flex;flex-direction:column}.caps-panel-img{position:relative;height:260px;overflow:hidden}.caps-panel-body{padding:24px 28px 28px}.caps-panel-title{font-size:clamp(18px,2vw,22px);font-weight:500;color:#1a1a1a;margin-bottom:10px}.caps-panel-desc{font-size:14px;color:#6b6b6b;line-height:1.75;max-width:540px}@media (min-width:768px){.caps-mobile{display:none}.caps-desktop{display:grid;grid-template-columns:260px 1fr;gap:1px;background:#e8e8e8;border:1px solid #e8e8e8;min-height:400px}}.contact-layout{gap:36px}.contact-aside,.contact-layout{display:flex;flex-direction:column}.contact-aside{gap:16px}.contact-info-box{background:#f7f7f7;border:1px solid #e8e8e8;padding:20px}.contact-who-box{background:#fdf9f3;border:1px solid #e8dad4;padding:20px}@media (min-width:768px){.contact-layout{flex-direction:row;align-items:flex-start}.contact-aside{flex:0 0 300px}}@media (min-width:1024px){.contact-aside{flex:0 0 340px}}.nbl-featured{background:#fff;border:1px solid #e8e8e8;border-left:3px solid #b8954a;padding:24px 20px;margin-bottom:2px;cursor:pointer;display:block;transition:background .2s}.nbl-featured:hover{background:#fdf9f3}.nbl-feat-title{font-size:clamp(17px,4vw,26px);font-weight:300;color:#1a1a1a;letter-spacing:-.015em;margin-bottom:10px;line-height:1.25}.nbl-feat-excerpt{font-size:14px;color:#6b6b6b;line-height:1.65;margin-bottom:14px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.nbl-filters{display:flex;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:4px;margin:24px 0}.nbl-filters::-webkit-scrollbar{display:none}.nbl-pill{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;padding:7px 14px;border:1px solid #e8e8e8;border-radius:2px;cursor:pointer;transition:all .15s;white-space:nowrap;flex-shrink:0;background:#fff;color:#9b9b9b;min-height:36px;-webkit-tap-highlight-color:transparent}.nbl-pill-active{background:#1a1a1a;border-color:#1a1a1a;color:#fff}.nbl-pill:not(.nbl-pill-active):hover{border-color:#1a1a1a;color:#1a1a1a}.nbl-grid{display:grid;grid-template-columns:1fr;gap:1px;background:#e8e8e8;border:1px solid #e8e8e8}.nbl-card{background:#fff;padding:22px 20px;display:flex;flex-direction:column;height:100%;cursor:pointer;transition:background .2s}.nbl-card:hover{background:#fafafa}.nbl-card-title{font-size:clamp(14px,3vw,15px);font-weight:500;color:#1a1a1a;line-height:1.4;margin-bottom:10px;flex:1}.nbl-card-excerpt{font-size:12px;color:#9b9b9b;line-height:1.65;margin-bottom:14px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}@media (min-width:560px){.nbl-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:960px){.nbl-grid{grid-template-columns:repeat(3,1fr)}.nbl-filters{flex-wrap:wrap;overflow-x:visible}}.art-h2{font-size:clamp(18px,3vw,22px);font-weight:500;color:#1a1a1a;margin-top:32px;margin-bottom:8px;line-height:1.3}.art-p{font-size:clamp(15px,2.5vw,16px);color:#3d3d3d;line-height:1.82}.art-p strong{color:#1a1a1a;font-weight:600}.plat-grid{display:grid;grid-template-columns:1fr;gap:1px;background:#e8e8e8;border:1px solid #e8e8e8;margin-top:28px}.plat-card{background:#fff;padding:28px 22px}.plat-num{font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#9b9b9b;margin-bottom:10px}.plat-title{font-size:clamp(15px,2.5vw,18px);font-weight:500;color:#1a1a1a;margin-bottom:10px}.plat-body{font-size:14px;color:#6b6b6b;line-height:1.72}@media (min-width:640px){.plat-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.plat-grid{grid-template-columns:repeat(3,1fr)}}.pipe-grid{display:grid;grid-template-columns:1fr;gap:1px;background:#e8e8e8;border:1px solid #e8e8e8;margin-top:28px}.pipe-card{background:#fff;padding:24px 20px}.pipe-num{font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#9b9b9b;margin-bottom:8px}.pipe-title{font-size:clamp(16px,3vw,20px);font-weight:500;color:#1a1a1a;margin-bottom:10px}.pipe-desc{font-size:14px;color:#6b6b6b;line-height:1.72}.props-grid{display:grid;grid-template-columns:1fr;gap:1px;background:#e8e8e8;border:1px solid #e8e8e8;margin-top:28px}.prop-card{background:#fff;padding:28px 24px}.prop-title{font-size:clamp(16px,2.5vw,20px);font-weight:500;color:#1a1a1a;margin-bottom:10px}.prop-body{font-size:14px;color:#6b6b6b;line-height:1.75}@media (min-width:640px){.pipe-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.pipe-grid{grid-template-columns:repeat(4,1fr)}.props-grid{grid-template-columns:repeat(3,1fr)}}