/* Page-specific glass banners: local vector artwork, live text, no replacement branding. */
.page-banner{padding:20px 0 28px;background:linear-gradient(180deg,#f6faf7,white);}
.banner-breadcrumbs{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin:0 0 16px;font-size:12px;line-height:1.6;color:#596b61;}
.banner-breadcrumbs a{color:#3e6650;text-decoration-thickness:1px;}
.banner-breadcrumbs [aria-current]{min-width:0;overflow-wrap:anywhere;}
.banner-shell{isolation:isolate;position:relative;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:center;overflow:hidden;border:1px solid #477c5f;border-radius:19px;background:radial-gradient(ellipse at 83% 0,#4a876747,transparent 62%),linear-gradient(125deg,#102e25 10%,#153c2a 60%,#102e25);box-shadow:inset 0 1px 0 #c7ecd129,0 13px 35px #123a2210;color:#edf8ef;}
.banner-shell::before{content:'';position:absolute;z-index:-1;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 62%,#d1f8d709 62.2%,transparent 78%);}
.banner-copy{position:relative;padding:32px 36px;min-width:0;}
.banner-eyebrow{display:flex;align-items:center;gap:9px;margin:0 0 17px;color:#b7d8be;font:600 var(--ncf-eyebrow-size,14px)/1.5 var(--body);letter-spacing:.08em;}
.banner-eyebrow::before{content:'';flex:0 0 17px;height:2px;background:var(--logo-green,#28d603);box-shadow:0 0 8px #67c75a33;}
.page-banner .banner-copy h1{color:#f0f8f0;font-size:clamp(28px,3vw,40px);font-weight:400;line-height:1.18;letter-spacing:-1.2px;margin:0 0 18px;text-wrap:balance;}
.banner-lead{max-width:58ch;margin:0;font-size:14px;line-height:1.75;color:#c6dbcd;}
.banner-figure{position:relative;min-width:0;margin:20px 26px 20px 0;padding:0 10px 13px;border:1px solid #abd4b526;border-radius:13px;background:linear-gradient(135deg,#d2f2d509,#d2f2d501);box-shadow:inset 0 1px 0 #edfbed0a;}
.banner-figure::before{content:'';position:absolute;inset:0;z-index:-1;opacity:.4;border-radius:inherit;background-image:radial-gradient(#d1e9d245 .6px,transparent .6px);background-size:18px 18px;}
.banner-art{display:block;width:100%;height:auto;max-height:260px;overflow:visible;}
.banner-art .banner-glyph{stroke:#b2e4bb;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round;}
.banner-art .art-glass{fill:url(#banner-glass);stroke:#83b594;stroke-width:1;}
.banner-art .art-line{stroke:#a3d5b1;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.banner-art .art-track{stroke:#71b287;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.banner-art .art-dash{stroke:#89bf98;stroke-width:1.4;stroke-dasharray:5 6;}
.banner-art .art-orbit{stroke:#a0c9a83b;stroke-width:1;stroke-dasharray:3 7;}
.banner-art .art-cable{stroke:#a4d28d;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;}
.banner-art .art-port{fill:#163b2c;stroke:#8bb69a;stroke-width:1.4;}
.banner-art .art-house{fill:url(#banner-glass);stroke:#88ba98;stroke-width:1.5;stroke-linejoin:round;}
.banner-art .art-softfill{fill:#a0d8a616;}
.banner-art text{fill:#bfd8c6;font:10px/1.4 'Consolas','Courier New',monospace;letter-spacing:.7px;}
.banner-art .art-label-main{fill:#d3edd9;}.banner-mobile-art{display:none;}
.page-banner .banner-figure figcaption{max-width:39ch;margin:0 auto;color:#b9d1c1;font-size:13px;line-height:1.6;text-align:center;text-wrap:balance;}
.banner-map{position:relative;display:grid;place-items:center;gap:10px;min-height:230px;padding:18px 12px 12px;}
.banner-map img{width:100%;max-height:190px;object-fit:contain;opacity:.65;filter:brightness(1.75) saturate(.35);}
.banner-map span{position:static;width:100%;padding:7px;border:1px solid #60876d88;border-radius:6px;background:#123528e8;text-align:center;color:#d6eada;font:10px/1.4 'Consolas','Courier New',monospace;letter-spacing:1px;}
.page-banner-home{padding-top:28px;}
.page-banner-home .banner-shell{grid-template-columns:1.2fr 1fr;}
.page-banner-home .banner-copy{padding-block:38px;}
.page-banner-home h1 span{display:block;color:#b4e1b7;}
.page-banner .banner-button{margin-top:22px;background:#daf0d8;color:#123824;border-color:#daf0d8;border-radius:8px;font-size:13px;padding:11px 17px;min-height:44px;box-shadow:inset 0 1px 0 #fff8;}
.page-banner .banner-button:hover{color:#102e25;background:#c1e7b9;border-color:#c1e7b9;box-shadow:0 0 0 3px #b9edb120;}
.page-banner-simple .banner-shell,.page-banner-compact .banner-shell{grid-template-columns:minmax(0,1fr) 230px;}
.page-banner-simple .banner-art,.page-banner-compact .banner-art{max-height:150px;}
.page-banner-simple .banner-figure,.page-banner-compact .banner-figure{margin-block:16px;padding-bottom:8px;background:transparent;border-color:transparent;box-shadow:none;}
.page-banner-simple .banner-figure::before,.page-banner-compact .banner-figure::before{display:none;}
.page-banner-simple .banner-copy,.page-banner-compact .banner-copy{padding-block:24px;}
.page-banner-simple .banner-copy h1,.page-banner-compact .banner-copy h1{font-size:clamp(28px,2.7vw,36px);}
@media(max-width:1050px){
 .banner-copy{padding:27px;}.banner-figure{margin-right:20px;margin-block:20px;padding-inline:4px;}.page-banner .banner-copy h1{font-size:32px;}.banner-lead{font-size:14px;}.banner-eyebrow{font-size:var(--ncf-eyebrow-size,14px);letter-spacing:.08em;font-weight:600;line-height:1.5}.banner-art{max-height:240px;}
}
@media(max-width:700px){
 .page-banner{padding:15px 0 22px;}.banner-breadcrumbs{gap:5px 9px;font-size:11px;margin-bottom:13px;}.banner-shell,.page-banner-home .banner-shell{grid-template-columns:minmax(0,1fr);border-radius:15px;}.banner-copy,.page-banner-home .banner-copy{padding:25px 23px 18px;}.page-banner .banner-copy h1{font-size:30px;line-height:1.2;letter-spacing:-.7px;margin-bottom:13px;}.banner-eyebrow{margin-bottom:13px;letter-spacing:.08em;font-weight:600;line-height:1.5}.banner-lead{font-size:16px;line-height:1.7;}.banner-figure{margin:0 22px 20px;padding:0 6px 10px;}.banner-art{height:154px;max-height:none;}.page-banner .banner-figure figcaption{font-size:13px;max-width:40ch;}.banner-map{min-height:155px;padding-top:8px;}.banner-map img{max-height:150px;}.banner-map span{font-size:13px;}.page-banner .banner-button{margin-top:17px;}.page-banner-simple .banner-shell,.page-banner-compact .banner-shell{grid-template-columns:minmax(0,1fr);}.page-banner-simple .banner-copy,.page-banner-compact .banner-copy{padding:22px;}.page-banner-simple .banner-art,.page-banner-compact .banner-art{display:none;}.page-banner-simple .banner-figure,.page-banner-compact .banner-figure{margin:0 22px 16px;padding:0;text-align:left;}.page-banner-simple .banner-figure figcaption,.page-banner-compact .banner-figure figcaption{max-width:none;text-align:left;margin:0;font-size:13px;}.banner-figure::before{background-size:22px 22px;}
}
@media(max-width:390px){.page-banner .banner-copy h1{font-size:27px;}.banner-copy,.page-banner-home .banner-copy{padding-inline:20px;}.banner-figure{margin-inline:19px;}.banner-art{height:140px;}}

@media(max-width:700px){
 .banner-figure:has(.banner-mobile-art) .banner-art{display:none;}
 .banner-mobile-art{display:flex;align-items:center;justify-content:center;gap:24px;padding:18px 4px 13px;}
 .banner-mobile-art span{position:relative;display:grid;place-items:center;width:57px;height:57px;border:1px solid #98c6a44d;border-radius:12px;background:linear-gradient(145deg,#c7f4cd19,#c7f4cd04);}
 .banner-mobile-art span+span::before{content:'';position:absolute;left:-25px;width:24px;height:1px;background:#88b99a80;}
 .banner-mobile-art .icon{width:30px;height:30px;color:#b2e4bb;stroke-width:1.4;}
 .page-banner .banner-figure figcaption{font-size:13px;}
}